From 5c2ae326201330a52adb20f1aac24642dd2a97b0 Mon Sep 17 00:00:00 2001 From: Andrey Velichkevich Date: Wed, 4 Nov 2020 02:04:03 +0000 Subject: [PATCH] Katib 0.10 v1beta1 release (#1593) * Change Katib manifests for v1beta1 version * Change images to kubeflowkatib * Change image tag to v1beta1-e294a90 --- .../katib-controller/kustomization.yaml | 13 +- .../katib-db-manager/kustomization.yaml | 6 +- .../katib-db-manager-deployment.yaml | 58 ++--- .../katib-external-db/kustomization.yaml | 2 +- .../katib-standalone-ibm/kustomization.yaml | 4 +- .../base/katib-configmap.yaml | 29 ++- .../base/katib-controller-deployment.yaml | 57 ++--- .../base/katib-controller-rbac.yaml | 211 ++++++++++-------- .../base/katib-controller-service.yaml | 14 +- .../base/katib-db-manager-deployment.yaml | 52 ++--- .../base/katib-mysql-deployment.yaml | 82 +++---- .../base/katib-ui-deployment.yaml | 30 +-- .../katib-controller/base/katib-ui-rbac.yaml | 34 +-- .../katib-controller/base/kustomization.yaml | 91 ++++---- katib/katib-controller/base/params.yaml | 12 +- .../trial-template-configmap-labeled.yaml | 95 -------- .../base/trial-template-configmap.yaml | 78 +++++-- .../overlays/application/application.yaml | 91 ++++---- .../overlays/application/kustomization.yaml | 4 +- .../katib-mysql-deployment.yaml | 6 +- .../ibm-storage-config/kustomization.yaml | 4 +- .../istio/katib-ui-virtual-service.yaml | 24 +- .../overlays/istio/kustomization.yaml | 6 +- .../overlays/istio/params.yaml | 4 +- katib/katib-crds/base/experiment-crd.yaml | 23 +- katib/katib-crds/base/kustomization.yaml | 6 +- katib/katib-crds/base/suggestion-crd.yaml | 38 ++-- katib/katib-crds/base/trial-crd.yaml | 26 +-- .../overlays/application/application.yaml | 87 ++++---- .../overlays/application/kustomization.yaml | 4 +- ...cedefinition_experiments.kubeflow.org.yaml | 5 +- ...cedefinition_suggestions.kubeflow.org.yaml | 2 +- ...esourcedefinition_trials.kubeflow.org.yaml | 2 +- ..._v1beta1_application_katib-controller.yaml | 2 +- ...k8s.io_v1beta1_application_katib-crds.yaml | 2 +- .../apps_v1_deployment_katib-controller.yaml | 7 +- .../apps_v1_deployment_katib-db-manager.yaml | 2 +- .../expected/apps_v1_deployment_katib-ui.yaml | 2 +- ...8s.io_v1_clusterrole_katib-controller.yaml | 16 ++ .../~g_v1_configmap_katib-config.yaml | 29 ++- ...g_v1_configmap_trial-template-labeled.yaml | 97 -------- .../~g_v1_configmap_trial-template.yaml | 74 ++++-- ...cedefinition_experiments.kubeflow.org.yaml | 5 +- ...cedefinition_suggestions.kubeflow.org.yaml | 2 +- ...esourcedefinition_trials.kubeflow.org.yaml | 2 +- ..._v1beta1_application_katib-controller.yaml | 2 +- ...k8s.io_v1beta1_application_katib-crds.yaml | 2 +- .../apps_v1_deployment_katib-controller.yaml | 7 +- .../apps_v1_deployment_katib-db-manager.yaml | 2 +- .../expected/apps_v1_deployment_katib-ui.yaml | 2 +- ...8s.io_v1_clusterrole_katib-controller.yaml | 16 ++ .../~g_v1_configmap_katib-config.yaml | 29 ++- ...g_v1_configmap_trial-template-labeled.yaml | 97 -------- .../~g_v1_configmap_trial-template.yaml | 74 ++++-- ...cedefinition_experiments.kubeflow.org.yaml | 5 +- ...cedefinition_suggestions.kubeflow.org.yaml | 2 +- ...esourcedefinition_trials.kubeflow.org.yaml | 2 +- ..._v1beta1_application_katib-controller.yaml | 2 +- ...k8s.io_v1beta1_application_katib-crds.yaml | 2 +- .../apps_v1_deployment_katib-controller.yaml | 7 +- .../apps_v1_deployment_katib-db-manager.yaml | 2 +- .../expected/apps_v1_deployment_katib-ui.yaml | 2 +- ...8s.io_v1_clusterrole_katib-controller.yaml | 16 ++ .../~g_v1_configmap_katib-config.yaml | 29 ++- ...g_v1_configmap_trial-template-labeled.yaml | 97 -------- .../~g_v1_configmap_trial-template.yaml | 74 ++++-- ...cedefinition_experiments.kubeflow.org.yaml | 5 +- ...cedefinition_suggestions.kubeflow.org.yaml | 2 +- ...esourcedefinition_trials.kubeflow.org.yaml | 2 +- ..._v1beta1_application_katib-controller.yaml | 2 +- ...k8s.io_v1beta1_application_katib-crds.yaml | 2 +- .../apps_v1_deployment_katib-controller.yaml | 7 +- .../apps_v1_deployment_katib-db-manager.yaml | 2 +- .../expected/apps_v1_deployment_katib-ui.yaml | 2 +- ...8s.io_v1_clusterrole_katib-controller.yaml | 16 ++ .../~g_v1_configmap_katib-config.yaml | 29 ++- ...g_v1_configmap_trial-template-labeled.yaml | 97 -------- .../~g_v1_configmap_trial-template.yaml | 74 ++++-- ...cedefinition_experiments.kubeflow.org.yaml | 5 +- ...cedefinition_suggestions.kubeflow.org.yaml | 2 +- ...esourcedefinition_trials.kubeflow.org.yaml | 2 +- ..._v1beta1_application_katib-controller.yaml | 2 +- ...k8s.io_v1beta1_application_katib-crds.yaml | 2 +- .../apps_v1_deployment_katib-controller.yaml | 7 +- .../apps_v1_deployment_katib-db-manager.yaml | 2 +- .../expected/apps_v1_deployment_katib-ui.yaml | 2 +- ...8s.io_v1_clusterrole_katib-controller.yaml | 16 ++ .../~g_v1_configmap_katib-config.yaml | 29 ++- ...g_v1_configmap_trial-template-labeled.yaml | 97 -------- .../~g_v1_configmap_trial-template.yaml | 74 ++++-- ...cedefinition_experiments.kubeflow.org.yaml | 5 +- ...cedefinition_suggestions.kubeflow.org.yaml | 2 +- ...esourcedefinition_trials.kubeflow.org.yaml | 2 +- ..._v1beta1_application_katib-controller.yaml | 2 +- ...k8s.io_v1beta1_application_katib-crds.yaml | 2 +- .../apps_v1_deployment_katib-controller.yaml | 7 +- .../apps_v1_deployment_katib-db-manager.yaml | 2 +- .../expected/apps_v1_deployment_katib-ui.yaml | 2 +- ...8s.io_v1_clusterrole_katib-controller.yaml | 16 ++ .../~g_v1_configmap_katib-config.yaml | 29 ++- ...g_v1_configmap_trial-template-labeled.yaml | 97 -------- .../~g_v1_configmap_trial-template.yaml | 74 ++++-- ...cedefinition_experiments.kubeflow.org.yaml | 5 +- ...cedefinition_suggestions.kubeflow.org.yaml | 2 +- ...esourcedefinition_trials.kubeflow.org.yaml | 2 +- ..._v1beta1_application_katib-controller.yaml | 2 +- ...k8s.io_v1beta1_application_katib-crds.yaml | 2 +- .../apps_v1_deployment_katib-controller.yaml | 7 +- .../apps_v1_deployment_katib-db-manager.yaml | 2 +- .../expected/apps_v1_deployment_katib-ui.yaml | 2 +- ...8s.io_v1_clusterrole_katib-controller.yaml | 16 ++ .../~g_v1_configmap_katib-config.yaml | 29 ++- ...g_v1_configmap_trial-template-labeled.yaml | 97 -------- .../~g_v1_configmap_trial-template.yaml | 74 ++++-- ...cedefinition_experiments.kubeflow.org.yaml | 5 +- ...cedefinition_suggestions.kubeflow.org.yaml | 2 +- ...esourcedefinition_trials.kubeflow.org.yaml | 2 +- ..._v1beta1_application_katib-controller.yaml | 2 +- ...k8s.io_v1beta1_application_katib-crds.yaml | 2 +- .../apps_v1_deployment_katib-controller.yaml | 7 +- .../apps_v1_deployment_katib-db-manager.yaml | 2 +- .../expected/apps_v1_deployment_katib-ui.yaml | 2 +- ...8s.io_v1_clusterrole_katib-controller.yaml | 16 ++ .../~g_v1_configmap_katib-config.yaml | 29 ++- ...g_v1_configmap_trial-template-labeled.yaml | 97 -------- .../~g_v1_configmap_trial-template.yaml | 74 ++++-- ...cedefinition_experiments.kubeflow.org.yaml | 5 +- ...cedefinition_suggestions.kubeflow.org.yaml | 2 +- ...esourcedefinition_trials.kubeflow.org.yaml | 2 +- ..._v1beta1_application_katib-controller.yaml | 2 +- ...k8s.io_v1beta1_application_katib-crds.yaml | 2 +- .../apps_v1_deployment_katib-controller.yaml | 7 +- .../apps_v1_deployment_katib-db-manager.yaml | 2 +- .../expected/apps_v1_deployment_katib-ui.yaml | 2 +- ...8s.io_v1_clusterrole_katib-controller.yaml | 16 ++ .../~g_v1_configmap_katib-config.yaml | 29 ++- ...g_v1_configmap_trial-template-labeled.yaml | 97 -------- .../~g_v1_configmap_trial-template.yaml | 74 ++++-- ...cedefinition_experiments.kubeflow.org.yaml | 5 +- ...cedefinition_suggestions.kubeflow.org.yaml | 2 +- ...esourcedefinition_trials.kubeflow.org.yaml | 2 +- ..._v1beta1_application_katib-controller.yaml | 2 +- ...k8s.io_v1beta1_application_katib-crds.yaml | 2 +- .../apps_v1_deployment_katib-controller.yaml | 7 +- .../apps_v1_deployment_katib-db-manager.yaml | 2 +- .../expected/apps_v1_deployment_katib-ui.yaml | 2 +- ...8s.io_v1_clusterrole_katib-controller.yaml | 16 ++ .../~g_v1_configmap_katib-config.yaml | 29 ++- ...g_v1_configmap_trial-template-labeled.yaml | 97 -------- .../~g_v1_configmap_trial-template.yaml | 74 ++++-- ...cedefinition_experiments.kubeflow.org.yaml | 5 +- ...cedefinition_suggestions.kubeflow.org.yaml | 2 +- ...esourcedefinition_trials.kubeflow.org.yaml | 2 +- ..._v1beta1_application_katib-controller.yaml | 2 +- ...k8s.io_v1beta1_application_katib-crds.yaml | 2 +- .../apps_v1_deployment_katib-controller.yaml | 7 +- .../apps_v1_deployment_katib-db-manager.yaml | 2 +- .../expected/apps_v1_deployment_katib-ui.yaml | 2 +- ...8s.io_v1_clusterrole_katib-controller.yaml | 16 ++ .../~g_v1_configmap_katib-config.yaml | 29 ++- ...g_v1_configmap_trial-template-labeled.yaml | 97 -------- .../~g_v1_configmap_trial-template.yaml | 74 ++++-- ..._v1beta1_application_katib-controller.yaml | 2 +- .../apps_v1_deployment_katib-controller.yaml | 7 +- .../apps_v1_deployment_katib-db-manager.yaml | 2 +- .../expected/apps_v1_deployment_katib-ui.yaml | 2 +- ...8s.io_v1_clusterrole_katib-controller.yaml | 16 ++ .../~g_v1_configmap_katib-config.yaml | 29 ++- ...g_v1_configmap_trial-template-labeled.yaml | 101 --------- .../~g_v1_configmap_trial-template.yaml | 74 ++++-- ...cedefinition_experiments.kubeflow.org.yaml | 5 +- ...cedefinition_suggestions.kubeflow.org.yaml | 2 +- ...esourcedefinition_trials.kubeflow.org.yaml | 2 +- ...k8s.io_v1beta1_application_katib-crds.yaml | 2 +- 174 files changed, 1904 insertions(+), 2171 deletions(-) delete mode 100644 katib/katib-controller/base/trial-template-configmap-labeled.yaml delete mode 100644 tests/katib/installs/katib-external-db/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml delete mode 100644 tests/katib/installs/katib-standalone-ibm/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml delete mode 100644 tests/katib/installs/katib-standalone/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml delete mode 100644 tests/stacks/aws/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml delete mode 100644 tests/stacks/examples/alice/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml delete mode 100644 tests/stacks/gcp/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml delete mode 100644 tests/stacks/generic/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml delete mode 100644 tests/stacks/ibm/components/katib/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml delete mode 100644 tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml delete mode 100644 tests/stacks/ibm/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml delete mode 100644 tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml delete mode 100644 tests/tests/legacy_kustomizations/katib-controller/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml diff --git a/katib/components/katib-controller/kustomization.yaml b/katib/components/katib-controller/kustomization.yaml index 2adcc7c196..7257275ff2 100644 --- a/katib/components/katib-controller/kustomization.yaml +++ b/katib/components/katib-controller/kustomization.yaml @@ -11,16 +11,15 @@ resources: - ../../katib-controller/base/katib-ui-rbac.yaml - ../../katib-controller/base/katib-ui-service.yaml - ../../katib-controller/base/trial-template-configmap.yaml - - ../../katib-controller/base/trial-template-configmap-labeled.yaml - ../../katib-controller/overlays/application/application.yaml - ../../katib-controller/overlays/istio/katib-ui-virtual-service.yaml images: - - name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller - newTag: ce89cbf - newName: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller - - name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui - newTag: ce89cbf - newName: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui + - name: docker.io/kubeflowkatib/katib-controller + newTag: v1beta1-e294a90 + newName: docker.io/kubeflowkatib/katib-controller + - name: docker.io/kubeflowkatib/katib-ui + newTag: v1beta1-e294a90 + newName: docker.io/kubeflowkatib/katib-ui commonLabels: app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller diff --git a/katib/components/katib-db-manager/kustomization.yaml b/katib/components/katib-db-manager/kustomization.yaml index 809940da64..fbc5df1416 100644 --- a/katib/components/katib-db-manager/kustomization.yaml +++ b/katib/components/katib-db-manager/kustomization.yaml @@ -5,9 +5,9 @@ resources: - ../../katib-controller/base/katib-db-manager-deployment.yaml - ../../katib-controller/base/katib-db-manager-service.yaml images: - - name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager - newTag: ce89cbf - newName: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager + - name: docker.io/kubeflowkatib/katib-db-manager + newTag: v1beta1-e294a90 + newName: docker.io/kubeflowkatib/katib-db-manager commonLabels: app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller diff --git a/katib/installs/katib-external-db/katib-db-manager-deployment.yaml b/katib/installs/katib-external-db/katib-db-manager-deployment.yaml index 5fc8bdb1b9..c46c28274b 100644 --- a/katib/installs/katib-external-db/katib-db-manager-deployment.yaml +++ b/katib/installs/katib-external-db/katib-db-manager-deployment.yaml @@ -6,32 +6,32 @@ spec: template: spec: containers: - - name: katib-db-manager - env: - - name: DB_NAME - value: mysql - - name: DB_USER - valueFrom: - secretKeyRef: - name: katib-mysql-secrets - key: DB_USER - - name: DB_PASSWORD - valueFrom: - secretKeyRef: - name: katib-mysql-secrets - key: DB_PASSWORD - - name: KATIB_MYSQL_DB_DATABASE - valueFrom: - secretKeyRef: - name: katib-mysql-secrets - key: KATIB_MYSQL_DB_DATABASE - - name: KATIB_MYSQL_DB_HOST - valueFrom: - secretKeyRef: - name: katib-mysql-secrets - key: KATIB_MYSQL_DB_HOST - - name: KATIB_MYSQL_DB_PORT - valueFrom: - secretKeyRef: - name: katib-mysql-secrets - key: KATIB_MYSQL_DB_PORT + - name: katib-db-manager + env: + - name: DB_NAME + value: mysql + - name: DB_USER + valueFrom: + secretKeyRef: + name: katib-mysql-secrets + key: DB_USER + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: katib-mysql-secrets + key: DB_PASSWORD + - name: KATIB_MYSQL_DB_DATABASE + valueFrom: + secretKeyRef: + name: katib-mysql-secrets + key: KATIB_MYSQL_DB_DATABASE + - name: KATIB_MYSQL_DB_HOST + valueFrom: + secretKeyRef: + name: katib-mysql-secrets + key: KATIB_MYSQL_DB_HOST + - name: KATIB_MYSQL_DB_PORT + valueFrom: + secretKeyRef: + name: katib-mysql-secrets + key: KATIB_MYSQL_DB_PORT diff --git a/katib/installs/katib-external-db/kustomization.yaml b/katib/installs/katib-external-db/kustomization.yaml index b335a9a749..4a513a0e7c 100644 --- a/katib/installs/katib-external-db/kustomization.yaml +++ b/katib/installs/katib-external-db/kustomization.yaml @@ -10,7 +10,7 @@ patchesStrategicMerge: secretGenerator: - name: katib-mysql-secrets envs: - - secrets.env + - secrets.env commonLabels: app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller diff --git a/katib/installs/katib-standalone-ibm/kustomization.yaml b/katib/installs/katib-standalone-ibm/kustomization.yaml index 67a48f8e7b..85108e5d02 100644 --- a/katib/installs/katib-standalone-ibm/kustomization.yaml +++ b/katib/installs/katib-standalone-ibm/kustomization.yaml @@ -1,9 +1,9 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization bases: -- ../katib-standalone + - ../katib-standalone patchesStrategicMerge: -- ../../katib-controller/overlays/ibm-storage-config/katib-mysql-deployment.yaml + - ../../katib-controller/overlays/ibm-storage-config/katib-mysql-deployment.yaml images: - name: mysql newTag: "5.6" diff --git a/katib/katib-controller/base/katib-configmap.yaml b/katib/katib-controller/base/katib-configmap.yaml index 7debc4ad41..c2bf3449ce 100644 --- a/katib/katib-controller/base/katib-configmap.yaml +++ b/katib/katib-controller/base/katib-configmap.yaml @@ -6,13 +6,13 @@ data: metrics-collector-sidecar: |- { "StdOut": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "File": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "TensorFlowEvent": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector:ce89cbf", + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v1beta1-e294a90", "resources": { "limits": { "memory": "1Gi" @@ -23,22 +23,22 @@ data: suggestion: |- { "random": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "grid": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v1beta1-e294a90" }, "hyperband": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v1beta1-e294a90" }, "bayesianoptimization": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-skopt:v1beta1-e294a90" }, "tpe": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "enas": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-enas:ce89cbf", + "image": "docker.io/kubeflowkatib/suggestion-enas:v1beta1-e294a90", "imagePullPolicy": "Always", "resources": { "limits": { @@ -47,9 +47,16 @@ data: } }, "cmaes": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-goptuna:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v1beta1-e294a90" }, "darts": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-darts:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-darts:v1beta1-e294a90" + } + } + early-stopping: |- + { + "medianstop": { + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v1beta1-e294a90", + "imagePullPolicy": "Always" } } diff --git a/katib/katib-controller/base/katib-controller-deployment.yaml b/katib/katib-controller/base/katib-controller-deployment.yaml index e7f2b2fde8..43a5c67eee 100644 --- a/katib/katib-controller/base/katib-controller-deployment.yaml +++ b/katib/katib-controller/base/katib-controller-deployment.yaml @@ -19,30 +19,35 @@ spec: spec: serviceAccountName: katib-controller containers: - - name: katib-controller - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller - imagePullPolicy: IfNotPresent - command: ["./katib-controller"] - args: - - '--webhook-port=8443' - ports: - - containerPort: 8443 - name: webhook - protocol: TCP - - containerPort: 8080 - name: metrics - protocol: TCP - env: - - name: KATIB_CORE_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - volumeMounts: - - mountPath: /tmp/cert - name: cert - readOnly: true + - name: katib-controller + image: docker.io/kubeflowkatib/katib-controller + imagePullPolicy: IfNotPresent + command: ["./katib-controller"] + args: + - "--webhook-port=8443" + - "--trial-resources=Job.v1.batch" + - "--trial-resources=TFJob.v1.kubeflow.org" + - "--trial-resources=PyTorchJob.v1.kubeflow.org" + - "--trial-resources=MPIJob.v1.kubeflow.org" + - "--trial-resources=PipelineRun.v1beta1.tekton.dev" + ports: + - containerPort: 8443 + name: webhook + protocol: TCP + - containerPort: 8080 + name: metrics + protocol: TCP + env: + - name: KATIB_CORE_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + volumeMounts: + - mountPath: /tmp/cert + name: cert + readOnly: true volumes: - - name: cert - secret: - defaultMode: 420 - secretName: katib-controller + - name: cert + secret: + defaultMode: 420 + secretName: katib-controller diff --git a/katib/katib-controller/base/katib-controller-rbac.yaml b/katib/katib-controller/base/katib-controller-rbac.yaml index 0e9160d8a0..57f25b1bfc 100644 --- a/katib/katib-controller/base/katib-controller-rbac.yaml +++ b/katib/katib-controller/base/katib-controller-rbac.yaml @@ -3,73 +3,89 @@ apiVersion: rbac.authorization.k8s.io/v1 metadata: name: katib-controller rules: -- apiGroups: - - "" - resources: - - configmaps - - serviceaccounts - - services - - secrets - - events - - namespaces - verbs: - - "*" -- apiGroups: - - "" - resources: - - pods - - pods/log - - pods/status - verbs: - - "*" -- apiGroups: - - apps - resources: - - deployments - verbs: - - "*" -- apiGroups: - - batch - resources: - - jobs - - cronjobs - verbs: - - "*" -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - create - - get -- apiGroups: - - admissionregistration.k8s.io - resources: - - validatingwebhookconfigurations - - mutatingwebhookconfigurations - verbs: - - '*' -- apiGroups: - - kubeflow.org - resources: - - experiments - - experiments/status - - experiments/finalizers - - trials - - trials/status - - trials/finalizers - - suggestions - - suggestions/status - - suggestions/finalizers - verbs: - - "*" -- apiGroups: - - kubeflow.org - resources: - - tfjobs - - pytorchjobs - verbs: - - "*" + - apiGroups: + - "" + resources: + - configmaps + - serviceaccounts + - services + - secrets + - events + - namespaces + - persistentvolumes + - persistentvolumeclaims + verbs: + - "*" + - apiGroups: + - "" + resources: + - pods + - pods/log + - pods/status + verbs: + - "*" + - apiGroups: + - apps + resources: + - deployments + verbs: + - "*" + - apiGroups: + - batch + resources: + - jobs + - cronjobs + verbs: + - "*" + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - create + - get + - apiGroups: + - admissionregistration.k8s.io + resources: + - validatingwebhookconfigurations + - mutatingwebhookconfigurations + verbs: + - "*" + - apiGroups: + - kubeflow.org + resources: + - experiments + - experiments/status + - experiments/finalizers + - trials + - trials/status + - trials/finalizers + - suggestions + - suggestions/status + - suggestions/finalizers + verbs: + - "*" + - apiGroups: + - kubeflow.org + resources: + - tfjobs + - pytorchjobs + - mpijobs + verbs: + - "*" + - apiGroups: + - tekton.dev + resources: + - pipelineruns + verbs: + - "*" + - apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings + verbs: + - "*" --- apiVersion: v1 kind: ServiceAccount @@ -85,11 +101,10 @@ roleRef: kind: ClusterRole name: katib-controller subjects: -- kind: ServiceAccount - name: katib-controller + - kind: ServiceAccount + name: katib-controller --- - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: @@ -98,12 +113,11 @@ metadata: rbac.authorization.kubeflow.org/aggregate-to-kubeflow-admin: "true" aggregationRule: clusterRoleSelectors: - - matchLabels: - rbac.authorization.kubeflow.org/aggregate-to-kubeflow-katib-admin: "true" + - matchLabels: + rbac.authorization.kubeflow.org/aggregate-to-kubeflow-katib-admin: "true" rules: [] --- - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: @@ -112,24 +126,23 @@ metadata: rbac.authorization.kubeflow.org/aggregate-to-kubeflow-edit: "true" rbac.authorization.kubeflow.org/aggregate-to-kubeflow-katib-admin: "true" rules: -- apiGroups: - - kubeflow.org - resources: - - experiments - - trials - - suggestions - verbs: - - get - - list - - watch - - create - - delete - - deletecollection - - patch - - update + - apiGroups: + - kubeflow.org + resources: + - experiments + - trials + - suggestions + verbs: + - get + - list + - watch + - create + - delete + - deletecollection + - patch + - update --- - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: @@ -137,13 +150,13 @@ metadata: labels: rbac.authorization.kubeflow.org/aggregate-to-kubeflow-view: "true" rules: -- apiGroups: - - kubeflow.org - resources: - - experiments - - trials - - suggestions - verbs: - - get - - list - - watch + - apiGroups: + - kubeflow.org + resources: + - experiments + - trials + - suggestions + verbs: + - get + - list + - watch diff --git a/katib/katib-controller/base/katib-controller-service.yaml b/katib/katib-controller/base/katib-controller-service.yaml index 732e09b93f..516d536e54 100644 --- a/katib/katib-controller/base/katib-controller-service.yaml +++ b/katib/katib-controller/base/katib-controller-service.yaml @@ -8,12 +8,12 @@ metadata: prometheus.io/scrape: "true" spec: ports: - - port: 443 - protocol: TCP - targetPort: 8443 - name: webhook - - name: metrics - port: 8080 - targetPort: 8080 + - port: 443 + protocol: TCP + targetPort: 8443 + name: webhook + - name: metrics + port: 8080 + targetPort: 8080 selector: app: katib-controller diff --git a/katib/katib-controller/base/katib-db-manager-deployment.yaml b/katib/katib-controller/base/katib-db-manager-deployment.yaml index f38832deed..3f6b871d6c 100644 --- a/katib/katib-controller/base/katib-db-manager-deployment.yaml +++ b/katib/katib-controller/base/katib-db-manager-deployment.yaml @@ -21,29 +21,29 @@ spec: sidecar.istio.io/inject: "false" spec: containers: - - name: katib-db-manager - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager - imagePullPolicy: IfNotPresent - env: - - name : DB_NAME - value: "mysql" - - name: DB_PASSWORD - valueFrom: - secretKeyRef: - name: katib-mysql-secrets - key: MYSQL_ROOT_PASSWORD - command: - - './katib-db-manager' - ports: - - name: api - containerPort: 6789 - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:6789"] - initialDelaySeconds: 5 - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:6789"] - initialDelaySeconds: 10 - periodSeconds: 60 - failureThreshold: 5 + - name: katib-db-manager + image: docker.io/kubeflowkatib/katib-db-manager + imagePullPolicy: IfNotPresent + env: + - name: DB_NAME + value: "mysql" + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: katib-mysql-secrets + key: MYSQL_ROOT_PASSWORD + command: + - "./katib-db-manager" + ports: + - name: api + containerPort: 6789 + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:6789"] + initialDelaySeconds: 5 + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:6789"] + initialDelaySeconds: 10 + periodSeconds: 60 + failureThreshold: 5 diff --git a/katib/katib-controller/base/katib-mysql-deployment.yaml b/katib/katib-controller/base/katib-mysql-deployment.yaml index 144f3c5a40..543a3c9569 100644 --- a/katib/katib-controller/base/katib-mysql-deployment.yaml +++ b/katib/katib-controller/base/katib-mysql-deployment.yaml @@ -21,46 +21,46 @@ spec: sidecar.istio.io/inject: "false" spec: containers: - - name: katib-mysql - image: mysql:8 - args: - - --datadir - - /var/lib/mysql/datadir - env: - - name: MYSQL_ROOT_PASSWORD - valueFrom: - secretKeyRef: - name: katib-mysql-secrets - key: MYSQL_ROOT_PASSWORD - - name: MYSQL_ALLOW_EMPTY_PASSWORD - value: "true" - - name: MYSQL_DATABASE - value: "katib" - ports: - - name: dbapi - containerPort: 3306 - readinessProbe: - exec: - command: - - "/bin/bash" - - "-c" - - "mysql -D ${MYSQL_DATABASE} -u root -p${MYSQL_ROOT_PASSWORD} -e 'SELECT 1'" - initialDelaySeconds: 5 - periodSeconds: 10 - timeoutSeconds: 1 - livenessProbe: - exec: - command: - - "/bin/bash" - - "-c" - - "mysqladmin ping -u root -p${MYSQL_ROOT_PASSWORD}" - initialDelaySeconds: 30 - periodSeconds: 10 - timeoutSeconds: 5 - volumeMounts: - name: katib-mysql - mountPath: /var/lib/mysql + image: mysql:8 + args: + - --datadir + - /var/lib/mysql/datadir + env: + - name: MYSQL_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: katib-mysql-secrets + key: MYSQL_ROOT_PASSWORD + - name: MYSQL_ALLOW_EMPTY_PASSWORD + value: "true" + - name: MYSQL_DATABASE + value: "katib" + ports: + - name: dbapi + containerPort: 3306 + readinessProbe: + exec: + command: + - "/bin/bash" + - "-c" + - "mysql -D ${MYSQL_DATABASE} -u root -p${MYSQL_ROOT_PASSWORD} -e 'SELECT 1'" + initialDelaySeconds: 5 + periodSeconds: 10 + timeoutSeconds: 1 + livenessProbe: + exec: + command: + - "/bin/bash" + - "-c" + - "mysqladmin ping -u root -p${MYSQL_ROOT_PASSWORD}" + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 5 + volumeMounts: + - name: katib-mysql + mountPath: /var/lib/mysql volumes: - - name: katib-mysql - persistentVolumeClaim: - claimName: katib-mysql + - name: katib-mysql + persistentVolumeClaim: + claimName: katib-mysql diff --git a/katib/katib-controller/base/katib-ui-deployment.yaml b/katib/katib-controller/base/katib-ui-deployment.yaml index 833986e89d..7a999a2ded 100644 --- a/katib/katib-controller/base/katib-ui-deployment.yaml +++ b/katib/katib-controller/base/katib-ui-deployment.yaml @@ -21,19 +21,19 @@ spec: sidecar.istio.io/inject: "false" spec: containers: - - name: katib-ui - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui - imagePullPolicy: IfNotPresent - command: - - './katib-ui' - args: - - '--port=8080' - env: - - name: KATIB_CORE_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - ports: - - name: ui - containerPort: 8080 + - name: katib-ui + image: docker.io/kubeflowkatib/katib-ui + imagePullPolicy: IfNotPresent + command: + - "./katib-ui" + args: + - "--port=8080" + env: + - name: KATIB_CORE_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + ports: + - name: ui + containerPort: 8080 serviceAccountName: katib-ui diff --git a/katib/katib-controller/base/katib-ui-rbac.yaml b/katib/katib-controller/base/katib-ui-rbac.yaml index 039c821017..da76eb1b63 100644 --- a/katib/katib-controller/base/katib-ui-rbac.yaml +++ b/katib/katib-controller/base/katib-ui-rbac.yaml @@ -3,21 +3,21 @@ apiVersion: rbac.authorization.k8s.io/v1 metadata: name: katib-ui rules: -- apiGroups: - - "" - resources: - - configmaps - - namespaces - verbs: - - "*" -- apiGroups: - - kubeflow.org - resources: - - experiments - - trials - - suggestions - verbs: - - "*" + - apiGroups: + - "" + resources: + - configmaps + - namespaces + verbs: + - "*" + - apiGroups: + - kubeflow.org + resources: + - experiments + - trials + - suggestions + verbs: + - "*" --- apiVersion: v1 kind: ServiceAccount @@ -33,5 +33,5 @@ roleRef: kind: ClusterRole name: katib-ui subjects: -- kind: ServiceAccount - name: katib-ui + - kind: ServiceAccount + name: katib-ui diff --git a/katib/katib-controller/base/kustomization.yaml b/katib/katib-controller/base/kustomization.yaml index d4d5208641..544595eebd 100644 --- a/katib/katib-controller/base/kustomization.yaml +++ b/katib/katib-controller/base/kustomization.yaml @@ -1,54 +1,53 @@ namespace: kubeflow resources: -- katib-configmap.yaml -- katib-controller-deployment.yaml -- katib-controller-rbac.yaml -- katib-controller-secret.yaml -- katib-controller-service.yaml -- katib-mysql-deployment.yaml -- katib-mysql-pvc.yaml -- katib-mysql-secret.yaml -- katib-mysql-service.yaml -- katib-db-manager-deployment.yaml -- katib-db-manager-service.yaml -- katib-ui-deployment.yaml -- katib-ui-rbac.yaml -- katib-ui-service.yaml -- trial-template-configmap.yaml -- trial-template-configmap-labeled.yaml + - katib-configmap.yaml + - katib-controller-deployment.yaml + - katib-controller-rbac.yaml + - katib-controller-secret.yaml + - katib-controller-service.yaml + - katib-mysql-deployment.yaml + - katib-mysql-pvc.yaml + - katib-mysql-secret.yaml + - katib-mysql-service.yaml + - katib-db-manager-deployment.yaml + - katib-db-manager-service.yaml + - katib-ui-deployment.yaml + - katib-ui-rbac.yaml + - katib-ui-service.yaml + - trial-template-configmap.yaml configMapGenerator: -- name: katib-parameters - envs: - - params.env + - name: katib-parameters + envs: + - params.env generatorOptions: disableNameSuffixHash: true images: -- name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller - newTag: ce89cbf - newName: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller -- name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager - newTag: ce89cbf - newName: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager -- name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui - newTag: ce89cbf - newName: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui -- name: mysql - newTag: "8" - newName: mysql + - name: docker.io/kubeflowkatib/katib-controller + newTag: v1beta1-e294a90 + newName: docker.io/kubeflowkatib/katib-controller + - name: docker.io/kubeflowkatib/katib-db-manager + newTag: v1beta1-e294a90 + newName: docker.io/kubeflowkatib/katib-db-manager + - name: docker.io/kubeflowkatib/katib-ui + newTag: v1beta1-e294a90 + newName: docker.io/kubeflowkatib/katib-ui + - name: mysql + newTag: "8" + newName: mysql vars: -- name: clusterDomain - objref: - kind: ConfigMap - name: katib-parameters - apiVersion: v1 - fieldref: - fieldpath: data.clusterDomain -- name: katib-ui-namespace - objref: - kind: Service - name: katib-ui - apiVersion: v1 - fieldref: - fieldpath: metadata.namespace + - name: clusterDomain + objref: + kind: ConfigMap + name: katib-parameters + apiVersion: v1 + fieldref: + fieldpath: data.clusterDomain + - name: katib-ui-namespace + objref: + kind: Service + name: katib-ui + apiVersion: v1 + fieldref: + fieldpath: metadata.namespace configurations: -- params.yaml + - params.yaml diff --git a/katib/katib-controller/base/params.yaml b/katib/katib-controller/base/params.yaml index eade9a871d..3d07636169 100644 --- a/katib/katib-controller/base/params.yaml +++ b/katib/katib-controller/base/params.yaml @@ -1,7 +1,7 @@ varReference: -- path: data/config - kind: ConfigMap -- path: data/config - kind: Deployment -- path: metadata/annotations/getambassador.io\/config - kind: Service + - path: data/config + kind: ConfigMap + - path: data/config + kind: Deployment + - path: metadata/annotations/getambassador.io\/config + kind: Service diff --git a/katib/katib-controller/base/trial-template-configmap-labeled.yaml b/katib/katib-controller/base/trial-template-configmap-labeled.yaml deleted file mode 100644 index 211f77bd17..0000000000 --- a/katib/katib-controller/base/trial-template-configmap-labeled.yaml +++ /dev/null @@ -1,95 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: trial-template-labeled - namespace: kubeflow - labels: - app: katib-trial-templates -data: - defaultTrialTemplate.yaml: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - restartPolicy: Never - enasCPUTemplate: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu - command: - - "python3.5" - - "-u" - - "RunTrial.py" - {{- with .HyperParameters}} - {{- range .}} - - "--{{.Name}}=\"{{.Value}}\"" - {{- end}} - {{- end}} - - "--num_epochs=1" - restartPolicy: Never - pytorchJobTemplate: |- - apiVersion: "kubeflow.org/v1" - kind: PyTorchJob - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - pytorchReplicaSpecs: - Master: - replicas: 1 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - Worker: - replicas: 2 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} diff --git a/katib/katib-controller/base/trial-template-configmap.yaml b/katib/katib-controller/base/trial-template-configmap.yaml index 145617a35f..0e26a5322a 100644 --- a/katib/katib-controller/base/trial-template-configmap.yaml +++ b/katib/katib-controller/base/trial-template-configmap.yaml @@ -2,26 +2,74 @@ apiVersion: v1 kind: ConfigMap metadata: name: trial-template + labels: + app: katib-trial-templates data: - defaultTrialTemplate.yaml : |- + defaultTrialTemplate.yaml: |- apiVersion: batch/v1 kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} spec: template: spec: containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} + - name: training-container + image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-e294a90 + command: + - "python3" + - "/opt/mxnet-mnist/mnist.py" + - "--batch-size=64" + - "--lr=${trialParameters.learningRate}" + - "--num-layers=${trialParameters.numberLayers}" + - "--optimizer=${trialParameters.optimizer}" restartPolicy: Never + # For ConfigMap templates double quotes must set in commands to correct parse JSON parameters in Trial Template (e.g nn_config, architecture) + enasCPUTemplate: |- + apiVersion: batch/v1 + kind: Job + spec: + template: + spec: + containers: + - name: training-container + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-e294a90 + command: + - python3 + - -u + - RunTrial.py + - --num_epochs=1 + - "--architecture=\"${trialParameters.neuralNetworkArchitecture}\"" + - "--nn_config=\"${trialParameters.neuralNetworkConfig}\"" + restartPolicy: Never + pytorchJobTemplate: |- + apiVersion: "kubeflow.org/v1" + kind: PyTorchJob + spec: + pytorchReplicaSpecs: + Master: + replicas: 1 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" + Worker: + replicas: 2 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" diff --git a/katib/katib-controller/overlays/application/application.yaml b/katib/katib-controller/overlays/application/application.yaml index 8f65d9c916..2503b95d56 100644 --- a/katib/katib-controller/overlays/application/application.yaml +++ b/katib/katib-controller/overlays/application/application.yaml @@ -5,58 +5,57 @@ metadata: spec: addOwnerRef: true componentKinds: - - group: core - kind: Service - - group: apps - kind: Deployment - - group: core - kind: Secret - - group: core - kind: ServiceAccount - - group: kubeflow.org - kind: Experiment - - group: kubeflow.org - kind: Suggestion - - group: kubeflow.org - kind: Trial + - group: core + kind: Service + - group: apps + kind: Deployment + - group: core + kind: Secret + - group: core + kind: ServiceAccount + - group: kubeflow.org + kind: Experiment + - group: kubeflow.org + kind: Suggestion + - group: kubeflow.org + kind: Trial descriptor: - description: Katib is a service for hyperparameter tuning and neural architecture - search. + description: Katib is a service for hyperparameter tuning and neural architecture search. keywords: - - katib - - katib-controller - - hyperparameter tuning + - katib + - katib-controller + - hyperparameter tuning links: - - description: About - url: https://github.com/kubeflow/katib + - description: About + url: https://github.com/kubeflow/katib maintainers: - - email: gaoce@caicloud.io - name: Ce Gao - - email: johnugeo@cisco.com - name: Johnu George - - email: liuhougang6@126.com - name: Hougang Liu - - email: ricliu@google.com - name: Richard Liu - - email: yuji.oshima0x3fd@gmail.com - name: YujiOshima - - email: andrey.velichkevich@gmail.com - name: Andrey Velichkevich + - email: gaoce@caicloud.io + name: Ce Gao + - email: johnugeo@cisco.com + name: Johnu George + - email: liuhougang6@126.com + name: Hougang Liu + - email: ricliu@google.com + name: Richard Liu + - email: yuji.oshima0x3fd@gmail.com + name: YujiOshima + - email: andrey.velichkevich@gmail.com + name: Andrey Velichkevich owners: - - email: gaoce@caicloud.io - name: Ce Gao - - email: johnugeo@cisco.com - name: Johnu George - - email: liuhougang6@126.com - name: Hougang Liu - - email: ricliu@google.com - name: Richard Liu - - email: yuji.oshima0x3fd@gmail.com - name: YujiOshima - - email: andrey.velichkevich@gmail.com - name: Andrey Velichkevich + - email: gaoce@caicloud.io + name: Ce Gao + - email: johnugeo@cisco.com + name: Johnu George + - email: liuhougang6@126.com + name: Hougang Liu + - email: ricliu@google.com + name: Richard Liu + - email: yuji.oshima0x3fd@gmail.com + name: YujiOshima + - email: andrey.velichkevich@gmail.com + name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/katib/katib-controller/overlays/application/kustomization.yaml b/katib/katib-controller/overlays/application/kustomization.yaml index a23cd3844b..7bee99725e 100644 --- a/katib/katib-controller/overlays/application/kustomization.yaml +++ b/katib/katib-controller/overlays/application/kustomization.yaml @@ -1,9 +1,9 @@ apiVersion: kustomize.config.k8s.io/v1beta1 bases: -- ../../base + - ../../base commonLabels: app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller kind: Kustomization resources: -- application.yaml + - application.yaml diff --git a/katib/katib-controller/overlays/ibm-storage-config/katib-mysql-deployment.yaml b/katib/katib-controller/overlays/ibm-storage-config/katib-mysql-deployment.yaml index a5400a8bcd..35039fc64f 100644 --- a/katib/katib-controller/overlays/ibm-storage-config/katib-mysql-deployment.yaml +++ b/katib/katib-controller/overlays/ibm-storage-config/katib-mysql-deployment.yaml @@ -6,6 +6,6 @@ spec: template: spec: containers: - - name: katib-mysql - # Base's livenessProbe created some kernel errors on non-POSIX filesystem - livenessProbe: null + - name: katib-mysql + # Base's livenessProbe created some kernel errors on non-POSIX filesystem + livenessProbe: null diff --git a/katib/katib-controller/overlays/ibm-storage-config/kustomization.yaml b/katib/katib-controller/overlays/ibm-storage-config/kustomization.yaml index 31d89fdfed..9dcdf768b5 100644 --- a/katib/katib-controller/overlays/ibm-storage-config/kustomization.yaml +++ b/katib/katib-controller/overlays/ibm-storage-config/kustomization.yaml @@ -1,9 +1,9 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization bases: -- ../../base + - ../../base patchesStrategicMerge: -- katib-mysql-deployment.yaml + - katib-mysql-deployment.yaml images: - name: mysql newTag: "5.6" diff --git a/katib/katib-controller/overlays/istio/katib-ui-virtual-service.yaml b/katib/katib-controller/overlays/istio/katib-ui-virtual-service.yaml index f20286a445..fe407903f7 100644 --- a/katib/katib-controller/overlays/istio/katib-ui-virtual-service.yaml +++ b/katib/katib-controller/overlays/istio/katib-ui-virtual-service.yaml @@ -4,17 +4,17 @@ metadata: name: katib-ui spec: gateways: - - kubeflow-gateway + - kubeflow-gateway hosts: - - '*' + - "*" http: - - match: - - uri: - prefix: /katib/ - rewrite: - uri: /katib/ - route: - - destination: - host: katib-ui.$(katib-ui-namespace).svc.$(clusterDomain) - port: - number: 80 + - match: + - uri: + prefix: /katib/ + rewrite: + uri: /katib/ + route: + - destination: + host: katib-ui.$(katib-ui-namespace).svc.$(clusterDomain) + port: + number: 80 diff --git a/katib/katib-controller/overlays/istio/kustomization.yaml b/katib/katib-controller/overlays/istio/kustomization.yaml index 0f16884935..4cf4c0de08 100644 --- a/katib/katib-controller/overlays/istio/kustomization.yaml +++ b/katib/katib-controller/overlays/istio/kustomization.yaml @@ -1,8 +1,8 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization bases: -- ../../base + - ../../base resources: -- katib-ui-virtual-service.yaml + - katib-ui-virtual-service.yaml configurations: -- params.yaml + - params.yaml diff --git a/katib/katib-controller/overlays/istio/params.yaml b/katib/katib-controller/overlays/istio/params.yaml index eea869e0d4..fbb4348760 100644 --- a/katib/katib-controller/overlays/istio/params.yaml +++ b/katib/katib-controller/overlays/istio/params.yaml @@ -1,3 +1,3 @@ varReference: -- path: spec/http/route/destination/host - kind: VirtualService + - path: spec/http/route/destination/host + kind: VirtualService diff --git a/katib/katib-crds/base/experiment-crd.yaml b/katib/katib-crds/base/experiment-crd.yaml index a6d5fb1e1e..5a7b06febd 100644 --- a/katib/katib-crds/base/experiment-crd.yaml +++ b/katib/katib-crds/base/experiment-crd.yaml @@ -4,14 +4,17 @@ metadata: name: experiments.kubeflow.org spec: additionalPrinterColumns: - - JSONPath: .status.conditions[-1:].type - name: Status - type: string - - JSONPath: .metadata.creationTimestamp - name: Age - type: date + - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status + name: Status + type: string + - JSONPath: .metadata.creationTimestamp + name: Age + type: date group: kubeflow.org - version: v1alpha3 + version: v1beta1 scope: Namespaced subresources: status: {} @@ -20,6 +23,6 @@ spec: singular: experiment plural: experiments categories: - - all - - kubeflow - - katib + - all + - kubeflow + - katib diff --git a/katib/katib-crds/base/kustomization.yaml b/katib/katib-crds/base/kustomization.yaml index a25fb65ea8..869c7add02 100644 --- a/katib/katib-crds/base/kustomization.yaml +++ b/katib/katib-crds/base/kustomization.yaml @@ -1,7 +1,7 @@ namespace: kubeflow resources: -- experiment-crd.yaml -- suggestion-crd.yaml -- trial-crd.yaml + - experiment-crd.yaml + - suggestion-crd.yaml + - trial-crd.yaml generatorOptions: disableNameSuffixHash: true diff --git a/katib/katib-crds/base/suggestion-crd.yaml b/katib/katib-crds/base/suggestion-crd.yaml index 0c725ab3b5..8de13785c0 100644 --- a/katib/katib-crds/base/suggestion-crd.yaml +++ b/katib/katib-crds/base/suggestion-crd.yaml @@ -4,23 +4,23 @@ metadata: name: suggestions.kubeflow.org spec: additionalPrinterColumns: - - JSONPath: .status.conditions[-1:].type - name: Type - type: string - - JSONPath: .status.conditions[-1:].status - name: Status - type: string - - JSONPath: .spec.requests - name: Requested - type: string - - JSONPath: .status.suggestionCount - name: Assigned - type: string - - JSONPath: .metadata.creationTimestamp - name: Age - type: date + - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status + name: Status + type: string + - JSONPath: .spec.requests + name: Requested + type: string + - JSONPath: .status.suggestionCount + name: Assigned + type: string + - JSONPath: .metadata.creationTimestamp + name: Age + type: date group: kubeflow.org - version: v1alpha3 + version: v1beta1 scope: Namespaced subresources: status: {} @@ -29,6 +29,6 @@ spec: singular: suggestion plural: suggestions categories: - - all - - kubeflow - - katib + - all + - kubeflow + - katib diff --git a/katib/katib-crds/base/trial-crd.yaml b/katib/katib-crds/base/trial-crd.yaml index f7cea34064..6b7dd5347f 100644 --- a/katib/katib-crds/base/trial-crd.yaml +++ b/katib/katib-crds/base/trial-crd.yaml @@ -4,17 +4,17 @@ metadata: name: trials.kubeflow.org spec: additionalPrinterColumns: - - JSONPath: .status.conditions[-1:].type - name: Type - type: string - - JSONPath: .status.conditions[-1:].status - name: Status - type: string - - JSONPath: .metadata.creationTimestamp - name: Age - type: date + - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status + name: Status + type: string + - JSONPath: .metadata.creationTimestamp + name: Age + type: date group: kubeflow.org - version: v1alpha3 + version: v1beta1 scope: Namespaced subresources: status: {} @@ -23,6 +23,6 @@ spec: singular: trial plural: trials categories: - - all - - kubeflow - - katib + - all + - kubeflow + - katib diff --git a/katib/katib-crds/overlays/application/application.yaml b/katib/katib-crds/overlays/application/application.yaml index 43f63facc5..03b2ec53ef 100644 --- a/katib/katib-crds/overlays/application/application.yaml +++ b/katib/katib-crds/overlays/application/application.yaml @@ -5,56 +5,55 @@ metadata: spec: addOwnerRef: true componentKinds: - - group: core - kind: Service - - group: apps - kind: Deployment - - group: core - kind: ServiceAccount - - group: kubeflow.org - kind: Experiment - - group: kubeflow.org - kind: Suggestion - - group: kubeflow.org - kind: Trial + - group: core + kind: Service + - group: apps + kind: Deployment + - group: core + kind: ServiceAccount + - group: kubeflow.org + kind: Experiment + - group: kubeflow.org + kind: Suggestion + - group: kubeflow.org + kind: Trial descriptor: - description: Katib is a service for hyperparameter tuning and neural architecture - search. + description: Katib is a service for hyperparameter tuning and neural architecture search. keywords: - - katib - - katib-controller - - hyperparameter tuning + - katib + - katib-controller + - hyperparameter tuning links: - - description: About - url: https://github.com/kubeflow/katib + - description: About + url: https://github.com/kubeflow/katib maintainers: - - email: gaoce@caicloud.io - name: Ce Gao - - email: johnugeo@cisco.com - name: Johnu George - - email: liuhougang6@126.com - name: Hougang Liu - - email: ricliu@google.com - name: Richard Liu - - email: yuji.oshima0x3fd@gmail.com - name: YujiOshima - - email: andrey.velichkevich@gmail.com - name: Andrey Velichkevich + - email: gaoce@caicloud.io + name: Ce Gao + - email: johnugeo@cisco.com + name: Johnu George + - email: liuhougang6@126.com + name: Hougang Liu + - email: ricliu@google.com + name: Richard Liu + - email: yuji.oshima0x3fd@gmail.com + name: YujiOshima + - email: andrey.velichkevich@gmail.com + name: Andrey Velichkevich owners: - - email: gaoce@caicloud.io - name: Ce Gao - - email: johnugeo@cisco.com - name: Johnu George - - email: liuhougang6@126.com - name: Hougang Liu - - email: ricliu@google.com - name: Richard Liu - - email: yuji.oshima0x3fd@gmail.com - name: YujiOshima - - email: andrey.velichkevich@gmail.com - name: Andrey Velichkevich + - email: gaoce@caicloud.io + name: Ce Gao + - email: johnugeo@cisco.com + name: Johnu George + - email: liuhougang6@126.com + name: Hougang Liu + - email: ricliu@google.com + name: Richard Liu + - email: yuji.oshima0x3fd@gmail.com + name: YujiOshima + - email: andrey.velichkevich@gmail.com + name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/katib/katib-crds/overlays/application/kustomization.yaml b/katib/katib-crds/overlays/application/kustomization.yaml index e6734f99ac..1eb85ff117 100644 --- a/katib/katib-crds/overlays/application/kustomization.yaml +++ b/katib/katib-crds/overlays/application/kustomization.yaml @@ -1,9 +1,9 @@ apiVersion: kustomize.config.k8s.io/v1beta1 bases: -- ../../base + - ../../base commonLabels: app.kubernetes.io/component: katib app.kubernetes.io/name: katib-crds kind: Kustomization resources: -- application.yaml + - application.yaml diff --git a/tests/katib/installs/katib-external-db/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml b/tests/katib/installs/katib-external-db/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml index 6a3e0cfb6d..af0cff0fa5 100644 --- a/tests/katib/installs/katib-external-db/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml +++ b/tests/katib/installs/katib-external-db/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml @@ -8,6 +8,9 @@ metadata: spec: additionalPrinterColumns: - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status name: Status type: string - JSONPath: .metadata.creationTimestamp @@ -25,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/katib/installs/katib-external-db/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml b/tests/katib/installs/katib-external-db/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml index 248f6cb9de..9e9354080f 100644 --- a/tests/katib/installs/katib-external-db/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml +++ b/tests/katib/installs/katib-external-db/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml @@ -34,4 +34,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/katib/installs/katib-external-db/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml b/tests/katib/installs/katib-external-db/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml index df524758af..181522ba81 100644 --- a/tests/katib/installs/katib-external-db/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml +++ b/tests/katib/installs/katib-external-db/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml @@ -28,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/katib/installs/katib-external-db/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml b/tests/katib/installs/katib-external-db/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml index d104a57371..173425f3a9 100644 --- a/tests/katib/installs/katib-external-db/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml +++ b/tests/katib/installs/katib-external-db/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml @@ -60,7 +60,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/katib/installs/katib-external-db/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml b/tests/katib/installs/katib-external-db/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml index ff885fb8a7..1abe6feb77 100644 --- a/tests/katib/installs/katib-external-db/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml +++ b/tests/katib/installs/katib-external-db/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml @@ -58,7 +58,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/katib/installs/katib-external-db/test_data/expected/apps_v1_deployment_katib-controller.yaml b/tests/katib/installs/katib-external-db/test_data/expected/apps_v1_deployment_katib-controller.yaml index a2089c4591..ba117f673d 100644 --- a/tests/katib/installs/katib-external-db/test_data/expected/apps_v1_deployment_katib-controller.yaml +++ b/tests/katib/installs/katib-external-db/test_data/expected/apps_v1_deployment_katib-controller.yaml @@ -27,6 +27,11 @@ spec: containers: - args: - --webhook-port=8443 + - --trial-resources=Job.v1.batch + - --trial-resources=TFJob.v1.kubeflow.org + - --trial-resources=PyTorchJob.v1.kubeflow.org + - --trial-resources=MPIJob.v1.kubeflow.org + - --trial-resources=PipelineRun.v1beta1.tekton.dev command: - ./katib-controller env: @@ -34,7 +39,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:ce89cbf + image: docker.io/kubeflowkatib/katib-controller:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-controller ports: diff --git a/tests/katib/installs/katib-external-db/test_data/expected/apps_v1_deployment_katib-db-manager.yaml b/tests/katib/installs/katib-external-db/test_data/expected/apps_v1_deployment_katib-db-manager.yaml index 6bbaac76d3..17c49fc782 100644 --- a/tests/katib/installs/katib-external-db/test_data/expected/apps_v1_deployment_katib-db-manager.yaml +++ b/tests/katib/installs/katib-external-db/test_data/expected/apps_v1_deployment_katib-db-manager.yaml @@ -58,7 +58,7 @@ spec: secretKeyRef: key: KATIB_MYSQL_DB_PORT name: katib-mysql-secrets-kmcg6hfkfg - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:ce89cbf + image: docker.io/kubeflowkatib/katib-db-manager:v1beta1-e294a90 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/tests/katib/installs/katib-external-db/test_data/expected/apps_v1_deployment_katib-ui.yaml b/tests/katib/installs/katib-external-db/test_data/expected/apps_v1_deployment_katib-ui.yaml index 6421a2f66e..a564bd0d07 100644 --- a/tests/katib/installs/katib-external-db/test_data/expected/apps_v1_deployment_katib-ui.yaml +++ b/tests/katib/installs/katib-external-db/test_data/expected/apps_v1_deployment_katib-ui.yaml @@ -37,7 +37,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:ce89cbf + image: docker.io/kubeflowkatib/katib-ui:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-ui ports: diff --git a/tests/katib/installs/katib-external-db/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml b/tests/katib/installs/katib-external-db/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml index 9ea77c91fc..63e4de61d7 100644 --- a/tests/katib/installs/katib-external-db/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml +++ b/tests/katib/installs/katib-external-db/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml @@ -15,6 +15,8 @@ rules: - secrets - events - namespaces + - persistentvolumes + - persistentvolumeclaims verbs: - '*' - apiGroups: @@ -71,5 +73,19 @@ rules: resources: - tfjobs - pytorchjobs + - mpijobs + verbs: + - '*' +- apiGroups: + - tekton.dev + resources: + - pipelineruns + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings verbs: - '*' diff --git a/tests/katib/installs/katib-external-db/test_data/expected/~g_v1_configmap_katib-config.yaml b/tests/katib/installs/katib-external-db/test_data/expected/~g_v1_configmap_katib-config.yaml index db619afdb0..3d0b53e168 100644 --- a/tests/katib/installs/katib-external-db/test_data/expected/~g_v1_configmap_katib-config.yaml +++ b/tests/katib/installs/katib-external-db/test_data/expected/~g_v1_configmap_katib-config.yaml @@ -1,15 +1,22 @@ apiVersion: v1 data: + early-stopping: |- + { + "medianstop": { + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v1beta1-e294a90", + "imagePullPolicy": "Always" + } + } metrics-collector-sidecar: |- { "StdOut": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "File": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "TensorFlowEvent": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector:ce89cbf", + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v1beta1-e294a90", "resources": { "limits": { "memory": "1Gi" @@ -20,22 +27,22 @@ data: suggestion: |- { "random": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "grid": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v1beta1-e294a90" }, "hyperband": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v1beta1-e294a90" }, "bayesianoptimization": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-skopt:v1beta1-e294a90" }, "tpe": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "enas": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-enas:ce89cbf", + "image": "docker.io/kubeflowkatib/suggestion-enas:v1beta1-e294a90", "imagePullPolicy": "Always", "resources": { "limits": { @@ -44,10 +51,10 @@ data: } }, "cmaes": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-goptuna:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v1beta1-e294a90" }, "darts": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-darts:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-darts:v1beta1-e294a90" } } kind: ConfigMap diff --git a/tests/katib/installs/katib-external-db/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml b/tests/katib/installs/katib-external-db/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml deleted file mode 100644 index 51936282ad..0000000000 --- a/tests/katib/installs/katib-external-db/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: v1 -data: - defaultTrialTemplate.yaml: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - restartPolicy: Never - enasCPUTemplate: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu - command: - - "python3.5" - - "-u" - - "RunTrial.py" - {{- with .HyperParameters}} - {{- range .}} - - "--{{.Name}}=\"{{.Value}}\"" - {{- end}} - {{- end}} - - "--num_epochs=1" - restartPolicy: Never - pytorchJobTemplate: |- - apiVersion: "kubeflow.org/v1" - kind: PyTorchJob - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - pytorchReplicaSpecs: - Master: - replicas: 1 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - Worker: - replicas: 2 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} -kind: ConfigMap -metadata: - labels: - app: katib-trial-templates - app.kubernetes.io/component: katib - app.kubernetes.io/name: katib-controller - name: trial-template-labeled - namespace: kubeflow diff --git a/tests/katib/installs/katib-external-db/test_data/expected/~g_v1_configmap_trial-template.yaml b/tests/katib/installs/katib-external-db/test_data/expected/~g_v1_configmap_trial-template.yaml index 5a69403a98..dd80fb8124 100644 --- a/tests/katib/installs/katib-external-db/test_data/expected/~g_v1_configmap_trial-template.yaml +++ b/tests/katib/installs/katib-external-db/test_data/expected/~g_v1_configmap_trial-template.yaml @@ -3,28 +3,74 @@ data: defaultTrialTemplate.yaml: |- apiVersion: batch/v1 kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} spec: template: spec: containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} + - name: training-container + image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-e294a90 + command: + - "python3" + - "/opt/mxnet-mnist/mnist.py" + - "--batch-size=64" + - "--lr=${trialParameters.learningRate}" + - "--num-layers=${trialParameters.numberLayers}" + - "--optimizer=${trialParameters.optimizer}" restartPolicy: Never + enasCPUTemplate: |- + apiVersion: batch/v1 + kind: Job + spec: + template: + spec: + containers: + - name: training-container + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-e294a90 + command: + - python3 + - -u + - RunTrial.py + - --num_epochs=1 + - "--architecture=\"${trialParameters.neuralNetworkArchitecture}\"" + - "--nn_config=\"${trialParameters.neuralNetworkConfig}\"" + restartPolicy: Never + pytorchJobTemplate: |- + apiVersion: "kubeflow.org/v1" + kind: PyTorchJob + spec: + pytorchReplicaSpecs: + Master: + replicas: 1 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" + Worker: + replicas: 2 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" kind: ConfigMap metadata: labels: + app: katib-trial-templates app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller name: trial-template diff --git a/tests/katib/installs/katib-standalone-ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml b/tests/katib/installs/katib-standalone-ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml index 8412945bc0..d5c52ecf04 100644 --- a/tests/katib/installs/katib-standalone-ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml +++ b/tests/katib/installs/katib-standalone-ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml @@ -8,6 +8,9 @@ metadata: spec: additionalPrinterColumns: - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status name: Status type: string - JSONPath: .metadata.creationTimestamp @@ -25,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/katib/installs/katib-standalone-ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml b/tests/katib/installs/katib-standalone-ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml index 9f1cabef76..22efe19141 100644 --- a/tests/katib/installs/katib-standalone-ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml +++ b/tests/katib/installs/katib-standalone-ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml @@ -34,4 +34,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/katib/installs/katib-standalone-ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml b/tests/katib/installs/katib-standalone-ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml index 5c42ede721..4ab50ef082 100644 --- a/tests/katib/installs/katib-standalone-ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml +++ b/tests/katib/installs/katib-standalone-ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml @@ -28,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/katib/installs/katib-standalone-ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml b/tests/katib/installs/katib-standalone-ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml index d104a57371..173425f3a9 100644 --- a/tests/katib/installs/katib-standalone-ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml +++ b/tests/katib/installs/katib-standalone-ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml @@ -60,7 +60,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/katib/installs/katib-standalone-ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml b/tests/katib/installs/katib-standalone-ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml index 017c6c72f4..ff75fa592b 100644 --- a/tests/katib/installs/katib-standalone-ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml +++ b/tests/katib/installs/katib-standalone-ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml @@ -58,7 +58,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/katib/installs/katib-standalone-ibm/test_data/expected/apps_v1_deployment_katib-controller.yaml b/tests/katib/installs/katib-standalone-ibm/test_data/expected/apps_v1_deployment_katib-controller.yaml index a2089c4591..ba117f673d 100644 --- a/tests/katib/installs/katib-standalone-ibm/test_data/expected/apps_v1_deployment_katib-controller.yaml +++ b/tests/katib/installs/katib-standalone-ibm/test_data/expected/apps_v1_deployment_katib-controller.yaml @@ -27,6 +27,11 @@ spec: containers: - args: - --webhook-port=8443 + - --trial-resources=Job.v1.batch + - --trial-resources=TFJob.v1.kubeflow.org + - --trial-resources=PyTorchJob.v1.kubeflow.org + - --trial-resources=MPIJob.v1.kubeflow.org + - --trial-resources=PipelineRun.v1beta1.tekton.dev command: - ./katib-controller env: @@ -34,7 +39,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:ce89cbf + image: docker.io/kubeflowkatib/katib-controller:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-controller ports: diff --git a/tests/katib/installs/katib-standalone-ibm/test_data/expected/apps_v1_deployment_katib-db-manager.yaml b/tests/katib/installs/katib-standalone-ibm/test_data/expected/apps_v1_deployment_katib-db-manager.yaml index 76bfea13bc..99c40bfb18 100644 --- a/tests/katib/installs/katib-standalone-ibm/test_data/expected/apps_v1_deployment_katib-db-manager.yaml +++ b/tests/katib/installs/katib-standalone-ibm/test_data/expected/apps_v1_deployment_katib-db-manager.yaml @@ -38,7 +38,7 @@ spec: secretKeyRef: key: MYSQL_ROOT_PASSWORD name: katib-mysql-secrets - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:ce89cbf + image: docker.io/kubeflowkatib/katib-db-manager:v1beta1-e294a90 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/tests/katib/installs/katib-standalone-ibm/test_data/expected/apps_v1_deployment_katib-ui.yaml b/tests/katib/installs/katib-standalone-ibm/test_data/expected/apps_v1_deployment_katib-ui.yaml index 6421a2f66e..a564bd0d07 100644 --- a/tests/katib/installs/katib-standalone-ibm/test_data/expected/apps_v1_deployment_katib-ui.yaml +++ b/tests/katib/installs/katib-standalone-ibm/test_data/expected/apps_v1_deployment_katib-ui.yaml @@ -37,7 +37,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:ce89cbf + image: docker.io/kubeflowkatib/katib-ui:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-ui ports: diff --git a/tests/katib/installs/katib-standalone-ibm/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml b/tests/katib/installs/katib-standalone-ibm/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml index 9ea77c91fc..63e4de61d7 100644 --- a/tests/katib/installs/katib-standalone-ibm/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml +++ b/tests/katib/installs/katib-standalone-ibm/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml @@ -15,6 +15,8 @@ rules: - secrets - events - namespaces + - persistentvolumes + - persistentvolumeclaims verbs: - '*' - apiGroups: @@ -71,5 +73,19 @@ rules: resources: - tfjobs - pytorchjobs + - mpijobs + verbs: + - '*' +- apiGroups: + - tekton.dev + resources: + - pipelineruns + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings verbs: - '*' diff --git a/tests/katib/installs/katib-standalone-ibm/test_data/expected/~g_v1_configmap_katib-config.yaml b/tests/katib/installs/katib-standalone-ibm/test_data/expected/~g_v1_configmap_katib-config.yaml index db619afdb0..3d0b53e168 100644 --- a/tests/katib/installs/katib-standalone-ibm/test_data/expected/~g_v1_configmap_katib-config.yaml +++ b/tests/katib/installs/katib-standalone-ibm/test_data/expected/~g_v1_configmap_katib-config.yaml @@ -1,15 +1,22 @@ apiVersion: v1 data: + early-stopping: |- + { + "medianstop": { + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v1beta1-e294a90", + "imagePullPolicy": "Always" + } + } metrics-collector-sidecar: |- { "StdOut": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "File": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "TensorFlowEvent": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector:ce89cbf", + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v1beta1-e294a90", "resources": { "limits": { "memory": "1Gi" @@ -20,22 +27,22 @@ data: suggestion: |- { "random": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "grid": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v1beta1-e294a90" }, "hyperband": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v1beta1-e294a90" }, "bayesianoptimization": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-skopt:v1beta1-e294a90" }, "tpe": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "enas": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-enas:ce89cbf", + "image": "docker.io/kubeflowkatib/suggestion-enas:v1beta1-e294a90", "imagePullPolicy": "Always", "resources": { "limits": { @@ -44,10 +51,10 @@ data: } }, "cmaes": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-goptuna:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v1beta1-e294a90" }, "darts": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-darts:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-darts:v1beta1-e294a90" } } kind: ConfigMap diff --git a/tests/katib/installs/katib-standalone-ibm/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml b/tests/katib/installs/katib-standalone-ibm/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml deleted file mode 100644 index 51936282ad..0000000000 --- a/tests/katib/installs/katib-standalone-ibm/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: v1 -data: - defaultTrialTemplate.yaml: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - restartPolicy: Never - enasCPUTemplate: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu - command: - - "python3.5" - - "-u" - - "RunTrial.py" - {{- with .HyperParameters}} - {{- range .}} - - "--{{.Name}}=\"{{.Value}}\"" - {{- end}} - {{- end}} - - "--num_epochs=1" - restartPolicy: Never - pytorchJobTemplate: |- - apiVersion: "kubeflow.org/v1" - kind: PyTorchJob - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - pytorchReplicaSpecs: - Master: - replicas: 1 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - Worker: - replicas: 2 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} -kind: ConfigMap -metadata: - labels: - app: katib-trial-templates - app.kubernetes.io/component: katib - app.kubernetes.io/name: katib-controller - name: trial-template-labeled - namespace: kubeflow diff --git a/tests/katib/installs/katib-standalone-ibm/test_data/expected/~g_v1_configmap_trial-template.yaml b/tests/katib/installs/katib-standalone-ibm/test_data/expected/~g_v1_configmap_trial-template.yaml index 5a69403a98..dd80fb8124 100644 --- a/tests/katib/installs/katib-standalone-ibm/test_data/expected/~g_v1_configmap_trial-template.yaml +++ b/tests/katib/installs/katib-standalone-ibm/test_data/expected/~g_v1_configmap_trial-template.yaml @@ -3,28 +3,74 @@ data: defaultTrialTemplate.yaml: |- apiVersion: batch/v1 kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} spec: template: spec: containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} + - name: training-container + image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-e294a90 + command: + - "python3" + - "/opt/mxnet-mnist/mnist.py" + - "--batch-size=64" + - "--lr=${trialParameters.learningRate}" + - "--num-layers=${trialParameters.numberLayers}" + - "--optimizer=${trialParameters.optimizer}" restartPolicy: Never + enasCPUTemplate: |- + apiVersion: batch/v1 + kind: Job + spec: + template: + spec: + containers: + - name: training-container + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-e294a90 + command: + - python3 + - -u + - RunTrial.py + - --num_epochs=1 + - "--architecture=\"${trialParameters.neuralNetworkArchitecture}\"" + - "--nn_config=\"${trialParameters.neuralNetworkConfig}\"" + restartPolicy: Never + pytorchJobTemplate: |- + apiVersion: "kubeflow.org/v1" + kind: PyTorchJob + spec: + pytorchReplicaSpecs: + Master: + replicas: 1 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" + Worker: + replicas: 2 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" kind: ConfigMap metadata: labels: + app: katib-trial-templates app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller name: trial-template diff --git a/tests/katib/installs/katib-standalone/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml b/tests/katib/installs/katib-standalone/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml index 8412945bc0..d5c52ecf04 100644 --- a/tests/katib/installs/katib-standalone/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml +++ b/tests/katib/installs/katib-standalone/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml @@ -8,6 +8,9 @@ metadata: spec: additionalPrinterColumns: - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status name: Status type: string - JSONPath: .metadata.creationTimestamp @@ -25,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/katib/installs/katib-standalone/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml b/tests/katib/installs/katib-standalone/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml index 9f1cabef76..22efe19141 100644 --- a/tests/katib/installs/katib-standalone/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml +++ b/tests/katib/installs/katib-standalone/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml @@ -34,4 +34,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/katib/installs/katib-standalone/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml b/tests/katib/installs/katib-standalone/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml index 5c42ede721..4ab50ef082 100644 --- a/tests/katib/installs/katib-standalone/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml +++ b/tests/katib/installs/katib-standalone/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml @@ -28,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/katib/installs/katib-standalone/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml b/tests/katib/installs/katib-standalone/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml index d104a57371..173425f3a9 100644 --- a/tests/katib/installs/katib-standalone/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml +++ b/tests/katib/installs/katib-standalone/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml @@ -60,7 +60,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/katib/installs/katib-standalone/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml b/tests/katib/installs/katib-standalone/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml index 017c6c72f4..ff75fa592b 100644 --- a/tests/katib/installs/katib-standalone/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml +++ b/tests/katib/installs/katib-standalone/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml @@ -58,7 +58,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/katib/installs/katib-standalone/test_data/expected/apps_v1_deployment_katib-controller.yaml b/tests/katib/installs/katib-standalone/test_data/expected/apps_v1_deployment_katib-controller.yaml index a2089c4591..ba117f673d 100644 --- a/tests/katib/installs/katib-standalone/test_data/expected/apps_v1_deployment_katib-controller.yaml +++ b/tests/katib/installs/katib-standalone/test_data/expected/apps_v1_deployment_katib-controller.yaml @@ -27,6 +27,11 @@ spec: containers: - args: - --webhook-port=8443 + - --trial-resources=Job.v1.batch + - --trial-resources=TFJob.v1.kubeflow.org + - --trial-resources=PyTorchJob.v1.kubeflow.org + - --trial-resources=MPIJob.v1.kubeflow.org + - --trial-resources=PipelineRun.v1beta1.tekton.dev command: - ./katib-controller env: @@ -34,7 +39,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:ce89cbf + image: docker.io/kubeflowkatib/katib-controller:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-controller ports: diff --git a/tests/katib/installs/katib-standalone/test_data/expected/apps_v1_deployment_katib-db-manager.yaml b/tests/katib/installs/katib-standalone/test_data/expected/apps_v1_deployment_katib-db-manager.yaml index 76bfea13bc..99c40bfb18 100644 --- a/tests/katib/installs/katib-standalone/test_data/expected/apps_v1_deployment_katib-db-manager.yaml +++ b/tests/katib/installs/katib-standalone/test_data/expected/apps_v1_deployment_katib-db-manager.yaml @@ -38,7 +38,7 @@ spec: secretKeyRef: key: MYSQL_ROOT_PASSWORD name: katib-mysql-secrets - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:ce89cbf + image: docker.io/kubeflowkatib/katib-db-manager:v1beta1-e294a90 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/tests/katib/installs/katib-standalone/test_data/expected/apps_v1_deployment_katib-ui.yaml b/tests/katib/installs/katib-standalone/test_data/expected/apps_v1_deployment_katib-ui.yaml index 6421a2f66e..a564bd0d07 100644 --- a/tests/katib/installs/katib-standalone/test_data/expected/apps_v1_deployment_katib-ui.yaml +++ b/tests/katib/installs/katib-standalone/test_data/expected/apps_v1_deployment_katib-ui.yaml @@ -37,7 +37,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:ce89cbf + image: docker.io/kubeflowkatib/katib-ui:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-ui ports: diff --git a/tests/katib/installs/katib-standalone/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml b/tests/katib/installs/katib-standalone/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml index 9ea77c91fc..63e4de61d7 100644 --- a/tests/katib/installs/katib-standalone/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml +++ b/tests/katib/installs/katib-standalone/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml @@ -15,6 +15,8 @@ rules: - secrets - events - namespaces + - persistentvolumes + - persistentvolumeclaims verbs: - '*' - apiGroups: @@ -71,5 +73,19 @@ rules: resources: - tfjobs - pytorchjobs + - mpijobs + verbs: + - '*' +- apiGroups: + - tekton.dev + resources: + - pipelineruns + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings verbs: - '*' diff --git a/tests/katib/installs/katib-standalone/test_data/expected/~g_v1_configmap_katib-config.yaml b/tests/katib/installs/katib-standalone/test_data/expected/~g_v1_configmap_katib-config.yaml index db619afdb0..3d0b53e168 100644 --- a/tests/katib/installs/katib-standalone/test_data/expected/~g_v1_configmap_katib-config.yaml +++ b/tests/katib/installs/katib-standalone/test_data/expected/~g_v1_configmap_katib-config.yaml @@ -1,15 +1,22 @@ apiVersion: v1 data: + early-stopping: |- + { + "medianstop": { + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v1beta1-e294a90", + "imagePullPolicy": "Always" + } + } metrics-collector-sidecar: |- { "StdOut": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "File": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "TensorFlowEvent": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector:ce89cbf", + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v1beta1-e294a90", "resources": { "limits": { "memory": "1Gi" @@ -20,22 +27,22 @@ data: suggestion: |- { "random": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "grid": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v1beta1-e294a90" }, "hyperband": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v1beta1-e294a90" }, "bayesianoptimization": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-skopt:v1beta1-e294a90" }, "tpe": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "enas": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-enas:ce89cbf", + "image": "docker.io/kubeflowkatib/suggestion-enas:v1beta1-e294a90", "imagePullPolicy": "Always", "resources": { "limits": { @@ -44,10 +51,10 @@ data: } }, "cmaes": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-goptuna:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v1beta1-e294a90" }, "darts": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-darts:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-darts:v1beta1-e294a90" } } kind: ConfigMap diff --git a/tests/katib/installs/katib-standalone/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml b/tests/katib/installs/katib-standalone/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml deleted file mode 100644 index 51936282ad..0000000000 --- a/tests/katib/installs/katib-standalone/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: v1 -data: - defaultTrialTemplate.yaml: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - restartPolicy: Never - enasCPUTemplate: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu - command: - - "python3.5" - - "-u" - - "RunTrial.py" - {{- with .HyperParameters}} - {{- range .}} - - "--{{.Name}}=\"{{.Value}}\"" - {{- end}} - {{- end}} - - "--num_epochs=1" - restartPolicy: Never - pytorchJobTemplate: |- - apiVersion: "kubeflow.org/v1" - kind: PyTorchJob - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - pytorchReplicaSpecs: - Master: - replicas: 1 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - Worker: - replicas: 2 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} -kind: ConfigMap -metadata: - labels: - app: katib-trial-templates - app.kubernetes.io/component: katib - app.kubernetes.io/name: katib-controller - name: trial-template-labeled - namespace: kubeflow diff --git a/tests/katib/installs/katib-standalone/test_data/expected/~g_v1_configmap_trial-template.yaml b/tests/katib/installs/katib-standalone/test_data/expected/~g_v1_configmap_trial-template.yaml index 5a69403a98..dd80fb8124 100644 --- a/tests/katib/installs/katib-standalone/test_data/expected/~g_v1_configmap_trial-template.yaml +++ b/tests/katib/installs/katib-standalone/test_data/expected/~g_v1_configmap_trial-template.yaml @@ -3,28 +3,74 @@ data: defaultTrialTemplate.yaml: |- apiVersion: batch/v1 kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} spec: template: spec: containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} + - name: training-container + image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-e294a90 + command: + - "python3" + - "/opt/mxnet-mnist/mnist.py" + - "--batch-size=64" + - "--lr=${trialParameters.learningRate}" + - "--num-layers=${trialParameters.numberLayers}" + - "--optimizer=${trialParameters.optimizer}" restartPolicy: Never + enasCPUTemplate: |- + apiVersion: batch/v1 + kind: Job + spec: + template: + spec: + containers: + - name: training-container + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-e294a90 + command: + - python3 + - -u + - RunTrial.py + - --num_epochs=1 + - "--architecture=\"${trialParameters.neuralNetworkArchitecture}\"" + - "--nn_config=\"${trialParameters.neuralNetworkConfig}\"" + restartPolicy: Never + pytorchJobTemplate: |- + apiVersion: "kubeflow.org/v1" + kind: PyTorchJob + spec: + pytorchReplicaSpecs: + Master: + replicas: 1 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" + Worker: + replicas: 2 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" kind: ConfigMap metadata: labels: + app: katib-trial-templates app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller name: trial-template diff --git a/tests/stacks/aws/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml b/tests/stacks/aws/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml index 8412945bc0..d5c52ecf04 100644 --- a/tests/stacks/aws/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml +++ b/tests/stacks/aws/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml @@ -8,6 +8,9 @@ metadata: spec: additionalPrinterColumns: - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status name: Status type: string - JSONPath: .metadata.creationTimestamp @@ -25,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/aws/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml b/tests/stacks/aws/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml index 9f1cabef76..22efe19141 100644 --- a/tests/stacks/aws/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml +++ b/tests/stacks/aws/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml @@ -34,4 +34,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/aws/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml b/tests/stacks/aws/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml index 5c42ede721..4ab50ef082 100644 --- a/tests/stacks/aws/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml +++ b/tests/stacks/aws/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml @@ -28,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/aws/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml b/tests/stacks/aws/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml index d104a57371..173425f3a9 100644 --- a/tests/stacks/aws/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml +++ b/tests/stacks/aws/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml @@ -60,7 +60,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/aws/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml b/tests/stacks/aws/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml index 017c6c72f4..ff75fa592b 100644 --- a/tests/stacks/aws/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml +++ b/tests/stacks/aws/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml @@ -58,7 +58,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/aws/test_data/expected/apps_v1_deployment_katib-controller.yaml b/tests/stacks/aws/test_data/expected/apps_v1_deployment_katib-controller.yaml index a2089c4591..ba117f673d 100644 --- a/tests/stacks/aws/test_data/expected/apps_v1_deployment_katib-controller.yaml +++ b/tests/stacks/aws/test_data/expected/apps_v1_deployment_katib-controller.yaml @@ -27,6 +27,11 @@ spec: containers: - args: - --webhook-port=8443 + - --trial-resources=Job.v1.batch + - --trial-resources=TFJob.v1.kubeflow.org + - --trial-resources=PyTorchJob.v1.kubeflow.org + - --trial-resources=MPIJob.v1.kubeflow.org + - --trial-resources=PipelineRun.v1beta1.tekton.dev command: - ./katib-controller env: @@ -34,7 +39,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:ce89cbf + image: docker.io/kubeflowkatib/katib-controller:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-controller ports: diff --git a/tests/stacks/aws/test_data/expected/apps_v1_deployment_katib-db-manager.yaml b/tests/stacks/aws/test_data/expected/apps_v1_deployment_katib-db-manager.yaml index 76bfea13bc..99c40bfb18 100644 --- a/tests/stacks/aws/test_data/expected/apps_v1_deployment_katib-db-manager.yaml +++ b/tests/stacks/aws/test_data/expected/apps_v1_deployment_katib-db-manager.yaml @@ -38,7 +38,7 @@ spec: secretKeyRef: key: MYSQL_ROOT_PASSWORD name: katib-mysql-secrets - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:ce89cbf + image: docker.io/kubeflowkatib/katib-db-manager:v1beta1-e294a90 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/tests/stacks/aws/test_data/expected/apps_v1_deployment_katib-ui.yaml b/tests/stacks/aws/test_data/expected/apps_v1_deployment_katib-ui.yaml index 6421a2f66e..a564bd0d07 100644 --- a/tests/stacks/aws/test_data/expected/apps_v1_deployment_katib-ui.yaml +++ b/tests/stacks/aws/test_data/expected/apps_v1_deployment_katib-ui.yaml @@ -37,7 +37,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:ce89cbf + image: docker.io/kubeflowkatib/katib-ui:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-ui ports: diff --git a/tests/stacks/aws/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml b/tests/stacks/aws/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml index 9ea77c91fc..63e4de61d7 100644 --- a/tests/stacks/aws/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml +++ b/tests/stacks/aws/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml @@ -15,6 +15,8 @@ rules: - secrets - events - namespaces + - persistentvolumes + - persistentvolumeclaims verbs: - '*' - apiGroups: @@ -71,5 +73,19 @@ rules: resources: - tfjobs - pytorchjobs + - mpijobs + verbs: + - '*' +- apiGroups: + - tekton.dev + resources: + - pipelineruns + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings verbs: - '*' diff --git a/tests/stacks/aws/test_data/expected/~g_v1_configmap_katib-config.yaml b/tests/stacks/aws/test_data/expected/~g_v1_configmap_katib-config.yaml index db619afdb0..3d0b53e168 100644 --- a/tests/stacks/aws/test_data/expected/~g_v1_configmap_katib-config.yaml +++ b/tests/stacks/aws/test_data/expected/~g_v1_configmap_katib-config.yaml @@ -1,15 +1,22 @@ apiVersion: v1 data: + early-stopping: |- + { + "medianstop": { + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v1beta1-e294a90", + "imagePullPolicy": "Always" + } + } metrics-collector-sidecar: |- { "StdOut": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "File": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "TensorFlowEvent": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector:ce89cbf", + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v1beta1-e294a90", "resources": { "limits": { "memory": "1Gi" @@ -20,22 +27,22 @@ data: suggestion: |- { "random": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "grid": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v1beta1-e294a90" }, "hyperband": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v1beta1-e294a90" }, "bayesianoptimization": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-skopt:v1beta1-e294a90" }, "tpe": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "enas": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-enas:ce89cbf", + "image": "docker.io/kubeflowkatib/suggestion-enas:v1beta1-e294a90", "imagePullPolicy": "Always", "resources": { "limits": { @@ -44,10 +51,10 @@ data: } }, "cmaes": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-goptuna:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v1beta1-e294a90" }, "darts": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-darts:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-darts:v1beta1-e294a90" } } kind: ConfigMap diff --git a/tests/stacks/aws/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml b/tests/stacks/aws/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml deleted file mode 100644 index 51936282ad..0000000000 --- a/tests/stacks/aws/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: v1 -data: - defaultTrialTemplate.yaml: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - restartPolicy: Never - enasCPUTemplate: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu - command: - - "python3.5" - - "-u" - - "RunTrial.py" - {{- with .HyperParameters}} - {{- range .}} - - "--{{.Name}}=\"{{.Value}}\"" - {{- end}} - {{- end}} - - "--num_epochs=1" - restartPolicy: Never - pytorchJobTemplate: |- - apiVersion: "kubeflow.org/v1" - kind: PyTorchJob - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - pytorchReplicaSpecs: - Master: - replicas: 1 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - Worker: - replicas: 2 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} -kind: ConfigMap -metadata: - labels: - app: katib-trial-templates - app.kubernetes.io/component: katib - app.kubernetes.io/name: katib-controller - name: trial-template-labeled - namespace: kubeflow diff --git a/tests/stacks/aws/test_data/expected/~g_v1_configmap_trial-template.yaml b/tests/stacks/aws/test_data/expected/~g_v1_configmap_trial-template.yaml index 5a69403a98..dd80fb8124 100644 --- a/tests/stacks/aws/test_data/expected/~g_v1_configmap_trial-template.yaml +++ b/tests/stacks/aws/test_data/expected/~g_v1_configmap_trial-template.yaml @@ -3,28 +3,74 @@ data: defaultTrialTemplate.yaml: |- apiVersion: batch/v1 kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} spec: template: spec: containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} + - name: training-container + image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-e294a90 + command: + - "python3" + - "/opt/mxnet-mnist/mnist.py" + - "--batch-size=64" + - "--lr=${trialParameters.learningRate}" + - "--num-layers=${trialParameters.numberLayers}" + - "--optimizer=${trialParameters.optimizer}" restartPolicy: Never + enasCPUTemplate: |- + apiVersion: batch/v1 + kind: Job + spec: + template: + spec: + containers: + - name: training-container + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-e294a90 + command: + - python3 + - -u + - RunTrial.py + - --num_epochs=1 + - "--architecture=\"${trialParameters.neuralNetworkArchitecture}\"" + - "--nn_config=\"${trialParameters.neuralNetworkConfig}\"" + restartPolicy: Never + pytorchJobTemplate: |- + apiVersion: "kubeflow.org/v1" + kind: PyTorchJob + spec: + pytorchReplicaSpecs: + Master: + replicas: 1 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" + Worker: + replicas: 2 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" kind: ConfigMap metadata: labels: + app: katib-trial-templates app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller name: trial-template diff --git a/tests/stacks/examples/alice/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml b/tests/stacks/examples/alice/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml index 8412945bc0..d5c52ecf04 100644 --- a/tests/stacks/examples/alice/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml +++ b/tests/stacks/examples/alice/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml @@ -8,6 +8,9 @@ metadata: spec: additionalPrinterColumns: - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status name: Status type: string - JSONPath: .metadata.creationTimestamp @@ -25,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/examples/alice/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml b/tests/stacks/examples/alice/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml index 9f1cabef76..22efe19141 100644 --- a/tests/stacks/examples/alice/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml +++ b/tests/stacks/examples/alice/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml @@ -34,4 +34,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/examples/alice/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml b/tests/stacks/examples/alice/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml index 5c42ede721..4ab50ef082 100644 --- a/tests/stacks/examples/alice/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml +++ b/tests/stacks/examples/alice/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml @@ -28,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/examples/alice/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml b/tests/stacks/examples/alice/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml index d104a57371..173425f3a9 100644 --- a/tests/stacks/examples/alice/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml +++ b/tests/stacks/examples/alice/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml @@ -60,7 +60,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/examples/alice/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml b/tests/stacks/examples/alice/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml index 017c6c72f4..ff75fa592b 100644 --- a/tests/stacks/examples/alice/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml +++ b/tests/stacks/examples/alice/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml @@ -58,7 +58,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/examples/alice/test_data/expected/apps_v1_deployment_katib-controller.yaml b/tests/stacks/examples/alice/test_data/expected/apps_v1_deployment_katib-controller.yaml index a2089c4591..ba117f673d 100644 --- a/tests/stacks/examples/alice/test_data/expected/apps_v1_deployment_katib-controller.yaml +++ b/tests/stacks/examples/alice/test_data/expected/apps_v1_deployment_katib-controller.yaml @@ -27,6 +27,11 @@ spec: containers: - args: - --webhook-port=8443 + - --trial-resources=Job.v1.batch + - --trial-resources=TFJob.v1.kubeflow.org + - --trial-resources=PyTorchJob.v1.kubeflow.org + - --trial-resources=MPIJob.v1.kubeflow.org + - --trial-resources=PipelineRun.v1beta1.tekton.dev command: - ./katib-controller env: @@ -34,7 +39,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:ce89cbf + image: docker.io/kubeflowkatib/katib-controller:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-controller ports: diff --git a/tests/stacks/examples/alice/test_data/expected/apps_v1_deployment_katib-db-manager.yaml b/tests/stacks/examples/alice/test_data/expected/apps_v1_deployment_katib-db-manager.yaml index 76bfea13bc..99c40bfb18 100644 --- a/tests/stacks/examples/alice/test_data/expected/apps_v1_deployment_katib-db-manager.yaml +++ b/tests/stacks/examples/alice/test_data/expected/apps_v1_deployment_katib-db-manager.yaml @@ -38,7 +38,7 @@ spec: secretKeyRef: key: MYSQL_ROOT_PASSWORD name: katib-mysql-secrets - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:ce89cbf + image: docker.io/kubeflowkatib/katib-db-manager:v1beta1-e294a90 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/tests/stacks/examples/alice/test_data/expected/apps_v1_deployment_katib-ui.yaml b/tests/stacks/examples/alice/test_data/expected/apps_v1_deployment_katib-ui.yaml index 6421a2f66e..a564bd0d07 100644 --- a/tests/stacks/examples/alice/test_data/expected/apps_v1_deployment_katib-ui.yaml +++ b/tests/stacks/examples/alice/test_data/expected/apps_v1_deployment_katib-ui.yaml @@ -37,7 +37,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:ce89cbf + image: docker.io/kubeflowkatib/katib-ui:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-ui ports: diff --git a/tests/stacks/examples/alice/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml b/tests/stacks/examples/alice/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml index 9ea77c91fc..63e4de61d7 100644 --- a/tests/stacks/examples/alice/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml +++ b/tests/stacks/examples/alice/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml @@ -15,6 +15,8 @@ rules: - secrets - events - namespaces + - persistentvolumes + - persistentvolumeclaims verbs: - '*' - apiGroups: @@ -71,5 +73,19 @@ rules: resources: - tfjobs - pytorchjobs + - mpijobs + verbs: + - '*' +- apiGroups: + - tekton.dev + resources: + - pipelineruns + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings verbs: - '*' diff --git a/tests/stacks/examples/alice/test_data/expected/~g_v1_configmap_katib-config.yaml b/tests/stacks/examples/alice/test_data/expected/~g_v1_configmap_katib-config.yaml index db619afdb0..3d0b53e168 100644 --- a/tests/stacks/examples/alice/test_data/expected/~g_v1_configmap_katib-config.yaml +++ b/tests/stacks/examples/alice/test_data/expected/~g_v1_configmap_katib-config.yaml @@ -1,15 +1,22 @@ apiVersion: v1 data: + early-stopping: |- + { + "medianstop": { + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v1beta1-e294a90", + "imagePullPolicy": "Always" + } + } metrics-collector-sidecar: |- { "StdOut": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "File": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "TensorFlowEvent": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector:ce89cbf", + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v1beta1-e294a90", "resources": { "limits": { "memory": "1Gi" @@ -20,22 +27,22 @@ data: suggestion: |- { "random": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "grid": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v1beta1-e294a90" }, "hyperband": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v1beta1-e294a90" }, "bayesianoptimization": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-skopt:v1beta1-e294a90" }, "tpe": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "enas": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-enas:ce89cbf", + "image": "docker.io/kubeflowkatib/suggestion-enas:v1beta1-e294a90", "imagePullPolicy": "Always", "resources": { "limits": { @@ -44,10 +51,10 @@ data: } }, "cmaes": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-goptuna:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v1beta1-e294a90" }, "darts": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-darts:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-darts:v1beta1-e294a90" } } kind: ConfigMap diff --git a/tests/stacks/examples/alice/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml b/tests/stacks/examples/alice/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml deleted file mode 100644 index 51936282ad..0000000000 --- a/tests/stacks/examples/alice/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: v1 -data: - defaultTrialTemplate.yaml: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - restartPolicy: Never - enasCPUTemplate: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu - command: - - "python3.5" - - "-u" - - "RunTrial.py" - {{- with .HyperParameters}} - {{- range .}} - - "--{{.Name}}=\"{{.Value}}\"" - {{- end}} - {{- end}} - - "--num_epochs=1" - restartPolicy: Never - pytorchJobTemplate: |- - apiVersion: "kubeflow.org/v1" - kind: PyTorchJob - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - pytorchReplicaSpecs: - Master: - replicas: 1 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - Worker: - replicas: 2 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} -kind: ConfigMap -metadata: - labels: - app: katib-trial-templates - app.kubernetes.io/component: katib - app.kubernetes.io/name: katib-controller - name: trial-template-labeled - namespace: kubeflow diff --git a/tests/stacks/examples/alice/test_data/expected/~g_v1_configmap_trial-template.yaml b/tests/stacks/examples/alice/test_data/expected/~g_v1_configmap_trial-template.yaml index 5a69403a98..dd80fb8124 100644 --- a/tests/stacks/examples/alice/test_data/expected/~g_v1_configmap_trial-template.yaml +++ b/tests/stacks/examples/alice/test_data/expected/~g_v1_configmap_trial-template.yaml @@ -3,28 +3,74 @@ data: defaultTrialTemplate.yaml: |- apiVersion: batch/v1 kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} spec: template: spec: containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} + - name: training-container + image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-e294a90 + command: + - "python3" + - "/opt/mxnet-mnist/mnist.py" + - "--batch-size=64" + - "--lr=${trialParameters.learningRate}" + - "--num-layers=${trialParameters.numberLayers}" + - "--optimizer=${trialParameters.optimizer}" restartPolicy: Never + enasCPUTemplate: |- + apiVersion: batch/v1 + kind: Job + spec: + template: + spec: + containers: + - name: training-container + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-e294a90 + command: + - python3 + - -u + - RunTrial.py + - --num_epochs=1 + - "--architecture=\"${trialParameters.neuralNetworkArchitecture}\"" + - "--nn_config=\"${trialParameters.neuralNetworkConfig}\"" + restartPolicy: Never + pytorchJobTemplate: |- + apiVersion: "kubeflow.org/v1" + kind: PyTorchJob + spec: + pytorchReplicaSpecs: + Master: + replicas: 1 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" + Worker: + replicas: 2 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" kind: ConfigMap metadata: labels: + app: katib-trial-templates app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller name: trial-template diff --git a/tests/stacks/gcp/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml b/tests/stacks/gcp/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml index 8412945bc0..d5c52ecf04 100644 --- a/tests/stacks/gcp/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml +++ b/tests/stacks/gcp/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml @@ -8,6 +8,9 @@ metadata: spec: additionalPrinterColumns: - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status name: Status type: string - JSONPath: .metadata.creationTimestamp @@ -25,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/gcp/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml b/tests/stacks/gcp/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml index 9f1cabef76..22efe19141 100644 --- a/tests/stacks/gcp/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml +++ b/tests/stacks/gcp/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml @@ -34,4 +34,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/gcp/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml b/tests/stacks/gcp/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml index 5c42ede721..4ab50ef082 100644 --- a/tests/stacks/gcp/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml +++ b/tests/stacks/gcp/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml @@ -28,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/gcp/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml b/tests/stacks/gcp/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml index d104a57371..173425f3a9 100644 --- a/tests/stacks/gcp/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml +++ b/tests/stacks/gcp/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml @@ -60,7 +60,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/gcp/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml b/tests/stacks/gcp/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml index 017c6c72f4..ff75fa592b 100644 --- a/tests/stacks/gcp/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml +++ b/tests/stacks/gcp/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml @@ -58,7 +58,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/gcp/test_data/expected/apps_v1_deployment_katib-controller.yaml b/tests/stacks/gcp/test_data/expected/apps_v1_deployment_katib-controller.yaml index a2089c4591..ba117f673d 100644 --- a/tests/stacks/gcp/test_data/expected/apps_v1_deployment_katib-controller.yaml +++ b/tests/stacks/gcp/test_data/expected/apps_v1_deployment_katib-controller.yaml @@ -27,6 +27,11 @@ spec: containers: - args: - --webhook-port=8443 + - --trial-resources=Job.v1.batch + - --trial-resources=TFJob.v1.kubeflow.org + - --trial-resources=PyTorchJob.v1.kubeflow.org + - --trial-resources=MPIJob.v1.kubeflow.org + - --trial-resources=PipelineRun.v1beta1.tekton.dev command: - ./katib-controller env: @@ -34,7 +39,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:ce89cbf + image: docker.io/kubeflowkatib/katib-controller:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-controller ports: diff --git a/tests/stacks/gcp/test_data/expected/apps_v1_deployment_katib-db-manager.yaml b/tests/stacks/gcp/test_data/expected/apps_v1_deployment_katib-db-manager.yaml index 76bfea13bc..99c40bfb18 100644 --- a/tests/stacks/gcp/test_data/expected/apps_v1_deployment_katib-db-manager.yaml +++ b/tests/stacks/gcp/test_data/expected/apps_v1_deployment_katib-db-manager.yaml @@ -38,7 +38,7 @@ spec: secretKeyRef: key: MYSQL_ROOT_PASSWORD name: katib-mysql-secrets - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:ce89cbf + image: docker.io/kubeflowkatib/katib-db-manager:v1beta1-e294a90 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/tests/stacks/gcp/test_data/expected/apps_v1_deployment_katib-ui.yaml b/tests/stacks/gcp/test_data/expected/apps_v1_deployment_katib-ui.yaml index 6421a2f66e..a564bd0d07 100644 --- a/tests/stacks/gcp/test_data/expected/apps_v1_deployment_katib-ui.yaml +++ b/tests/stacks/gcp/test_data/expected/apps_v1_deployment_katib-ui.yaml @@ -37,7 +37,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:ce89cbf + image: docker.io/kubeflowkatib/katib-ui:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-ui ports: diff --git a/tests/stacks/gcp/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml b/tests/stacks/gcp/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml index 9ea77c91fc..63e4de61d7 100644 --- a/tests/stacks/gcp/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml +++ b/tests/stacks/gcp/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml @@ -15,6 +15,8 @@ rules: - secrets - events - namespaces + - persistentvolumes + - persistentvolumeclaims verbs: - '*' - apiGroups: @@ -71,5 +73,19 @@ rules: resources: - tfjobs - pytorchjobs + - mpijobs + verbs: + - '*' +- apiGroups: + - tekton.dev + resources: + - pipelineruns + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings verbs: - '*' diff --git a/tests/stacks/gcp/test_data/expected/~g_v1_configmap_katib-config.yaml b/tests/stacks/gcp/test_data/expected/~g_v1_configmap_katib-config.yaml index db619afdb0..3d0b53e168 100644 --- a/tests/stacks/gcp/test_data/expected/~g_v1_configmap_katib-config.yaml +++ b/tests/stacks/gcp/test_data/expected/~g_v1_configmap_katib-config.yaml @@ -1,15 +1,22 @@ apiVersion: v1 data: + early-stopping: |- + { + "medianstop": { + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v1beta1-e294a90", + "imagePullPolicy": "Always" + } + } metrics-collector-sidecar: |- { "StdOut": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "File": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "TensorFlowEvent": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector:ce89cbf", + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v1beta1-e294a90", "resources": { "limits": { "memory": "1Gi" @@ -20,22 +27,22 @@ data: suggestion: |- { "random": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "grid": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v1beta1-e294a90" }, "hyperband": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v1beta1-e294a90" }, "bayesianoptimization": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-skopt:v1beta1-e294a90" }, "tpe": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "enas": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-enas:ce89cbf", + "image": "docker.io/kubeflowkatib/suggestion-enas:v1beta1-e294a90", "imagePullPolicy": "Always", "resources": { "limits": { @@ -44,10 +51,10 @@ data: } }, "cmaes": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-goptuna:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v1beta1-e294a90" }, "darts": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-darts:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-darts:v1beta1-e294a90" } } kind: ConfigMap diff --git a/tests/stacks/gcp/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml b/tests/stacks/gcp/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml deleted file mode 100644 index 51936282ad..0000000000 --- a/tests/stacks/gcp/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: v1 -data: - defaultTrialTemplate.yaml: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - restartPolicy: Never - enasCPUTemplate: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu - command: - - "python3.5" - - "-u" - - "RunTrial.py" - {{- with .HyperParameters}} - {{- range .}} - - "--{{.Name}}=\"{{.Value}}\"" - {{- end}} - {{- end}} - - "--num_epochs=1" - restartPolicy: Never - pytorchJobTemplate: |- - apiVersion: "kubeflow.org/v1" - kind: PyTorchJob - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - pytorchReplicaSpecs: - Master: - replicas: 1 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - Worker: - replicas: 2 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} -kind: ConfigMap -metadata: - labels: - app: katib-trial-templates - app.kubernetes.io/component: katib - app.kubernetes.io/name: katib-controller - name: trial-template-labeled - namespace: kubeflow diff --git a/tests/stacks/gcp/test_data/expected/~g_v1_configmap_trial-template.yaml b/tests/stacks/gcp/test_data/expected/~g_v1_configmap_trial-template.yaml index 5a69403a98..dd80fb8124 100644 --- a/tests/stacks/gcp/test_data/expected/~g_v1_configmap_trial-template.yaml +++ b/tests/stacks/gcp/test_data/expected/~g_v1_configmap_trial-template.yaml @@ -3,28 +3,74 @@ data: defaultTrialTemplate.yaml: |- apiVersion: batch/v1 kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} spec: template: spec: containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} + - name: training-container + image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-e294a90 + command: + - "python3" + - "/opt/mxnet-mnist/mnist.py" + - "--batch-size=64" + - "--lr=${trialParameters.learningRate}" + - "--num-layers=${trialParameters.numberLayers}" + - "--optimizer=${trialParameters.optimizer}" restartPolicy: Never + enasCPUTemplate: |- + apiVersion: batch/v1 + kind: Job + spec: + template: + spec: + containers: + - name: training-container + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-e294a90 + command: + - python3 + - -u + - RunTrial.py + - --num_epochs=1 + - "--architecture=\"${trialParameters.neuralNetworkArchitecture}\"" + - "--nn_config=\"${trialParameters.neuralNetworkConfig}\"" + restartPolicy: Never + pytorchJobTemplate: |- + apiVersion: "kubeflow.org/v1" + kind: PyTorchJob + spec: + pytorchReplicaSpecs: + Master: + replicas: 1 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" + Worker: + replicas: 2 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" kind: ConfigMap metadata: labels: + app: katib-trial-templates app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller name: trial-template diff --git a/tests/stacks/generic/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml b/tests/stacks/generic/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml index 8412945bc0..d5c52ecf04 100644 --- a/tests/stacks/generic/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml +++ b/tests/stacks/generic/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml @@ -8,6 +8,9 @@ metadata: spec: additionalPrinterColumns: - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status name: Status type: string - JSONPath: .metadata.creationTimestamp @@ -25,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/generic/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml b/tests/stacks/generic/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml index 9f1cabef76..22efe19141 100644 --- a/tests/stacks/generic/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml +++ b/tests/stacks/generic/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml @@ -34,4 +34,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/generic/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml b/tests/stacks/generic/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml index 5c42ede721..4ab50ef082 100644 --- a/tests/stacks/generic/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml +++ b/tests/stacks/generic/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml @@ -28,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/generic/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml b/tests/stacks/generic/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml index d104a57371..173425f3a9 100644 --- a/tests/stacks/generic/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml +++ b/tests/stacks/generic/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml @@ -60,7 +60,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/generic/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml b/tests/stacks/generic/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml index 017c6c72f4..ff75fa592b 100644 --- a/tests/stacks/generic/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml +++ b/tests/stacks/generic/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml @@ -58,7 +58,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/generic/test_data/expected/apps_v1_deployment_katib-controller.yaml b/tests/stacks/generic/test_data/expected/apps_v1_deployment_katib-controller.yaml index a2089c4591..ba117f673d 100644 --- a/tests/stacks/generic/test_data/expected/apps_v1_deployment_katib-controller.yaml +++ b/tests/stacks/generic/test_data/expected/apps_v1_deployment_katib-controller.yaml @@ -27,6 +27,11 @@ spec: containers: - args: - --webhook-port=8443 + - --trial-resources=Job.v1.batch + - --trial-resources=TFJob.v1.kubeflow.org + - --trial-resources=PyTorchJob.v1.kubeflow.org + - --trial-resources=MPIJob.v1.kubeflow.org + - --trial-resources=PipelineRun.v1beta1.tekton.dev command: - ./katib-controller env: @@ -34,7 +39,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:ce89cbf + image: docker.io/kubeflowkatib/katib-controller:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-controller ports: diff --git a/tests/stacks/generic/test_data/expected/apps_v1_deployment_katib-db-manager.yaml b/tests/stacks/generic/test_data/expected/apps_v1_deployment_katib-db-manager.yaml index 76bfea13bc..99c40bfb18 100644 --- a/tests/stacks/generic/test_data/expected/apps_v1_deployment_katib-db-manager.yaml +++ b/tests/stacks/generic/test_data/expected/apps_v1_deployment_katib-db-manager.yaml @@ -38,7 +38,7 @@ spec: secretKeyRef: key: MYSQL_ROOT_PASSWORD name: katib-mysql-secrets - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:ce89cbf + image: docker.io/kubeflowkatib/katib-db-manager:v1beta1-e294a90 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/tests/stacks/generic/test_data/expected/apps_v1_deployment_katib-ui.yaml b/tests/stacks/generic/test_data/expected/apps_v1_deployment_katib-ui.yaml index 6421a2f66e..a564bd0d07 100644 --- a/tests/stacks/generic/test_data/expected/apps_v1_deployment_katib-ui.yaml +++ b/tests/stacks/generic/test_data/expected/apps_v1_deployment_katib-ui.yaml @@ -37,7 +37,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:ce89cbf + image: docker.io/kubeflowkatib/katib-ui:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-ui ports: diff --git a/tests/stacks/generic/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml b/tests/stacks/generic/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml index 9ea77c91fc..63e4de61d7 100644 --- a/tests/stacks/generic/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml +++ b/tests/stacks/generic/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml @@ -15,6 +15,8 @@ rules: - secrets - events - namespaces + - persistentvolumes + - persistentvolumeclaims verbs: - '*' - apiGroups: @@ -71,5 +73,19 @@ rules: resources: - tfjobs - pytorchjobs + - mpijobs + verbs: + - '*' +- apiGroups: + - tekton.dev + resources: + - pipelineruns + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings verbs: - '*' diff --git a/tests/stacks/generic/test_data/expected/~g_v1_configmap_katib-config.yaml b/tests/stacks/generic/test_data/expected/~g_v1_configmap_katib-config.yaml index db619afdb0..3d0b53e168 100644 --- a/tests/stacks/generic/test_data/expected/~g_v1_configmap_katib-config.yaml +++ b/tests/stacks/generic/test_data/expected/~g_v1_configmap_katib-config.yaml @@ -1,15 +1,22 @@ apiVersion: v1 data: + early-stopping: |- + { + "medianstop": { + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v1beta1-e294a90", + "imagePullPolicy": "Always" + } + } metrics-collector-sidecar: |- { "StdOut": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "File": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "TensorFlowEvent": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector:ce89cbf", + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v1beta1-e294a90", "resources": { "limits": { "memory": "1Gi" @@ -20,22 +27,22 @@ data: suggestion: |- { "random": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "grid": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v1beta1-e294a90" }, "hyperband": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v1beta1-e294a90" }, "bayesianoptimization": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-skopt:v1beta1-e294a90" }, "tpe": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "enas": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-enas:ce89cbf", + "image": "docker.io/kubeflowkatib/suggestion-enas:v1beta1-e294a90", "imagePullPolicy": "Always", "resources": { "limits": { @@ -44,10 +51,10 @@ data: } }, "cmaes": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-goptuna:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v1beta1-e294a90" }, "darts": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-darts:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-darts:v1beta1-e294a90" } } kind: ConfigMap diff --git a/tests/stacks/generic/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml b/tests/stacks/generic/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml deleted file mode 100644 index 51936282ad..0000000000 --- a/tests/stacks/generic/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: v1 -data: - defaultTrialTemplate.yaml: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - restartPolicy: Never - enasCPUTemplate: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu - command: - - "python3.5" - - "-u" - - "RunTrial.py" - {{- with .HyperParameters}} - {{- range .}} - - "--{{.Name}}=\"{{.Value}}\"" - {{- end}} - {{- end}} - - "--num_epochs=1" - restartPolicy: Never - pytorchJobTemplate: |- - apiVersion: "kubeflow.org/v1" - kind: PyTorchJob - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - pytorchReplicaSpecs: - Master: - replicas: 1 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - Worker: - replicas: 2 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} -kind: ConfigMap -metadata: - labels: - app: katib-trial-templates - app.kubernetes.io/component: katib - app.kubernetes.io/name: katib-controller - name: trial-template-labeled - namespace: kubeflow diff --git a/tests/stacks/generic/test_data/expected/~g_v1_configmap_trial-template.yaml b/tests/stacks/generic/test_data/expected/~g_v1_configmap_trial-template.yaml index 5a69403a98..dd80fb8124 100644 --- a/tests/stacks/generic/test_data/expected/~g_v1_configmap_trial-template.yaml +++ b/tests/stacks/generic/test_data/expected/~g_v1_configmap_trial-template.yaml @@ -3,28 +3,74 @@ data: defaultTrialTemplate.yaml: |- apiVersion: batch/v1 kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} spec: template: spec: containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} + - name: training-container + image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-e294a90 + command: + - "python3" + - "/opt/mxnet-mnist/mnist.py" + - "--batch-size=64" + - "--lr=${trialParameters.learningRate}" + - "--num-layers=${trialParameters.numberLayers}" + - "--optimizer=${trialParameters.optimizer}" restartPolicy: Never + enasCPUTemplate: |- + apiVersion: batch/v1 + kind: Job + spec: + template: + spec: + containers: + - name: training-container + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-e294a90 + command: + - python3 + - -u + - RunTrial.py + - --num_epochs=1 + - "--architecture=\"${trialParameters.neuralNetworkArchitecture}\"" + - "--nn_config=\"${trialParameters.neuralNetworkConfig}\"" + restartPolicy: Never + pytorchJobTemplate: |- + apiVersion: "kubeflow.org/v1" + kind: PyTorchJob + spec: + pytorchReplicaSpecs: + Master: + replicas: 1 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" + Worker: + replicas: 2 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" kind: ConfigMap metadata: labels: + app: katib-trial-templates app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller name: trial-template diff --git a/tests/stacks/ibm/components/katib/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml b/tests/stacks/ibm/components/katib/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml index 8412945bc0..d5c52ecf04 100644 --- a/tests/stacks/ibm/components/katib/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml +++ b/tests/stacks/ibm/components/katib/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml @@ -8,6 +8,9 @@ metadata: spec: additionalPrinterColumns: - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status name: Status type: string - JSONPath: .metadata.creationTimestamp @@ -25,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/ibm/components/katib/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml b/tests/stacks/ibm/components/katib/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml index 9f1cabef76..22efe19141 100644 --- a/tests/stacks/ibm/components/katib/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml +++ b/tests/stacks/ibm/components/katib/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml @@ -34,4 +34,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/ibm/components/katib/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml b/tests/stacks/ibm/components/katib/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml index 5c42ede721..4ab50ef082 100644 --- a/tests/stacks/ibm/components/katib/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml +++ b/tests/stacks/ibm/components/katib/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml @@ -28,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/ibm/components/katib/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml b/tests/stacks/ibm/components/katib/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml index d104a57371..173425f3a9 100644 --- a/tests/stacks/ibm/components/katib/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml +++ b/tests/stacks/ibm/components/katib/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml @@ -60,7 +60,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/ibm/components/katib/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml b/tests/stacks/ibm/components/katib/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml index 017c6c72f4..ff75fa592b 100644 --- a/tests/stacks/ibm/components/katib/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml +++ b/tests/stacks/ibm/components/katib/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml @@ -58,7 +58,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/ibm/components/katib/test_data/expected/apps_v1_deployment_katib-controller.yaml b/tests/stacks/ibm/components/katib/test_data/expected/apps_v1_deployment_katib-controller.yaml index a2089c4591..ba117f673d 100644 --- a/tests/stacks/ibm/components/katib/test_data/expected/apps_v1_deployment_katib-controller.yaml +++ b/tests/stacks/ibm/components/katib/test_data/expected/apps_v1_deployment_katib-controller.yaml @@ -27,6 +27,11 @@ spec: containers: - args: - --webhook-port=8443 + - --trial-resources=Job.v1.batch + - --trial-resources=TFJob.v1.kubeflow.org + - --trial-resources=PyTorchJob.v1.kubeflow.org + - --trial-resources=MPIJob.v1.kubeflow.org + - --trial-resources=PipelineRun.v1beta1.tekton.dev command: - ./katib-controller env: @@ -34,7 +39,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:ce89cbf + image: docker.io/kubeflowkatib/katib-controller:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-controller ports: diff --git a/tests/stacks/ibm/components/katib/test_data/expected/apps_v1_deployment_katib-db-manager.yaml b/tests/stacks/ibm/components/katib/test_data/expected/apps_v1_deployment_katib-db-manager.yaml index 76bfea13bc..99c40bfb18 100644 --- a/tests/stacks/ibm/components/katib/test_data/expected/apps_v1_deployment_katib-db-manager.yaml +++ b/tests/stacks/ibm/components/katib/test_data/expected/apps_v1_deployment_katib-db-manager.yaml @@ -38,7 +38,7 @@ spec: secretKeyRef: key: MYSQL_ROOT_PASSWORD name: katib-mysql-secrets - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:ce89cbf + image: docker.io/kubeflowkatib/katib-db-manager:v1beta1-e294a90 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/tests/stacks/ibm/components/katib/test_data/expected/apps_v1_deployment_katib-ui.yaml b/tests/stacks/ibm/components/katib/test_data/expected/apps_v1_deployment_katib-ui.yaml index 6421a2f66e..a564bd0d07 100644 --- a/tests/stacks/ibm/components/katib/test_data/expected/apps_v1_deployment_katib-ui.yaml +++ b/tests/stacks/ibm/components/katib/test_data/expected/apps_v1_deployment_katib-ui.yaml @@ -37,7 +37,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:ce89cbf + image: docker.io/kubeflowkatib/katib-ui:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-ui ports: diff --git a/tests/stacks/ibm/components/katib/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml b/tests/stacks/ibm/components/katib/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml index 9ea77c91fc..63e4de61d7 100644 --- a/tests/stacks/ibm/components/katib/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml +++ b/tests/stacks/ibm/components/katib/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml @@ -15,6 +15,8 @@ rules: - secrets - events - namespaces + - persistentvolumes + - persistentvolumeclaims verbs: - '*' - apiGroups: @@ -71,5 +73,19 @@ rules: resources: - tfjobs - pytorchjobs + - mpijobs + verbs: + - '*' +- apiGroups: + - tekton.dev + resources: + - pipelineruns + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings verbs: - '*' diff --git a/tests/stacks/ibm/components/katib/test_data/expected/~g_v1_configmap_katib-config.yaml b/tests/stacks/ibm/components/katib/test_data/expected/~g_v1_configmap_katib-config.yaml index db619afdb0..3d0b53e168 100644 --- a/tests/stacks/ibm/components/katib/test_data/expected/~g_v1_configmap_katib-config.yaml +++ b/tests/stacks/ibm/components/katib/test_data/expected/~g_v1_configmap_katib-config.yaml @@ -1,15 +1,22 @@ apiVersion: v1 data: + early-stopping: |- + { + "medianstop": { + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v1beta1-e294a90", + "imagePullPolicy": "Always" + } + } metrics-collector-sidecar: |- { "StdOut": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "File": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "TensorFlowEvent": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector:ce89cbf", + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v1beta1-e294a90", "resources": { "limits": { "memory": "1Gi" @@ -20,22 +27,22 @@ data: suggestion: |- { "random": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "grid": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v1beta1-e294a90" }, "hyperband": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v1beta1-e294a90" }, "bayesianoptimization": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-skopt:v1beta1-e294a90" }, "tpe": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "enas": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-enas:ce89cbf", + "image": "docker.io/kubeflowkatib/suggestion-enas:v1beta1-e294a90", "imagePullPolicy": "Always", "resources": { "limits": { @@ -44,10 +51,10 @@ data: } }, "cmaes": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-goptuna:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v1beta1-e294a90" }, "darts": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-darts:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-darts:v1beta1-e294a90" } } kind: ConfigMap diff --git a/tests/stacks/ibm/components/katib/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml b/tests/stacks/ibm/components/katib/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml deleted file mode 100644 index 51936282ad..0000000000 --- a/tests/stacks/ibm/components/katib/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: v1 -data: - defaultTrialTemplate.yaml: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - restartPolicy: Never - enasCPUTemplate: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu - command: - - "python3.5" - - "-u" - - "RunTrial.py" - {{- with .HyperParameters}} - {{- range .}} - - "--{{.Name}}=\"{{.Value}}\"" - {{- end}} - {{- end}} - - "--num_epochs=1" - restartPolicy: Never - pytorchJobTemplate: |- - apiVersion: "kubeflow.org/v1" - kind: PyTorchJob - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - pytorchReplicaSpecs: - Master: - replicas: 1 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - Worker: - replicas: 2 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} -kind: ConfigMap -metadata: - labels: - app: katib-trial-templates - app.kubernetes.io/component: katib - app.kubernetes.io/name: katib-controller - name: trial-template-labeled - namespace: kubeflow diff --git a/tests/stacks/ibm/components/katib/test_data/expected/~g_v1_configmap_trial-template.yaml b/tests/stacks/ibm/components/katib/test_data/expected/~g_v1_configmap_trial-template.yaml index 5a69403a98..dd80fb8124 100644 --- a/tests/stacks/ibm/components/katib/test_data/expected/~g_v1_configmap_trial-template.yaml +++ b/tests/stacks/ibm/components/katib/test_data/expected/~g_v1_configmap_trial-template.yaml @@ -3,28 +3,74 @@ data: defaultTrialTemplate.yaml: |- apiVersion: batch/v1 kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} spec: template: spec: containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} + - name: training-container + image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-e294a90 + command: + - "python3" + - "/opt/mxnet-mnist/mnist.py" + - "--batch-size=64" + - "--lr=${trialParameters.learningRate}" + - "--num-layers=${trialParameters.numberLayers}" + - "--optimizer=${trialParameters.optimizer}" restartPolicy: Never + enasCPUTemplate: |- + apiVersion: batch/v1 + kind: Job + spec: + template: + spec: + containers: + - name: training-container + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-e294a90 + command: + - python3 + - -u + - RunTrial.py + - --num_epochs=1 + - "--architecture=\"${trialParameters.neuralNetworkArchitecture}\"" + - "--nn_config=\"${trialParameters.neuralNetworkConfig}\"" + restartPolicy: Never + pytorchJobTemplate: |- + apiVersion: "kubeflow.org/v1" + kind: PyTorchJob + spec: + pytorchReplicaSpecs: + Master: + replicas: 1 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" + Worker: + replicas: 2 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" kind: ConfigMap metadata: labels: + app: katib-trial-templates app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller name: trial-template diff --git a/tests/stacks/ibm/multi-user/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml b/tests/stacks/ibm/multi-user/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml index 8412945bc0..d5c52ecf04 100644 --- a/tests/stacks/ibm/multi-user/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml +++ b/tests/stacks/ibm/multi-user/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml @@ -8,6 +8,9 @@ metadata: spec: additionalPrinterColumns: - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status name: Status type: string - JSONPath: .metadata.creationTimestamp @@ -25,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/ibm/multi-user/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml b/tests/stacks/ibm/multi-user/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml index 9f1cabef76..22efe19141 100644 --- a/tests/stacks/ibm/multi-user/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml +++ b/tests/stacks/ibm/multi-user/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml @@ -34,4 +34,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/ibm/multi-user/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml b/tests/stacks/ibm/multi-user/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml index 5c42ede721..4ab50ef082 100644 --- a/tests/stacks/ibm/multi-user/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml +++ b/tests/stacks/ibm/multi-user/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml @@ -28,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/ibm/multi-user/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml b/tests/stacks/ibm/multi-user/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml index d104a57371..173425f3a9 100644 --- a/tests/stacks/ibm/multi-user/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml +++ b/tests/stacks/ibm/multi-user/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml @@ -60,7 +60,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/ibm/multi-user/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml b/tests/stacks/ibm/multi-user/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml index 017c6c72f4..ff75fa592b 100644 --- a/tests/stacks/ibm/multi-user/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml +++ b/tests/stacks/ibm/multi-user/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml @@ -58,7 +58,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/ibm/multi-user/test_data/expected/apps_v1_deployment_katib-controller.yaml b/tests/stacks/ibm/multi-user/test_data/expected/apps_v1_deployment_katib-controller.yaml index a2089c4591..ba117f673d 100644 --- a/tests/stacks/ibm/multi-user/test_data/expected/apps_v1_deployment_katib-controller.yaml +++ b/tests/stacks/ibm/multi-user/test_data/expected/apps_v1_deployment_katib-controller.yaml @@ -27,6 +27,11 @@ spec: containers: - args: - --webhook-port=8443 + - --trial-resources=Job.v1.batch + - --trial-resources=TFJob.v1.kubeflow.org + - --trial-resources=PyTorchJob.v1.kubeflow.org + - --trial-resources=MPIJob.v1.kubeflow.org + - --trial-resources=PipelineRun.v1beta1.tekton.dev command: - ./katib-controller env: @@ -34,7 +39,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:ce89cbf + image: docker.io/kubeflowkatib/katib-controller:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-controller ports: diff --git a/tests/stacks/ibm/multi-user/test_data/expected/apps_v1_deployment_katib-db-manager.yaml b/tests/stacks/ibm/multi-user/test_data/expected/apps_v1_deployment_katib-db-manager.yaml index 76bfea13bc..99c40bfb18 100644 --- a/tests/stacks/ibm/multi-user/test_data/expected/apps_v1_deployment_katib-db-manager.yaml +++ b/tests/stacks/ibm/multi-user/test_data/expected/apps_v1_deployment_katib-db-manager.yaml @@ -38,7 +38,7 @@ spec: secretKeyRef: key: MYSQL_ROOT_PASSWORD name: katib-mysql-secrets - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:ce89cbf + image: docker.io/kubeflowkatib/katib-db-manager:v1beta1-e294a90 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/tests/stacks/ibm/multi-user/test_data/expected/apps_v1_deployment_katib-ui.yaml b/tests/stacks/ibm/multi-user/test_data/expected/apps_v1_deployment_katib-ui.yaml index 6421a2f66e..a564bd0d07 100644 --- a/tests/stacks/ibm/multi-user/test_data/expected/apps_v1_deployment_katib-ui.yaml +++ b/tests/stacks/ibm/multi-user/test_data/expected/apps_v1_deployment_katib-ui.yaml @@ -37,7 +37,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:ce89cbf + image: docker.io/kubeflowkatib/katib-ui:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-ui ports: diff --git a/tests/stacks/ibm/multi-user/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml b/tests/stacks/ibm/multi-user/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml index 9ea77c91fc..63e4de61d7 100644 --- a/tests/stacks/ibm/multi-user/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml +++ b/tests/stacks/ibm/multi-user/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml @@ -15,6 +15,8 @@ rules: - secrets - events - namespaces + - persistentvolumes + - persistentvolumeclaims verbs: - '*' - apiGroups: @@ -71,5 +73,19 @@ rules: resources: - tfjobs - pytorchjobs + - mpijobs + verbs: + - '*' +- apiGroups: + - tekton.dev + resources: + - pipelineruns + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings verbs: - '*' diff --git a/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_katib-config.yaml b/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_katib-config.yaml index db619afdb0..3d0b53e168 100644 --- a/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_katib-config.yaml +++ b/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_katib-config.yaml @@ -1,15 +1,22 @@ apiVersion: v1 data: + early-stopping: |- + { + "medianstop": { + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v1beta1-e294a90", + "imagePullPolicy": "Always" + } + } metrics-collector-sidecar: |- { "StdOut": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "File": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "TensorFlowEvent": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector:ce89cbf", + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v1beta1-e294a90", "resources": { "limits": { "memory": "1Gi" @@ -20,22 +27,22 @@ data: suggestion: |- { "random": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "grid": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v1beta1-e294a90" }, "hyperband": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v1beta1-e294a90" }, "bayesianoptimization": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-skopt:v1beta1-e294a90" }, "tpe": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "enas": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-enas:ce89cbf", + "image": "docker.io/kubeflowkatib/suggestion-enas:v1beta1-e294a90", "imagePullPolicy": "Always", "resources": { "limits": { @@ -44,10 +51,10 @@ data: } }, "cmaes": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-goptuna:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v1beta1-e294a90" }, "darts": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-darts:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-darts:v1beta1-e294a90" } } kind: ConfigMap diff --git a/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml b/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml deleted file mode 100644 index 51936282ad..0000000000 --- a/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: v1 -data: - defaultTrialTemplate.yaml: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - restartPolicy: Never - enasCPUTemplate: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu - command: - - "python3.5" - - "-u" - - "RunTrial.py" - {{- with .HyperParameters}} - {{- range .}} - - "--{{.Name}}=\"{{.Value}}\"" - {{- end}} - {{- end}} - - "--num_epochs=1" - restartPolicy: Never - pytorchJobTemplate: |- - apiVersion: "kubeflow.org/v1" - kind: PyTorchJob - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - pytorchReplicaSpecs: - Master: - replicas: 1 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - Worker: - replicas: 2 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} -kind: ConfigMap -metadata: - labels: - app: katib-trial-templates - app.kubernetes.io/component: katib - app.kubernetes.io/name: katib-controller - name: trial-template-labeled - namespace: kubeflow diff --git a/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_trial-template.yaml b/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_trial-template.yaml index 5a69403a98..dd80fb8124 100644 --- a/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_trial-template.yaml +++ b/tests/stacks/ibm/multi-user/test_data/expected/~g_v1_configmap_trial-template.yaml @@ -3,28 +3,74 @@ data: defaultTrialTemplate.yaml: |- apiVersion: batch/v1 kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} spec: template: spec: containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} + - name: training-container + image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-e294a90 + command: + - "python3" + - "/opt/mxnet-mnist/mnist.py" + - "--batch-size=64" + - "--lr=${trialParameters.learningRate}" + - "--num-layers=${trialParameters.numberLayers}" + - "--optimizer=${trialParameters.optimizer}" restartPolicy: Never + enasCPUTemplate: |- + apiVersion: batch/v1 + kind: Job + spec: + template: + spec: + containers: + - name: training-container + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-e294a90 + command: + - python3 + - -u + - RunTrial.py + - --num_epochs=1 + - "--architecture=\"${trialParameters.neuralNetworkArchitecture}\"" + - "--nn_config=\"${trialParameters.neuralNetworkConfig}\"" + restartPolicy: Never + pytorchJobTemplate: |- + apiVersion: "kubeflow.org/v1" + kind: PyTorchJob + spec: + pytorchReplicaSpecs: + Master: + replicas: 1 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" + Worker: + replicas: 2 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" kind: ConfigMap metadata: labels: + app: katib-trial-templates app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller name: trial-template diff --git a/tests/stacks/ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml b/tests/stacks/ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml index 8412945bc0..d5c52ecf04 100644 --- a/tests/stacks/ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml +++ b/tests/stacks/ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml @@ -8,6 +8,9 @@ metadata: spec: additionalPrinterColumns: - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status name: Status type: string - JSONPath: .metadata.creationTimestamp @@ -25,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml b/tests/stacks/ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml index 9f1cabef76..22efe19141 100644 --- a/tests/stacks/ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml +++ b/tests/stacks/ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml @@ -34,4 +34,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml b/tests/stacks/ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml index 5c42ede721..4ab50ef082 100644 --- a/tests/stacks/ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml +++ b/tests/stacks/ibm/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml @@ -28,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml b/tests/stacks/ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml index d104a57371..173425f3a9 100644 --- a/tests/stacks/ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml +++ b/tests/stacks/ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml @@ -60,7 +60,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml b/tests/stacks/ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml index 017c6c72f4..ff75fa592b 100644 --- a/tests/stacks/ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml +++ b/tests/stacks/ibm/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml @@ -58,7 +58,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/ibm/test_data/expected/apps_v1_deployment_katib-controller.yaml b/tests/stacks/ibm/test_data/expected/apps_v1_deployment_katib-controller.yaml index a2089c4591..ba117f673d 100644 --- a/tests/stacks/ibm/test_data/expected/apps_v1_deployment_katib-controller.yaml +++ b/tests/stacks/ibm/test_data/expected/apps_v1_deployment_katib-controller.yaml @@ -27,6 +27,11 @@ spec: containers: - args: - --webhook-port=8443 + - --trial-resources=Job.v1.batch + - --trial-resources=TFJob.v1.kubeflow.org + - --trial-resources=PyTorchJob.v1.kubeflow.org + - --trial-resources=MPIJob.v1.kubeflow.org + - --trial-resources=PipelineRun.v1beta1.tekton.dev command: - ./katib-controller env: @@ -34,7 +39,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:ce89cbf + image: docker.io/kubeflowkatib/katib-controller:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-controller ports: diff --git a/tests/stacks/ibm/test_data/expected/apps_v1_deployment_katib-db-manager.yaml b/tests/stacks/ibm/test_data/expected/apps_v1_deployment_katib-db-manager.yaml index 76bfea13bc..99c40bfb18 100644 --- a/tests/stacks/ibm/test_data/expected/apps_v1_deployment_katib-db-manager.yaml +++ b/tests/stacks/ibm/test_data/expected/apps_v1_deployment_katib-db-manager.yaml @@ -38,7 +38,7 @@ spec: secretKeyRef: key: MYSQL_ROOT_PASSWORD name: katib-mysql-secrets - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:ce89cbf + image: docker.io/kubeflowkatib/katib-db-manager:v1beta1-e294a90 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/tests/stacks/ibm/test_data/expected/apps_v1_deployment_katib-ui.yaml b/tests/stacks/ibm/test_data/expected/apps_v1_deployment_katib-ui.yaml index 6421a2f66e..a564bd0d07 100644 --- a/tests/stacks/ibm/test_data/expected/apps_v1_deployment_katib-ui.yaml +++ b/tests/stacks/ibm/test_data/expected/apps_v1_deployment_katib-ui.yaml @@ -37,7 +37,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:ce89cbf + image: docker.io/kubeflowkatib/katib-ui:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-ui ports: diff --git a/tests/stacks/ibm/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml b/tests/stacks/ibm/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml index 9ea77c91fc..63e4de61d7 100644 --- a/tests/stacks/ibm/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml +++ b/tests/stacks/ibm/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml @@ -15,6 +15,8 @@ rules: - secrets - events - namespaces + - persistentvolumes + - persistentvolumeclaims verbs: - '*' - apiGroups: @@ -71,5 +73,19 @@ rules: resources: - tfjobs - pytorchjobs + - mpijobs + verbs: + - '*' +- apiGroups: + - tekton.dev + resources: + - pipelineruns + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings verbs: - '*' diff --git a/tests/stacks/ibm/test_data/expected/~g_v1_configmap_katib-config.yaml b/tests/stacks/ibm/test_data/expected/~g_v1_configmap_katib-config.yaml index db619afdb0..3d0b53e168 100644 --- a/tests/stacks/ibm/test_data/expected/~g_v1_configmap_katib-config.yaml +++ b/tests/stacks/ibm/test_data/expected/~g_v1_configmap_katib-config.yaml @@ -1,15 +1,22 @@ apiVersion: v1 data: + early-stopping: |- + { + "medianstop": { + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v1beta1-e294a90", + "imagePullPolicy": "Always" + } + } metrics-collector-sidecar: |- { "StdOut": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "File": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "TensorFlowEvent": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector:ce89cbf", + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v1beta1-e294a90", "resources": { "limits": { "memory": "1Gi" @@ -20,22 +27,22 @@ data: suggestion: |- { "random": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "grid": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v1beta1-e294a90" }, "hyperband": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v1beta1-e294a90" }, "bayesianoptimization": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-skopt:v1beta1-e294a90" }, "tpe": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "enas": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-enas:ce89cbf", + "image": "docker.io/kubeflowkatib/suggestion-enas:v1beta1-e294a90", "imagePullPolicy": "Always", "resources": { "limits": { @@ -44,10 +51,10 @@ data: } }, "cmaes": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-goptuna:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v1beta1-e294a90" }, "darts": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-darts:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-darts:v1beta1-e294a90" } } kind: ConfigMap diff --git a/tests/stacks/ibm/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml b/tests/stacks/ibm/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml deleted file mode 100644 index 51936282ad..0000000000 --- a/tests/stacks/ibm/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: v1 -data: - defaultTrialTemplate.yaml: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - restartPolicy: Never - enasCPUTemplate: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu - command: - - "python3.5" - - "-u" - - "RunTrial.py" - {{- with .HyperParameters}} - {{- range .}} - - "--{{.Name}}=\"{{.Value}}\"" - {{- end}} - {{- end}} - - "--num_epochs=1" - restartPolicy: Never - pytorchJobTemplate: |- - apiVersion: "kubeflow.org/v1" - kind: PyTorchJob - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - pytorchReplicaSpecs: - Master: - replicas: 1 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - Worker: - replicas: 2 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} -kind: ConfigMap -metadata: - labels: - app: katib-trial-templates - app.kubernetes.io/component: katib - app.kubernetes.io/name: katib-controller - name: trial-template-labeled - namespace: kubeflow diff --git a/tests/stacks/ibm/test_data/expected/~g_v1_configmap_trial-template.yaml b/tests/stacks/ibm/test_data/expected/~g_v1_configmap_trial-template.yaml index 5a69403a98..dd80fb8124 100644 --- a/tests/stacks/ibm/test_data/expected/~g_v1_configmap_trial-template.yaml +++ b/tests/stacks/ibm/test_data/expected/~g_v1_configmap_trial-template.yaml @@ -3,28 +3,74 @@ data: defaultTrialTemplate.yaml: |- apiVersion: batch/v1 kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} spec: template: spec: containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} + - name: training-container + image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-e294a90 + command: + - "python3" + - "/opt/mxnet-mnist/mnist.py" + - "--batch-size=64" + - "--lr=${trialParameters.learningRate}" + - "--num-layers=${trialParameters.numberLayers}" + - "--optimizer=${trialParameters.optimizer}" restartPolicy: Never + enasCPUTemplate: |- + apiVersion: batch/v1 + kind: Job + spec: + template: + spec: + containers: + - name: training-container + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-e294a90 + command: + - python3 + - -u + - RunTrial.py + - --num_epochs=1 + - "--architecture=\"${trialParameters.neuralNetworkArchitecture}\"" + - "--nn_config=\"${trialParameters.neuralNetworkConfig}\"" + restartPolicy: Never + pytorchJobTemplate: |- + apiVersion: "kubeflow.org/v1" + kind: PyTorchJob + spec: + pytorchReplicaSpecs: + Master: + replicas: 1 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" + Worker: + replicas: 2 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" kind: ConfigMap metadata: labels: + app: katib-trial-templates app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller name: trial-template diff --git a/tests/stacks/kubernetes/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml b/tests/stacks/kubernetes/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml index 8412945bc0..d5c52ecf04 100644 --- a/tests/stacks/kubernetes/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml +++ b/tests/stacks/kubernetes/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml @@ -8,6 +8,9 @@ metadata: spec: additionalPrinterColumns: - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status name: Status type: string - JSONPath: .metadata.creationTimestamp @@ -25,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/kubernetes/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml b/tests/stacks/kubernetes/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml index 9f1cabef76..22efe19141 100644 --- a/tests/stacks/kubernetes/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml +++ b/tests/stacks/kubernetes/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml @@ -34,4 +34,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/kubernetes/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml b/tests/stacks/kubernetes/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml index 5c42ede721..4ab50ef082 100644 --- a/tests/stacks/kubernetes/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml +++ b/tests/stacks/kubernetes/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml @@ -28,4 +28,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/stacks/kubernetes/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml b/tests/stacks/kubernetes/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml index d104a57371..173425f3a9 100644 --- a/tests/stacks/kubernetes/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml +++ b/tests/stacks/kubernetes/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml @@ -60,7 +60,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/kubernetes/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml b/tests/stacks/kubernetes/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml index 017c6c72f4..ff75fa592b 100644 --- a/tests/stacks/kubernetes/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml +++ b/tests/stacks/kubernetes/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml @@ -58,7 +58,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_katib-controller.yaml b/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_katib-controller.yaml index a2089c4591..ba117f673d 100644 --- a/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_katib-controller.yaml +++ b/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_katib-controller.yaml @@ -27,6 +27,11 @@ spec: containers: - args: - --webhook-port=8443 + - --trial-resources=Job.v1.batch + - --trial-resources=TFJob.v1.kubeflow.org + - --trial-resources=PyTorchJob.v1.kubeflow.org + - --trial-resources=MPIJob.v1.kubeflow.org + - --trial-resources=PipelineRun.v1beta1.tekton.dev command: - ./katib-controller env: @@ -34,7 +39,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:ce89cbf + image: docker.io/kubeflowkatib/katib-controller:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-controller ports: diff --git a/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_katib-db-manager.yaml b/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_katib-db-manager.yaml index 76bfea13bc..99c40bfb18 100644 --- a/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_katib-db-manager.yaml +++ b/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_katib-db-manager.yaml @@ -38,7 +38,7 @@ spec: secretKeyRef: key: MYSQL_ROOT_PASSWORD name: katib-mysql-secrets - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:ce89cbf + image: docker.io/kubeflowkatib/katib-db-manager:v1beta1-e294a90 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_katib-ui.yaml b/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_katib-ui.yaml index 6421a2f66e..a564bd0d07 100644 --- a/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_katib-ui.yaml +++ b/tests/stacks/kubernetes/test_data/expected/apps_v1_deployment_katib-ui.yaml @@ -37,7 +37,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:ce89cbf + image: docker.io/kubeflowkatib/katib-ui:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-ui ports: diff --git a/tests/stacks/kubernetes/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml b/tests/stacks/kubernetes/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml index 9ea77c91fc..63e4de61d7 100644 --- a/tests/stacks/kubernetes/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml +++ b/tests/stacks/kubernetes/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml @@ -15,6 +15,8 @@ rules: - secrets - events - namespaces + - persistentvolumes + - persistentvolumeclaims verbs: - '*' - apiGroups: @@ -71,5 +73,19 @@ rules: resources: - tfjobs - pytorchjobs + - mpijobs + verbs: + - '*' +- apiGroups: + - tekton.dev + resources: + - pipelineruns + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings verbs: - '*' diff --git a/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_katib-config.yaml b/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_katib-config.yaml index db619afdb0..3d0b53e168 100644 --- a/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_katib-config.yaml +++ b/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_katib-config.yaml @@ -1,15 +1,22 @@ apiVersion: v1 data: + early-stopping: |- + { + "medianstop": { + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v1beta1-e294a90", + "imagePullPolicy": "Always" + } + } metrics-collector-sidecar: |- { "StdOut": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "File": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "TensorFlowEvent": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector:ce89cbf", + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v1beta1-e294a90", "resources": { "limits": { "memory": "1Gi" @@ -20,22 +27,22 @@ data: suggestion: |- { "random": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "grid": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v1beta1-e294a90" }, "hyperband": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v1beta1-e294a90" }, "bayesianoptimization": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-skopt:v1beta1-e294a90" }, "tpe": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "enas": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-enas:ce89cbf", + "image": "docker.io/kubeflowkatib/suggestion-enas:v1beta1-e294a90", "imagePullPolicy": "Always", "resources": { "limits": { @@ -44,10 +51,10 @@ data: } }, "cmaes": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-goptuna:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v1beta1-e294a90" }, "darts": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-darts:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-darts:v1beta1-e294a90" } } kind: ConfigMap diff --git a/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml b/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml deleted file mode 100644 index 51936282ad..0000000000 --- a/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: v1 -data: - defaultTrialTemplate.yaml: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - restartPolicy: Never - enasCPUTemplate: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu - command: - - "python3.5" - - "-u" - - "RunTrial.py" - {{- with .HyperParameters}} - {{- range .}} - - "--{{.Name}}=\"{{.Value}}\"" - {{- end}} - {{- end}} - - "--num_epochs=1" - restartPolicy: Never - pytorchJobTemplate: |- - apiVersion: "kubeflow.org/v1" - kind: PyTorchJob - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - pytorchReplicaSpecs: - Master: - replicas: 1 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - Worker: - replicas: 2 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} -kind: ConfigMap -metadata: - labels: - app: katib-trial-templates - app.kubernetes.io/component: katib - app.kubernetes.io/name: katib-controller - name: trial-template-labeled - namespace: kubeflow diff --git a/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_trial-template.yaml b/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_trial-template.yaml index 5a69403a98..dd80fb8124 100644 --- a/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_trial-template.yaml +++ b/tests/stacks/kubernetes/test_data/expected/~g_v1_configmap_trial-template.yaml @@ -3,28 +3,74 @@ data: defaultTrialTemplate.yaml: |- apiVersion: batch/v1 kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} spec: template: spec: containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} + - name: training-container + image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-e294a90 + command: + - "python3" + - "/opt/mxnet-mnist/mnist.py" + - "--batch-size=64" + - "--lr=${trialParameters.learningRate}" + - "--num-layers=${trialParameters.numberLayers}" + - "--optimizer=${trialParameters.optimizer}" restartPolicy: Never + enasCPUTemplate: |- + apiVersion: batch/v1 + kind: Job + spec: + template: + spec: + containers: + - name: training-container + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-e294a90 + command: + - python3 + - -u + - RunTrial.py + - --num_epochs=1 + - "--architecture=\"${trialParameters.neuralNetworkArchitecture}\"" + - "--nn_config=\"${trialParameters.neuralNetworkConfig}\"" + restartPolicy: Never + pytorchJobTemplate: |- + apiVersion: "kubeflow.org/v1" + kind: PyTorchJob + spec: + pytorchReplicaSpecs: + Master: + replicas: 1 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" + Worker: + replicas: 2 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" kind: ConfigMap metadata: labels: + app: katib-trial-templates app.kubernetes.io/component: katib app.kubernetes.io/name: katib-controller name: trial-template diff --git a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml index 86e46ec091..7736b35d26 100644 --- a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml +++ b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/app.k8s.io_v1beta1_application_katib-controller.yaml @@ -64,7 +64,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib diff --git a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/apps_v1_deployment_katib-controller.yaml b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/apps_v1_deployment_katib-controller.yaml index a0407bfd3e..5747327f24 100644 --- a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/apps_v1_deployment_katib-controller.yaml +++ b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/apps_v1_deployment_katib-controller.yaml @@ -39,6 +39,11 @@ spec: containers: - args: - --webhook-port=8443 + - --trial-resources=Job.v1.batch + - --trial-resources=TFJob.v1.kubeflow.org + - --trial-resources=PyTorchJob.v1.kubeflow.org + - --trial-resources=MPIJob.v1.kubeflow.org + - --trial-resources=PipelineRun.v1beta1.tekton.dev command: - ./katib-controller env: @@ -46,7 +51,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:ce89cbf + image: docker.io/kubeflowkatib/katib-controller:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-controller ports: diff --git a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/apps_v1_deployment_katib-db-manager.yaml b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/apps_v1_deployment_katib-db-manager.yaml index 421242f0b3..393baf9169 100644 --- a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/apps_v1_deployment_katib-db-manager.yaml +++ b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/apps_v1_deployment_katib-db-manager.yaml @@ -50,7 +50,7 @@ spec: secretKeyRef: key: MYSQL_ROOT_PASSWORD name: katib-mysql-secrets - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:ce89cbf + image: docker.io/kubeflowkatib/katib-db-manager:v1beta1-e294a90 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/apps_v1_deployment_katib-ui.yaml b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/apps_v1_deployment_katib-ui.yaml index 6ae26f9635..c0545505ea 100644 --- a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/apps_v1_deployment_katib-ui.yaml +++ b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/apps_v1_deployment_katib-ui.yaml @@ -49,7 +49,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:ce89cbf + image: docker.io/kubeflowkatib/katib-ui:v1beta1-e294a90 imagePullPolicy: IfNotPresent name: katib-ui ports: diff --git a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml index def73aa83d..c415a32c8f 100644 --- a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml +++ b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/rbac.authorization.k8s.io_v1_clusterrole_katib-controller.yaml @@ -19,6 +19,8 @@ rules: - secrets - events - namespaces + - persistentvolumes + - persistentvolumeclaims verbs: - '*' - apiGroups: @@ -75,5 +77,19 @@ rules: resources: - tfjobs - pytorchjobs + - mpijobs + verbs: + - '*' +- apiGroups: + - tekton.dev + resources: + - pipelineruns + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + - rolebindings verbs: - '*' diff --git a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/~g_v1_configmap_katib-config.yaml b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/~g_v1_configmap_katib-config.yaml index bdd6d8b966..f5d5f2f1e9 100644 --- a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/~g_v1_configmap_katib-config.yaml +++ b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/~g_v1_configmap_katib-config.yaml @@ -1,15 +1,22 @@ apiVersion: v1 data: + early-stopping: |- + { + "medianstop": { + "image": "docker.io/kubeflowkatib/earlystopping-medianstop:v1beta1-e294a90", + "imagePullPolicy": "Always" + } + } metrics-collector-sidecar: |- { "StdOut": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "File": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector:ce89cbf" + "image": "docker.io/kubeflowkatib/file-metrics-collector:v1beta1-e294a90" }, "TensorFlowEvent": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector:ce89cbf", + "image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v1beta1-e294a90", "resources": { "limits": { "memory": "1Gi" @@ -20,22 +27,22 @@ data: suggestion: |- { "random": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "grid": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-chocolate:v1beta1-e294a90" }, "hyperband": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperband:v1beta1-e294a90" }, "bayesianoptimization": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-skopt:v1beta1-e294a90" }, "tpe": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-hyperopt:v1beta1-e294a90" }, "enas": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-enas:ce89cbf", + "image": "docker.io/kubeflowkatib/suggestion-enas:v1beta1-e294a90", "imagePullPolicy": "Always", "resources": { "limits": { @@ -44,10 +51,10 @@ data: } }, "cmaes": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-goptuna:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-goptuna:v1beta1-e294a90" }, "darts": { - "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-darts:ce89cbf" + "image": "docker.io/kubeflowkatib/suggestion-darts:v1beta1-e294a90" } } kind: ConfigMap diff --git a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml deleted file mode 100644 index 3dd8f144d9..0000000000 --- a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/~g_v1_configmap_trial-template-labeled.yaml +++ /dev/null @@ -1,101 +0,0 @@ -apiVersion: v1 -data: - defaultTrialTemplate.yaml: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - restartPolicy: Never - enasCPUTemplate: |- - apiVersion: batch/v1 - kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - template: - spec: - containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu - command: - - "python3.5" - - "-u" - - "RunTrial.py" - {{- with .HyperParameters}} - {{- range .}} - - "--{{.Name}}=\"{{.Value}}\"" - {{- end}} - {{- end}} - - "--num_epochs=1" - restartPolicy: Never - pytorchJobTemplate: |- - apiVersion: "kubeflow.org/v1" - kind: PyTorchJob - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} - spec: - pytorchReplicaSpecs: - Master: - replicas: 1 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} - Worker: - replicas: 2 - restartPolicy: OnFailure - template: - spec: - containers: - - name: pytorch - image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 - imagePullPolicy: Always - command: - - "python" - - "/var/mnist.py" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} -kind: ConfigMap -metadata: - labels: - app: katib-trial-templates - app.kubernetes.io/component: katib - app.kubernetes.io/instance: katib-controller-0.8.0 - app.kubernetes.io/managed-by: kfctl - app.kubernetes.io/name: katib-controller - app.kubernetes.io/part-of: kubeflow - app.kubernetes.io/version: 0.8.0 - name: trial-template-labeled - namespace: kubeflow diff --git a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/~g_v1_configmap_trial-template.yaml b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/~g_v1_configmap_trial-template.yaml index 89ae7006e0..2d573249f4 100644 --- a/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/~g_v1_configmap_trial-template.yaml +++ b/tests/tests/legacy_kustomizations/katib-controller/test_data/expected/~g_v1_configmap_trial-template.yaml @@ -3,28 +3,74 @@ data: defaultTrialTemplate.yaml: |- apiVersion: batch/v1 kind: Job - metadata: - name: {{.Trial}} - namespace: {{.NameSpace}} spec: template: spec: containers: - - name: {{.Trial}} - image: docker.io/kubeflowkatib/mxnet-mnist - command: - - "python3" - - "/opt/mxnet-mnist/mnist.py" - - "--batch-size=64" - {{- with .HyperParameters}} - {{- range .}} - - "{{.Name}}={{.Value}}" - {{- end}} - {{- end}} + - name: training-container + image: docker.io/kubeflowkatib/mxnet-mnist:v1beta1-e294a90 + command: + - "python3" + - "/opt/mxnet-mnist/mnist.py" + - "--batch-size=64" + - "--lr=${trialParameters.learningRate}" + - "--num-layers=${trialParameters.numberLayers}" + - "--optimizer=${trialParameters.optimizer}" restartPolicy: Never + enasCPUTemplate: |- + apiVersion: batch/v1 + kind: Job + spec: + template: + spec: + containers: + - name: training-container + image: docker.io/kubeflowkatib/enas-cnn-cifar10-cpu:v1beta1-e294a90 + command: + - python3 + - -u + - RunTrial.py + - --num_epochs=1 + - "--architecture=\"${trialParameters.neuralNetworkArchitecture}\"" + - "--nn_config=\"${trialParameters.neuralNetworkConfig}\"" + restartPolicy: Never + pytorchJobTemplate: |- + apiVersion: "kubeflow.org/v1" + kind: PyTorchJob + spec: + pytorchReplicaSpecs: + Master: + replicas: 1 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" + Worker: + replicas: 2 + restartPolicy: OnFailure + template: + spec: + containers: + - name: pytorch + image: gcr.io/kubeflow-ci/pytorch-dist-mnist-test:v1.0 + imagePullPolicy: Always + command: + - "python" + - "/var/mnist.py" + - "--lr=${trialParameters.learningRate}" + - "--momentum=${trialParameters.momentum}" kind: ConfigMap metadata: labels: + app: katib-trial-templates app.kubernetes.io/component: katib app.kubernetes.io/instance: katib-controller-0.8.0 app.kubernetes.io/managed-by: kfctl diff --git a/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml b/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml index 13e40ab091..a41af8103d 100644 --- a/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml +++ b/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_experiments.kubeflow.org.yaml @@ -12,6 +12,9 @@ metadata: spec: additionalPrinterColumns: - JSONPath: .status.conditions[-1:].type + name: Type + type: string + - JSONPath: .status.conditions[-1:].status name: Status type: string - JSONPath: .metadata.creationTimestamp @@ -29,4 +32,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml b/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml index 7c2a3c7810..408c4f53bd 100644 --- a/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml +++ b/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_suggestions.kubeflow.org.yaml @@ -38,4 +38,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml b/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml index a8f77868cc..0af7a654db 100644 --- a/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml +++ b/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/apiextensions.k8s.io_v1beta1_customresourcedefinition_trials.kubeflow.org.yaml @@ -32,4 +32,4 @@ spec: scope: Namespaced subresources: status: {} - version: v1alpha3 + version: v1beta1 diff --git a/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml b/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml index dfd626ccbd..8f6b7edd54 100644 --- a/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml +++ b/tests/tests/legacy_kustomizations/katib-crds/test_data/expected/app.k8s.io_v1beta1_application_katib-crds.yaml @@ -62,7 +62,7 @@ spec: - email: andrey.velichkevich@gmail.com name: Andrey Velichkevich type: katib - version: v1alpha3 + version: v1beta1 selector: matchLabels: app.kubernetes.io/component: katib