diff --git a/src/integration-tests/bash/cleanup.sh b/src/integration-tests/bash/cleanup.sh index 46b3f72458b..7011d679dd5 100755 --- a/src/integration-tests/bash/cleanup.sh +++ b/src/integration-tests/bash/cleanup.sh @@ -27,15 +27,13 @@ # # The test runs in 4 phases: # -# Phase 1: Delete test kubernetes artifacts in an orderly -# fashion via kubectl delete -f of previous tests's yaml -# plus various direct kubectl deletes. +# Phase 1: Delete test kubernetes artifacts with labels. # -# Phase 2: Wait 15 seconds to see if stage 1 succeeded, and -# if not, repeatedly search for all test related kubectl -# artifacts and try delete them directly for up to 60 more -# seconds. This phase has no dependency on the -# previous test run's yaml files. It makes no +# Phase 2: Wait 15 seconds to see if stage 1 succeeded, and +# if not, repeatedly search for all test related kubectl +# artifacts and try delete them directly for up to 60 more +# seconds. This phase has no dependency on the +# previous test run's yaml files. It makes no # attempt to delete artifacts in a particular order. # # Phase 3: Use a kubernetes job to delete the PV directories @@ -47,13 +45,6 @@ # see LEASE_ID above. # -DOMAINS=(domain1 domain2 domain3 domain4 domain5) -DOMAIN_NAMESPACES=(default default test1 test2 default) -DCOUNT=${#DOMAINS[@]} - -OPER_NAMESPACES=(weblogic-operator-1 weblogic-operator-2) -OCOUNT=${#OPER_NAMESPACES[@]} - SCRIPTPATH="$( cd "$(dirname "$0")" > /dev/null 2>&1 ; pwd -P )" PROJECT_ROOT="$SCRIPTPATH/../../.." RESULT_ROOT=${RESULT_ROOT:-/scratch/$USER/wl_k8s_test_results} @@ -63,17 +54,125 @@ USER_PROJECTS_DIR="$RESULT_DIR/user-projects" TMP_DIR="$RESULT_DIR/cleanup_tmp" JOB_NAME="weblogic-command-job" +function fail { + echo @@ cleanup.sh: Error "$@" + exit 1 +} + +#!/bin/bash +# +# Usage: +# getResWithLabel outfilename +# +function getResWithLabel { + + # first, let's get all namespaced types with -l $LABEL_SELECTOR + kubectl get $NAMESPACED_TYPES \ + -l "$LABEL_SELECTOR" \ + -o=jsonpath='{range .items[*]}{.kind}{" "}{.metadata.name}{" -n "}{.metadata.namespace}{"\n"}{end}' \ + --all-namespaces=true >> $1 + + # now, get all non-namespaced types with -l $LABEL_SELECTOR + kubectl get $NOT_NAMESPACED_TYPES \ + -l "$LABEL_SELECTOR" \ + -o=jsonpath='{range .items[*]}{.kind}{" "}{.metadata.name}{"\n"}{end}' \ + --all-namespaces=true >> $1 +} + +# +# Usage: +# deleteResWithLabel outputfile +# +function deleteWithOneLabel { + echo @@ Delete resources with label $LABEL_SELECTOR. + # clean the output file first + if [ -e $1 ]; then + rm $1 + fi + + echo @@ Deleting resources with label $LABEL_SELECTOR. + getResWithLabel $1 + # delete namespaced types + cat $1 | awk '{ print $4 }' | grep -v "^$" | sort -u | while read line; do + kubectl -n $line delete $NAMESPACED_TYPES -l "$LABEL_SELECTOR" + done + + # delete non-namespaced types + local no_namespace_count=`grep -c -v " -n " $1` + if [ ! "$no_namespace_count" = "0" ]; then + kubectl delete $NOT_NAMESPACED_TYPES -l "$LABEL_SELECTOR" + fi + + echo "@@ Waiting for pods to stop running." + local total=0 + local mstart=`date +%s` + local mnow=mstart + local maxwaitsecs=60 + while [ $((mnow - mstart)) -lt $maxwaitsecs ]; do + pods=($(kubectl get pods --all-namespaces -l $LABEL_SELECTOR -o jsonpath='{range .items[*]}{.metadata.name} {end}')) + total=${#pods[*]} + if [ $total -eq 0 ] ; then + break + else + echo "@@ There are $total running pods with label $LABEL_SELECTOR." + fi + sleep 3 + mnow=`date +%s` + done + + if [ $total -gt 0 ]; then + echo "Warning: after waiting $maxwaitsecs seconds, there are still $total running pods with label $LABEL_SELECTOR." + fi +} + +# +# Usage: +# deleteNamespaces outputfile +# +function deleteNamespaces { + cat $1 | awk '{ print $4 }' | grep -v "^$" | sort -u | while read line; do + if [ "$line" != "default" ]; then + kubectl delete namespace $line --ignore-not-found + fi + done + +} + +function deleteWithLabels { + NAMESPACED_TYPES="pod,job,deploy,rs,service,pvc,ingress,cm,serviceaccount,role,rolebinding,secret" + + DOMAIN_CRD="domains.weblogic.oracle" + if [ `kubectl get crd $DOMAIN_CRD --ignore-not-found | grep $DOMAIN_CRD | wc -l` = 1 ]; then + NAMESPACED_TYPES="$DOMAIN_CRD,$NAMESPACED_TYPES" + fi + + NOT_NAMESPACED_TYPES="pv,crd,clusterroles,clusterrolebindings" + + tempfile="/tmp/$(basename $0).tmp.$$" # == /tmp/[script-file-name].tmp.[pid] + + echo @@ Deleting domain resources. + LABEL_SELECTOR="weblogic.domainUID" + deleteWithOneLabel "$tempfile-0" + + echo @@ Deleting wls operator resources. + LABEL_SELECTOR="weblogic.operatorName" + deleteWithOneLabel "$tempfile-1" + + deleteNamespaces "$tempfile-0" + deleteNamespaces "$tempfile-1" +} + # function genericDelete # # This function is a 'generic kubernetes delete' that takes three arguments: # # arg1: Comma separated list of types of kubernetes namespaced types to search/delete. -# example: "all,cm,pvc,ns,roles,rolebindings,secrets" +# example: "all,cm,pvc,ns,roles,rolebindings,secrets" # # arg2: Comma separated list of types of kubernetes non-namespaced types to search/delete. -# example: "crd,pv,clusterroles,clusterrolebindings" +# example: "crd,pv,clusterroles,clusterrolebindings" # -# arg3: '|' (pipe) separated list of keywords. +# arg3: '|' (pipe) separated list of keywords. # Artifacts with a label or name that contains one # or more of the keywords are delete candidates. # example: "logstash|kibana|elastisearch|weblogic|elk|domain" @@ -81,7 +180,7 @@ JOB_NAME="weblogic-command-job" # It runs in two stages: # In the first, wait to see if artifacts delete on their own. # In the second, try to delete any leftovers. -# +# function genericDelete { for iteration in first second; do @@ -136,7 +235,7 @@ function genericDelete { echo "@@ Waiting for $artcount_total artifacts to delete. Wait time $((mnow - mstart)) seconds (max=$maxwaitsecs). Waiting for:" - cat $resfile_yes | awk '{ print "n=" $1 " " $2 }' + cat $resfile_yes | awk '{ print "n=" $1 " " $2 }' cat $resfile_no | awk '{ print $1 }' else @@ -144,7 +243,7 @@ function genericDelete { echo "@@ Trying to delete ${artcount_total} leftover artifacts, including ${artcount_yes} namespaced artifacts and ${artcount_no} non-namespaced artifacts, wait time $((mnow - mstart)) seconds (max=$maxwaitsecs)." - if [ ${artcount_yes} -gt 0 ]; then + if [ ${artcount_yes} -gt 0 ]; then cat "$resfile_yes" | while read line; do local args="`echo \"$line\" | awk '{ print "-n " $1 " delete " $2 " --ignore-not-found" }'`" echo "kubectl $args" @@ -152,7 +251,7 @@ function genericDelete { done fi - if [ ${artcount_no} -gt 0 ]; then + if [ ${artcount_no} -gt 0 ]; then cat "$resfile_no" | while read line; do echo "kubectl delete $line --ignore-not-found" kubectl delete $line --ignore-not-found @@ -308,17 +407,19 @@ function fail { } echo @@ Starting cleanup. +script="${BASH_SOURCE[0]}" +scriptDir="$( cd "$(dirname "${script}")" > /dev/null 2>&1 ; pwd -P)" echo "@@ RESULT_ROOT=$RESULT_ROOT TMP_DIR=$TMP_DIR RESULT_DIR=$RESULT_DIR PROJECT_ROOT=$PROJECT_ROOT" mkdir -p $TMP_DIR || fail No permision to create directory $TMP_DIR -# try an ordered/controlled delete first - -#Comment out orderlyDelete so we can fully test generic delete (do not merge this change!) -orderlyDelete +# first, try to delete with labels since the conversion is that all created resources need to +# have the proper label(s) +echo @@ Starting deleteWithLabels +deleteWithLabels -# try a generic delete in case the orderly delete missed something, this runs in two phases: +# second, try a generic delete in case there are some leftover resources, this runs in two phases: # phase 1: wait to see if artifacts dissappear naturally due to the above orderlyDelete # phase 2: kubectl delete left over artifacts # arguments @@ -326,6 +427,7 @@ orderlyDelete # arg2 - non-namespaced artifacts # arg3 - keywords in deletable artificats +echo @@ Starting genericDelete genericDelete "all,cm,pvc,roles,rolebindings,serviceaccount,secrets" "crd,pv,ns,clusterroles,clusterrolebindings" "logstash|kibana|elastisearch|weblogic|elk|domain|traefik" SUCCESS="$?" diff --git a/src/integration-tests/bash/run.sh b/src/integration-tests/bash/run.sh index e79de4f76cf..e66115e78f6 100755 --- a/src/integration-tests/bash/run.sh +++ b/src/integration-tests/bash/run.sh @@ -78,6 +78,9 @@ # See "Directory Configuration and Structure" below for # defaults and a detailed description of test directories. # +# LB_TYPE Load balancer type. Can be 'TRAEFIK'. +# Default is 'TRAEFIK'. +# # VERBOSE Set to 'true' to echo verbose output to stdout. # Default is 'false'. # @@ -721,7 +724,7 @@ function test_second_operator { declare_test_pass } -# dom_define DOM_KEY OP_KEY NAMESPACE DOMAIN_UID STARTUP_CONTROL WL_CLUSTER_NAME MS_BASE_NAME ADMIN_PORT ADMIN_WLST_PORT ADMIN_NODE_PORT MS_PORT LOAD_BALANCER_WEB_PORT LOAD_BALANCER_DASHBOARD_PORT +# dom_define DOM_KEY OP_KEY NAMESPACE DOMAIN_UID STARTUP_CONTROL WL_CLUSTER_NAME WL_CLUSTER_TYPE MS_BASE_NAME ADMIN_PORT ADMIN_WLST_PORT ADMIN_NODE_PORT MS_PORT LOAD_BALANCER_WEB_PORT LOAD_BALANCER_DASHBOARD_PORT # Sets up a table of domain values: all of the above, plus TMP_DIR which is derived. # # dom_get DOM_KEY @@ -737,8 +740,8 @@ function test_second_operator { # echo Defined operator $opkey with `dom_echo_all $DOM_KEY` # function dom_define { - if [ "$#" != 13 ] ; then - fail "requires 13 parameters: DOM_KEY OP_KEY NAMESPACE DOMAIN_UID STARTUP_CONTROL WL_CLUSTER_NAME MS_BASE_NAME ADMIN_PORT ADMIN_WLST_PORT ADMIN_NODE_PORT MS_PORT LOAD_BALANCER_WEB_PORT LOAD_BALANCER_DASHBOARD_PORT" + if [ "$#" != 14 ] ; then + fail "requires 14 parameters: DOM_KEY OP_KEY NAMESPACE DOMAIN_UID STARTUP_CONTROL WL_CLUSTER_NAME WL_CLUSTER_TYPE MS_BASE_NAME ADMIN_PORT ADMIN_WLST_PORT ADMIN_NODE_PORT MS_PORT LOAD_BALANCER_WEB_PORT LOAD_BALANCER_DASHBOARD_PORT" fi local DOM_KEY="`echo \"${1}\" | sed 's/-/_/g'`" eval export DOM_${DOM_KEY}_OP_KEY="$2" @@ -746,13 +749,14 @@ function dom_define { eval export DOM_${DOM_KEY}_DOMAIN_UID="$4" eval export DOM_${DOM_KEY}_STARTUP_CONTROL="$5" eval export DOM_${DOM_KEY}_WL_CLUSTER_NAME="$6" - eval export DOM_${DOM_KEY}_MS_BASE_NAME="$7" - eval export DOM_${DOM_KEY}_ADMIN_PORT="$8" - eval export DOM_${DOM_KEY}_ADMIN_WLST_PORT="$9" - eval export DOM_${DOM_KEY}_ADMIN_NODE_PORT="${10}" - eval export DOM_${DOM_KEY}_MS_PORT="${11}" - eval export DOM_${DOM_KEY}_LOAD_BALANCER_WEB_PORT="${12}" - eval export DOM_${DOM_KEY}_LOAD_BALANCER_DASHBOARD_PORT="${13}" + eval export DOM_${DOM_KEY}_WL_CLUSTER_TYPE="$7" + eval export DOM_${DOM_KEY}_MS_BASE_NAME="$8" + eval export DOM_${DOM_KEY}_ADMIN_PORT="$9" + eval export DOM_${DOM_KEY}_ADMIN_WLST_PORT="${10}" + eval export DOM_${DOM_KEY}_ADMIN_NODE_PORT="${11}" + eval export DOM_${DOM_KEY}_MS_PORT="${12}" + eval export DOM_${DOM_KEY}_LOAD_BALANCER_WEB_PORT="${13}" + eval export DOM_${DOM_KEY}_LOAD_BALANCER_DASHBOARD_PORT="${14}" # derive TMP_DIR $USER_PROJECTS_DIR/weblogic-domains/$NAMESPACE-$DOMAIN_UID : eval export DOM_${DOM_KEY}_TMP_DIR="$USER_PROJECTS_DIR/weblogic-domains/$4" @@ -782,6 +786,7 @@ function run_create_domain_job { local DOMAIN_UID="`dom_get $1 DOMAIN_UID`" local STARTUP_CONTROL="`dom_get $1 STARTUP_CONTROL`" local WL_CLUSTER_NAME="`dom_get $1 WL_CLUSTER_NAME`" + local WL_CLUSTER_TYPE="`dom_get $1 WL_CLUSTER_TYPE`" local MS_BASE_NAME="`dom_get $1 MS_BASE_NAME`" local ADMIN_PORT="`dom_get $1 ADMIN_PORT`" local ADMIN_WLST_PORT="`dom_get $1 ADMIN_WLST_PORT`" @@ -797,8 +802,8 @@ function run_create_domain_job { local DOMAIN_STORAGE_DIR="domain-${DOMAIN_UID}-storage" - trace "Create $DOMAIN_UID in $NAMESPACE namespace " - + trace "Create $DOMAIN_UID in $NAMESPACE namespace with load balancer $LB_TYPE" + local tmp_dir="$TMP_DIR" mkdir -p $tmp_dir @@ -838,9 +843,14 @@ function run_create_domain_job { sed -i -e "s/^exposeAdminT3Channel:.*/exposeAdminT3Channel: true/" $inputs # Customize more configuration + if [ "$DOMAIN_UID" == "domain5" ] && [ "$JENKINS" = "true" ] ; then + sed -i -e "s/^weblogicDomainStorageType:.*/weblogicDomainStorageType: NFS/" $inputs + sed -i -e "s/^#weblogicDomainStorageNFSServer:.*/weblogicDomainStorageNFSServer: $NODEPORT_HOST/" $inputs + fi sed -i -e "s;^#weblogicDomainStoragePath:.*;weblogicDomainStoragePath: $PV_ROOT/acceptance_test_pv/$DOMAIN_STORAGE_DIR;" $inputs sed -i -e "s/^#domainUID:.*/domainUID: $DOMAIN_UID/" $inputs sed -i -e "s/^clusterName:.*/clusterName: $WL_CLUSTER_NAME/" $inputs + sed -i -e "s/^clusterType:.*/clusterType: $WL_CLUSTER_TYPE/" $inputs sed -i -e "s/^namespace:.*/namespace: $NAMESPACE/" $inputs sed -i -e "s/^t3ChannelPort:.*/t3ChannelPort: $ADMIN_WLST_PORT/" $inputs sed -i -e "s/^adminNodePort:.*/adminNodePort: $ADMIN_NODE_PORT/" $inputs @@ -852,6 +862,7 @@ function run_create_domain_job { if [ -n "${WEBLOGIC_IMAGE_PULL_SECRET_NAME}" ]; then sed -i -e "s|#weblogicImagePullSecretName:.*|weblogicImagePullSecretName: ${WEBLOGIC_IMAGE_PULL_SECRET_NAME}|g" $inputs fi + sed -i -e "s/^loadBalancer:.*/loadBalancer: $LB_TYPE/" $inputs sed -i -e "s/^loadBalancerWebPort:.*/loadBalancerWebPort: $LOAD_BALANCER_WEB_PORT/" $inputs sed -i -e "s/^loadBalancerDashboardPort:.*/loadBalancerDashboardPort: $LOAD_BALANCER_DASHBOARD_PORT/" $inputs sed -i -e "s/^javaOptions:.*/javaOptions: $WLS_JAVA_OPTIONS/" $inputs @@ -1103,6 +1114,7 @@ function verify_webapp_load_balancing { local NAMESPACE="`dom_get $1 NAMESPACE`" local DOMAIN_UID="`dom_get $1 DOMAIN_UID`" + local WL_CLUSTER_NAME="`dom_get $1 WL_CLUSTER_NAME`" local MS_BASE_NAME="`dom_get $1 MS_BASE_NAME`" local LOAD_BALANCER_WEB_PORT="`dom_get $1 LOAD_BALANCER_WEB_PORT`" local TMP_DIR="`dom_get $1 TMP_DIR`" @@ -1125,21 +1137,23 @@ function verify_webapp_load_balancing { trace "verify that ingress is created. see $TMP_DIR/describe.ingress.out" date >> $TMP_DIR/describe.ingress.out kubectl describe ingress -n $NAMESPACE >> $TMP_DIR/describe.ingress.out 2>&1 - + local TEST_APP_URL="http://${NODEPORT_HOST}:${LOAD_BALANCER_WEB_PORT}/testwebapp/" local CURL_RESPONSE_BODY="$TMP_DIR/testapp.response.body" - trace 'wait for test app to become available' + trace "wait for test app to become available on ${TEST_APP_URL}" + local max_count=30 local wait_time=6 local count=0 + local vheader="host: $DOMAIN_UID.$WL_CLUSTER_NAME" while [ "${HTTP_RESPONSE}" != "200" -a $count -lt $max_count ] ; do local count=`expr $count + 1` echo "NO_DATA" > $CURL_RESPONSE_BODY - local HTTP_RESPONSE=$(curl --silent --show-error --noproxy ${NODEPORT_HOST} ${TEST_APP_URL} \ - --write-out "%{http_code}" \ - -o ${CURL_RESPONSE_BODY} \ + local HTTP_RESPONSE=$(eval "curl --silent --show-error -H '${vheader}' --noproxy ${NODEPORT_HOST} ${TEST_APP_URL} \ + --write-out '%{http_code}' \ + -o ${CURL_RESPONSE_BODY}" \ ) if [ "${HTTP_RESPONSE}" != "200" ]; then @@ -1170,9 +1184,9 @@ function verify_webapp_load_balancing { do echo "NO_DATA" > $CURL_RESPONSE_BODY - local HTTP_RESPONSE=$(curl --silent --show-error --noproxy ${NODEPORT_HOST} ${TEST_APP_URL} \ - --write-out "%{http_code}" \ - -o ${CURL_RESPONSE_BODY} \ + local HTTP_RESPONSE=$(eval "curl --silent --show-error -H '${vheader}' --noproxy ${NODEPORT_HOST} ${TEST_APP_URL} \ + --write-out '%{http_code}' \ + -o ${CURL_RESPONSE_BODY}" \ ) echo $HTTP_RESPONSE | sed 's/^/+/' @@ -1469,7 +1483,6 @@ EOF mkdir -p $job_workspace rsync -a $PROJECT_ROOT $job_workspace/weblogic-operator - rsync -a $M2_HOME/ $job_workspace/apache-maven rsync -a $JAVA_HOME/ $job_workspace/java cat < $job_workspace/run_test.sh @@ -2470,6 +2483,7 @@ function test_suite_init { local varname for varname in RESULT_ROOT \ PV_ROOT \ + LB_TYPE \ VERBOSE \ QUICKTEST \ NODEPORT_HOST \ @@ -2498,8 +2512,16 @@ function test_suite_init { [ ! "$?" = "0" ] && fail "Error: Could not determine branch. Run script from within a git repo". fi + if [ -z "$LB_TYPE" ]; then + export LB_TYPE=TRAEFIK + fi + export LEASE_ID="${LEASE_ID}" + if [ -z "$LB_TYPE" ]; then + export LB_TYPE=TRAEFIK + fi + # The following customizable exports are currently only customized by WERCKER export IMAGE_TAG_OPERATOR=${IMAGE_TAG_OPERATOR:-`echo "test_${BRANCH_NAME}" | sed "s#/#_#g"`} export IMAGE_NAME_OPERATOR=${IMAGE_NAME_OPERATOR:-wlsldi-v2.docker.oraclecorp.com/weblogic-operator} @@ -2512,6 +2534,7 @@ function test_suite_init { local varname for varname in RESULT_ROOT \ PV_ROOT \ + LB_TYPE \ VERBOSE \ QUICKTEST \ NODEPORT_HOST \ @@ -2656,13 +2679,13 @@ function test_suite { op_define oper1 weblogic-operator-1 "default,test1" 31001 op_define oper2 weblogic-operator-2 test2 32001 - # DOM_KEY OP_KEY NAMESPACE DOMAIN_UID STARTUP_CONTROL WL_CLUSTER_NAME MS_BASE_NAME ADMIN_PORT ADMIN_WLST_PORT ADMIN_NODE_PORT MS_PORT LOAD_BALANCER_WEB_PORT LOAD_BALANCER_DASHBOARD_PORT - dom_define domain1 oper1 default domain1 AUTO cluster-1 managed-server 7001 30012 30701 8001 30305 30315 - dom_define domain2 oper1 default domain2 AUTO cluster-1 managed-server 7011 30031 30702 8021 30306 30316 - dom_define domain3 oper1 test1 domain3 AUTO cluster-1 managed-server 7021 30041 30703 8031 30307 30317 - dom_define domain4 oper2 test2 domain4 AUTO cluster-1 managed-server 7041 30051 30704 8041 30308 30318 - dom_define domain5 oper1 default domain5 ADMIN cluster-1 managed-server 7051 30061 30705 8051 30309 30319 - dom_define domain6 oper1 default domain6 AUTO cluster-1 managed-server 7061 30071 30706 8061 30310 30320 + # DOM_KEY OP_KEY NAMESPACE DOMAIN_UID STARTUP_CONTROL WL_CLUSTER_NAME WL_CLUSTER_TYPE MS_BASE_NAME ADMIN_PORT ADMIN_WLST_PORT ADMIN_NODE_PORT MS_PORT LOAD_BALANCER_WEB_PORT LOAD_BALANCER_DASHBOARD_PORT + dom_define domain1 oper1 default domain1 AUTO cluster-1 DYNAMIC managed-server 7001 30012 30701 8001 30305 30315 + dom_define domain2 oper1 default domain2 AUTO cluster-1 DYNAMIC managed-server 7011 30031 30702 8021 30306 30316 + dom_define domain3 oper1 test1 domain3 AUTO cluster-1 DYNAMIC managed-server 7021 30041 30703 8031 30307 30317 + dom_define domain4 oper2 test2 domain4 AUTO cluster-1 CONFIGURED managed-server 7041 30051 30704 8041 30308 30318 + dom_define domain5 oper1 default domain5 ADMIN cluster-1 DYNAMIC managed-server 7051 30061 30705 8051 30309 30319 + dom_define domain6 oper1 default domain6 AUTO cluster-1 DYNAMIC managed-server 7061 30071 30706 8061 30310 30320 # create namespaces for domains (the operator job creates a namespace if needed) # TODO have the op_define commands themselves create target namespace if it doesn't already exist, or test if the namespace creation is needed in the first place, and if so, ask MikeG to create them as part of domain create job @@ -2728,6 +2751,7 @@ function test_suite { test_domain_lifecycle domain1 domain4 # create domain5 in the default namespace with startupControl="ADMIN", and verify that only admin server is created + # on Jenkins, this domain will also test NFS instead of HOSTPATH PV storage (search for [ "$DOMAIN_UID" == "domain5" ]) test_create_domain_startup_control_admin domain5 # create domain6 in the default namespace with pvReclaimPolicy="Recycle", and verify that the PV is deleted once the domain and PVC are deleted diff --git a/wercker.yml b/wercker.yml index 23a02d9f70c..1a2722b5add 100644 --- a/wercker.yml +++ b/wercker.yml @@ -61,8 +61,8 @@ build: - internal/docker-push: username: $REPO_USERNAME password: $REPO_PASSWORD - email: $REPO_EMAIL - repository: $REPO_LOCATION + repository: $REPO_REPOSITORY + registry: $REPO_REGISTRY tag: $IMAGE_TAG_OPERATOR working-dir: "/operator" cmd: "operator.sh"