From 4740a87cc1bf82da9b851586433ed0f21873673a Mon Sep 17 00:00:00 2001 From: Todd Malsbary Date: Fri, 26 Feb 2021 13:23:27 -0800 Subject: [PATCH] Make BPA VM verifier aware of NUM_WORKERS Exporting NUM_WORKERS creates additional worker VMs, but prior to this fix only the first worker was provisioned by the BPA operator. Signed-off-by: Todd Malsbary Change-Id: I1f8f56a26e6a94b3c6788b08f545b5f1c1713300 --- cmd/bpa-operator/e2etest/bpa_vm_verifier.sh | 65 +++++++++++++++++++---------- deploy/metal3-vm/.gitignore | 2 + deploy/metal3-vm/03_launch_mgmt_cluster.sh | 8 ++-- 3 files changed, 50 insertions(+), 25 deletions(-) diff --git a/cmd/bpa-operator/e2etest/bpa_vm_verifier.sh b/cmd/bpa-operator/e2etest/bpa_vm_verifier.sh index 2d93572..7f4fcae 100755 --- a/cmd/bpa-operator/e2etest/bpa_vm_verifier.sh +++ b/cmd/bpa-operator/e2etest/bpa_vm_verifier.sh @@ -2,17 +2,8 @@ set -eu -o pipefail CLUSTER_NAME=cluster-test - -# 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%%/*}" +NUM_MASTERS=${NUM_MASTERS:-"1"} +NUM_WORKERS=${NUM_WORKERS:-"1"} # Create Fake DHCP File mkdir -p /opt/icn/dhcp @@ -23,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 @@ -56,11 +63,27 @@ metadata: 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 diff --git a/deploy/metal3-vm/.gitignore b/deploy/metal3-vm/.gitignore index 7872a3f..5484a3b 100644 --- a/deploy/metal3-vm/.gitignore +++ b/deploy/metal3-vm/.gitignore @@ -4,6 +4,8 @@ config_*.sh !config_example.sh master-*.json worker-*.json +master-*.yaml +worker-*.yaml *.bk *.tmp *.swp diff --git a/deploy/metal3-vm/03_launch_mgmt_cluster.sh b/deploy/metal3-vm/03_launch_mgmt_cluster.sh index 7ebad78..d8907b3 100755 --- a/deploy/metal3-vm/03_launch_mgmt_cluster.sh +++ b/deploy/metal3-vm/03_launch_mgmt_cluster.sh @@ -62,7 +62,7 @@ function launch_baremetal_operator { # documentation for the values below may be found at # https://cloudinit.readthedocs.io/en/latest/topics/modules.html -create_userdata() { +function create_userdata { name="$1" COMPUTE_NODE_FQDN="$name.akraino.icn.org" printf "#cloud-config\n" > $name-userdata.yaml @@ -87,7 +87,7 @@ create_userdata() { printf "\n" >> $name-userdata.yaml } -apply_userdata_credential() { +function apply_userdata_credential { name="$1" cat < ./$name-user-data-credential.yaml apiVersion: v1 @@ -102,12 +102,12 @@ EOF kubectl apply -n metal3 -f $name-user-data-credential.yaml } -create_networkdata() { +function create_networkdata { name="$1" node_networkdata $name > $name-networkdata.json } -apply_networkdata_credential() { +function apply_networkdata_credential { name="$1" cat < ./$name-network-data-credential.yaml apiVersion: v1 -- 2.16.6