diff --git a/test/setup/common.sh b/test/setup/common.sh index d6f2de7cec..c9eba96f1a 100755 --- a/test/setup/common.sh +++ b/test/setup/common.sh @@ -364,15 +364,15 @@ function enableOLM() { } function connectMicroshift() { - invokeContainerName=$1 + leafhubName=$1 microshiftContainerName=$2 - invokeNetwork=$(docker inspect -f '{{range $key, $value := .NetworkSettings.Networks}}{{$key}} {{end}}' $invokeContainerName) + invokeNetwork=$(docker inspect -f '{{range $key, $value := .NetworkSettings.Networks}}{{$key}} {{end}}' $leafhubName-control-plane) microshiftContainerNetwork=$(docker inspect -f '{{range $key, $value := .NetworkSettings.Networks}}{{$key}} {{end}}' $microshiftContainerName) if [[ "$invokeNetwork" =~ "$microshiftContainerNetwork" ]]; then echo "Microshift network is already connected to ${invokeNetwork}" exit 1 else - docker network connect $microshiftContainerNetwork $invokeContainerName + docker network connect $microshiftContainerNetwork ${leafhubName}-control-plane fi } diff --git a/test/setup/e2e_clean.sh b/test/setup/e2e_clean.sh index 91c1b94910..e9bc7dc1b8 100755 --- a/test/setup/e2e_clean.sh +++ b/test/setup/e2e_clean.sh @@ -1,7 +1,7 @@ #!/bin/bash -HUB_CLUSTER_NUM=${HUB_CLUSTER_NUM:-1} -MANAGED_CLUSTER_NUM=${MANAGED_CLUSTER_NUM:-2} +HUB_CLUSTER_NUM=${HUB_CLUSTER_NUM:-2} +MANAGED_CLUSTER_NUM=${MANAGED_CLUSTER_NUM:-1} CURRENT_DIR=$(cd "$(dirname "$0")" || exit;pwd) CONFIG_DIR=${CURRENT_DIR}/config @@ -13,11 +13,11 @@ source ${CURRENT_DIR}/common.sh checkDir ${CONFIG_DIR} checkKind -LEAF_HUB_NAME="hub1" +LEAF_HUB_NAME="hub" HUB_OF_HUB_NAME="hub-of-hubs" CTX_HUB="microshift" -CTX_MANAGED="kind-hub1" +CTX_MANAGED="kind-hub" # kubeconfig KUBECONFIG=${KUBECONFIG:-${CONFIG_DIR}/kubeconfig} diff --git a/test/setup/e2e_setup.sh b/test/setup/e2e_setup.sh index bc70b4b6e3..89367125cc 100755 --- a/test/setup/e2e_setup.sh +++ b/test/setup/e2e_setup.sh @@ -11,10 +11,12 @@ export LOG_MODE=${LOG_MODE:-INFO} source ${CURRENT_DIR}/common.sh checkDir ${CONFIG_DIR} -LEAF_HUB_NAME="hub1" +LEAF_HUB_NAME="hub" HUB_OF_HUB_NAME="hub-of-hubs" CTX_HUB="microshift" #"kind-hub-of-hubs" -CTX_MANAGED="kind-hub1" +CTX_MANAGED="kind-hub" +export HUB_CLUSTER_NUM=${HUB_CLUSTER_NUM:-2} +export MANAGED_CLUSTER_NUM=${MANAGED_CLUSTER_NUM:-1} # setup kubeconfig export KUBECONFIG=${KUBECONFIG:-${CONFIG_DIR}/kubeconfig} @@ -42,27 +44,29 @@ initHub $CTX_HUB 2>&1 >> $LOG & # init leafhub sleep 1 & hover $! "2 Prepare leaf hub cluster $LEAF_HUB_NAME" -source ${CURRENT_DIR}/leafhub_setup.sh +source ${CURRENT_DIR}/leafhub_setup.sh "$HUB_CLUSTER_NUM" "$MANAGED_CLUSTER_NUM" # joining lh to hoh initHub $CTX_HUB 2>&1 >> $LOG & hover $! "3 Init HoH OCM $HUB_OF_HUB_NAME" # check connection -connectMicroshift "${LEAF_HUB_NAME}-control-plane" "${HUB_OF_HUB_NAME}" 2>&1 >> $LOG & -hover $! " Check connection: $LEAF_HUB_NAME -> $HUB_OF_HUB_NAME" +for i in $(seq 1 "${HUB_CLUSTER_NUM}"); do + connectMicroshift "${LEAF_HUB_NAME}${i}" "${HUB_OF_HUB_NAME}" 2>&1 >> $LOG & + hover $! " Check connection: $LEAF_HUB_NAME$i -> $HUB_OF_HUB_NAME" -initManaged $CTX_HUB $CTX_MANAGED 2>&1 >> $LOG & -hover $! " Joining $CTX_HUB - $CTX_MANAGED" -checkManagedCluster $CTX_HUB $CTX_MANAGED 2>&1 >> $LOG + initManaged $CTX_HUB $CTX_MANAGED$i 2>&1 >> $LOG & + hover $! " Joining $CTX_HUB - $CTX_MANAGED$i" + checkManagedCluster $CTX_HUB $CTX_MANAGED$i 2>&1 >> $LOG -initApp $CTX_HUB $CTX_MANAGED 2>&1 >> $LOG & -hover $! " Enable application $CTX_HUB - $CTX_MANAGED" + initApp $CTX_HUB $CTX_MANAGED$i 2>&1 >> $LOG & + hover $! " Enable application $CTX_HUB - $CTX_MANAGED$i" -initPolicy $CTX_HUB $CTX_MANAGED $HOH_KUBECONFIG 2>&1 >> $LOG & -hover $! " Enable Policy $CTX_HUB - $CTX_MANAGED" + initPolicy $CTX_HUB $CTX_MANAGED$i $HOH_KUBECONFIG 2>&1 >> $LOG & + hover $! " Enable Policy $CTX_HUB - $CTX_MANAGED$i" -kubectl config use-context $CTX_HUB >> $LOG + kubectl config use-context $CTX_HUB >> $LOG +done # wait kafka to be ready waitAppear "kubectl get pods -n kafka -l name=strimzi-cluster-operator --ignore-not-found | grep Running || true" 1200 @@ -71,11 +75,13 @@ waitAppear "kubectl get kafka kafka-brokers-cluster -n kafka -o jsonpath='{.stat # wait postgres to be ready waitAppear "kubectl get secret hoh-pguser-postgres -n hoh-postgres --ignore-not-found=true" -# deploy hoh -# need the following labels to enable deploying agent in leaf hub cluster -kubectl label managedcluster kind-$LEAF_HUB_NAME vendor=OpenShift --overwrite 2>&1 >> $LOG +#deploy hoh +#need the following labels to enable deploying agent in leaf hub cluster +for i in $(seq 1 "${HUB_CLUSTER_NUM}"); do + kubectl label managedcluster kind-$LEAF_HUB_NAME$i vendor=OpenShift --overwrite 2>&1 >> $LOG +done source ${CURRENT_DIR}/hoh/hoh_setup.sh >> $LOG 2>&1 & hover $! "6 Deploy hub-of-hubs with $TAG" export KUBECONFIG=$KUBECONFIG -printf "%s\033[0;32m%s\n\033[0m" "[Access the Clusters]: " "export KUBECONFIG=$KUBECONFIG" \ No newline at end of file +printf "%s\033[0;32m%s\n\033[0m" "[Access the Clusters]: " "export KUBECONFIG=$KUBECONFIG" diff --git a/test/setup/hoh/hoh_setup.sh b/test/setup/hoh/hoh_setup.sh index 215d1be61d..4bc87b5807 100755 --- a/test/setup/hoh/hoh_setup.sh +++ b/test/setup/hoh/hoh_setup.sh @@ -60,7 +60,8 @@ kubectl apply -f ${currentDir}/components/leader-election-configmap.yaml -n "$na cd ${rootDir} # install crds -kubectl --context kind-$LEAF_HUB_NAME apply -f ./pkg/testdata/crds/0000_01_operator.open-cluster-management.io_multiclusterhubs.crd.yaml +kubectl --context kind-hub1 apply -f ./pkg/testdata/crds/0000_01_operator.open-cluster-management.io_multiclusterhubs.crd.yaml +kubectl --context kind-hub2 apply -f ./pkg/testdata/crds/0000_01_operator.open-cluster-management.io_multiclusterhubs.crd.yaml export IMG=$MULTICLUSTER_GLOBAL_HUB_OPERATOR_IMAGE_REF make deploy-operator @@ -96,7 +97,7 @@ while [[ -z $(kubectl get deploy -n $namespace multicluster-global-hub-manager - sleep 2; (( SECOND = SECOND + 2 )) done; -kubectl wait deployment -n $namespace multicluster-global-hub-manager --for condition=Available=True --timeout=600s +kubectl wait deployment -n $namespace multicluster-global-hub-manager --for condition=Available=True --timeout=500s # Need to hack here to fix the microshift issue - https://github.com/openshift/microshift/issues/660 kubectl annotate mutatingwebhookconfiguration multicluster-global-hub-mutator service.beta.openshift.io/inject-cabundle- @@ -104,8 +105,20 @@ ca=$(kubectl get secret multicluster-global-hub-webhook-certs -n $namespace -o j kubectl patch mutatingwebhookconfiguration multicluster-global-hub-mutator -n $namespace -p "{\"webhooks\":[{\"name\":\"global-hub.open-cluster-management.io\",\"clientConfig\":{\"caBundle\":\"$ca\"}}]}" SECOND=0 -while [[ -z $(kubectl get deploy -n $agenAddonNamespace multicluster-global-hub-agent --context kind-$LEAF_HUB_NAME --ignore-not-found) ]]; do - if [ $SECOND -gt 200 ]; then +while [[ -z $(kubectl get deploy -n $agenAddonNamespace multicluster-global-hub-agent --context kind-hub1 --ignore-not-found) ]]; do + if [ $SECOND -gt 500 ]; then + echo "Timeout waiting for deploying multicluster-global-hub-agent in namespace $agenAddonNamespace" + exit 1 + fi + echo "Waiting for multicluster-global-hub-agent to be created..." + sleep 2; + (( SECOND = SECOND + 2 )) +done; +kubectl --context kind-hub1 wait deployment -n $agenAddonNamespace multicluster-global-hub-agent --for condition=Available=True --timeout=500s + +SECOND=0 +while [[ -z $(kubectl get deploy -n $agenAddonNamespace multicluster-global-hub-agent --context kind-hub2 --ignore-not-found) ]]; do + if [ $SECOND -gt 500 ]; then echo "Timeout waiting for deploying multicluster-global-hub-agent in namespace $agenAddonNamespace" exit 1 fi @@ -113,4 +126,4 @@ while [[ -z $(kubectl get deploy -n $agenAddonNamespace multicluster-global-hub- sleep 2; (( SECOND = SECOND + 2 )) done; -kubectl --context kind-$LEAF_HUB_NAME wait deployment -n $agenAddonNamespace multicluster-global-hub-agent --for condition=Available=True --timeout=600s +kubectl --context kind-hub2 wait deployment -n $agenAddonNamespace multicluster-global-hub-agent --for condition=Available=True --timeout=500s \ No newline at end of file diff --git a/test/setup/leafhub_clean.sh b/test/setup/leafhub_clean.sh index ec242889f7..687a3f9ac7 100755 --- a/test/setup/leafhub_clean.sh +++ b/test/setup/leafhub_clean.sh @@ -6,8 +6,8 @@ # ENV HUB_CLUSTER_NUM # ENV MANAGED_CLUSTER_NUM -HUB_CLUSTER_NUM=${HUB_CLUSTER_NUM:-1} -MANAGED_CLUSTER_NUM=${MANAGED_CLUSTER_NUM:-2} +HUB_CLUSTER_NUM=${HUB_CLUSTER_NUM:-2} +MANAGED_CLUSTER_NUM=${MANAGED_CLUSTER_NUM:-1} CURRENT_DIR=$(cd "$(dirname "$0")" || exit;pwd) CONFIG_DIR=${CURRENT_DIR}/config diff --git a/test/setup/leafhub_setup.sh b/test/setup/leafhub_setup.sh index b3b0a208c5..10152dae97 100755 --- a/test/setup/leafhub_setup.sh +++ b/test/setup/leafhub_setup.sh @@ -8,9 +8,6 @@ set -e -HUB_CLUSTER_NUM=${HUB_CLUSTER_NUM:-1} -MANAGED_CLUSTER_NUM=${MANAGED_CLUSTER_NUM:-2} - CURRENT_DIR=$(cd "$(dirname "$0")" || exit;pwd) CONFIG_DIR=${CURRENT_DIR}/config LEAF_HUB_LOG=${LEAF_HUB_LOG:-$CONFIG_DIR/leafhub_setup.log}