104 Commits
Author SHA1 Message Date
643c0eb871 chore(models): Move models into kubeflow_katib_api package (#2579)
* chore(models): Move models into kubeflow_katib_api package

Signed-off-by: kramaranya <[email protected]>

* Add generated files to .pre-commit-config.yaml

Signed-off-by: kramaranya <[email protected]>

* Add SDK generator JAR file to .gitignore

Signed-off-by: kramaranya <[email protected]>

* Rename subfolder for gen-python-api

Signed-off-by: kramaranya <[email protected]>

* Remove subfolder for python-api

Signed-off-by: kramaranya <[email protected]>

* Generate Katib modules for Kubeflow SDK

Signed-off-by: Andrey Velichkevich <[email protected]>

* Add container runtime models generation

Signed-off-by: kramaranya <[email protected]>

* Fix shellcheck

Signed-off-by: kramaranya <[email protected]>

---------

Signed-off-by: kramaranya <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Andrey Velichkevich <[email protected]>
2025-10-13 21:57:05 +00:00
55550f8df5 Adding out of the box support to TrainJob (#2560)
* Out-of-the-box support TrainJob

Signed-off-by: Ram Lau <[email protected]>

* Example for Pytorch Distributed

Signed-off-by: Ram Lau <[email protected]>

* Update examples/v1beta1/kubeflow-training-operator/trainjob-pytorch.yaml

Co-authored-by: Andrey Velichkevich <[email protected]>
Signed-off-by: Ram Lau <[email protected]>

* Create folder for Trainer as suggested

Signed-off-by: Ram Lau <[email protected]>

* Movethe exmaple of trainjob to the new folder

Signed-off-by: Ram Lau <[email protected]>

* Ref the primaryContainerName to that of ClusterTrainingRuntime

Signed-off-by: Ram Lau <[email protected]>

* tenzen-y steps down from Katib approver role (#2561)

Signed-off-by: Yuki Iwai <[email protected]>
Signed-off-by: Ram Lau <[email protected]>

* Set Default value for TrainJob Success, Failure Condition and PrimaryPodLabels in the trial Template

Signed-off-by: Ram Lau <[email protected]>

* Enchance Handling for default value of Success, Fail Cond & Pod Label

Signed-off-by: Ram Lau <[email protected]>

* Bug fix for default value condition

Signed-off-by: Ram Lau <[email protected]>

* code format by hack/update-gofmt.sh

Signed-off-by: Ram Lau <[email protected]>

* add TrainJob trial Resources to cert manager config

Signed-off-by: Ram Lau <[email protected]>

* add trainjob to controller rbac

Signed-off-by: Ram Lau <[email protected]>

* Grant JobSet permission to Katib controller

Signed-off-by: Andrey Velichkevich <[email protected]>

* Remove create/delete RBAC for TrainJob

Signed-off-by: Andrey Velichkevich <[email protected]>

* Fix docker build with libpcre2

Signed-off-by: Andrey Velichkevich <[email protected]>

---------

Signed-off-by: Ram Lau <[email protected]>
Signed-off-by: Yuki Iwai <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Yuki Iwai <[email protected]>
2025-08-23 00:01:07 +00:00
Andrey VelichkevichandGitHub 96f3ed1b5f [SDK] Support PyTorchJob as a Trial Worker (#2512)
* [SDK] Support PyTorchJob as Trial Worker

Signed-off-by: Andrey Velichkevich <[email protected]>

* Fix pod spec for Job

Signed-off-by: Andrey Velichkevich <[email protected]>

* Set default restart_policy to Never

Signed-off-by: Andrey Velichkevich <[email protected]>

* Fix primary_container_name for PyTorchJob

Signed-off-by: Andrey Velichkevich <[email protected]>

* Add unit tests for PyTorchJob as Trial

Signed-off-by: Andrey Velichkevich <[email protected]>

* Add e2e test for PyTorchJob as Trial

Signed-off-by: Andrey Velichkevich <[email protected]>

* Bump kubeflow-training SDK

Signed-off-by: Andrey Velichkevich <[email protected]>

* Deploy Training Operator with server side apply

Signed-off-by: Andrey Velichkevich <[email protected]>

* Decrease CPUs for E2E

Signed-off-by: Andrey Velichkevich <[email protected]>

* Install Training Operator for tune workflow

Signed-off-by: Andrey Velichkevich <[email protected]>

* Fix comments

Signed-off-by: Andrey Velichkevich <[email protected]>

---------

Signed-off-by: Andrey Velichkevich <[email protected]>
2025-02-13 11:10:36 +00:00
7599a8fdf4 [GSOC] hyperopt suggestion service logic update (#2412)
* resolved merge conflicts

Signed-off-by: Shashank Mittal <[email protected]>

* fix

Signed-off-by: Shashank Mittal <[email protected]>

* DISTRIBUTION_UNKNOWN enum set to 0 in gRPC api

Signed-off-by: Shashank Mittal <[email protected]>

* convert parameter method fix

Signed-off-by: Shashank Mittal <[email protected]>

validation fix

add e2e tests for hyperopt

added e2e test to workflow

* convert feasibleSpace func updated

Signed-off-by: Shashank Mittal <[email protected]>

* renamed DISTRIBUTION_UNKNOWN to DISTRIBUTION_UNSPECIFIED

Signed-off-by: Shashank Mittal <[email protected]>

* fix

Signed-off-by: Shashank Mittal <[email protected]>

* added more test cases for hyperopt distributions

Signed-off-by: Shashank Mittal <[email protected]>

* added support for NORMAL and LOG_NORMAL in hyperopt suggestion service

Signed-off-by: Shashank Mittal <[email protected]>

* added e2e tests for NORMAL and LOG_NORMAL

Signed-off-by: Shashank Mittal <[email protected]>

sigma calculation fixed

fix

parse new arguments to mnist.py

* hyperopt-suggestion example update

Signed-off-by: Shashank Mittal <[email protected]>

* updated logic for log distributions

Signed-off-by: Shashank Mittal <[email protected]>

* updated logic for log distributions

Signed-off-by: Shashank Mittal <[email protected]>

* e2e test fixed

Signed-off-by: Shashank Mittal <[email protected]>

* added support for parameter distributions for Parameter type INT

Signed-off-by: Shashank Mittal <[email protected]>

* unit test fixed

Signed-off-by: Shashank Mittal <[email protected]>

* Update pkg/suggestion/v1beta1/hyperopt/base_service.py

Co-authored-by: Yuki Iwai <[email protected]>
Signed-off-by: Shashank Mittal <[email protected]>

* comment fixed

Signed-off-by: Shashank Mittal <[email protected]>

* added unit tests for INT parameter type

Signed-off-by: Shashank Mittal <[email protected]>

* completed param unit test cases

Signed-off-by: Shashank Mittal <[email protected]>

* handled default case for normal distributions when min or max are not specified

Signed-off-by: Shashank Mittal <[email protected]>

* fixed validation logic for min and max

Signed-off-by: Shashank Mittal <[email protected]>

* removed unnecessary test params

Signed-off-by: Shashank Mittal <[email protected]>

* fixes

Signed-off-by: Shashank Mittal <[email protected]>

* added comments

Signed-off-by: Shashank Mittal <[email protected]>

* fix

Signed-off-by: Shashank Mittal <[email protected]>

* set default distribution as uniform

Signed-off-by: Shashank Mittal <[email protected]>

* line omit

Signed-off-by: Shashank Mittal <[email protected]>

* removed empty spaces from yaml files

Signed-off-by: Shashank Mittal <[email protected]>

---------

Signed-off-by: Shashank Mittal <[email protected]>
Co-authored-by: Yuki Iwai <[email protected]>
2025-01-30 21:26:52 +00:00
Tsz Lung ChungandGitHub 956f49ff87 fix(api): resolve all api voilation exceptions in katib api (#2482)
Signed-off-by: truc0 <[email protected]>
2025-01-21 14:23:11 +00:00
Shao WangandGitHub 6eaa64b2ee Upgrade Kubernetes to v1.30.7 (#2463)
* chore: update go.mod & go mod tidy.

Signed-off-by: Electronic-Waste <[email protected]>

* chore: replace source.Kind and EnqueueRequestForXxx with typed func call.

Signed-off-by: Electronic-Waste <[email protected]>

* chore: update admission.Decoder in webhook.

Signed-off-by: Electronic-Waste <[email protected]>

* chore: update Makefile.

Signed-off-by: Electronic-Waste <[email protected]>

* fix: update codegen script.

Signed-off-by: Electronic-Waste <[email protected]>

* chore: execute update-codegen.sh.

Signed-off-by: Electronic-Waste <[email protected]>

* chore: update openapigen & generate new openapi definitions.

Signed-off-by: Electronic-Waste <[email protected]>

* fix: fix typo error.

Signed-off-by: Electronic-Waste <[email protected]>

* chore: update k8s version in CI.

Signed-off-by: Electronic-Waste <[email protected]>

* test(codegen): output CODEGEN_PKG.

Signed-off-by: Electronic-Waste <[email protected]>

* fix(codegen): move shell check annotation.

Signed-off-by: Electronic-Waste <[email protected]>

* fix(ci): change k8s version in go test to 1.30.0.

Signed-off-by: Electronic-Waste <[email protected]>

* fix: remove toolchain declaration in go.mod

Signed-off-by: Electronic-Waste <[email protected]>

* fix: remove codegen dependency in openapigen.sh.

Signed-off-by: Electronic-Waste <[email protected]>

* fix: fix bugs in recursive dir detection.

Signed-off-by: Electronic-Waste <[email protected]>

* fix: remove a blank line.

Signed-off-by: Electronic-Waste <[email protected]>

* fix: remove klog/v2

Signed-off-by: Electronic-Waste <[email protected]>

* chore(codegen): add three dots in the comment.

Signed-off-by: Electronic-Waste <[email protected]>

* fix(codegen): fix package dependency on k8s.io/code-generator.

Signed-off-by: Electronic-Waste <[email protected]>

* chore(Makefile): add go-mod-download.

Signed-off-by: Electronic-Waste <[email protected]>

---------

Signed-off-by: Electronic-Waste <[email protected]>
2025-01-10 18:46:06 +00:00
Shao WangandGitHub d0847fa6eb fix: remove remaining MXNet dependency. (#2456)
Signed-off-by: Electronic-Waste <[email protected]>
2024-12-02 13:23:57 +00:00
Shashank MittalandGitHub a8ed699b46 [GSOC] added Unknown distribution and convertDistribution in suggestion client (#2403)
* added Unknown distribution and convertDistribution in suggestion client

added unit tests

Signed-off-by: Shashank Mittal <[email protected]>

* removed custom compare func

Signed-off-by: Shashank Mittal <[email protected]>

---------

Signed-off-by: Shashank Mittal <[email protected]>
2024-08-18 16:27:54 +00:00
Shashank MittalandGitHub 484f7bf253 [GSoC] Added DistributionType to Experiment API (#2377)
Signed-off-by: Shashank Mittal <[email protected]>

modified feasibleSpace

Removed Categorical from Distribution
2024-07-31 04:37:05 +00:00
Shashank MittalandGitHub f07a82f9e7 added Distribution field to feasibleSpace in api.proto (#2397)
Signed-off-by: Shashank Mittal <[email protected]>
2024-07-26 02:40:55 +00:00
Shao WangandGitHub 1e06458e1f [GSoC] Add New Parameter in tune (#2369)
* chore: add metrics_collector_config in tune function.

Signed-off-by: Electronic-Waste <[email protected]>

* rebase: rebase feat/new-param-tune to master.

Signed-off-by: Electronic-Waste <[email protected]>

* chore: add metrics collector kind list in comment.

Signed-off-by: Electronic-Waste <[email protected]>

* fix: always pass Trial name to the training container.

Signed-off-by: Electronic-Waste <[email protected]>

* fix: delete passing env variable logics in katib_client.py

Signed-off-by: Electronic-Waste <[email protected]>

* fix: passing env variable KATIB_TRIAL_NAME in the webhook of pod.

Signed-off-by: Electronic-Waste <[email protected]>

* fix: pass env variable KATIB_TRIAL_NAME only to the primary container.

Signed-off-by: Electronic-Waste <[email protected]>

* chore: add report_metrics in post_gen.py.

Signed-off-by: Electronic-Waste <[email protected]>

* fix: change nil error to allErrs(deleted by accident).

Signed-off-by: Electronic-Waste <[email protected]>

* fix: fix lint error in inject_webhook.go.

Signed-off-by: Electronic-Waste <[email protected]>

* fix: wrap env variables passing logics into mutatePodEnv.

Signed-off-by: Electronic-Waste <[email protected]>

* chore: add unit tests for mutatePodEnv.

Signed-off-by: Electronic-Waste <[email protected]>

* fix: delete protocmp.

Signed-off-by: Electronic-Waste <[email protected]>

---------

Signed-off-by: Electronic-Waste <[email protected]>
2024-07-18 17:51:57 +00:00
coldWaterandGitHub 7b821836f4 Replace gRPC code generation tool from Znly/protoc to Buf (#2344)
* Replace gRPC code generation tool from Znly/protoc to Buf

Signed-off-by: forsaken628 <[email protected]>

* fix

Signed-off-by: forsaken628 <[email protected]>

* del build.sh

Signed-off-by: forsaken628 <[email protected]>

* cleanup

Signed-off-by: forsaken628 <[email protected]>

* fix test

Signed-off-by: forsaken628 <[email protected]>

* fix

Signed-off-by: forsaken628 <[email protected]>

* fix

Signed-off-by: forsaken628 <[email protected]>

* refine

Signed-off-by: forsaken628 <[email protected]>

* fix

Signed-off-by: forsaken628 <[email protected]>

* rm outter yaml

Signed-off-by: forsaken628 <[email protected]>

* fix

Signed-off-by: forsaken628 <[email protected]>

---------

Signed-off-by: forsaken628 <[email protected]>
2024-06-15 15:18:33 +00:00
Yuki IwaiandGitHub adb937f4e4 Upgrade Go version to v1.22 (#2309)
Signed-off-by: Yuki Iwai <[email protected]>
2024-04-15 12:58:51 +00:00
Yuki IwaiandGitHub 91236421fd Drop Kubernetes v1.26, and support Kubernetes v1.29 (#2308)
Signed-off-by: Yuki Iwai <[email protected]>
2024-04-15 10:55:51 +00:00
Yuki IwaiandGitHub c6c49416d9 Consolidate the katib-cert-generator to the katib-controller (#2185)
* Consolidate the katib-cert-generator to the katib-controller

Signed-off-by: Yuki Iwai <[email protected]>

* Use deployed secret instead of creating a new secret when the cert-generator saves certs on secret

Signed-off-by: Yuki Iwai <[email protected]>

* Rename secretName with webhookSecretName in the .init.certGenerator

Signed-off-by: Yuki Iwai <[email protected]>

* Fix manifests

Signed-off-by: Yuki Iwai <[email protected]>

* Remove unneeded comments

Signed-off-by: Yuki Iwai <[email protected]>

* Restore unintentionally deleted log

Signed-off-by: Yuki Iwai <[email protected]>

* Rename package cert-generator with certgenerator

Signed-off-by: Yuki Iwai <[email protected]>

* Add test cases to check if the enable is set to true when the webhookServiceName or webhookSecretName is set

Signed-off-by: Yuki Iwai <[email protected]>

* Update the developer guide

Signed-off-by: Yuki Iwai <[email protected]>

* Swap livness probe and readiness probe

Signed-off-by: Yuki Iwai <[email protected]>

* Introduce SSA to the cert-generator

Signed-off-by: Yuki Iwai <[email protected]>

* Use the same member names between CertGenerator and KatibConfig

Signed-off-by: Yuki Iwai <[email protected]>

* Disable leader election on the cert-generator

Signed-off-by: Yuki Iwai <[email protected]>

* Drop unneeded fields from SSA patches

Signed-off-by: Yuki Iwai <[email protected]>

---------

Signed-off-by: Yuki Iwai <[email protected]>
2023-08-04 19:31:20 +00:00
Yuki IwaiandGitHub 71ee0464c0 Implement KatibConfig API (#2176)
* Implement KatibConfig API

Signed-off-by: Yuki Iwai <[email protected]>

* Replace 'collectorKind' with 'kind'

Signed-off-by: Yuki Iwai <[email protected]>

* Replace 'metricsCollectorSidecars' with 'metricsCollectors'

Signed-off-by: Yuki Iwai <[email protected]>

* Fix a typo

Signed-off-by: Yuki Iwai <[email protected]>

* Make the init.controller.leaderElection non-pointer

Signed-off-by: Yuki Iwai <[email protected]>

* Make the init.controller.injectSecurityContext non-pointer

Signed-off-by: Yuki Iwai <[email protected]>

* Update a comment for the future works

Signed-off-by: Yuki Iwai <[email protected]>

* Update manifest for the katib-leader-election

Signed-off-by: Yuki Iwai <[email protected]>

* Fix a comment for the KatibConfig API

Signed-off-by: Yuki Iwai <[email protected]>

* Replace 'configapi' with 'configv1beta1'

Signed-off-by: Yuki Iwai <[email protected]>

* Remove debug code

Signed-off-by: Yuki Iwai <[email protected]>

* Put constant for the default KatibConfig value on /pkg/apis/config/v1beta1

Signed-off-by: Yuki Iwai <[email protected]>

* Use 'sigs.k8s.io/yaml' instead of 'github.com/ghodss/yaml'

Signed-off-by: Yuki Iwai <[email protected]>

* Avoid to depend on k8s.io/utils directly

Signed-off-by: Yuki Iwai <[email protected]>

* Fix a typo

Signed-off-by: Yuki Iwai <[email protected]>

* Refactor katib-config using kustomize vars

Signed-off-by: Yuki Iwai <[email protected]>

* Fix a typo

Signed-off-by: Yuki Iwai <[email protected]>

* Put KatibConfig on every install

Signed-off-by: Yuki Iwai <[email protected]>

* Remove configMapGenerator from the katib-with-kubeflow

Signed-off-by: Yuki Iwai <[email protected]>

---------

Signed-off-by: Yuki Iwai <[email protected]>
2023-08-01 18:45:08 +00:00
Andrey VelichkevichandGitHub 9fd7af4b05 Use Never Resume Policy as Default (#2102) 2023-01-25 14:11:53 +00:00
f1a9c52faa [Fix] add early stopped trials in converter (#2004)
* add early stopped trials in converter

* error out early

* Update pkg/suggestion/v1beta1/internal/trial.py

Co-authored-by: Yuki Iwai <[email protected]>

* add incomplete trial filter

* fix ut

* more fixes

* filter on es

* enrich existing tests

Co-authored-by: shaowei su <[email protected]>
Co-authored-by: Yuki Iwai <[email protected]>
2022-12-05 13:26:08 +00:00
Johnu GeorgeandGitHub f70d44b4bf Remove deprecated variable from GRPC definitions (#1994)
* Update training operator image in CI

* Remove deprecated GRPC var

* Remove deprecated GRPC var

* Remove deprecated GRPC var

* Support for k8s v1.25 in CI

* Revert "Support for k8s v1.25 in CI"

This reverts commit 16e6fe4b16820aea30e266a5c69560a92cfb851c.
2022-11-03 10:32:04 +00:00
a9pandGitHub 3fd8502567 Population based training (#1833)
* docs: update new algorithm service details

* feat: trial augmentation strategy

* feat: pbt suggestion service

* feat: PbtTemplate and associated test image

* feat: introduce annotation field to trial specifications

* feat: trial assignment changes to support annotations from suggestion

- Add new Annotation types to suggestion_types.go
- Add Annotation object and update Trial parser in trial.py

* feat: update pbt suggestion to use new Annotation api

- Suggestion uses exact match to track spawned trials
- Trials that get transmitted, but not created (or added to experiment) are added back to the respawn pool (population_size consistency)

* chore: gofmt and black run across PBT changes

* feedback: remove tf summary export, change default print unit, reduce range to be percentage compatible.

* feedback: move PBT template to example.

* feedback: changes to inject_webhook and utils.

- Rename mutateVolume to mutateMetricsCollectorVolume
- Add addContainerVolumeMount
- Add getPrimaryContainerIndex

* feedback: change suggestion mutation mount variable name and add to consts

* feedback: Add trial_names to GetSuggestionsReply and change suggestion path to <experiment>/<trial>

* feedback: removed unnecessary checks and moved to async pbt implementation

* feedback: update trial name override location and change annotations override to labels.

* feedback: add pbt to github workflow

* feedback: move labels to ParameterAssignments in GetSuggestionsReply and cleanup pbt.yaml.

* feedback: remove operator changes

* feedback: GHA updates

* feedback: new formatting changes

* feedback: add suggestion-pbt to gh-actions build-load.sh.

* fix: missing pbt->simple-pbt name changes, add simple-pbt to update-images.sh update yaml function (causing failing gha).

* feedback: add pointer to website from main readme for pbt
2022-06-21 15:35:34 +00:00
Yuki IwaiandGitHub 0f970a74b9 Include MetricsUnavailable condition to Complete in Trial (#1877)
* include MetricsUnavailable condition to Complete in Trial

It is not easy for users to find why Trial failed when training code output incorrect format logs
since the trial-controller sets Succeeded condition with False to Trial if there are unavailable metrics in Katib DB as described in https://github.com/kubeflow/katib/issues/1343.
So we also include MetricsUnavailable condition to Complete in Trial.

* add gh-actions tasks to verify generated codes

* fix gh-actions workflow

* when the number of Failed Trials reaches maxTrialCount, experiment-controller sets Failed to Experiment status

* fix e2e test

* To avoid being set Failed in Experiment status when  and  is equal to 0, we need to add condition,
2022-06-08 04:22:15 +00:00
Yuki IwaiandGitHub 1611db0f37 Upgrade the kubebuilder to v3.2.0 and Kubernetes Go libraries to v1.22.2 (#1861)
* upgrade kubebuilder version from v2.3.0 to v3.2.0

* fix envtest for experiment-controller

* fix suite test

To avoid the `timeout waiting for process kube-apiserver to stop` error, we must use the `context.WithCancel`.
Ref: https://github.com/kubernetes-sigs/controller-runtime/issues/1571#issuecomment-945535598

* update Go version to v1.17 in kubeflow-katib-presubmit

To avoid the `../../../../pkg/mod/k8s.io/[email protected].2/plugin/pkg/client/auth/exec/metrics.go:21:2: package io/fs is not in GOROOT (/usr/local/go/src/io/fs)` error,
we must use Go v1.16 or later, but as described in https://github.com/kubeflow/training-operator/issues/1581,
we do not have permission to update `public.ecr.aws/j1r0q0g6/kubeflow-testing:latest` so we need to update it in this.
2022-05-22 18:33:00 +00:00
Yuki IwaiandGitHub 152f19185e Add shellcheck (#1857)
* add shellcheck

* fix /test/e2e/v1beta1/scripts/run-e2e-experiment.sh

* fix test/e2e/v1beta1/scripts/setup-katib.sh

* fix pkg/apis/manager/[v1beta1|health]/build.sh

* fix scripts/v1beta1/deploy.sh

* fix scripts/v1beta1/release.sh

* fix scripts/v1beta1/update-images.sh

* fix scripts/v1beta1/undeploy.sh

* fix hack/update-openapigen.sh

* update boilerplate

* fix hack/gen-python-sdk/gen-sdk.sh

* fix hack/update-codegen.sh

* fix hack/update-mockgen.sh

* use /usr/bin/env bash

* add path to update-boilerplate.sh

* fix script to update boilerplate

* fix comment
2022-05-03 01:15:00 +00:00
4ddca17120 Support JSON format logs in file-metrics-collector (#1765)
* support JSON format logs in file-metrics-collector

* review: convert fileFormat to type FileSystemFileFormat

* Update cmd/metricscollector/v1beta1/file-metricscollector/main.go

Co-authored-by: Andrey Velichkevich <[email protected]>

* review: remove func (f FileSystemFileFormat) String()

* review: get metricRegList only when the format is TEXT

* review: change var name in a script for e2e

* review: explict specify the cloudml-hypyertune in the Dockerfile

* review: use reflect.DeepEqual instead of go-cmp.Diff

* review: stop using 'JSON' directly in error statements

* review: install specific version cloudml-hypertune

* review: get objType in the updateStopRules function

* review: save optimalObjValue across multiple stopRules

* review: add warning messages to parseTimestamp func

* review: generate test files with go test command

* review: change api for new feature

Co-authored-by: Andrey Velichkevich <[email protected]>
2022-04-05 15:20:36 +00:00
Yuki IwaiandGitHub 8fec1341b2 Fix the Dockerfile for API documentation generation (#1822)
* fix the Dockerfile for API documentation generation

* regenerate API documentation
2022-02-21 07:27:50 +00:00
Andrey VelichkevichandGitHub eb4a1bee1d Fix default label for Training Operators (#1808)
* Fix default label for Training Operators

* Fix version comment

* Change the docs

* Change git command
2022-02-15 07:19:40 +00:00
Yuki IwaiandGitHub cb797d4b36 Fix a link for GRPC API documentation (#1786) 2022-01-21 16:15:20 +00:00
9ba993d7b5 Implement validation for early stopping (#1709)
* implement validation for early stopping

* fix some documents

* fix error messages

* implement gRPC API to verify parameters for early stopping

* review: use early_stopping as gRPC API

Co-authored-by: Andrey Velichkevich <[email protected]>

* review: fix error description

Co-authored-by: Andrey Velichkevich <[email protected]>

* review: remove t.Run

* review: remove condition to verify algorithmName for early stopping

* remove description about updating gRPC API docs in kubeflow website

Co-authored-by: Andrey Velichkevich <[email protected]>
2021-11-26 15:47:54 +00:00
Andrey VelichkevichandGitHub 4f7c77b357 Modify gRPC API with Current Request Number (#1728)
* Modify API to current_request_number

* Changes after review

* Add request_number deprecated API

* Fix test
2021-11-04 18:03:31 -07:00
Andrey VelichkevichandGitHub 25a033f317 Add Kubeflow MXJob example (#1688)
* Add Kubeflow MXJob example

* Reduce num examples

* Update image link

* Fix FPGA doc

* Add BytePS image
2021-10-07 17:27:23 -07:00
baf7e42387 Refactor Examples folder structure (#1691)
* Refactor Katib Examples

* Fix links

* Use Kind image
Use kubectl wait

* Update examples/v1beta1/kind-cluster/README.md

Co-authored-by: Yuki Iwai <[email protected]>

* Update examples/v1beta1/kind-cluster/README.md

Co-authored-by: Yuki Iwai <[email protected]>

* Increase timeout

* Update docs/images-location.md

Co-authored-by: Elias Koromilas <[email protected]>

* Update examples/v1beta1/README.md

Co-authored-by: Elias Koromilas <[email protected]>

* Remove json

* Add example links to training containers

* Fix link

* Update links to training-operator

* Rename Trial settings to template

* Rename Trial training containers to Trial images

* Move NAS examples to Trial images

* Add NAS links to README

* Change TARGET DIR

* Update examples/v1beta1/trial-images/mxnet-mnist/Dockerfile

Co-authored-by: Yuki Iwai <[email protected]>

* Update examples/v1beta1/trial-images/pytorch-mnist/Dockerfile

Co-authored-by: Yuki Iwai <[email protected]>

Co-authored-by: Yuki Iwai <[email protected]>
Co-authored-by: Elias Koromilas <[email protected]>
2021-10-07 05:38:22 -07:00
Andrey VelichkevichandGitHub 23258c917b Update Go version to 1.17 (#1683)
* Use Go 1.17 version

* Fix code generator import

* Change after review

* Run lint

* Use go install for lint
2021-09-28 09:05:11 -07:00
ca6419ba90 Use golangci-lint as linter for Go (#1671)
* use golangci-lint as linter for Go instead of golint

* Update hack/verify-golangci-lint.sh

Co-authored-by: Andrey Velichkevich <[email protected]>

* specify golangci-lint version

Co-authored-by: Andrey Velichkevich <[email protected]>

* fix echo comment

Co-authored-by: Andrey Velichkevich <[email protected]>

* fix echo comment

Co-authored-by: Andrey Velichkevich <[email protected]>

* fix lint

* fix gofmt

* fix generated codes

* close the connection for early stopping without using defer

* do not create or delete any resources within gomega.Eventually

* add condition to return error in getKatibJob func

* remove comment out lines

* simplify some codes

Co-authored-by: Andrey Velichkevich <[email protected]>

* remove an unnecessary variable

Co-authored-by: Andrey Velichkevich <[email protected]>

* fix golangci-lint error

Co-authored-by: Andrey Velichkevich <[email protected]>

Co-authored-by: Andrey Velichkevich <[email protected]>
2021-09-23 23:09:37 -07:00
Andrey VelichkevichandGitHub 50595f5bb5 Add missing omitempty parameter to APIs (#1645) 2021-08-27 07:33:06 -07:00
Johnu GeorgeandGitHub 37091f0025 Reconcile semantics for Suggestion Algorithms (#1633)
* Reuse suggestions

* Fix tests
2021-08-24 09:29:40 -07:00
Andrey VelichkevichandGitHub ab49729ffb Modify XGBoostJob example for the new Controller (#1623)
* Modify XGBoostJob example for the new Controller

* Modify port
2021-08-14 20:59:04 -07:00
Andrey VelichkevichandGitHub 7bb5ccda55 Remove Kubeflow Training dependencies from Katib (#1599)
* Remove Kubeflow Training dependencies from Katib

* Add code-generator to go.mod
2021-08-01 06:43:37 -07:00
Andrey VelichkevichandGitHub d6937492c0 Add gRPC build script to CI (#1569)
* Add gRPC build script to CI

* Fix text

* Change to i flag

* Change to -i in health
2021-07-01 22:44:10 -07:00
Andrey VelichkevichandGitHub 5fb1b734dc Fix gRPC manager build script (#1492)
* Remove legacy gRPC REST

* Remove gRPC Swagger and Makefile

* Trigger CI
2021-03-19 23:49:17 -07:00
Andrey VelichkevichandGitHub 558e1c5aeb Add script to update boilerplate (#1491)
* Update boilerplate for clients

* Modify not format boilerplate

* Modify boilerplate script for go files

* Update boilerplate manually for go files

* Modify script

* Generate boilerplate for Go files

* Add script for Python files

* Generate boilerplate for the Py files

* Include shell

* Generate boilerplate for shell scripts

* Add to makefile

* Fix comments

* Change comments
2021-03-19 23:48:17 -07:00
3a85423198 Disable dynamic creation for admission hooks and update dependencies (#1450)
* Update all dependencies to the latest versions
Add cert generator for the webhooks
Add manifests for the webhooks

* Modify Dockerfile for manager

* Remove comments

* Update Dockerfiles for Go images

* Add signerName: kubernetes.io/kube-apiserver-client to csr
Update roles for controller RBAC
Changes after review

* Fix not installed CRD error

* Update scripts

* Revert operator changes

* Describe controller pod in test

* Add log line to test

* Move kubectl version

* Change csr version to v1beta1

* Remove log

* Change signerName to kubernetes.io/kubelet-serving

* Modify common name

Co-authored-by: Yuki Iwai <[email protected]>

* Add env variable to init container

Co-authored-by: Yuki Iwai <[email protected]>

* Get namespace from env

Co-authored-by: Yuki Iwai <[email protected]>

* Remove quotes

* Remove spaces

* Run cert generator script from the Job

* Modify new ui Dockerfile

* Disable Actions on PR

* Modify setup Katib script

* Fix PODNUM

* Remove imagePullPolicy from PyTorch and TFJob examples

* Disable Pytorch examples in e2e

* Add sleep to e2e test

* Activate Actions

* Disable actions

Co-authored-by: Yuki Iwai <[email protected]>
2021-03-06 09:29:49 -08:00
Andrey VelichkevichandGitHub fc5d483743 Verify nil objective in Experiment defaults (#1445) 2021-02-19 17:35:41 -08:00
Andrey VelichkevichandGitHub 2e226de7e5 Remove v1alpha3 version (#1396)
* Remove v1alpha3 files

* Modify SDK

* Change dict() to object
2020-11-30 06:48:50 -08:00
Andrey VelichkevichandGitHub 241b4d607f Remove default values for Trial template (#1368) 2020-10-29 20:02:05 -07:00
Andrey VelichkevichandGitHub 0c11c06eeb Early Stopping Implementation (#1344)
* Init commit

* Experiment API changes

* Add APIs

* Remove old es apis

* Remove logging

* Add Early Stopping implementation

* Show metrics for early stopped trials

* Clean const

* Remove pid file with completed line from metrics collector

* Add unit test

* Add EarlyStopping as unique service

* Add early stopped Trials to completed

* Fix few comments

* Generate clients and SDK

* Fix tests

* Fix goptuna test

* Remove cluster role from test

* Update observation for early stopped Trials

* Fix pv name in e2e test

* Add Katib config for Early Stopping

* Fix comment

* Remove unused gRPC Experiment spec

* Remove legacy test files

* Remove labels and conditions from example

* Modify API to be consistent with Algorithm

* Ignore no such file error

* Add comments to proto

* Add median stop implementation

* Fix few comments

* Fix unit tests

* Add o-type flag to tfevent metrics collector

* Fix es unit test

* Fix hyperband suggestion
2020-10-29 19:56:05 -07:00
Andrey VelichkevichandGitHub e3b4646ead Clean up code for custom CRD (#1355)
* Clean up code for custom CRD

* Fix few comments

* Rename experiment controller files
2020-10-26 14:27:59 -07:00
Andrey VelichkevichandGitHub cad19ff13b Enhancement for Custom CRD (#1333)
* Init commit

* Modify Insert function
Add retry on empty observation

* Fix mutate volume test

* Fix validate experiment test

* Fix invalid experiment

* Don't get deployed job status when trial is completed

* Not send Trial with unavailable metrics to Suggestion

* Refactor requeue

If objective metric value is not reported metrics collector reports unavailable value to the DB
Controller reconciles Trial until DB is empty

* Add condition before change trial status

* Remove prints

* Fix tfevent parser
2020-10-13 06:02:27 -07:00
Andrey VelichkevichandGitHub 9816f576b8 Custom CRD: Support dynamic Trial's jobs conditions (#1307)
* Custom Job conditions implementation

* Fix prints

* Fix status

* Fix test

* Clean event msg

* Run gofmt

* Fix few comments

* Generate clients

* Fix comment

* Add newline
2020-09-08 14:45:52 -07:00
Andrey VelichkevichandGitHub 5a952860e7 Custom CRD: Add primary container name (#1308)
* Add primary container name

* Resolve

* Generate clients

* Add newline
2020-09-08 12:01:52 -07:00
Andrey VelichkevichandGitHub 3c6b64bf43 Custom CRD: Add primary pod labels (#1305)
* Add primary pod labels

* Generate swagger

* Generate SDK

* Trigger CI
2020-09-02 19:41:40 -07:00