Skip to content

Commit 34c1489

Browse files
committed
Make baremetal targets more resilient to re-running
This refactors some of the baremetal targets and scripts so that the targets can be re-used without completely removing everything (resources and instances) that were created on previous runs. This enables: • creating different sets of edpm compute nodes, some preprovisioned and some baremetal, without the baremetal target completely deleting all edpm instances that existed previously. • adding additional baremetal nodes to create different NodeSets/Deployments without deleting all previous resources. • Setting specific baremetal node prefixes and suffixes to control the naming so that specific new nodes can be added without overwriting others. • Removes over eager rm's, such as for out/edpm, which completely wipes out anything edpm related already deployed. Signed-off-by: James Slagle <[email protected]>
1 parent 4d9c05b commit 34c1489

File tree

5 files changed

+123
-72
lines changed

5 files changed

+123
-72
lines changed

devsetup/Makefile

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,8 @@ BMAAS_ROUTE_LIBVIRT_NETWORKS ?= ${BMAAS_NETWORK_NAME},crc,default
127127
DATAPLANE_PLAYBOOK ?= osp.edpm.download_cache
128128
DATAPLANE_CUSTOM_SERVICE_RUNNER_IMG ?=quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest
129129
BM_NETWORK_NAME ?=default
130-
BM_INSTANCE_NAME_PREFIX ?=edpm-compute
130+
BM_INSTANCE_NAME_PREFIX ?=edpm-compute-baremetal
131+
BM_INSTANCE_NAME_SUFFIX ?=0
131132
BM_INSTANCE_MEMORY ?=8192
132133
BM_NODE_COUNT ?=1
133134
BM_ROOT_PASSWORD_SECRET ?=
@@ -379,6 +380,7 @@ edpm_baremetal_compute: export OPERATOR_NAME=openstack
379380
edpm_baremetal_compute: export NAMESPACE=${BMH_NAMESPACE}
380381
edpm_baremetal_compute: export BMAAS_NETWORK_NAME=${BM_NETWORK_NAME}
381382
edpm_baremetal_compute: export BMAAS_INSTANCE_NAME_PREFIX=${BM_INSTANCE_NAME_PREFIX}
383+
edpm_baremetal_compute: export BMAAS_INSTANCE_NAME_SUFFIX=${BM_INSTANCE_NAME_SUFFIX}
382384
edpm_baremetal_compute: export BMAAS_INSTANCE_MEMORY=${BM_INSTANCE_MEMORY}
383385
edpm_baremetal_compute: export BMAAS_NODE_COUNT=${BM_NODE_COUNT}
384386
edpm_baremetal_compute: export NODE_COUNT=${BM_NODE_COUNT}
@@ -392,13 +394,12 @@ edpm_baremetal_compute: ## Create virtual baremetal for the dataplane
392394
edpm_baremetal_compute_cleanup: export BMAAS_NETWORK_NAME=${BM_NETWORK_NAME}
393395
edpm_baremetal_compute_cleanup: export NAMESPACE=${BMH_NAMESPACE}
394396
edpm_baremetal_compute_cleanup: export BMAAS_INSTANCE_NAME_PREFIX=${BM_INSTANCE_NAME_PREFIX}
397+
edpm_baremetal_compute_cleanup: export BMAAS_INSTANCE_NAME_SUFFIX=${BM_INSTANCE_NAME_SUFFIX}
395398
edpm_baremetal_compute_cleanup: export BMAAS_NODE_COUNT=${BM_NODE_COUNT}
396399
edpm_baremetal_compute_cleanup: export NODE_COUNT=${BM_NODE_COUNT}
397400
edpm_baremetal_compute_cleanup: ## Cleanup dataplane with BMAAS
398401
$(eval $(call vars))
399402
scripts/edpm-compute-baremetal.sh --cleanup
400-
pushd .. && rm -Rf out/edpm || true && popd
401-
make bmaas_sushy_emulator_cleanup || true
402403
make bmaas_virtual_bms_cleanup || true
403404

404405
.PHONY: edpm_compute
@@ -667,6 +668,7 @@ bmaas_metallb_cleanup:
667668
bmaas_virtual_bms: export NODE_COUNT = ${BMAAS_NODE_COUNT}
668669
bmaas_virtual_bms: export NETWORK_NAME = ${BMAAS_NETWORK_NAME}
669670
bmaas_virtual_bms: export NODE_NAME_PREFIX = ${BMAAS_INSTANCE_NAME_PREFIX}
671+
bmaas_virtual_bms: export NODE_NAME_SUFFIX = ${BMAAS_INSTANCE_NAME_SUFFIX}
670672
bmaas_virtual_bms: export MEMORY = ${BMAAS_INSTANCE_MEMORY}
671673
bmaas_virtual_bms: export VCPUS = ${BMAAS_INSTANCE_VCPUS}
672674
bmaas_virtual_bms: export DISK_SIZE = ${BMAAS_INSTANCE_DISK_SIZE}
@@ -680,6 +682,7 @@ bmaas_virtual_bms: ## Create libvirt VM for BMaaS
680682
bmaas_virtual_bms_cleanup: export NODE_COUNT = ${BMAAS_NODE_COUNT}
681683
bmaas_virtual_bms_cleanup: export NETWORK_NAME = ${BMAAS_NETWORK_NAME}
682684
bmaas_virtual_bms_cleanup: export NODE_NAME_PREFIX = ${BMAAS_INSTANCE_NAME_PREFIX}
685+
bmaas_virtual_bms_cleanup: export NODE_NAME_SUFFIX = ${BMAAS_INSTANCE_NAME_SUFFIX}
683686
bmaas_virtual_bms_cleanup: export MEMORY = ${BMAAS_INSTANCE_MEMORY}
684687
bmaas_virtual_bms_cleanup: export VCPUS = ${BMAAS_INSTANCE_VCPUS}
685688
bmaas_virtual_bms_cleanup: export DISK_SIZE = ${BMAAS_INSTANCE_DISK_SIZE}
@@ -702,17 +705,20 @@ bmaas_sushy_emulator: export SUSHY_EMULATOR_OS_CLOUD = ${BMAAS_SUSHY_EMULATOR_OS
702705
bmaas_sushy_emulator: export SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE = ${BMAAS_SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE}
703706
bmaas_sushy_emulator: export REDFISH_USERNAME = ${BMAAS_REDFISH_USERNAME}
704707
bmaas_sushy_emulator: export REDFISH_PASSWORD = ${BMAAS_REDFISH_PASSWORD}
708+
bmaas_sushy_emulator: export DEPLOY_DIR=../out/bmaas
705709
bmaas_sushy_emulator: ## Create BMaaS sushy-emulator (Virtual RedFish)
706710
scripts/bmaas/sushy-emulator.sh --create
707711

708712
.PHONY: bmaas_sushy_emulator_cleanup
709713
bmaas_sushy_emulator_cleanup: export NODE_NAME_PREFIX = ${BMAAS_INSTANCE_NAME_PREFIX}
714+
bmaas_sushy_emulator_cleanup: export NODE_NAME_SUFFIX = ${BMAAS_INSTANCE_NAME_SUFFIX}
710715
bmaas_sushy_emulator_cleanup: export LIBVIRT_USER = ${BMAAS_LIBVIRT_USER}
711716
bmaas_sushy_emulator_cleanup: export SUSHY_EMULATOR_NAMESPACE = ${BMAAS_SUSHY_EMULATOR_NAMESPACE}
712717
bmaas_sushy_emulator_cleanup: export SUSHY_EMULATOR_DRIVER = ${BMAAS_SUSHY_EMULATOR_DRIVER}
713718
bmaas_sushy_emulator_cleanup: export SUSHY_EMULATOR_OS_CLOUD = ${BMAAS_SUSHY_EMULATOR_OS_CLOUD}
714719
bmaas_sushy_emulator_cleanup: export REDFISH_USERNAME = ${BMAAS_REDFISH_USERNAME}
715720
bmaas_sushy_emulator_cleanup: export REDFISH_PASSWORD = ${BMAAS_REDFISH_PASSWORD}
721+
bmaas_sushy_emulator_cleanup: export DEPLOY_DIR=../out/bmaas
716722
bmaas_sushy_emulator_cleanup: ## Cleanup BMaaS sushy-emulator (Virtual RedFish)
717723
scripts/bmaas/sushy-emulator.sh --cleanup
718724

devsetup/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,12 +164,21 @@ This requires controlplane to be deployed before dataplane:
164164
```
165165
pushd ..
166166
make openstack_deploy
167+
make openstack_init
167168
popd
168169
```
169170

170171
Create and manage the virtual machines:
171172
```
172173
BM_NODE_COUNT=1 make edpm_baremetal_compute
174+
175+
# optional, create more virtual machines later:
176+
# creates edpm-baremetal-compute-01 and edpm-baremetal-compute-02
177+
BM_NODE_COUNT=2 BM_NODE_SUFFIX=1 make edpm_baremetal_compute
178+
179+
# optional, create more virtual machines with differet names:
180+
# creates edpm-bootc-00
181+
BM_NODE_PREFIX=edpm-bootc make edpm_baremetal_compute
173182
```
174183

175184
The dataplane can then be deployed on these nodes as for other baremetal
@@ -187,6 +196,14 @@ make edpm_deploy_cleanup
187196
popd
188197
# Will delete VM's!:
189198
BM_NODE_COUNT=1 make edpm_baremetal_compute_cleanup
199+
200+
# optional, cleanup other virtual machines:
201+
# cleans up edpm-baremetal-compute-01 and edpm-baremetal-compute-02
202+
BM_NODE_COUNT=2 BM_NODE_SUFFIX=1 make edpm_baremetal_compute_cleanup
203+
204+
# optional, cleanup virtual machines with differet names:
205+
# cleans up edpm-bootc-00
206+
BM_NODE_PREFIX=edpm-bootc make edpm_baremetal_compute_cleanup
190207
```
191208

192209
### BMaaS LAB

devsetup/scripts/bmaas/sushy-emulator.sh

Lines changed: 50 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ function usage {
1414
echo
1515
}
1616

17-
MY_TMP_DIR="$(mktemp -d)"
18-
trap 'rm -rf -- "$MY_TMP_DIR"' EXIT
19-
2017
NODE_NAME_PREFIX=${NODE_NAME_PREFIX:-"crc-bmaas"}
2118
NAMESPACE=${SUSHY_EMULATOR_NAMESPACE:-"sushy-emulator"}
2219
DRIVER=${SUSHY_EMULATOR_DRIVER:-"libvirt"}
@@ -27,6 +24,9 @@ IMAGE=${SUSHY_EMULATOR_IMAGE:-"quay.io/metal3-io/sushy-tools:latest"}
2724
CRC_NETWORK_NAME=${CRC_NETWORK_NAME:-crc}
2825
BM_IPV6=${BM_IPV6:-false}
2926
BM_IPV4=${BM_IPV4:-false}
27+
SUSHY_DIR=${SUSHY_DIR:-"${DEPLOY_DIR}/sushy"}
28+
29+
mkdir -p ${SUSHY_DIR}
3030

3131

3232
if [ $DRIVER = "libvirt" ]; then
@@ -49,7 +49,12 @@ if [ $DRIVER = "libvirt" ]; then
4949
LIBVIRT_URI="'qemu+ssh://${LIBVIRT_USER}@${LIBVIRT_IP_ADDRESS}/system${LIBVIRT_SOCKET}'"
5050
SUSHY_EMULATOR_LISTEN_IP="'0.0.0.0'"
5151
fi
52-
INSTANCES=$(virsh --connect=qemu:///system list --all --uuid --name | grep "${NODE_NAME_PREFIX}" | awk 'BEGIN{ printf "[" }; { printf "%s\"%s\"", sep, $1, sep=","}; END{ printf "]" }')
52+
BMHS=$(oc get -o name bmh | cut -d/ -f2)
53+
LIBVIRT_INSTANCES=$(virsh --connect=qemu:///system list --all --uuid --name | grep "${NODE_NAME_PREFIX}" | awk '{print $1}')
54+
for bmh in ${BMHS}; do
55+
LIBVIRT_INSTANCES="${LIBVIRT_INSTANCES} $(virsh --connect=qemu:///system domuuid ${bmh})"
56+
done
57+
INSTANCES=$(echo ${LIBVIRT_INSTANCES} | awk 'BEGIN{ printf "[" }; { printf "%s\"%s\"", sep, $1, sep=","}; END{ printf "]" }')
5358
EMULATOR_OS_CLOUD="None"
5459
elif [ $DRIVER = "openstack" ]; then
5560
OS_CLIENT_CONFIG_FILE=${SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE:-/etc/openstack/clouds.yaml}
@@ -60,15 +65,15 @@ fi
6065

6166
function create_sushy_emulator_namespace {
6267
echo "Creating namespace ${NAMESPACE}"
63-
cat <<EOF > "${MY_TMP_DIR}/namespace.yaml"
68+
cat <<EOF > "${SUSHY_DIR}/namespace.yaml"
6469
apiVersion: v1
6570
kind: Namespace
6671
metadata:
6772
name: ${NAMESPACE}
6873
EOF
6974

70-
# cat ${MY_TMP_DIR}/namespace.yaml
71-
oc apply -f "${MY_TMP_DIR}/namespace.yaml"
75+
# cat ${SUSHY_DIR}/namespace.yaml
76+
oc apply -f "${SUSHY_DIR}/namespace.yaml"
7277
}
7378

7479
function create_sushy_emulator_user {
@@ -88,28 +93,39 @@ function generate_ssh_keypair {
8893
echo "PANIC, unable to get ${LIBVIRT_USER} home directory."
8994
exit 1
9095
fi
91-
ssh-keygen -q -f "${MY_TMP_DIR}/${SSH_KEY_FILE}" -N "" -t "${SSH_ALGORITHM}" -b "${SSH_KEY_SIZE}"
96+
if [ ! -f "${SUSHY_DIR}/${SSH_KEY_FILE}" ]; then
97+
ssh-keygen -q -f "${SUSHY_DIR}/${SSH_KEY_FILE}" -N "" -t "${SSH_ALGORITHM}" -b "${SSH_KEY_SIZE}"
98+
else
99+
echo "${SUSHY_DIR}/${SSH_KEY_FILE} already exists, not re-generating"
100+
fi
92101
sudo mkdir -p "${homedir}/.ssh"
93-
sudo cp "${MY_TMP_DIR}/${SSH_KEY_FILE}" "${homedir}/.ssh/${SSH_KEY_FILE}"
94-
sudo cp "${MY_TMP_DIR}/${SSH_KEY_FILE}.pub" "${homedir}/.ssh/${SSH_KEY_FILE}.pub"
102+
sudo cp "${SUSHY_DIR}/${SSH_KEY_FILE}" "${homedir}/.ssh/${SSH_KEY_FILE}"
103+
sudo cp "${SUSHY_DIR}/${SSH_KEY_FILE}.pub" "${homedir}/.ssh/${SSH_KEY_FILE}.pub"
95104
sudo touch "${homedir}/.ssh/authorized_keys"
96-
cat "${MY_TMP_DIR}/${SSH_KEY_FILE}.pub" | sudo tee "${homedir}/.ssh/authorized_keys" > /dev/null
105+
cat "${SUSHY_DIR}/${SSH_KEY_FILE}.pub" | sudo tee "${homedir}/.ssh/authorized_keys" > /dev/null
97106
sudo chown -R "${LIBVIRT_USER}":"${LIBVIRT_USER}" "${homedir}/.ssh"
98107
sudo chmod 700 "${homedir}/.ssh"
99108
sudo chmod -R og-rwx "${homedir}/.ssh"
100109
}
101110

102111
function create_sushy_emulator_config {
103112
echo "Creating sushy-emulator-config"
104-
cat << EOF > "${MY_TMP_DIR}/config-map.yaml"
113+
local htpasswd
114+
if [ -f "${SUSHY_DIR}/htpasswd" ]; then
115+
htpasswd=$(cat ${SUSHY_DIR}/htpasswd)
116+
else
117+
htpasswd=$(htpasswd -nbB "${REDFISH_USERNAME}" "${REDFISH_PASSWORD}")
118+
echo ${htpasswd} > ${SUSHY_DIR}/htpasswd
119+
fi
120+
cat << EOF > "${SUSHY_DIR}/config-map.yaml"
105121
apiVersion: v1
106122
kind: ConfigMap
107123
metadata:
108124
name: sushy-emulator-config
109125
namespace: ${NAMESPACE}
110126
data:
111127
htpasswd: |
112-
$(htpasswd -nbB "${REDFISH_USERNAME}" "${REDFISH_PASSWORD}" | sed 's/^/ /')
128+
${htpasswd}
113129
config: |
114130
# Listen on all local IP interfaces
115131
SUSHY_EMULATOR_LISTEN_IP = ${SUSHY_EMULATOR_LISTEN_IP}
@@ -146,24 +162,24 @@ $(htpasswd -nbB "${REDFISH_USERNAME}" "${REDFISH_PASSWORD}" | sed 's/^/ /')
146162
SUSHY_EMULATOR_ALLOWED_INSTANCES = ${INSTANCES}
147163
EOF
148164

149-
# cat ${MY_TMP_DIR}/config-map.yaml
150-
oc apply -f "${MY_TMP_DIR}/config-map.yaml"
165+
# cat ${SUSHY_DIR}/config-map.yaml
166+
oc apply -f "${SUSHY_DIR}/config-map.yaml"
151167
}
152168

153169
function create_sushy_emulator_secret {
154170
echo "Creating sushy-emulator-secret"
155171
if [ $DRIVER = "libvirt" ]; then
156-
cat << EOF > "${MY_TMP_DIR}/secret.yaml"
172+
cat << EOF > "${SUSHY_DIR}/secret.yaml"
157173
apiVersion: v1
158174
kind: Secret
159175
metadata:
160176
name: sushy-emulator-secret
161177
namespace: ${NAMESPACE}
162178
data:
163179
ssh-publickey: |
164-
$(base64 < "${MY_TMP_DIR}/${SSH_KEY_FILE}.pub" | sed 's/^/ /')
180+
$(base64 < "${SUSHY_DIR}/${SSH_KEY_FILE}.pub" | sed 's/^/ /')
165181
ssh-privatekey: |
166-
$(base64 < "${MY_TMP_DIR}/${SSH_KEY_FILE}" | sed 's/^/ /')
182+
$(base64 < "${SUSHY_DIR}/${SSH_KEY_FILE}" | sed 's/^/ /')
167183
ssh-known-hosts: |
168184
$(ssh-keyscan -H "${LIBVIRT_IP_ADDRESS}" | base64 | sed 's/^/ /')
169185
---
@@ -176,7 +192,7 @@ data:
176192
openstack-clouds-yaml: ""
177193
EOF
178194
elif [ $DRIVER = "openstack" ]; then
179-
cat << EOF > "${MY_TMP_DIR}/secret.yaml"
195+
cat << EOF > "${SUSHY_DIR}/secret.yaml"
180196
apiVersion: v1
181197
kind: Secret
182198
metadata:
@@ -198,13 +214,13 @@ $(cat ${OS_CLIENT_CONFIG_FILE} | base64 | sed 's/^/ /')
198214
EOF
199215
fi
200216

201-
# cat ${MY_TMP_DIR}/secret.yaml
202-
oc apply -f "${MY_TMP_DIR}/secret.yaml"
217+
# cat ${SUSHY_DIR}/secret.yaml
218+
oc apply -f "${SUSHY_DIR}/secret.yaml"
203219
}
204220

205221
function create_sushy_emulator_pod {
206222
echo "Creating sushy-emulator pod"
207-
cat << EOF > "${MY_TMP_DIR}/sushy-emulator-pod.yaml"
223+
cat << EOF > "${SUSHY_DIR}/sushy-emulator-pod.yaml"
208224
---
209225
apiVersion: v1
210226
kind: Pod
@@ -284,13 +300,15 @@ spec:
284300
restartPolicy: OnFailure
285301
EOF
286302

287-
# cat ${MY_TMP_DIR}/sushy-emulator-pod.yaml
288-
oc apply -f "${MY_TMP_DIR}/sushy-emulator-pod.yaml"
303+
# cat ${SUSHY_DIR}/sushy-emulator-pod.yaml
304+
# delete existing pod to force reloading of any config changes
305+
oc delete -n sushy-emulator --wait pod sushy-emulator
306+
oc apply -f "${SUSHY_DIR}/sushy-emulator-pod.yaml"
289307
}
290308

291309
function create_sushy_emulator_service {
292310
echo "Creating sushy-emulator-service"
293-
cat << EOF > "${MY_TMP_DIR}/sushy-emulator-service.yaml"
311+
cat << EOF > "${SUSHY_DIR}/sushy-emulator-service.yaml"
294312
---
295313
apiVersion: v1
296314
kind: Service
@@ -308,13 +326,13 @@ spec:
308326
targetPort: 8000
309327
EOF
310328

311-
# cat ${MY_TMP_DIR}/sushy-emulator-service.yaml
312-
oc apply -f "${MY_TMP_DIR}/sushy-emulator-service.yaml"
329+
# cat ${SUSHY_DIR}/sushy-emulator-service.yaml
330+
oc apply -f "${SUSHY_DIR}/sushy-emulator-service.yaml"
313331
}
314332

315333
function create_sushy_emulator_route {
316334
echo "Creating sushy-emulator-route"
317-
cat << EOF > "${MY_TMP_DIR}/sushy-emulator-route.yaml"
335+
cat << EOF > "${SUSHY_DIR}/sushy-emulator-route.yaml"
318336
---
319337
apiVersion: route.openshift.io/v1
320338
kind: Route
@@ -332,8 +350,8 @@ spec:
332350
name: sushy-emulator-service
333351
EOF
334352

335-
# cat ${MY_TMP_DIR}/sushy-emulator-route.yaml
336-
oc apply -f "${MY_TMP_DIR}/sushy-emulator-route.yaml"
353+
# cat ${SUSHY_DIR}/sushy-emulator-route.yaml
354+
oc apply -f "${SUSHY_DIR}/sushy-emulator-route.yaml"
337355
}
338356

339357
function create {
@@ -366,6 +384,8 @@ function cleanup {
366384
echo "Not deleting user ${LIBVIRT_USER}, user does not exist"
367385
fi
368386
fi
387+
388+
rm -rf ${SUSHY_DIR}
369389
}
370390

371391
case "$1" in

devsetup/scripts/bmaas/vbm-setup.sh

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ fi
1414

1515
SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
1616
NETWORK_NAME=${NETWORK_NAME:-"crc-bmaas"}
17-
NODE_NAME_PREFIX=${NODE_NAME_PREFIX:-"crc-bmaas"}
1817
NODE_COUNT=${NODE_COUNT:-"1"}
18+
NODE_NAME_PREFIX=${NODE_NAME_PREFIX:-"crc-bmaas"}
19+
NODE_NAME_SUFFIX=${NODE_NAME_SUFFIX:-"0"}
1920
ACTION=""
2021

2122
# Virtual Machine spec
@@ -105,7 +106,7 @@ function create_vm {
105106
local temp_file
106107
local name
107108
temp_file=$(mktemp -p "$MY_TMP_DIR")
108-
name="$NODE_NAME_PREFIX-$(printf "%02d" "$i")"
109+
name=$1
109110
echo "Creating VM: $name"
110111
virt-install --connect qemu:///system \
111112
--name "$name" \
@@ -142,15 +143,17 @@ function create {
142143
echo "Network $NETWORK_NAME does not exist, please create it"
143144
exit 1
144145
fi
145-
for (( i=1; i<=NODE_COUNT; i++ )); do
146-
create_vm "$i"
146+
for (( i=0; i<NODE_COUNT; i++ )); do
147+
node_suffix=$(($i + ${NODE_NAME_SUFFIX}))
148+
vm="$NODE_NAME_PREFIX-$(printf "%02d" "${node_suffix}")"
149+
create_vm "$vm"
147150
done
148151
}
149152

150153
function cleanup {
151-
local vms
152-
vms=$(virsh --connect=qemu:///system list --all --name | grep "$NODE_NAME_PREFIX")
153-
for vm in $vms; do
154+
for (( i=0; i<NODE_COUNT; i++ )); do
155+
node_suffix=$(($i + ${NODE_NAME_SUFFIX}))
156+
vm="$NODE_NAME_PREFIX-$(printf "%02d" "${node_suffix}")"
154157
delete_vm "$vm"
155158
done
156159
}

0 commit comments

Comments
 (0)