diff --git a/test/scripts/v1alpha3/run-suggestion-tpe.sh b/test/scripts/v1alpha3/run-suggestion-tpe.sh new file mode 100755 index 00000000000..9d041f98fe5 --- /dev/null +++ b/test/scripts/v1alpha3/run-suggestion-tpe.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +# Copyright 2018 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This shell script is used to build a cluster and create a namespace from our +# argo workflow + +set -o errexit +set -o nounset +set -o pipefail + +CLUSTER_NAME="${CLUSTER_NAME}" +ZONE="${GCP_ZONE}" +PROJECT="${GCP_PROJECT}" +NAMESPACE="${DEPLOY_NAMESPACE}" +REGISTRY="${GCP_REGISTRY}" +GO_DIR=${GOPATH}/src/github.com/${REPO_OWNER}/${REPO_NAME} + +echo "Activating service-account" +gcloud auth activate-service-account --key-file=${GOOGLE_APPLICATION_CREDENTIALS} + +echo "Configuring kubectl" + +echo "CLUSTER_NAME: ${CLUSTER_NAME}" +echo "ZONE: ${GCP_ZONE}" +echo "PROJECT: ${GCP_PROJECT}" + +gcloud --project ${PROJECT} container clusters get-credentials ${CLUSTER_NAME} \ + --zone ${ZONE} +kubectl config set-context $(kubectl config current-context) --namespace=default +USER=`gcloud config get-value account` + +echo "All Katib components are running." +kubectl version +kubectl cluster-info +echo "Katib deployments" +kubectl -n kubeflow get deploy +echo "Katib services" +kubectl -n kubeflow get svc +echo "Katib pods" +kubectl -n kubeflow get pod + +cd ${GO_DIR}/test/e2e/v1alpha3 + +echo "Running e2e hyperopt tpe experiment" +export KUBECONFIG=$HOME/.kube/config +go run run-e2e-experiment.go ../../../examples/v1alpha3/tpe-example.yaml +kubectl -n kubeflow describe suggestion +kubectl -n kubeflow delete experiment tpe-example +kubectl describe pods +kubectl describe deploy +exit 0 diff --git a/test/workflows/components/workflows-v1alpha3.libsonnet b/test/workflows/components/workflows-v1alpha3.libsonnet index 65529f61aed..7accb229086 100644 --- a/test/workflows/components/workflows-v1alpha3.libsonnet +++ b/test/workflows/components/workflows-v1alpha3.libsonnet @@ -287,6 +287,10 @@ name: "run-hyperband-e2e-tests", template: "run-hyperband-e2e-tests", }, + { + name: "run-tpe-e2e-tests", + template: "run-tpe-e2e-tests", + }, ], ], }, @@ -336,6 +340,9 @@ $.parts(namespace, name, overrides).e2e(prow_env, bucket).buildTemplate("run-random-e2e-tests", testWorkerImage, [ "test/scripts/v1alpha3/run-suggestion-random.sh", ]), // run random algorithm + $.parts(namespace, name, overrides).e2e(prow_env, bucket).buildTemplate("run-tpe-e2e-tests", testWorkerImage, [ + "test/scripts/v1alpha3/run-suggestion-tpe.sh", + ]), // run tpe algorithm $.parts(namespace, name, overrides).e2e(prow_env, bucket).buildTemplate("run-hyperband-e2e-tests", testWorkerImage, [ "test/scripts/v1alpha3/run-suggestion-hyperband.sh", ]), // run hyperband algorithm