From 49237088361a0da9fed06017a13bf71dfc1c9a4d Mon Sep 17 00:00:00 2001 From: Ta-Ching Chen Date: Thu, 23 Jan 2020 13:35:26 +0800 Subject: [PATCH] Move to new CI cluster (#1500) * Move to new CI cluster * Regenerate test id before creating a new HTTP trigger --- hack/travis-kube-setup.sh | 18 +++++++++++++++++- test/cluster/main.tf | 8 ++++---- test/test_utils.sh | 23 +++++++++++++---------- test/tests/test_ingress.sh | 3 +++ test/upgrade/fission_upgrade_test.sh | 2 +- 5 files changed, 38 insertions(+), 16 deletions(-) diff --git a/hack/travis-kube-setup.sh b/hack/travis-kube-setup.sh index d2ccca67..9b077389 100755 --- a/hack/travis-kube-setup.sh +++ b/hack/travis-kube-setup.sh @@ -76,7 +76,7 @@ echo $FISSION_CI_SERVICE_ACCOUNT | base64 -d - > ${HOME}/gcloud-service-key.json gcloud auth activate-service-account --key-file ${HOME}/gcloud-service-key.json # get kube config -gcloud container clusters get-credentials fission-ci-1 --zone us-central1-a --project fission-ci +gcloud container clusters get-credentials fission-ci --zone us-central1-a --project $GKE_PROJECT_NAME # remove gcloud creds unset FISSION_CI_SERVICE_ACCOUNT @@ -91,3 +91,19 @@ then fi kubectl get node + +# install helm tiller. It will no longer needed as we upgrade to Helmv3. +if ! helm list >/dev/null 2>&1 ; then + echo "Installing helm..." + kubectl -n kube-system create sa tiller + kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller + helm init --service-account tiller + + printf "Waiting for Helm" + until helm list >/dev/null 2>&1 + do + printf "." + sleep 3 + done + printf "\n" +fi diff --git a/test/cluster/main.tf b/test/cluster/main.tf index 99fbbe40..a06390ba 100644 --- a/test/cluster/main.tf +++ b/test/cluster/main.tf @@ -7,11 +7,11 @@ terraform { provider "google" { version = "~> 2.7" - project = "fission-ci" + project = "infracloud-fission-infra" } -resource "google_container_cluster" "fission-ci-1" { - name = "fission-ci-1" +resource "google_container_cluster" "fission-ci" { + name = "fission-ci" description = "" min_master_version = "1.13.6-gke.0" network = "projects/fission-ci/global/networks/default" @@ -26,7 +26,7 @@ resource "google_container_cluster" "fission-ci-1" { resource "google_container_node_pool" "pool-v1" { name = "pool-v1" location = "us-central1-a" - cluster = google_container_cluster.fission-ci-1.name + cluster = google_container_cluster.fission-ci.name node_config { machine_type = "n1-standard-2" diff --git a/test/test_utils.sh b/test/test_utils.sh index cbfdd274..fa0c8f88 100755 --- a/test/test_utils.sh +++ b/test/test_utils.sh @@ -54,7 +54,7 @@ getGitCommit() { } setupCIBuildEnv() { - export REPO=gcr.io/fission-ci + export REPO=gcr.io/$GKE_PROJECT_NAME export IMAGE=fission-bundle export FETCHER_IMAGE=$REPO/fetcher export BUILDER_IMAGE=$REPO/builder @@ -85,8 +85,11 @@ build_and_push_go_mod_cache_image() { gcloud_login - gcloud docker -- pull $image_tag - docker build -q -t $image_tag -f $ROOT/cmd/fission-bundle/Dockerfile.fission-bundle --cache-from ${image_tag} --target godep --build-arg GITCOMMIT=$(getGitCommit) --build-arg BUILDDATE=$(getDate) --build-arg BUILDVERSION=$(getVersion) . + if ! gcloud docker -- pull $image_tag >/dev/null 2>&1 ; then + docker build -q -t $image_tag -f $ROOT/cmd/fission-bundle/Dockerfile.fission-bundle --target godep --build-arg GITCOMMIT=$(getGitCommit) --build-arg BUILDDATE=$(getDate) --build-arg BUILDVERSION=$(getVersion) . + else + docker build -q -t $image_tag -f $ROOT/cmd/fission-bundle/Dockerfile.fission-bundle --cache-from ${image_tag} --target godep --build-arg GITCOMMIT=$(getGitCommit) --build-arg BUILDDATE=$(getDate) --build-arg BUILDVERSION=$(getVersion) . + fi gcloud docker -- push $image_tag & travis_fold_end go_mod_cache_image @@ -497,13 +500,13 @@ run_all_tests() { export FISSION_NAMESPACE=f-$id export FUNCTION_NAMESPACE=f-func-$id - export PYTHON_RUNTIME_IMAGE=gcr.io/fission-ci/python-env:${imageTag} - export PYTHON_BUILDER_IMAGE=gcr.io/fission-ci/python-env-builder:${imageTag} - export GO_RUNTIME_IMAGE=gcr.io/fission-ci/go-env:${imageTag} - export GO_BUILDER_IMAGE=gcr.io/fission-ci/go-env-builder:${imageTag} - export JVM_RUNTIME_IMAGE=gcr.io/fission-ci/jvm-env:${imageTag} - export JVM_BUILDER_IMAGE=gcr.io/fission-ci/jvm-env-builder:${imageTag} - export TS_RUNTIME_IMAGE=gcr.io/fission-ci/tensorflow-serving-env:${imageTag} + export PYTHON_RUNTIME_IMAGE=gcr.io/$GKE_PROJECT_NAME/python-env:${imageTag} + export PYTHON_BUILDER_IMAGE=gcr.io/$GKE_PROJECT_NAME/python-env-builder:${imageTag} + export GO_RUNTIME_IMAGE=gcr.io/$GKE_PROJECT_NAME/go-env:${imageTag} + export GO_BUILDER_IMAGE=gcr.io/$GKE_PROJECT_NAME/go-env-builder:${imageTag} + export JVM_RUNTIME_IMAGE=gcr.io/$GKE_PROJECT_NAME/jvm-env:${imageTag} + export JVM_BUILDER_IMAGE=gcr.io/$GKE_PROJECT_NAME/jvm-env-builder:${imageTag} + export TS_RUNTIME_IMAGE=gcr.io/$GKE_PROJECT_NAME/tensorflow-serving-env:${imageTag} set +e export TIMEOUT=900 # 15 minutes per test diff --git a/test/tests/test_ingress.sh b/test/tests/test_ingress.sh index 5b9b028f..74061f7f 100755 --- a/test/tests/test_ingress.sh +++ b/test/tests/test_ingress.sh @@ -113,6 +113,9 @@ checkIngress $routeName "" $relativeUrl "" "" fission route delete --name $routeName +TEST_ID=$(generate_test_id) + +routeName="ingress-$TEST_ID" relativeUrl="/itest-$TEST_ID/{url}" wildcardPath="/itest-$TEST_ID/*" realPath="itest-$TEST_ID/test" diff --git a/test/upgrade/fission_upgrade_test.sh b/test/upgrade/fission_upgrade_test.sh index bfee8d75..daad4a7e 100755 --- a/test/upgrade/fission_upgrade_test.sh +++ b/test/upgrade/fission_upgrade_test.sh @@ -72,7 +72,7 @@ upgrade_tests ## Build images for Upgrade -REPO=gcr.io/fission-ci +REPO=gcr.io/$GKE_PROJECT_NAME IMAGE=fission-bundle FETCHER_IMAGE=$REPO/fetcher BUILDER_IMAGE=$REPO/builder