X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=cmd%2Fbpa-operator%2Fe2etest%2Fbpa_vm_verifier.sh;h=7f4fcae8c748650daa668ccc528157d4da763eb5;hb=refs%2Fchanges%2F81%2F4181%2F4;hp=8b2e2aef53816ce14aa0d9058d243a13164fc20a;hpb=03e4bff1949371cf04ca653bf47a633ada6a3f6e;p=icn.git diff --git a/cmd/bpa-operator/e2etest/bpa_vm_verifier.sh b/cmd/bpa-operator/e2etest/bpa_vm_verifier.sh index 8b2e2ae..7f4fcae 100755 --- a/cmd/bpa-operator/e2etest/bpa_vm_verifier.sh +++ b/cmd/bpa-operator/e2etest/bpa_vm_verifier.sh @@ -1,15 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash +set -eu -o pipefail -# Get MAC and IP addresses of VMs provisioned by metal3 -master0=$(virsh net-dhcp-leases baremetal |grep master-0) -masterMAC=$(echo $master0 | cut -d " " -f 3) -masterIP=$(echo $master0 | cut -d " " -f 5) -masterIP="${masterIP%%/*}" - -worker0=$(virsh net-dhcp-leases baremetal |grep worker-0) -workerMAC=$(echo $worker0 | cut -d " " -f 3) -workerIP=$(echo $worker0 | cut -d " " -f 5) -workerIP="${workerIP%%/*}" +CLUSTER_NAME=cluster-test +NUM_MASTERS=${NUM_MASTERS:-"1"} +NUM_WORKERS=${NUM_WORKERS:-"1"} # Create Fake DHCP File mkdir -p /opt/icn/dhcp @@ -20,27 +14,43 @@ cat < /opt/icn/dhcp/dhcpd.leases # authoring-byte-order entry is generated, DO NOT DELETE authoring-byte-order little-endian; -lease ${masterIP} { +EOF +for ((master=0;master> /opt/icn/dhcp/dhcpd.leases +lease ${ip} { starts 4 2019/08/08 22:32:49; ends 4 2019/08/08 23:52:49; cltt 4 2019/08/08 22:32:49; binding state active; next binding state free; rewind binding state free; - hardware ethernet ${masterMAC}; - client-hostname "master-0"; + hardware ethernet ${mac}; + client-hostname "master-${master}"; } -lease ${workerIP} { +EOF +done +for ((worker=0;worker> /opt/icn/dhcp/dhcpd.leases +lease ${ip} { starts 4 2019/08/08 22:32:49; ends 4 2019/08/08 23:52:49; cltt 4 2019/08/08 22:32:49; binding state active; next binding state free; rewind binding state free; - hardware ethernet ${workerMAC}; - client-hostname "worker-0"; + hardware ethernet ${mac}; + client-hostname "worker-${worker}"; } EOF +done # Create provisioning CR file for testing cat < e2etest/e2e_test_provisioning_cr.yaml @@ -49,15 +59,33 @@ kind: Provisioning metadata: name: e2e-test-provisioning labels: - cluster: cluster-test + cluster: ${CLUSTER_NAME} owner: c1 spec: masters: - - master-0: - mac-address: ${masterMAC} +EOF +for ((master=0;master> e2etest/e2e_test_provisioning_cr.yaml + - master-${master}: + mac-address: ${mac} +EOF +done +cat <> e2etest/e2e_test_provisioning_cr.yaml workers: - - worker-0: - mac-address: ${workerMAC} +EOF +for ((worker=0;worker> e2etest/e2e_test_provisioning_cr.yaml + - worker-${worker}: + mac-address: ${mac} +EOF +done +cat <> e2etest/e2e_test_provisioning_cr.yaml + KUDPlugins: + - emco EOF kubectl apply -f e2etest/e2e_test_provisioning_cr.yaml sleep 5 @@ -69,7 +97,7 @@ while [[ $status == "Running" ]] do echo "KUD install job still running" sleep 2m - stats=$(kubectl get pods |grep -i kud-cluster-test) + stats=$(kubectl get pods |grep -i kud-${CLUSTER_NAME}) status=$(echo $stats | cut -d " " -f 3) done @@ -79,13 +107,10 @@ then printf "Checking cluster status\n" source ../../env/lib/common.sh - CLUSTER_NAME=cluster-test KUBECONFIG=--kubeconfig=/opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/admin.conf APISERVER=$(kubectl ${KUBECONFIG} config view --minify -o jsonpath='{.clusters[0].cluster.server}') TOKEN=$(kubectl ${KUBECONFIG} get secret $(kubectl ${KUBECONFIG} get serviceaccount default -o jsonpath='{.secrets[0].name}') -o jsonpath='{.data.token}' | base64 --decode ) - call_api $APISERVER/api --header "Authorization: Bearer $TOKEN" --insecure - ret=$? - if [[ $ret != 0 ]]; + if ! call_api $APISERVER/api --header "Authorization: Bearer $TOKEN" --insecure; then printf "\nKubernetes Cluster Install did not complete successfully\n" else @@ -97,11 +122,18 @@ else fi +#Print logs of Job Pod +jobPod=$(kubectl get pods|grep kud-${CLUSTER_NAME}) +podName=$(echo $jobPod | cut -d " " -f 1) +printf "\nNow Printing Job pod logs\n" +kubectl logs $podName + +#Teardown Setup printf "\n\nBeginning E2E Test Teardown\n\n" kubectl delete -f e2etest/e2e_test_provisioning_cr.yaml -kubectl delete job kud-cluster-test -kubectl delete configmap cluster-test-configmap +kubectl delete job kud-${CLUSTER_NAME} +kubectl delete --ignore-not-found=true configmap ${CLUSTER_NAME}-configmap rm e2etest/e2e_test_provisioning_cr.yaml -rm -rf /opt/kud/multi-cluster/cluster-test +rm -rf /opt/kud/multi-cluster/${CLUSTER_NAME} rm /opt/icn/dhcp/dhcpd.leases make delete