From 5dd73fc8ea098c417659ff6bc65659ce3fc8eb1d Mon Sep 17 00:00:00 2001 From: Andrey Velichkevich Date: Wed, 1 Dec 2021 15:57:54 +0000 Subject: [PATCH 01/11] Update all Trial image tags to latest --- examples/v1beta1/argo/argo-workflow.yaml | 2 +- examples/v1beta1/early-stopping/median-stop.yaml | 2 +- examples/v1beta1/hp-tuning/bayesian-optimization.yaml | 2 +- examples/v1beta1/hp-tuning/cma-es.yaml | 2 +- examples/v1beta1/hp-tuning/grid.yaml | 2 +- examples/v1beta1/hp-tuning/hyperband.yaml | 2 +- examples/v1beta1/hp-tuning/multivariate-tpe.yaml | 2 +- examples/v1beta1/hp-tuning/random.yaml | 2 +- examples/v1beta1/hp-tuning/sobol.yaml | 2 +- examples/v1beta1/hp-tuning/tpe.yaml | 2 +- .../kubeflow-training-operator/pytorchjob-mnist.yaml | 4 ++-- .../metrics-collector/custom-metrics-collector.yaml | 2 +- .../v1beta1/metrics-collector/file-metrics-collector.yaml | 2 +- .../metrics-collector/metrics-collection-strategy.yaml | 2 +- examples/v1beta1/nas/darts-cpu.yaml | 2 +- examples/v1beta1/nas/darts-gpu.yaml | 2 +- examples/v1beta1/nas/enas-cpu.yaml | 2 +- examples/v1beta1/nas/enas-gpu.yaml | 2 +- .../v1beta1/resume-experiment/from-volume-resume.yaml | 2 +- examples/v1beta1/resume-experiment/never-resume.yaml | 2 +- examples/v1beta1/tekton/pipeline-run.yaml | 2 +- .../trial-template/trial-metadata-substitution.yaml | 2 +- .../v1beta1/components/controller/trial-templates.yaml | 8 ++++---- operators/katib-controller/src/defaultTrialTemplate.yaml | 2 +- operators/katib-controller/src/enasCPUTemplate.yaml | 2 +- operators/katib-controller/src/pytorchJobTemplate.yaml | 4 ++-- scripts/v1beta1/update-trial-images.sh | 8 ++++---- test/e2e/v1beta1/invalid-experiment.yaml | 2 +- test/e2e/v1beta1/valid-experiment.yaml | 2 +- 29 files changed, 37 insertions(+), 37 deletions(-) diff --git a/examples/v1beta1/argo/argo-workflow.yaml b/examples/v1beta1/argo/argo-workflow.yaml index fcc105552c4..04cc07690d1 100644 --- a/examples/v1beta1/argo/argo-workflow.yaml +++ b/examples/v1beta1/argo/argo-workflow.yaml @@ -75,7 +75,7 @@ spec: - name: num-examples container: name: model-training - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/early-stopping/median-stop.yaml b/examples/v1beta1/early-stopping/median-stop.yaml index 962b01501ab..f451e32da74 100644 --- a/examples/v1beta1/early-stopping/median-stop.yaml +++ b/examples/v1beta1/early-stopping/median-stop.yaml @@ -53,7 +53,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/hp-tuning/bayesian-optimization.yaml b/examples/v1beta1/hp-tuning/bayesian-optimization.yaml index f35e757d9ad..2eee783fa9e 100644 --- a/examples/v1beta1/hp-tuning/bayesian-optimization.yaml +++ b/examples/v1beta1/hp-tuning/bayesian-optimization.yaml @@ -56,7 +56,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/hp-tuning/cma-es.yaml b/examples/v1beta1/hp-tuning/cma-es.yaml index cda111fc2e6..53ae4fafc9c 100644 --- a/examples/v1beta1/hp-tuning/cma-es.yaml +++ b/examples/v1beta1/hp-tuning/cma-es.yaml @@ -56,7 +56,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/hp-tuning/grid.yaml b/examples/v1beta1/hp-tuning/grid.yaml index 90f7d6baf6d..d39863e011a 100644 --- a/examples/v1beta1/hp-tuning/grid.yaml +++ b/examples/v1beta1/hp-tuning/grid.yaml @@ -54,7 +54,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/hp-tuning/hyperband.yaml b/examples/v1beta1/hp-tuning/hyperband.yaml index 1a4fac6f62c..f9a50ec7743 100644 --- a/examples/v1beta1/hp-tuning/hyperband.yaml +++ b/examples/v1beta1/hp-tuning/hyperband.yaml @@ -68,7 +68,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/hp-tuning/multivariate-tpe.yaml b/examples/v1beta1/hp-tuning/multivariate-tpe.yaml index 257f1d5ed8a..80a5cc1bcf8 100644 --- a/examples/v1beta1/hp-tuning/multivariate-tpe.yaml +++ b/examples/v1beta1/hp-tuning/multivariate-tpe.yaml @@ -53,7 +53,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/hp-tuning/random.yaml b/examples/v1beta1/hp-tuning/random.yaml index 59160d820dd..2c25d57db51 100644 --- a/examples/v1beta1/hp-tuning/random.yaml +++ b/examples/v1beta1/hp-tuning/random.yaml @@ -53,7 +53,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/hp-tuning/sobol.yaml b/examples/v1beta1/hp-tuning/sobol.yaml index 51a6a7dff73..43aa8ac8090 100644 --- a/examples/v1beta1/hp-tuning/sobol.yaml +++ b/examples/v1beta1/hp-tuning/sobol.yaml @@ -53,7 +53,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/hp-tuning/tpe.yaml b/examples/v1beta1/hp-tuning/tpe.yaml index 5fda50aa7a0..b731c90570f 100644 --- a/examples/v1beta1/hp-tuning/tpe.yaml +++ b/examples/v1beta1/hp-tuning/tpe.yaml @@ -53,7 +53,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/kubeflow-training-operator/pytorchjob-mnist.yaml b/examples/v1beta1/kubeflow-training-operator/pytorchjob-mnist.yaml index acd4b5d454e..4e7d00909a0 100644 --- a/examples/v1beta1/kubeflow-training-operator/pytorchjob-mnist.yaml +++ b/examples/v1beta1/kubeflow-training-operator/pytorchjob-mnist.yaml @@ -45,7 +45,7 @@ spec: spec: containers: - name: pytorch - image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/pytorch-mnist:latest command: - "python3" - "/opt/pytorch-mnist/mnist.py" @@ -59,7 +59,7 @@ spec: spec: containers: - name: pytorch - image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/pytorch-mnist:latest command: - "python3" - "/opt/pytorch-mnist/mnist.py" diff --git a/examples/v1beta1/metrics-collector/custom-metrics-collector.yaml b/examples/v1beta1/metrics-collector/custom-metrics-collector.yaml index 11c32ae59da..8cb51d59136 100644 --- a/examples/v1beta1/metrics-collector/custom-metrics-collector.yaml +++ b/examples/v1beta1/metrics-collector/custom-metrics-collector.yaml @@ -66,7 +66,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/pytorch-mnist:latest command: - "python3" - "/opt/pytorch-mnist/mnist.py" diff --git a/examples/v1beta1/metrics-collector/file-metrics-collector.yaml b/examples/v1beta1/metrics-collector/file-metrics-collector.yaml index 161a9ebe828..09d92f3f6a5 100644 --- a/examples/v1beta1/metrics-collector/file-metrics-collector.yaml +++ b/examples/v1beta1/metrics-collector/file-metrics-collector.yaml @@ -53,7 +53,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/pytorch-mnist:latest command: - "python3" - "/opt/pytorch-mnist/mnist.py" diff --git a/examples/v1beta1/metrics-collector/metrics-collection-strategy.yaml b/examples/v1beta1/metrics-collector/metrics-collection-strategy.yaml index 816547bbbfe..7ba37e7b227 100644 --- a/examples/v1beta1/metrics-collector/metrics-collection-strategy.yaml +++ b/examples/v1beta1/metrics-collector/metrics-collection-strategy.yaml @@ -58,7 +58,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/nas/darts-cpu.yaml b/examples/v1beta1/nas/darts-cpu.yaml index 4deba45d741..086da6a1c77 100644 --- a/examples/v1beta1/nas/darts-cpu.yaml +++ b/examples/v1beta1/nas/darts-cpu.yaml @@ -59,7 +59,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/darts-cnn-cifar10:v1beta1-45c5727 + image: docker.io/kubeflowkatib/darts-cnn-cifar10:latest command: - python3 - run_trial.py diff --git a/examples/v1beta1/nas/darts-gpu.yaml b/examples/v1beta1/nas/darts-gpu.yaml index d46b332affd..1e76ccbb150 100644 --- a/examples/v1beta1/nas/darts-gpu.yaml +++ b/examples/v1beta1/nas/darts-gpu.yaml @@ -76,7 +76,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/darts-cnn-cifar10:v1beta1-45c5727 + image: docker.io/kubeflowkatib/darts-cnn-cifar10:latest command: - python3 - run_trial.py diff --git a/examples/v1beta1/nas/enas-cpu.yaml b/examples/v1beta1/nas/enas-cpu.yaml index 892fd31d1e8..99e251bcd6f 100644 --- a/examples/v1beta1/nas/enas-cpu.yaml +++ b/examples/v1beta1/nas/enas-cpu.yaml @@ -138,7 +138,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-45c5727 + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:latest command: - python3 - -u diff --git a/examples/v1beta1/nas/enas-gpu.yaml b/examples/v1beta1/nas/enas-gpu.yaml index b5e6b875bf1..7875a20f411 100644 --- a/examples/v1beta1/nas/enas-gpu.yaml +++ b/examples/v1beta1/nas/enas-gpu.yaml @@ -135,7 +135,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/enas-cnn-cifar10-gpu:v1beta1-45c5727 + image: docker.io/kubeflowkatib/enas-cnn-cifar10-gpu:latest command: - python3 - -u diff --git a/examples/v1beta1/resume-experiment/from-volume-resume.yaml b/examples/v1beta1/resume-experiment/from-volume-resume.yaml index 2e73020294a..883f86545ce 100644 --- a/examples/v1beta1/resume-experiment/from-volume-resume.yaml +++ b/examples/v1beta1/resume-experiment/from-volume-resume.yaml @@ -54,7 +54,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/resume-experiment/never-resume.yaml b/examples/v1beta1/resume-experiment/never-resume.yaml index 0c2340c1170..54fe3bba217 100644 --- a/examples/v1beta1/resume-experiment/never-resume.yaml +++ b/examples/v1beta1/resume-experiment/never-resume.yaml @@ -54,7 +54,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/tekton/pipeline-run.yaml b/examples/v1beta1/tekton/pipeline-run.yaml index 4536eab6560..d077fe70101 100644 --- a/examples/v1beta1/tekton/pipeline-run.yaml +++ b/examples/v1beta1/tekton/pipeline-run.yaml @@ -88,7 +88,7 @@ spec: description: Number of training examples steps: - name: model-training - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/examples/v1beta1/trial-template/trial-metadata-substitution.yaml b/examples/v1beta1/trial-template/trial-metadata-substitution.yaml index 10cee73ef91..4581ceb9823 100644 --- a/examples/v1beta1/trial-template/trial-metadata-substitution.yaml +++ b/examples/v1beta1/trial-template/trial-metadata-substitution.yaml @@ -59,7 +59,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/manifests/v1beta1/components/controller/trial-templates.yaml b/manifests/v1beta1/components/controller/trial-templates.yaml index 72166116ae6..e885d7336c5 100644 --- a/manifests/v1beta1/components/controller/trial-templates.yaml +++ b/manifests/v1beta1/components/controller/trial-templates.yaml @@ -14,7 +14,7 @@ data: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" @@ -32,7 +32,7 @@ data: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-45c5727 + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:latest command: - python3 - -u @@ -53,7 +53,7 @@ data: spec: containers: - name: pytorch - image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/pytorch-mnist:latest imagePullPolicy: Always command: - "python3" @@ -68,7 +68,7 @@ data: spec: containers: - name: pytorch - image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/pytorch-mnist:latest imagePullPolicy: Always command: - "python3" diff --git a/operators/katib-controller/src/defaultTrialTemplate.yaml b/operators/katib-controller/src/defaultTrialTemplate.yaml index 86a381ebcf1..8692bb11f92 100644 --- a/operators/katib-controller/src/defaultTrialTemplate.yaml +++ b/operators/katib-controller/src/defaultTrialTemplate.yaml @@ -5,7 +5,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/operators/katib-controller/src/enasCPUTemplate.yaml b/operators/katib-controller/src/enasCPUTemplate.yaml index 0b6ff48a2a0..18df1e666ac 100644 --- a/operators/katib-controller/src/enasCPUTemplate.yaml +++ b/operators/katib-controller/src/enasCPUTemplate.yaml @@ -5,7 +5,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-45c5727 + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:latest command: - python3 - -u diff --git a/operators/katib-controller/src/pytorchJobTemplate.yaml b/operators/katib-controller/src/pytorchJobTemplate.yaml index b9b0f068b1f..a31a0977760 100644 --- a/operators/katib-controller/src/pytorchJobTemplate.yaml +++ b/operators/katib-controller/src/pytorchJobTemplate.yaml @@ -9,7 +9,7 @@ spec: spec: containers: - name: pytorch - image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/pytorch-mnist:latest imagePullPolicy: Always command: - "python3" @@ -24,7 +24,7 @@ spec: spec: containers: - name: pytorch - image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/pytorch-mnist:latest imagePullPolicy: Always command: - "python3" diff --git a/scripts/v1beta1/update-trial-images.sh b/scripts/v1beta1/update-trial-images.sh index 2bfe7f6911e..7565b3c5158 100755 --- a/scripts/v1beta1/update-trial-images.sh +++ b/scripts/v1beta1/update-trial-images.sh @@ -14,10 +14,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -# This script is used to update images and tags in the Trial templates for all Katib examples and manifests. -# Run ./scripts/v1beta1/update-trial-template-tags.sh -p -t to execute it. -# For example, to update images tags to the latest: -# ./scripts/v1beta1/update-trial-template-tags.sh -p docker.io/kubeflowkatib/ -t latest +# This script is used to update images and tags in the Trial images for all Katib examples and manifests. +# Run ./scripts/v1beta1/update-trial-images.sh -p -t to execute it. +# For example, to update image tags to the latest run: +# ./scripts/v1beta1/update-trial-images.sh -p docker.io/kubeflowkatib/ -t latest usage() { echo "Usage: $0 [-p -t ]" 1>&2 diff --git a/test/e2e/v1beta1/invalid-experiment.yaml b/test/e2e/v1beta1/invalid-experiment.yaml index 3f65d6edb6e..28018af61c1 100644 --- a/test/e2e/v1beta1/invalid-experiment.yaml +++ b/test/e2e/v1beta1/invalid-experiment.yaml @@ -52,7 +52,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" diff --git a/test/e2e/v1beta1/valid-experiment.yaml b/test/e2e/v1beta1/valid-experiment.yaml index 2313f1bf6ab..25937bf2cfe 100644 --- a/test/e2e/v1beta1/valid-experiment.yaml +++ b/test/e2e/v1beta1/valid-experiment.yaml @@ -52,7 +52,7 @@ spec: spec: containers: - name: training-container - image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727 + image: docker.io/kubeflowkatib/mxnet-mnist:latest command: - "python3" - "/opt/mxnet-mnist/mnist.py" From 607b28b8cc448d5870dc19e5ef9b95264cd75021 Mon Sep 17 00:00:00 2001 From: Andrey Velichkevich Date: Wed, 1 Dec 2021 22:06:08 +0000 Subject: [PATCH 02/11] Modify tags in Notebooks --- .../v1beta1/kubeflow-pipelines/early-stopping.ipynb | 2 +- examples/v1beta1/sdk/cmaes-and-resume-policies.ipynb | 10 +++++----- examples/v1beta1/sdk/nas-with-darts.ipynb | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/examples/v1beta1/kubeflow-pipelines/early-stopping.ipynb b/examples/v1beta1/kubeflow-pipelines/early-stopping.ipynb index a8042bd3145..6f97a8ffeee 100644 --- a/examples/v1beta1/kubeflow-pipelines/early-stopping.ipynb +++ b/examples/v1beta1/kubeflow-pipelines/early-stopping.ipynb @@ -265,7 +265,7 @@ " \"containers\": [\n", " {\n", " \"name\": \"training-container\",\n", - " \"image\": \"docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727\",\n", + " \"image\": \"docker.io/kubeflowkatib/mxnet-mnist:v0.12.0\",\n", " \"command\": [\n", " \"python3\",\n", " \"/opt/mxnet-mnist/mnist.py\",\n", diff --git a/examples/v1beta1/sdk/cmaes-and-resume-policies.ipynb b/examples/v1beta1/sdk/cmaes-and-resume-policies.ipynb index 54691c3bfba..e7066a2fba9 100644 --- a/examples/v1beta1/sdk/cmaes-and-resume-policies.ipynb +++ b/examples/v1beta1/sdk/cmaes-and-resume-policies.ipynb @@ -164,7 +164,7 @@ " \"containers\": [\n", " {\n", " \"name\": \"training-container\",\n", - " \"image\": \"docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727\",\n", + " \"image\": \"docker.io/kubeflowkatib/mxnet-mnist:v0.12.0\",\n", " \"command\": [\n", " \"python3\",\n", " \"/opt/mxnet-mnist/mnist.py\",\n", @@ -404,7 +404,7 @@ " '--lr=${trialParameters.learningRate}',\n", " '--num-layers=${trialParameters.numberLayers}',\n", " '--optimizer=${trialParameters.optimizer}'],\n", - " 'image': 'docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727',\n", + " 'image': 'docker.io/kubeflowkatib/mxnet-mnist:v0.12.0',\n", " 'name': 'training-container'}],\n", " 'restartPolicy': 'Never'}}}}}}}" ] @@ -539,7 +539,7 @@ " '--lr=${trialParameters.learningRate}',\n", " '--num-layers=${trialParameters.numberLayers}',\n", " '--optimizer=${trialParameters.optimizer}'],\n", - " 'image': 'docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727',\n", + " 'image': 'docker.io/kubeflowkatib/mxnet-mnist:v0.12.0',\n", " 'name': 'training-container'}],\n", " 'restartPolicy': 'Never'}}}}}}}" ] @@ -576,7 +576,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "{'apiVersion': 'kubeflow.org/v1beta1', 'kind': 'Experiment', 'metadata': {'creationTimestamp': '2021-10-05T23:40:19Z', 'finalizers': ['update-prometheus-metrics'], 'generation': 1, 'managedFields': [{'apiVersion': 'kubeflow.org/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:spec': {'.': {}, 'f:algorithm': {'.': {}, 'f:algorithmName': {}}, 'f:maxFailedTrialCount': {}, 'f:maxTrialCount': {}, 'f:objective': {'.': {}, 'f:additionalMetricNames': {}, 'f:goal': {}, 'f:objectiveMetricName': {}, 'f:type': {}}, 'f:parallelTrialCount': {}, 'f:parameters': {}, 'f:trialTemplate': {'.': {}, 'f:primaryContainerName': {}, 'f:trialParameters': {}, 'f:trialSpec': {'.': {}, 'f:apiVersion': {}, 'f:kind': {}, 'f:spec': {'.': {}, 'f:template': {'.': {}, 'f:metadata': {'.': {}, 'f:annotations': {'.': {}, 'f:sidecar.istio.io/inject': {}}}, 'f:spec': {'.': {}, 'f:containers': {}, 'f:restartPolicy': {}}}}}}}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2021-10-05T23:40:19Z'}, {'apiVersion': 'kubeflow.org/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'.': {}, 'v:\"update-prometheus-metrics\"': {}}}, 'f:status': {'.': {}, 'f:conditions': {}, 'f:currentOptimalTrial': {'.': {}, 'f:bestTrialName': {}, 'f:observation': {'.': {}, 'f:metrics': {}}, 'f:parameterAssignments': {}}, 'f:runningTrialList': {}, 'f:startTime': {}, 'f:trials': {}, 'f:trialsRunning': {}}}, 'manager': 'katib-controller', 'operation': 'Update', 'time': '2021-10-05T23:40:54Z'}], 'name': 'cmaes-example', 'namespace': 'kubeflow-user-example-com', 'resourceVersion': '393932086', 'uid': 'ccf6bb73-6768-4e6e-9a23-742d0953ecf1'}, 'spec': {'algorithm': {'algorithmName': 'cmaes'}, 'maxFailedTrialCount': 3, 'maxTrialCount': 7, 'metricsCollectorSpec': {'collector': {'kind': 'StdOut'}}, 'objective': {'additionalMetricNames': ['Train-accuracy'], 'goal': 0.99, 'metricStrategies': [{'name': 'Validation-accuracy', 'value': 'max'}, {'name': 'Train-accuracy', 'value': 'max'}], 'objectiveMetricName': 'Validation-accuracy', 'type': 'maximize'}, 'parallelTrialCount': 3, 'parameters': [{'feasibleSpace': {'max': '0.06', 'min': '0.01'}, 'name': 'lr', 'parameterType': 'double'}, {'feasibleSpace': {'max': '5', 'min': '2'}, 'name': 'num-layers', 'parameterType': 'int'}, {'feasibleSpace': {'list': ['sgd', 'adam', 'ftrl']}, 'name': 'optimizer', 'parameterType': 'categorical'}], 'resumePolicy': 'LongRunning', 'trialTemplate': {'failureCondition': 'status.conditions.#(type==\"Failed\")#|#(status==\"True\")#', 'primaryContainerName': 'training-container', 'successCondition': 'status.conditions.#(type==\"Complete\")#|#(status==\"True\")#', 'trialParameters': [{'description': 'Learning rate for the training model', 'name': 'learningRate', 'reference': 'lr'}, {'description': 'Number of training model layers', 'name': 'numberLayers', 'reference': 'num-layers'}, {'description': 'Training model optimizer (sdg, adam or ftrl)', 'name': 'optimizer', 'reference': 'optimizer'}], 'trialSpec': {'apiVersion': 'batch/v1', 'kind': 'Job', 'spec': {'template': {'metadata': {'annotations': {'sidecar.istio.io/inject': 'false'}}, 'spec': {'containers': [{'command': ['python3', '/opt/mxnet-mnist/mnist.py', '--batch-size=64', '--lr=${trialParameters.learningRate}', '--num-layers=${trialParameters.numberLayers}', '--optimizer=${trialParameters.optimizer}'], 'image': 'docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727', 'name': 'training-container'}], 'restartPolicy': 'Never'}}}}}}, 'status': {'conditions': [{'lastTransitionTime': '2021-10-05T23:40:19Z', 'lastUpdateTime': '2021-10-05T23:40:19Z', 'message': 'Experiment is created', 'reason': 'ExperimentCreated', 'status': 'True', 'type': 'Created'}, {'lastTransitionTime': '2021-10-05T23:40:54Z', 'lastUpdateTime': '2021-10-05T23:40:54Z', 'message': 'Experiment is running', 'reason': 'ExperimentRunning', 'status': 'True', 'type': 'Running'}], 'currentOptimalTrial': {'bestTrialName': '', 'observation': {'metrics': None}, 'parameterAssignments': None}, 'runningTrialList': ['cmaes-example-xn6txwtw', 'cmaes-example-8crn89vg', 'cmaes-example-4q8hmt9r'], 'startTime': '2021-10-05T23:40:19Z', 'trials': 3, 'trialsRunning': 3}}\n", + "{'apiVersion': 'kubeflow.org/v1beta1', 'kind': 'Experiment', 'metadata': {'creationTimestamp': '2021-10-05T23:40:19Z', 'finalizers': ['update-prometheus-metrics'], 'generation': 1, 'managedFields': [{'apiVersion': 'kubeflow.org/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:spec': {'.': {}, 'f:algorithm': {'.': {}, 'f:algorithmName': {}}, 'f:maxFailedTrialCount': {}, 'f:maxTrialCount': {}, 'f:objective': {'.': {}, 'f:additionalMetricNames': {}, 'f:goal': {}, 'f:objectiveMetricName': {}, 'f:type': {}}, 'f:parallelTrialCount': {}, 'f:parameters': {}, 'f:trialTemplate': {'.': {}, 'f:primaryContainerName': {}, 'f:trialParameters': {}, 'f:trialSpec': {'.': {}, 'f:apiVersion': {}, 'f:kind': {}, 'f:spec': {'.': {}, 'f:template': {'.': {}, 'f:metadata': {'.': {}, 'f:annotations': {'.': {}, 'f:sidecar.istio.io/inject': {}}}, 'f:spec': {'.': {}, 'f:containers': {}, 'f:restartPolicy': {}}}}}}}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2021-10-05T23:40:19Z'}, {'apiVersion': 'kubeflow.org/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'.': {}, 'v:\"update-prometheus-metrics\"': {}}}, 'f:status': {'.': {}, 'f:conditions': {}, 'f:currentOptimalTrial': {'.': {}, 'f:bestTrialName': {}, 'f:observation': {'.': {}, 'f:metrics': {}}, 'f:parameterAssignments': {}}, 'f:runningTrialList': {}, 'f:startTime': {}, 'f:trials': {}, 'f:trialsRunning': {}}}, 'manager': 'katib-controller', 'operation': 'Update', 'time': '2021-10-05T23:40:54Z'}], 'name': 'cmaes-example', 'namespace': 'kubeflow-user-example-com', 'resourceVersion': '393932086', 'uid': 'ccf6bb73-6768-4e6e-9a23-742d0953ecf1'}, 'spec': {'algorithm': {'algorithmName': 'cmaes'}, 'maxFailedTrialCount': 3, 'maxTrialCount': 7, 'metricsCollectorSpec': {'collector': {'kind': 'StdOut'}}, 'objective': {'additionalMetricNames': ['Train-accuracy'], 'goal': 0.99, 'metricStrategies': [{'name': 'Validation-accuracy', 'value': 'max'}, {'name': 'Train-accuracy', 'value': 'max'}], 'objectiveMetricName': 'Validation-accuracy', 'type': 'maximize'}, 'parallelTrialCount': 3, 'parameters': [{'feasibleSpace': {'max': '0.06', 'min': '0.01'}, 'name': 'lr', 'parameterType': 'double'}, {'feasibleSpace': {'max': '5', 'min': '2'}, 'name': 'num-layers', 'parameterType': 'int'}, {'feasibleSpace': {'list': ['sgd', 'adam', 'ftrl']}, 'name': 'optimizer', 'parameterType': 'categorical'}], 'resumePolicy': 'LongRunning', 'trialTemplate': {'failureCondition': 'status.conditions.#(type==\"Failed\")#|#(status==\"True\")#', 'primaryContainerName': 'training-container', 'successCondition': 'status.conditions.#(type==\"Complete\")#|#(status==\"True\")#', 'trialParameters': [{'description': 'Learning rate for the training model', 'name': 'learningRate', 'reference': 'lr'}, {'description': 'Number of training model layers', 'name': 'numberLayers', 'reference': 'num-layers'}, {'description': 'Training model optimizer (sdg, adam or ftrl)', 'name': 'optimizer', 'reference': 'optimizer'}], 'trialSpec': {'apiVersion': 'batch/v1', 'kind': 'Job', 'spec': {'template': {'metadata': {'annotations': {'sidecar.istio.io/inject': 'false'}}, 'spec': {'containers': [{'command': ['python3', '/opt/mxnet-mnist/mnist.py', '--batch-size=64', '--lr=${trialParameters.learningRate}', '--num-layers=${trialParameters.numberLayers}', '--optimizer=${trialParameters.optimizer}'], 'image': 'docker.io/kubeflowkatib/mxnet-mnist:v0.12.0', 'name': 'training-container'}], 'restartPolicy': 'Never'}}}}}}, 'status': {'conditions': [{'lastTransitionTime': '2021-10-05T23:40:19Z', 'lastUpdateTime': '2021-10-05T23:40:19Z', 'message': 'Experiment is created', 'reason': 'ExperimentCreated', 'status': 'True', 'type': 'Created'}, {'lastTransitionTime': '2021-10-05T23:40:54Z', 'lastUpdateTime': '2021-10-05T23:40:54Z', 'message': 'Experiment is running', 'reason': 'ExperimentRunning', 'status': 'True', 'type': 'Running'}], 'currentOptimalTrial': {'bestTrialName': '', 'observation': {'metrics': None}, 'parameterAssignments': None}, 'runningTrialList': ['cmaes-example-xn6txwtw', 'cmaes-example-8crn89vg', 'cmaes-example-4q8hmt9r'], 'startTime': '2021-10-05T23:40:19Z', 'trials': 3, 'trialsRunning': 3}}\n", "-----------------\n", "\n", "7\n", @@ -917,7 +917,7 @@ " '--lr=${trialParameters.learningRate}',\n", " '--num-layers=${trialParameters.numberLayers}',\n", " '--optimizer=${trialParameters.optimizer}'],\n", - " 'image': 'docker.io/kubeflowkatib/mxnet-mnist:v1beta1-45c5727',\n", + " 'image': 'docker.io/kubeflowkatib/mxnet-mnist:v0.12.0',\n", " 'name': 'training-container'}],\n", " 'restartPolicy': 'Never'}}}}}},\n", " 'status': {'completionTime': '2021-10-05T23:44:26Z',\n", diff --git a/examples/v1beta1/sdk/nas-with-darts.ipynb b/examples/v1beta1/sdk/nas-with-darts.ipynb index 06470427caf..0e0f1055760 100644 --- a/examples/v1beta1/sdk/nas-with-darts.ipynb +++ b/examples/v1beta1/sdk/nas-with-darts.ipynb @@ -235,7 +235,7 @@ " \"containers\": [\n", " {\n", " \"name\": \"training-container\",\n", - " \"image\": \"docker.io/kubeflowkatib/darts-cnn-cifar10:v1beta1-45c5727\",\n", + " \"image\": \"docker.io/kubeflowkatib/darts-cnn-cifar10:v0.12.0\",\n", " \"command\": [\n", " 'python3',\n", " 'run_trial.py',\n", @@ -317,7 +317,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "{'name': 'training-container', 'image': 'docker.io/kubeflowkatib/darts-cnn-cifar10:v1beta1-45c5727', 'command': ['python3', 'run_trial.py', '--algorithm-settings=\"${trialParameters.algorithmSettings}\"', '--search-space=\"${trialParameters.searchSpace}\"', '--num-layers=\"${trialParameters.numberLayers}\"'], 'resources': {'limits': {'nvidia.com/gpu': 1}}}\n" + "{'name': 'training-container', 'image': 'docker.io/kubeflowkatib/darts-cnn-cifar10:v0.12.0', 'command': ['python3', 'run_trial.py', '--algorithm-settings=\"${trialParameters.algorithmSettings}\"', '--search-space=\"${trialParameters.searchSpace}\"', '--num-layers=\"${trialParameters.numberLayers}\"'], 'resources': {'limits': {'nvidia.com/gpu': 1}}}\n" ] } ], @@ -450,7 +450,7 @@ " '--algorithm-settings=\"${trialParameters.algorithmSettings}\"',\n", " '--search-space=\"${trialParameters.searchSpace}\"',\n", " '--num-layers=\"${trialParameters.numberLayers}\"'],\n", - " 'image': 'docker.io/kubeflowkatib/darts-cnn-cifar10:v1beta1-45c5727',\n", + " 'image': 'docker.io/kubeflowkatib/darts-cnn-cifar10:v0.12.0',\n", " 'name': 'training-container',\n", " 'resources': {'limits': {'nvidia.com/gpu': 1}}}],\n", " 'restartPolicy': 'Never'}}}}}}}" @@ -487,7 +487,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "{'apiVersion': 'kubeflow.org/v1beta1', 'kind': 'Experiment', 'metadata': {'creationTimestamp': '2021-10-05T23:49:49Z', 'finalizers': ['update-prometheus-metrics'], 'generation': 1, 'managedFields': [{'apiVersion': 'kubeflow.org/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:spec': {'.': {}, 'f:algorithm': {'.': {}, 'f:algorithmName': {}, 'f:algorithmSettings': {}}, 'f:maxFailedTrialCount': {}, 'f:maxTrialCount': {}, 'f:metricsCollectorSpec': {'.': {}, 'f:collector': {'.': {}, 'f:kind': {}}, 'f:source': {'.': {}, 'f:filter': {'.': {}, 'f:metricsFormat': {}}}}, 'f:nasConfig': {'.': {}, 'f:graphConfig': {'.': {}, 'f:numLayers': {}}, 'f:operations': {}}, 'f:objective': {'.': {}, 'f:objectiveMetricName': {}, 'f:type': {}}, 'f:parallelTrialCount': {}, 'f:trialTemplate': {'.': {}, 'f:primaryContainerName': {}, 'f:retain': {}, 'f:trialParameters': {}, 'f:trialSpec': {'.': {}, 'f:apiVersion': {}, 'f:kind': {}, 'f:spec': {'.': {}, 'f:template': {'.': {}, 'f:metadata': {'.': {}, 'f:annotations': {'.': {}, 'f:sidecar.istio.io/inject': {}}}, 'f:spec': {'.': {}, 'f:containers': {}, 'f:restartPolicy': {}}}}}}}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2021-10-05T23:49:49Z'}, {'apiVersion': 'kubeflow.org/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'.': {}, 'v:\"update-prometheus-metrics\"': {}}}, 'f:status': {'.': {}, 'f:conditions': {}, 'f:currentOptimalTrial': {'.': {}, 'f:bestTrialName': {}, 'f:observation': {'.': {}, 'f:metrics': {}}, 'f:parameterAssignments': {}}, 'f:runningTrialList': {}, 'f:startTime': {}, 'f:trials': {}, 'f:trialsRunning': {}}}, 'manager': 'katib-controller', 'operation': 'Update', 'time': '2021-10-05T23:50:31Z'}], 'name': 'darts-example', 'namespace': 'kubeflow-user-example-com', 'resourceVersion': '393948698', 'uid': '3fbda962-64c0-4474-b1de-03b390f96369'}, 'spec': {'algorithm': {'algorithmName': 'darts', 'algorithmSettings': [{'name': 'num_epochs', 'value': '2'}, {'name': 'stem_multiplier', 'value': '1'}, {'name': 'init_channels', 'value': '4'}, {'name': 'num_nodes', 'value': '3'}]}, 'maxFailedTrialCount': 1, 'maxTrialCount': 1, 'metricsCollectorSpec': {'collector': {'kind': 'StdOut'}, 'source': {'filter': {'metricsFormat': ['([\\\\w-]+)=(Genotype.*)']}}}, 'nasConfig': {'graphConfig': {'numLayers': 2}, 'operations': [{'operationType': 'separable_convolution', 'parameters': [{'feasibleSpace': {'list': ['3']}, 'name': 'filter_size', 'parameterType': 'categorical'}]}, {'operationType': 'dilated_convolution', 'parameters': [{'feasibleSpace': {'list': ['3', '5']}, 'name': 'filter_size', 'parameterType': 'categorical'}]}, {'operationType': 'avg_pooling', 'parameters': [{'feasibleSpace': {'list': ['3']}, 'name': 'filter_size', 'parameterType': 'categorical'}]}, {'operationType': 'max_pooling', 'parameters': [{'feasibleSpace': {'list': ['3']}, 'name': 'filter_size', 'parameterType': 'categorical'}]}, {'operationType': 'skip_connection'}]}, 'objective': {'metricStrategies': [{'name': 'Best-Genotype', 'value': 'max'}], 'objectiveMetricName': 'Best-Genotype', 'type': 'maximize'}, 'parallelTrialCount': 1, 'resumePolicy': 'LongRunning', 'trialTemplate': {'failureCondition': 'status.conditions.#(type==\"Failed\")#|#(status==\"True\")#', 'primaryContainerName': 'training-container', 'retain': True, 'successCondition': 'status.conditions.#(type==\"Complete\")#|#(status==\"True\")#', 'trialParameters': [{'description': ' Algorithm settings of DARTS Experiment', 'name': 'algorithmSettings', 'reference': 'algorithm-settings'}, {'description': 'Search Space of DARTS Experiment', 'name': 'searchSpace', 'reference': 'search-space'}, {'description': 'Number of Neural Network layers', 'name': 'numberLayers', 'reference': 'num-layers'}], 'trialSpec': {'apiVersion': 'batch/v1', 'kind': 'Job', 'spec': {'template': {'metadata': {'annotations': {'sidecar.istio.io/inject': 'false'}}, 'spec': {'containers': [{'command': ['python3', 'run_trial.py', '--algorithm-settings=\"${trialParameters.algorithmSettings}\"', '--search-space=\"${trialParameters.searchSpace}\"', '--num-layers=\"${trialParameters.numberLayers}\"'], 'image': 'docker.io/kubeflowkatib/darts-cnn-cifar10:v1beta1-45c5727', 'name': 'training-container', 'resources': {'limits': {'nvidia.com/gpu': 1}}}], 'restartPolicy': 'Never'}}}}}}, 'status': {'conditions': [{'lastTransitionTime': '2021-10-05T23:49:49Z', 'lastUpdateTime': '2021-10-05T23:49:49Z', 'message': 'Experiment is created', 'reason': 'ExperimentCreated', 'status': 'True', 'type': 'Created'}, {'lastTransitionTime': '2021-10-05T23:50:30Z', 'lastUpdateTime': '2021-10-05T23:50:30Z', 'message': 'Experiment is running', 'reason': 'ExperimentRunning', 'status': 'True', 'type': 'Running'}], 'currentOptimalTrial': {'bestTrialName': '', 'observation': {'metrics': None}, 'parameterAssignments': None}, 'runningTrialList': ['darts-example-n4fpnxlm'], 'startTime': '2021-10-05T23:49:49Z', 'trials': 1, 'trialsRunning': 1}}\n", + "{'apiVersion': 'kubeflow.org/v1beta1', 'kind': 'Experiment', 'metadata': {'creationTimestamp': '2021-10-05T23:49:49Z', 'finalizers': ['update-prometheus-metrics'], 'generation': 1, 'managedFields': [{'apiVersion': 'kubeflow.org/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:spec': {'.': {}, 'f:algorithm': {'.': {}, 'f:algorithmName': {}, 'f:algorithmSettings': {}}, 'f:maxFailedTrialCount': {}, 'f:maxTrialCount': {}, 'f:metricsCollectorSpec': {'.': {}, 'f:collector': {'.': {}, 'f:kind': {}}, 'f:source': {'.': {}, 'f:filter': {'.': {}, 'f:metricsFormat': {}}}}, 'f:nasConfig': {'.': {}, 'f:graphConfig': {'.': {}, 'f:numLayers': {}}, 'f:operations': {}}, 'f:objective': {'.': {}, 'f:objectiveMetricName': {}, 'f:type': {}}, 'f:parallelTrialCount': {}, 'f:trialTemplate': {'.': {}, 'f:primaryContainerName': {}, 'f:retain': {}, 'f:trialParameters': {}, 'f:trialSpec': {'.': {}, 'f:apiVersion': {}, 'f:kind': {}, 'f:spec': {'.': {}, 'f:template': {'.': {}, 'f:metadata': {'.': {}, 'f:annotations': {'.': {}, 'f:sidecar.istio.io/inject': {}}}, 'f:spec': {'.': {}, 'f:containers': {}, 'f:restartPolicy': {}}}}}}}}, 'manager': 'OpenAPI-Generator', 'operation': 'Update', 'time': '2021-10-05T23:49:49Z'}, {'apiVersion': 'kubeflow.org/v1beta1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'.': {}, 'v:\"update-prometheus-metrics\"': {}}}, 'f:status': {'.': {}, 'f:conditions': {}, 'f:currentOptimalTrial': {'.': {}, 'f:bestTrialName': {}, 'f:observation': {'.': {}, 'f:metrics': {}}, 'f:parameterAssignments': {}}, 'f:runningTrialList': {}, 'f:startTime': {}, 'f:trials': {}, 'f:trialsRunning': {}}}, 'manager': 'katib-controller', 'operation': 'Update', 'time': '2021-10-05T23:50:31Z'}], 'name': 'darts-example', 'namespace': 'kubeflow-user-example-com', 'resourceVersion': '393948698', 'uid': '3fbda962-64c0-4474-b1de-03b390f96369'}, 'spec': {'algorithm': {'algorithmName': 'darts', 'algorithmSettings': [{'name': 'num_epochs', 'value': '2'}, {'name': 'stem_multiplier', 'value': '1'}, {'name': 'init_channels', 'value': '4'}, {'name': 'num_nodes', 'value': '3'}]}, 'maxFailedTrialCount': 1, 'maxTrialCount': 1, 'metricsCollectorSpec': {'collector': {'kind': 'StdOut'}, 'source': {'filter': {'metricsFormat': ['([\\\\w-]+)=(Genotype.*)']}}}, 'nasConfig': {'graphConfig': {'numLayers': 2}, 'operations': [{'operationType': 'separable_convolution', 'parameters': [{'feasibleSpace': {'list': ['3']}, 'name': 'filter_size', 'parameterType': 'categorical'}]}, {'operationType': 'dilated_convolution', 'parameters': [{'feasibleSpace': {'list': ['3', '5']}, 'name': 'filter_size', 'parameterType': 'categorical'}]}, {'operationType': 'avg_pooling', 'parameters': [{'feasibleSpace': {'list': ['3']}, 'name': 'filter_size', 'parameterType': 'categorical'}]}, {'operationType': 'max_pooling', 'parameters': [{'feasibleSpace': {'list': ['3']}, 'name': 'filter_size', 'parameterType': 'categorical'}]}, {'operationType': 'skip_connection'}]}, 'objective': {'metricStrategies': [{'name': 'Best-Genotype', 'value': 'max'}], 'objectiveMetricName': 'Best-Genotype', 'type': 'maximize'}, 'parallelTrialCount': 1, 'resumePolicy': 'LongRunning', 'trialTemplate': {'failureCondition': 'status.conditions.#(type==\"Failed\")#|#(status==\"True\")#', 'primaryContainerName': 'training-container', 'retain': True, 'successCondition': 'status.conditions.#(type==\"Complete\")#|#(status==\"True\")#', 'trialParameters': [{'description': ' Algorithm settings of DARTS Experiment', 'name': 'algorithmSettings', 'reference': 'algorithm-settings'}, {'description': 'Search Space of DARTS Experiment', 'name': 'searchSpace', 'reference': 'search-space'}, {'description': 'Number of Neural Network layers', 'name': 'numberLayers', 'reference': 'num-layers'}], 'trialSpec': {'apiVersion': 'batch/v1', 'kind': 'Job', 'spec': {'template': {'metadata': {'annotations': {'sidecar.istio.io/inject': 'false'}}, 'spec': {'containers': [{'command': ['python3', 'run_trial.py', '--algorithm-settings=\"${trialParameters.algorithmSettings}\"', '--search-space=\"${trialParameters.searchSpace}\"', '--num-layers=\"${trialParameters.numberLayers}\"'], 'image': 'docker.io/kubeflowkatib/darts-cnn-cifar10:v0.12.0', 'name': 'training-container', 'resources': {'limits': {'nvidia.com/gpu': 1}}}], 'restartPolicy': 'Never'}}}}}}, 'status': {'conditions': [{'lastTransitionTime': '2021-10-05T23:49:49Z', 'lastUpdateTime': '2021-10-05T23:49:49Z', 'message': 'Experiment is created', 'reason': 'ExperimentCreated', 'status': 'True', 'type': 'Created'}, {'lastTransitionTime': '2021-10-05T23:50:30Z', 'lastUpdateTime': '2021-10-05T23:50:30Z', 'message': 'Experiment is running', 'reason': 'ExperimentRunning', 'status': 'True', 'type': 'Running'}], 'currentOptimalTrial': {'bestTrialName': '', 'observation': {'metrics': None}, 'parameterAssignments': None}, 'runningTrialList': ['darts-example-n4fpnxlm'], 'startTime': '2021-10-05T23:49:49Z', 'trials': 1, 'trialsRunning': 1}}\n", "-----------------\n", "\n", "{'lastTransitionTime': '2021-10-05T23:50:30Z', 'lastUpdateTime': '2021-10-05T23:50:30Z', 'message': 'Experiment is running', 'reason': 'ExperimentRunning', 'status': 'True', 'type': 'Running'}\n" @@ -723,7 +723,7 @@ " '--algorithm-settings=\"${trialParameters.algorithmSettings}\"',\n", " '--search-space=\"${trialParameters.searchSpace}\"',\n", " '--num-layers=\"${trialParameters.numberLayers}\"'],\n", - " 'image': 'docker.io/kubeflowkatib/darts-cnn-cifar10:v1beta1-45c5727',\n", + " 'image': 'docker.io/kubeflowkatib/darts-cnn-cifar10:v0.12.0',\n", " 'name': 'training-container',\n", " 'resources': {'limits': {'nvidia.com/gpu': 1}}}],\n", " 'restartPolicy': 'Never'}}}}}},\n", From 4ef8bdfbddbb20403920d55f990fa73b25ef168b Mon Sep 17 00:00:00 2001 From: Andrey Velichkevich Date: Wed, 1 Dec 2021 22:31:17 +0000 Subject: [PATCH 03/11] Rename script --- scripts/v1beta1/{update-trial-images.sh => update-images.sh} | 1 - 1 file changed, 1 deletion(-) rename scripts/v1beta1/{update-trial-images.sh => update-images.sh} (99%) diff --git a/scripts/v1beta1/update-trial-images.sh b/scripts/v1beta1/update-images.sh similarity index 99% rename from scripts/v1beta1/update-trial-images.sh rename to scripts/v1beta1/update-images.sh index 7565b3c5158..39e20c733f5 100755 --- a/scripts/v1beta1/update-trial-images.sh +++ b/scripts/v1beta1/update-images.sh @@ -58,7 +58,6 @@ ENAS_GPU="enas-cnn-cifar10-gpu" ENAS_CPU="enas-cnn-cifar10-cpu" DARTS="darts-cnn-cifar10" -# MXNet mnist. # For MacOS we should set -i '' to avoid temp files from sed. if [[ $(uname) == "Darwin" ]]; then find ./ -regex ".*\.yaml" -exec sed -i '' -e "s@${BASE_IMAGE_PREFIX}${MXNET_MNIST}:.*@${IMAGE_PREFIX}${MXNET_MNIST}:${TAG}@" {} \; From 07553472f60b89a54e13855892e96a18efc98a33 Mon Sep 17 00:00:00 2001 From: Andrey Velichkevich Date: Wed, 1 Dec 2021 23:28:17 +0000 Subject: [PATCH 04/11] Script changes --- scripts/v1beta1/update-images.sh | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/scripts/v1beta1/update-images.sh b/scripts/v1beta1/update-images.sh index 39e20c733f5..09568fe7e41 100755 --- a/scripts/v1beta1/update-images.sh +++ b/scripts/v1beta1/update-images.sh @@ -14,10 +14,22 @@ # See the License for the specific language governing permissions and # limitations under the License. -# This script is used to update images and tags in the Trial images for all Katib examples and manifests. -# Run ./scripts/v1beta1/update-trial-images.sh -p -t to execute it. -# For example, to update image tags to the latest run: -# ./scripts/v1beta1/update-trial-images.sh -p docker.io/kubeflowkatib/ -t latest +# This script is used to update images and tags which are hosted by Katib community. +# +# The image names postfix must be equal to Katib format. +# Please check the images format here: https://github.com/kubeflow/katib/blob/master/docs/images-location.md +# For example, for Katib controller the image postfix is "katib-controller". +# +# This script updates the following images: +# 1. Katib Core Components. +# 2. Katib Metrics Collectors +# 3. Katib Suggestions +# 4. Katib Early Stopping +# 5. Katib Trial training containers +# +# Run ./scripts/v1beta1/update-images.sh -p -t to execute it. +# For example, to update images with registry: docker.io/private/ and tag "v0.12.0", run: +# ./scripts/v1beta1/update-images.sh -p docker.io/private/ -t latest usage() { echo "Usage: $0 [-p -t ]" 1>&2 From 9de51a674f1274296520a0c2f965adb4939fb6cd Mon Sep 17 00:00:00 2001 From: Andrey Velichkevich Date: Thu, 2 Dec 2021 21:13:55 +0000 Subject: [PATCH 05/11] Few changes --- docs/images-location.md | 2 +- scripts/v1beta1/update-images.sh | 38 +++++++++++++++++++++++++++----- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/docs/images-location.md b/docs/images-location.md index fb407167f09..f96e8ffc1b5 100644 --- a/docs/images-location.md +++ b/docs/images-location.md @@ -66,7 +66,7 @@ The following table shows images for the - docker.io/kubeflowkatib/katib-cert-generator + docker.io/kubeflowkatib/cert-generator Katib Cert Generator diff --git a/scripts/v1beta1/update-images.sh b/scripts/v1beta1/update-images.sh index 09568fe7e41..880bf9ed400 100755 --- a/scripts/v1beta1/update-images.sh +++ b/scripts/v1beta1/update-images.sh @@ -28,8 +28,8 @@ # 5. Katib Trial training containers # # Run ./scripts/v1beta1/update-images.sh -p -t to execute it. -# For example, to update images with registry: docker.io/private/ and tag "v0.12.0", run: -# ./scripts/v1beta1/update-images.sh -p docker.io/private/ -t latest +# For example, to update images with registry "docker.io/private/" and tag "v0.12.0", run: +# ./scripts/v1beta1/update-images.sh -p docker.io/private/ -t v0.12.0 usage() { echo "Usage: $0 [-p -t ]" 1>&2 @@ -56,13 +56,39 @@ if [[ -z "$IMAGE_PREFIX" || -z "$TAG" ]]; then exit 1 fi -echo "Updating Trial template images..." +# This function edits files data for a given path. +# $1 argument - regex path for files to search. +# $2 argument - old string regex to be replaced. +# $3 argument - new string. +update_files() { + # For MacOS we should set -i '' to avoid temp files from sed. + if [[ $(uname) == "Darwin" ]]; then + find ./ -regex "$1" -exec sed -i '' -e "s@$2@$3@" {} \; + else + find ./ -regex "$1" -exec sed -i -e "s@$2@$3@" {} \; + fi +} + +# Base prefix for the Katib images. +BASE_REGISTRY="docker.io/kubeflowkatib/" + +echo "Updating Katib images..." echo "Image prefix: ${IMAGE_PREFIX}" -echo "Image tag: ${TAG}" +echo -e "Image tag: ${TAG}\n" + +# Katib Core image names. +CONTROLLER="katib-controller" +DB_MANAGER="katib-db-manager" +UI="katib-ui" +CERT_GENERATOR="cert-generator" -# Base prefix for the Trial template images. -BASE_IMAGE_PREFIX="docker.io/kubeflowkatib/" +echo "Updating Katib Core Images" +update_files "manifests/v1beta1/installs*\.yaml" "newName: ${BASE_REGISTRY}${CONTROLLER}" "newName: ${IMAGE_PREFIX}${CONTROLLER}" +update_files "manifests/v1beta1/installs*\.yaml" "newTag: .*" "newTag: ${TAG}" +exit 1 +FILE_METRICS_COLLECTOR="file-metrics-collector" +TFEVENT_METRICS_COLLECTOR="tfevent-metrics-collector" # End of the each Trial template image. MXNET_MNIST="mxnet-mnist" PYTORCH_MNIST="pytorch-mnist" From 8261c09edef4b90058be75842df76a4de36d4784 Mon Sep 17 00:00:00 2001 From: Andrey Velichkevich Date: Thu, 2 Dec 2021 22:01:20 +0000 Subject: [PATCH 06/11] Add other images --- scripts/v1beta1/update-images.sh | 59 ++++++++++++++------------------ 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/scripts/v1beta1/update-images.sh b/scripts/v1beta1/update-images.sh index 880bf9ed400..0da4000d37a 100755 --- a/scripts/v1beta1/update-images.sh +++ b/scripts/v1beta1/update-images.sh @@ -56,59 +56,52 @@ if [[ -z "$IMAGE_PREFIX" || -z "$TAG" ]]; then exit 1 fi -# This function edits files data for a given path. -# $1 argument - regex path for files to search. +# This function edits YAML files data for a given path. +# $1 argument - path for files to search. # $2 argument - old string regex to be replaced. # $3 argument - new string. -update_files() { +update_yaml_files() { # For MacOS we should set -i '' to avoid temp files from sed. if [[ $(uname) == "Darwin" ]]; then - find ./ -regex "$1" -exec sed -i '' -e "s@$2@$3@" {} \; + find $1 -regex ".*\.yaml" -exec sed -i '' -e "s@$2@$3@" {} \; else - find ./ -regex "$1" -exec sed -i -e "s@$2@$3@" {} \; + find $1 -regex ".*\.yaml" -exec sed -i -e "s@$2@$3@" {} \; fi } # Base prefix for the Katib images. -BASE_REGISTRY="docker.io/kubeflowkatib/" +BASE_PREFIX="docker.io/kubeflowkatib/" echo "Updating Katib images..." echo "Image prefix: ${IMAGE_PREFIX}" echo -e "Image tag: ${TAG}\n" -# Katib Core image names. -CONTROLLER="katib-controller" -DB_MANAGER="katib-db-manager" -UI="katib-ui" -CERT_GENERATOR="cert-generator" +# Katib Core images. +# echo -e "Updating Katib Core images\n" +# update_yaml_files "manifests/v1beta1/installs/" "newName: ${BASE_PREFIX}" "newName: ${IMAGE_PREFIX}" +# update_yaml_files "manifests/v1beta1/installs/" "newTag: .*" "newTag: ${TAG}" -echo "Updating Katib Core Images" -update_files "manifests/v1beta1/installs*\.yaml" "newName: ${BASE_REGISTRY}${CONTROLLER}" "newName: ${IMAGE_PREFIX}${CONTROLLER}" -update_files "manifests/v1beta1/installs*\.yaml" "newTag: .*" "newTag: ${TAG}" +# # Katib Config images. +# CONFIG_PATH="manifests/v1beta1/components/controller/katib-config.yaml" -exit 1 -FILE_METRICS_COLLECTOR="file-metrics-collector" -TFEVENT_METRICS_COLLECTOR="tfevent-metrics-collector" -# End of the each Trial template image. +# echo -e "Update Katib Metrics Collectors, Suggestion and EarlyStopping images\n" +# update_yaml_files "${CONFIG_PATH}" "${BASE_PREFIX}" "${IMAGE_PREFIX}" +# update_yaml_files "${CONFIG_PATH}" ":[^[:space:]].*\"" ":${TAG}\"" + +# Katib Trial training container images. + +# Postfix for the each Trial image. MXNET_MNIST="mxnet-mnist" PYTORCH_MNIST="pytorch-mnist" ENAS_GPU="enas-cnn-cifar10-gpu" ENAS_CPU="enas-cnn-cifar10-cpu" DARTS="darts-cnn-cifar10" -# For MacOS we should set -i '' to avoid temp files from sed. -if [[ $(uname) == "Darwin" ]]; then - find ./ -regex ".*\.yaml" -exec sed -i '' -e "s@${BASE_IMAGE_PREFIX}${MXNET_MNIST}:.*@${IMAGE_PREFIX}${MXNET_MNIST}:${TAG}@" {} \; - find ./ -regex ".*\.yaml" -exec sed -i '' -e "s@${BASE_IMAGE_PREFIX}${PYTORCH_MNIST}:.*@${IMAGE_PREFIX}${PYTORCH_MNIST}:${TAG}@" {} \; - find ./ -regex ".*\.yaml" -exec sed -i '' -e "s@${BASE_IMAGE_PREFIX}${ENAS_GPU}:.*@${IMAGE_PREFIX}${ENAS_GPU}:${TAG}@" {} \; - find ./ -regex ".*\.yaml" -exec sed -i '' -e "s@${BASE_IMAGE_PREFIX}${ENAS_CPU}:.*@${IMAGE_PREFIX}${ENAS_CPU}:${TAG}@" {} \; - find ./ -regex ".*\.yaml" -exec sed -i '' -e "s@${BASE_IMAGE_PREFIX}${DARTS}:.*@${IMAGE_PREFIX}${DARTS}:${TAG}@" {} \; -else - find ./ -regex ".*\.yaml" -exec sed -i -e "s@${BASE_IMAGE_PREFIX}${MXNET_MNIST}:.*@${IMAGE_PREFIX}${MXNET_MNIST}:${TAG}@" {} \; - find ./ -regex ".*\.yaml" -exec sed -i -e "s@${BASE_IMAGE_PREFIX}${PYTORCH_MNIST}:.*@${IMAGE_PREFIX}${PYTORCH_MNIST}:${TAG}@" {} \; - find ./ -regex ".*\.yaml" -exec sed -i -e "s@${BASE_IMAGE_PREFIX}${ENAS_GPU}:.*@${IMAGE_PREFIX}${ENAS_GPU}:${TAG}@" {} \; - find ./ -regex ".*\.yaml" -exec sed -i -e "s@${BASE_IMAGE_PREFIX}${ENAS_CPU}:.*@${IMAGE_PREFIX}${ENAS_CPU}:${TAG}@" {} \; - find ./ -regex ".*\.yaml" -exec sed -i -e "s@${BASE_IMAGE_PREFIX}${DARTS}:.*@${IMAGE_PREFIX}${DARTS}:${TAG}@" {} \; -fi +echo -e "Update Katib Trial training container images\n" +update_yaml_files "examples/v1beta1/" "${BASE_PREFIX}${MXNET_MNIST}:.*" "${IMAGE_PREFIX}${MXNET_MNIST}:${TAG}" +update_yaml_files "examples/v1beta1/" "${BASE_PREFIX}${PYTORCH_MNIST}:.*" "${IMAGE_PREFIX}${PYTORCH_MNIST}:${TAG}" +update_yaml_files "examples/v1beta1/" "${BASE_PREFIX}${ENAS_GPU}:.*" "${IMAGE_PREFIX}${ENAS_GPU}:${TAG}" +update_yaml_files "examples/v1beta1/" "${BASE_PREFIX}${ENAS_CPU}:.*" "${IMAGE_PREFIX}${ENAS_CPU}:${TAG}" +update_yaml_files "examples/v1beta1/" "${BASE_PREFIX}${DARTS}:.*" "${IMAGE_PREFIX}${DARTS}:${TAG}" -echo "Trial template images have been updated" +echo -e "Katib images have been updated\n" From 0a929b9b1ee2f2584cdcdb4281fd94e6f99cecd5 Mon Sep 17 00:00:00 2001 From: Andrey Velichkevich Date: Thu, 2 Dec 2021 22:35:38 +0000 Subject: [PATCH 07/11] Modify test script --- Makefile | 8 +++ scripts/v1beta1/update-images.sh | 66 ++++++++++--------------- test/e2e/v1beta1/scripts/setup-katib.sh | 53 +++----------------- 3 files changed, 42 insertions(+), 85 deletions(-) diff --git a/Makefile b/Makefile index d036922f711..9fa2dc060fb 100644 --- a/Makefile +++ b/Makefile @@ -78,6 +78,14 @@ ifeq ($(and $(BRANCH),$(TAG)),) endif bash scripts/v1beta1/release.sh $(BRANCH) $(TAG) +# Update all Katib images. +update-images: +ifeq ($(and $(PREFIX),$(TAG)),) + $(error PREFIX and TAG must be set. Usage: make update-images PREFIX= TAG=) +endif + bash scripts/v1beta1/update-images.sh $(PREFIX) $(TAG) + + # Prettier UI format check for Katib v1beta1. prettier-check: npm run format:check --prefix pkg/new-ui/v1beta1/frontend diff --git a/scripts/v1beta1/update-images.sh b/scripts/v1beta1/update-images.sh index 0da4000d37a..949ba7c49eb 100755 --- a/scripts/v1beta1/update-images.sh +++ b/scripts/v1beta1/update-images.sh @@ -27,32 +27,18 @@ # 4. Katib Early Stopping # 5. Katib Trial training containers # -# Run ./scripts/v1beta1/update-images.sh -p -t to execute it. -# For example, to update images with registry "docker.io/private/" and tag "v0.12.0", run: -# ./scripts/v1beta1/update-images.sh -p docker.io/private/ -t v0.12.0 +# Run ./scripts/v1beta1/update-images.sh to execute it. +# For example, to update images with registry: docker.io/private-registry/ and tag: v0.12.0, run: +# ./scripts/v1beta1/update-images.sh docker.io/private-registry/ v0.12.0 -usage() { - echo "Usage: $0 [-p -t ]" 1>&2 - exit 1 -} +PREFIX=$1 +TAG=$2 -while getopts ":p:t:" opt; do - case $opt in - p) - IMAGE_PREFIX=${OPTARG} - ;; - t) - TAG=${OPTARG} - ;; - *) - usage - ;; - esac -done - -if [[ -z "$IMAGE_PREFIX" || -z "$TAG" ]]; then +if [[ -z "$PREFIX" || -z "$TAG" ]]; then echo "Image prefix and tag must be set" - echo "Usage: $0 [-p -t ]" 1>&2 + echo -e "Usage: $0 \n" 1>&2 + echo "For example, to update images with registry: docker.io/private-registry/ and tag: v0.12.0, run:" + echo "$0 docker.io/private-registry/ v0.12.0" exit 1 fi @@ -73,24 +59,26 @@ update_yaml_files() { BASE_PREFIX="docker.io/kubeflowkatib/" echo "Updating Katib images..." -echo "Image prefix: ${IMAGE_PREFIX}" +echo "Image prefix: ${PREFIX}" echo -e "Image tag: ${TAG}\n" +exit 1 + # Katib Core images. -# echo -e "Updating Katib Core images\n" -# update_yaml_files "manifests/v1beta1/installs/" "newName: ${BASE_PREFIX}" "newName: ${IMAGE_PREFIX}" -# update_yaml_files "manifests/v1beta1/installs/" "newTag: .*" "newTag: ${TAG}" +echo -e "Updating Katib Core images\n" +update_yaml_files "manifests/v1beta1/installs/" "newName: ${BASE_PREFIX}" "newName: ${PREFIX}" +update_yaml_files "manifests/v1beta1/installs/" "newTag: .*" "newTag: ${TAG}" -# # Katib Config images. -# CONFIG_PATH="manifests/v1beta1/components/controller/katib-config.yaml" +# Katib Config images. +CONFIG_PATH="manifests/v1beta1/components/controller/katib-config.yaml" -# echo -e "Update Katib Metrics Collectors, Suggestion and EarlyStopping images\n" -# update_yaml_files "${CONFIG_PATH}" "${BASE_PREFIX}" "${IMAGE_PREFIX}" -# update_yaml_files "${CONFIG_PATH}" ":[^[:space:]].*\"" ":${TAG}\"" +echo -e "Update Katib Metrics Collectors, Suggestion and EarlyStopping images\n" +update_yaml_files "${CONFIG_PATH}" "${BASE_PREFIX}" "${PREFIX}" +update_yaml_files "${CONFIG_PATH}" ":[^[:space:]].*\"" ":${TAG}\"" # Katib Trial training container images. -# Postfix for the each Trial image. +# Postfixes for the each Trial image. MXNET_MNIST="mxnet-mnist" PYTORCH_MNIST="pytorch-mnist" ENAS_GPU="enas-cnn-cifar10-gpu" @@ -98,10 +86,10 @@ ENAS_CPU="enas-cnn-cifar10-cpu" DARTS="darts-cnn-cifar10" echo -e "Update Katib Trial training container images\n" -update_yaml_files "examples/v1beta1/" "${BASE_PREFIX}${MXNET_MNIST}:.*" "${IMAGE_PREFIX}${MXNET_MNIST}:${TAG}" -update_yaml_files "examples/v1beta1/" "${BASE_PREFIX}${PYTORCH_MNIST}:.*" "${IMAGE_PREFIX}${PYTORCH_MNIST}:${TAG}" -update_yaml_files "examples/v1beta1/" "${BASE_PREFIX}${ENAS_GPU}:.*" "${IMAGE_PREFIX}${ENAS_GPU}:${TAG}" -update_yaml_files "examples/v1beta1/" "${BASE_PREFIX}${ENAS_CPU}:.*" "${IMAGE_PREFIX}${ENAS_CPU}:${TAG}" -update_yaml_files "examples/v1beta1/" "${BASE_PREFIX}${DARTS}:.*" "${IMAGE_PREFIX}${DARTS}:${TAG}" +update_yaml_files "./" "${BASE_PREFIX}${MXNET_MNIST}:.*" "${PREFIX}${MXNET_MNIST}:${TAG}" +update_yaml_files "./" "${BASE_PREFIX}${PYTORCH_MNIST}:.*" "${PREFIX}${PYTORCH_MNIST}:${TAG}" +update_yaml_files "./" "${BASE_PREFIX}${ENAS_GPU}:.*" "${PREFIX}${ENAS_GPU}:${TAG}" +update_yaml_files "./" "${BASE_PREFIX}${ENAS_CPU}:.*" "${PREFIX}${ENAS_CPU}:${TAG}" +update_yaml_files "./" "${BASE_PREFIX}${DARTS}:.*" "${PREFIX}${DARTS}:${TAG}" -echo -e "Katib images have been updated\n" +echo "Katib images have been updated" diff --git a/test/e2e/v1beta1/scripts/setup-katib.sh b/test/e2e/v1beta1/scripts/setup-katib.sh index 42c94d3ce7d..d981f786e81 100755 --- a/test/e2e/v1beta1/scripts/setup-katib.sh +++ b/test/e2e/v1beta1/scripts/setup-katib.sh @@ -20,11 +20,6 @@ set -o errexit set -o nounset set -o pipefail -CLUSTER_NAME="${CLUSTER_NAME}" -AWS_REGION="${AWS_REGION}" -ECR_REGISTRY="${ECR_REGISTRY}" -VERSION="${PULL_PULL_SHA}" - echo "Start to install Katib" echo "CLUSTER_NAME: ${CLUSTER_NAME}" echo "AWS_REGION: ${AWS_REGION}" @@ -36,49 +31,15 @@ aws eks update-kubeconfig --region=${AWS_REGION} --name=${CLUSTER_NAME} kubectl version kubectl cluster-info -# Update images with current pull sha. -echo "Updating Katib images with the current PR SHA: ${VERSION}" -KUSTOMIZE_PATH="manifests/v1beta1/installs/katib-standalone/kustomization.yaml" -CONFIG_PATCH="manifests/v1beta1/components/controller/katib-config.yaml" - -# Change tag to all images in kustomization and katib-config patch files. -sed -i -e "s@newTag: .*@newTag: ${VERSION}@" ${KUSTOMIZE_PATH} -sed -i -e "s@:[^[:space:]].*\"@:${VERSION}\"@" ${CONFIG_PATCH} - -# Change Katib controller image. -sed -i -e "s@newName: docker.io/kubeflowkatib/katib-controller@newName: ${ECR_REGISTRY}/${REPO_NAME}/v1beta1/katib-controller@" ${KUSTOMIZE_PATH} - -# Change Katib DB manager image. -sed -i -e "s@newName: docker.io/kubeflowkatib/katib-db-manager@newName: ${ECR_REGISTRY}/${REPO_NAME}/v1beta1/katib-db-manager@" ${KUSTOMIZE_PATH} - -# Change Katib UI image. -sed -i -e "s@newName: docker.io/kubeflowkatib/katib-ui@newName: ${ECR_REGISTRY}/${REPO_NAME}/v1beta1/katib-ui@" ${KUSTOMIZE_PATH} - -# Change Katib cert generator image. -sed -i -e "s@newName: docker.io/kubeflowkatib/cert-generator@newName: ${ECR_REGISTRY}/${REPO_NAME}/v1beta1/cert-generator@" ${KUSTOMIZE_PATH} - -# Change Katib metrics collector images. -sed -i -e "s@docker.io/kubeflowkatib/file-metrics-collector@${ECR_REGISTRY}/${REPO_NAME}/v1beta1/file-metrics-collector@" ${CONFIG_PATCH} -sed -i -e "s@docker.io/kubeflowkatib/tfevent-metrics-collector@${ECR_REGISTRY}/${REPO_NAME}/v1beta1/tfevent-metrics-collector@" ${CONFIG_PATCH} - -# Change Katib Suggestion images. -sed -i -e "s@docker.io/kubeflowkatib/suggestion-hyperopt@${ECR_REGISTRY}/${REPO_NAME}/v1beta1/suggestion-hyperopt@" ${CONFIG_PATCH} -sed -i -e "s@docker.io/kubeflowkatib/suggestion-chocolate@${ECR_REGISTRY}/${REPO_NAME}/v1beta1/suggestion-chocolate@" ${CONFIG_PATCH} -sed -i -e "s@docker.io/kubeflowkatib/suggestion-hyperband@${ECR_REGISTRY}/${REPO_NAME}/v1beta1/suggestion-hyperband@" ${CONFIG_PATCH} -sed -i -e "s@docker.io/kubeflowkatib/suggestion-skopt@${ECR_REGISTRY}/${REPO_NAME}/v1beta1/suggestion-skopt@" ${CONFIG_PATCH} -sed -i -e "s@docker.io/kubeflowkatib/suggestion-goptuna@${ECR_REGISTRY}/${REPO_NAME}/v1beta1/suggestion-goptuna@" ${CONFIG_PATCH} -sed -i -e "s@docker.io/kubeflowkatib/suggestion-optuna@${ECR_REGISTRY}/${REPO_NAME}/v1beta1/suggestion-optuna@" ${CONFIG_PATCH} -sed -i -e "s@docker.io/kubeflowkatib/suggestion-enas@${ECR_REGISTRY}/${REPO_NAME}/v1beta1/suggestion-enas@" ${CONFIG_PATCH} -sed -i -e "s@docker.io/kubeflowkatib/suggestion-darts@${ECR_REGISTRY}/${REPO_NAME}/v1beta1/suggestion-darts@" ${CONFIG_PATCH} - -# Change Katib Early Stopping images. -sed -i -e "s@docker.io/kubeflowkatib/earlystopping-medianstop@${ECR_REGISTRY}/${REPO_NAME}/v1beta1/earlystopping-medianstop@" ${CONFIG_PATCH} +# Update Katib images with the current PULL SHA. +make update-images PREFIX="${ECR_REGISTRY}/${REPO_NAME}/v1beta1/" TAG="${PULL_PULL_SHA}" -echo "Katib images have been updated" -cat ${KUSTOMIZE_PATH} -cat ${CONFIG_PATCH} +echo -e "\n The Katib will be deployed with the following images" +cat "manifests/v1beta1/installs/katib-standalone/kustomization.yaml" +cat "manifests/v1beta1/components/controller/katib-config.yaml" -# Update Trial template images in the examples. +# Update Trial training container images. +make update-images PREFIX="" ./scripts/v1beta1/update-trial-images.sh -p "${ECR_REGISTRY}/${REPO_NAME}/v1beta1/trial-" -t ${VERSION} echo "Creating Kubeflow namespace" From d58189d863f676868ac51f433cce4c01694ecc4d Mon Sep 17 00:00:00 2001 From: Andrey Velichkevich Date: Thu, 2 Dec 2021 22:53:11 +0000 Subject: [PATCH 08/11] Finish test script --- Makefile | 9 ++++--- scripts/v1beta1/update-images.sh | 36 ++++++++++++------------- test/e2e/v1beta1/scripts/setup-katib.sh | 9 +++---- 3 files changed, 26 insertions(+), 28 deletions(-) diff --git a/Makefile b/Makefile index 9fa2dc060fb..2b36ff5be52 100644 --- a/Makefile +++ b/Makefile @@ -80,11 +80,12 @@ endif # Update all Katib images. update-images: -ifeq ($(and $(PREFIX),$(TAG)),) - $(error PREFIX and TAG must be set. Usage: make update-images PREFIX= TAG=) +ifeq ($(and $(OLD_PREFIX),$(NEW_PREFIX),$(TAG)),) + $(error echo "OLD_PREFIX, NEW_PREFIX, and TAG must be set." \ + Usage: make update-images OLD_PREFIX= NEW_PREFIX= TAG= \ + For more information, check this file: scripts/v1beta1/update-images.sh) endif - bash scripts/v1beta1/update-images.sh $(PREFIX) $(TAG) - + bash scripts/v1beta1/update-images.sh $(OLD_PREFIX) $(NEW_PREFIX) $(TAG) # Prettier UI format check for Katib v1beta1. prettier-check: diff --git a/scripts/v1beta1/update-images.sh b/scripts/v1beta1/update-images.sh index 949ba7c49eb..236ef08d4d1 100755 --- a/scripts/v1beta1/update-images.sh +++ b/scripts/v1beta1/update-images.sh @@ -27,18 +27,19 @@ # 4. Katib Early Stopping # 5. Katib Trial training containers # -# Run ./scripts/v1beta1/update-images.sh to execute it. -# For example, to update images with registry: docker.io/private-registry/ and tag: v0.12.0, run: -# ./scripts/v1beta1/update-images.sh docker.io/private-registry/ v0.12.0 +# Run ./scripts/v1beta1/update-images.sh to execute it. +# For example, to update images from: docker.io/kubeflowkatib/ to: docker.io/private/ registry with tag: v0.12.0, run: +# ./scripts/v1beta1/update-images.sh docker.io/kubeflowkatib/ docker.io/private/ v0.12.0 -PREFIX=$1 +OLD_PREFIX=$1 +NEW_PREFIX TAG=$2 -if [[ -z "$PREFIX" || -z "$TAG" ]]; then - echo "Image prefix and tag must be set" - echo -e "Usage: $0 \n" 1>&2 - echo "For example, to update images with registry: docker.io/private-registry/ and tag: v0.12.0, run:" - echo "$0 docker.io/private-registry/ v0.12.0" +if [[ -z "$OLD_PREFIX" || -z "$NEW_PREFIX" || -z "$TAG" ]]; then + echo "Image old prefix, new prefix, and tag must be set" + echo -e "Usage: $0 \n" 1>&2 + echo "For example, to update images from: docker.io/kubeflowkatib/ to: docker.io/private/ registry with tag: v0.12.0, run:" + echo "$0 docker.io/kubeflowkatib/ docker.io/private/ v0.12.0" exit 1 fi @@ -55,9 +56,6 @@ update_yaml_files() { fi } -# Base prefix for the Katib images. -BASE_PREFIX="docker.io/kubeflowkatib/" - echo "Updating Katib images..." echo "Image prefix: ${PREFIX}" echo -e "Image tag: ${TAG}\n" @@ -66,14 +64,14 @@ exit 1 # Katib Core images. echo -e "Updating Katib Core images\n" -update_yaml_files "manifests/v1beta1/installs/" "newName: ${BASE_PREFIX}" "newName: ${PREFIX}" +update_yaml_files "manifests/v1beta1/installs/" "newName: ${OLD_PREFIX}" "newName: ${PREFIX}" update_yaml_files "manifests/v1beta1/installs/" "newTag: .*" "newTag: ${TAG}" # Katib Config images. CONFIG_PATH="manifests/v1beta1/components/controller/katib-config.yaml" echo -e "Update Katib Metrics Collectors, Suggestion and EarlyStopping images\n" -update_yaml_files "${CONFIG_PATH}" "${BASE_PREFIX}" "${PREFIX}" +update_yaml_files "${CONFIG_PATH}" "${OLD_PREFIX}" "${PREFIX}" update_yaml_files "${CONFIG_PATH}" ":[^[:space:]].*\"" ":${TAG}\"" # Katib Trial training container images. @@ -86,10 +84,10 @@ ENAS_CPU="enas-cnn-cifar10-cpu" DARTS="darts-cnn-cifar10" echo -e "Update Katib Trial training container images\n" -update_yaml_files "./" "${BASE_PREFIX}${MXNET_MNIST}:.*" "${PREFIX}${MXNET_MNIST}:${TAG}" -update_yaml_files "./" "${BASE_PREFIX}${PYTORCH_MNIST}:.*" "${PREFIX}${PYTORCH_MNIST}:${TAG}" -update_yaml_files "./" "${BASE_PREFIX}${ENAS_GPU}:.*" "${PREFIX}${ENAS_GPU}:${TAG}" -update_yaml_files "./" "${BASE_PREFIX}${ENAS_CPU}:.*" "${PREFIX}${ENAS_CPU}:${TAG}" -update_yaml_files "./" "${BASE_PREFIX}${DARTS}:.*" "${PREFIX}${DARTS}:${TAG}" +update_yaml_files "./" "${OLD_PREFIX}${MXNET_MNIST}:.*" "${PREFIX}${MXNET_MNIST}:${TAG}" +update_yaml_files "./" "${OLD_PREFIX}${PYTORCH_MNIST}:.*" "${PREFIX}${PYTORCH_MNIST}:${TAG}" +update_yaml_files "./" "${OLD_PREFIX}${ENAS_GPU}:.*" "${PREFIX}${ENAS_GPU}:${TAG}" +update_yaml_files "./" "${OLD_PREFIX}${ENAS_CPU}:.*" "${PREFIX}${ENAS_CPU}:${TAG}" +update_yaml_files "./" "${OLD_PREFIX}${DARTS}:.*" "${PREFIX}${DARTS}:${TAG}" echo "Katib images have been updated" diff --git a/test/e2e/v1beta1/scripts/setup-katib.sh b/test/e2e/v1beta1/scripts/setup-katib.sh index d981f786e81..51137752e60 100755 --- a/test/e2e/v1beta1/scripts/setup-katib.sh +++ b/test/e2e/v1beta1/scripts/setup-katib.sh @@ -32,16 +32,12 @@ kubectl version kubectl cluster-info # Update Katib images with the current PULL SHA. -make update-images PREFIX="${ECR_REGISTRY}/${REPO_NAME}/v1beta1/" TAG="${PULL_PULL_SHA}" +make update-images OLD_PREFIX="docker.io/kubeflowkatib/" NEW_PREFIX="${ECR_REGISTRY}/${REPO_NAME}/v1beta1/" TAG="${PULL_PULL_SHA}" echo -e "\n The Katib will be deployed with the following images" cat "manifests/v1beta1/installs/katib-standalone/kustomization.yaml" cat "manifests/v1beta1/components/controller/katib-config.yaml" -# Update Trial training container images. -make update-images PREFIX="" -./scripts/v1beta1/update-trial-images.sh -p "${ECR_REGISTRY}/${REPO_NAME}/v1beta1/trial-" -t ${VERSION} - echo "Creating Kubeflow namespace" kubectl create namespace kubeflow @@ -66,6 +62,9 @@ kubectl -n kubeflow get svc echo "Katib pods" kubectl -n kubeflow get pod +# We should update Trial images after Katib is deployed since they have "trial-" in private ECR image name. +make update-images OLD_PREFIX="${ECR_REGISTRY}/${REPO_NAME}/v1beta1/" NEW_PREFIX="${ECR_REGISTRY}/${REPO_NAME}/v1beta1/trial-" TAG="${PULL_PULL_SHA}" + # Check that Katib is working with 2 Experiments. kubectl apply -f test/e2e/v1beta1/valid-experiment.yaml kubectl delete -f test/e2e/v1beta1/valid-experiment.yaml From 25d8692016cf9ba89a5274fb7948c21e47d9e0fd Mon Sep 17 00:00:00 2001 From: Andrey Velichkevich Date: Thu, 2 Dec 2021 23:01:27 +0000 Subject: [PATCH 09/11] Modify release script --- scripts/v1beta1/release.sh | 19 +------------------ scripts/v1beta1/update-images.sh | 23 +++++++++++------------ 2 files changed, 12 insertions(+), 30 deletions(-) diff --git a/scripts/v1beta1/release.sh b/scripts/v1beta1/release.sh index 1163bbb1b77..3797ce403a6 100755 --- a/scripts/v1beta1/release.sh +++ b/scripts/v1beta1/release.sh @@ -68,24 +68,7 @@ fi # ------------------ Change image tag ------------------ # Change Katib image tags to the new release tag. -echo -e "\nUpdating Katib image tags to ${TAG}\n" -# For MacOS we should set -i '' to avoid temp files from sed. -if [[ $(uname) == "Darwin" ]]; then - sed -i '' -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-external-db/kustomization.yaml - sed -i '' -e "s@:[^[:space:]].*\"@:${TAG}\"@" ./manifests/v1beta1/components/controller/katib-config.yaml - sed -i '' -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-standalone/kustomization.yaml - sed -i '' -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-with-kubeflow/kustomization.yaml - sed -i '' -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-cert-manager/kustomization.yaml - sed -i '' -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-openshift/kustomization.yaml -else - sed -i -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-external-db/kustomization.yaml - sed -i -e "s@:[^[:space:]].*\"@:${TAG}\"@" ./manifests/v1beta1/components/controller/katib-config.yaml - sed -i -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-standalone/kustomization.yaml - sed -i -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-with-kubeflow/kustomization.yaml - sed -i -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-cert-manager/kustomization.yaml - sed -i -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-openshift/kustomization.yaml -fi -echo -e "Katib images have been updated\n" +make update-images OLD_PREFIX="docker.io/kubeflowkatib/" NEW_PREFIX="docker.io/kubeflowkatib" TAG="${TAG}" # ------------------ Publish Katib SDK ------------------ # Remove first "v" for the SDK version. diff --git a/scripts/v1beta1/update-images.sh b/scripts/v1beta1/update-images.sh index 236ef08d4d1..7bd492fcf0b 100755 --- a/scripts/v1beta1/update-images.sh +++ b/scripts/v1beta1/update-images.sh @@ -32,8 +32,8 @@ # ./scripts/v1beta1/update-images.sh docker.io/kubeflowkatib/ docker.io/private/ v0.12.0 OLD_PREFIX=$1 -NEW_PREFIX -TAG=$2 +NEW_PREFIX=$2 +TAG=$3 if [[ -z "$OLD_PREFIX" || -z "$NEW_PREFIX" || -z "$TAG" ]]; then echo "Image old prefix, new prefix, and tag must be set" @@ -57,21 +57,20 @@ update_yaml_files() { } echo "Updating Katib images..." -echo "Image prefix: ${PREFIX}" +echo "Image old prefix: ${OLD_PREFIX}" +echo "Image new prefix: ${NEW_PREFIX}" echo -e "Image tag: ${TAG}\n" -exit 1 - # Katib Core images. echo -e "Updating Katib Core images\n" -update_yaml_files "manifests/v1beta1/installs/" "newName: ${OLD_PREFIX}" "newName: ${PREFIX}" +update_yaml_files "manifests/v1beta1/installs/" "newName: ${OLD_PREFIX}" "newName: ${NEW_PREFIX}" update_yaml_files "manifests/v1beta1/installs/" "newTag: .*" "newTag: ${TAG}" # Katib Config images. CONFIG_PATH="manifests/v1beta1/components/controller/katib-config.yaml" echo -e "Update Katib Metrics Collectors, Suggestion and EarlyStopping images\n" -update_yaml_files "${CONFIG_PATH}" "${OLD_PREFIX}" "${PREFIX}" +update_yaml_files "${CONFIG_PATH}" "${OLD_PREFIX}" "${NEW_PREFIX}" update_yaml_files "${CONFIG_PATH}" ":[^[:space:]].*\"" ":${TAG}\"" # Katib Trial training container images. @@ -84,10 +83,10 @@ ENAS_CPU="enas-cnn-cifar10-cpu" DARTS="darts-cnn-cifar10" echo -e "Update Katib Trial training container images\n" -update_yaml_files "./" "${OLD_PREFIX}${MXNET_MNIST}:.*" "${PREFIX}${MXNET_MNIST}:${TAG}" -update_yaml_files "./" "${OLD_PREFIX}${PYTORCH_MNIST}:.*" "${PREFIX}${PYTORCH_MNIST}:${TAG}" -update_yaml_files "./" "${OLD_PREFIX}${ENAS_GPU}:.*" "${PREFIX}${ENAS_GPU}:${TAG}" -update_yaml_files "./" "${OLD_PREFIX}${ENAS_CPU}:.*" "${PREFIX}${ENAS_CPU}:${TAG}" -update_yaml_files "./" "${OLD_PREFIX}${DARTS}:.*" "${PREFIX}${DARTS}:${TAG}" +update_yaml_files "./" "${OLD_PREFIX}${MXNET_MNIST}:.*" "${NEW_PREFIX}${MXNET_MNIST}:${TAG}" +update_yaml_files "./" "${OLD_PREFIX}${PYTORCH_MNIST}:.*" "${NEW_PREFIX}${PYTORCH_MNIST}:${TAG}" +update_yaml_files "./" "${OLD_PREFIX}${ENAS_GPU}:.*" "${NEW_PREFIX}${ENAS_GPU}:${TAG}" +update_yaml_files "./" "${OLD_PREFIX}${ENAS_CPU}:.*" "${NEW_PREFIX}${ENAS_CPU}:${TAG}" +update_yaml_files "./" "${OLD_PREFIX}${DARTS}:.*" "${NEW_PREFIX}${DARTS}:${TAG}" echo "Katib images have been updated" From 49f93207681bc61cb13cd0c94f6c13a37fa87299 Mon Sep 17 00:00:00 2001 From: Andrey Velichkevich Date: Thu, 2 Dec 2021 23:08:48 +0000 Subject: [PATCH 10/11] Finish release script --- scripts/v1beta1/release.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/v1beta1/release.sh b/scripts/v1beta1/release.sh index 3797ce403a6..70057027992 100755 --- a/scripts/v1beta1/release.sh +++ b/scripts/v1beta1/release.sh @@ -68,7 +68,7 @@ fi # ------------------ Change image tag ------------------ # Change Katib image tags to the new release tag. -make update-images OLD_PREFIX="docker.io/kubeflowkatib/" NEW_PREFIX="docker.io/kubeflowkatib" TAG="${TAG}" +make update-images OLD_PREFIX="docker.io/kubeflowkatib/" NEW_PREFIX="docker.io/kubeflowkatib/" TAG="${TAG}" # ------------------ Publish Katib SDK ------------------ # Remove first "v" for the SDK version. @@ -78,7 +78,7 @@ if [[ ${sdk_version} == *"-rc."* ]]; then # Replace "-rc." with "rc" for the SDK version. sdk_version=$(sed "s@-rc.@rc@" <<<${sdk_version}) fi -echo -e "Publishing Katib Python SDK, version: ${sdk_version}\n" +echo -e "\nPublishing Katib Python SDK, version: ${sdk_version}\n" # Run generate script. make generate From af2b76ba108f9cc715736e680c334c074373bfe8 Mon Sep 17 00:00:00 2001 From: Andrey Velichkevich Date: Thu, 2 Dec 2021 23:23:39 +0000 Subject: [PATCH 11/11] Few changes --- Makefile | 2 +- scripts/v1beta1/update-images.sh | 8 +++++--- test/e2e/v1beta1/scripts/setup-katib.sh | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 2b36ff5be52..3cf60071b70 100644 --- a/Makefile +++ b/Makefile @@ -81,7 +81,7 @@ endif # Update all Katib images. update-images: ifeq ($(and $(OLD_PREFIX),$(NEW_PREFIX),$(TAG)),) - $(error echo "OLD_PREFIX, NEW_PREFIX, and TAG must be set." \ + $(error OLD_PREFIX, NEW_PREFIX, and TAG must be set. \ Usage: make update-images OLD_PREFIX= NEW_PREFIX= TAG= \ For more information, check this file: scripts/v1beta1/update-images.sh) endif diff --git a/scripts/v1beta1/update-images.sh b/scripts/v1beta1/update-images.sh index 7bd492fcf0b..ed6d6c22d61 100755 --- a/scripts/v1beta1/update-images.sh +++ b/scripts/v1beta1/update-images.sh @@ -62,14 +62,16 @@ echo "Image new prefix: ${NEW_PREFIX}" echo -e "Image tag: ${TAG}\n" # Katib Core images. +INSTALLS_PATH="manifests/v1beta1/installs/" + echo -e "Updating Katib Core images\n" -update_yaml_files "manifests/v1beta1/installs/" "newName: ${OLD_PREFIX}" "newName: ${NEW_PREFIX}" -update_yaml_files "manifests/v1beta1/installs/" "newTag: .*" "newTag: ${TAG}" +update_yaml_files "${INSTALLS_PATH}" "newName: ${OLD_PREFIX}" "newName: ${NEW_PREFIX}" +update_yaml_files "${INSTALLS_PATH}" "newTag: .*" "newTag: ${TAG}" # Katib Config images. CONFIG_PATH="manifests/v1beta1/components/controller/katib-config.yaml" -echo -e "Update Katib Metrics Collectors, Suggestion and EarlyStopping images\n" +echo -e "Update Katib Metrics Collectors, Suggestions and EarlyStopping images\n" update_yaml_files "${CONFIG_PATH}" "${OLD_PREFIX}" "${NEW_PREFIX}" update_yaml_files "${CONFIG_PATH}" ":[^[:space:]].*\"" ":${TAG}\"" diff --git a/test/e2e/v1beta1/scripts/setup-katib.sh b/test/e2e/v1beta1/scripts/setup-katib.sh index 51137752e60..8d55959ffaa 100755 --- a/test/e2e/v1beta1/scripts/setup-katib.sh +++ b/test/e2e/v1beta1/scripts/setup-katib.sh @@ -34,7 +34,7 @@ kubectl cluster-info # Update Katib images with the current PULL SHA. make update-images OLD_PREFIX="docker.io/kubeflowkatib/" NEW_PREFIX="${ECR_REGISTRY}/${REPO_NAME}/v1beta1/" TAG="${PULL_PULL_SHA}" -echo -e "\n The Katib will be deployed with the following images" +echo -e "\n The Katib will be deployed with the following configs" cat "manifests/v1beta1/installs/katib-standalone/kustomization.yaml" cat "manifests/v1beta1/components/controller/katib-config.yaml"