@@ -65,6 +65,7 @@ for node in $(${BASH_ALIASES[openstack]} baremetal node list -c UUID -f value);
6565done
6666
6767# Create a baremetal flavor
68+ ${BASH_ALIASES[openstack]} flavor delete baremetal || true
6869${BASH_ALIASES[openstack]} flavor create baremetal --ram 1024 --vcpus 1 --disk 15 \
6970 --property resources:VCPU=0 \
7071 --property resources:MEMORY_MB=0 \
@@ -77,6 +78,7 @@ IMG=CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2
7778URL=https://cloud.centos.org/centos/9-stream/x86_64/images/$IMG
7879curl --silent --show-error -o /tmp/${IMG} -L $URL
7980DISK_FORMAT=$( qemu-img info /tmp/${IMG} | grep " file format:" | awk ' {print $NF}' )
81+ ${BASH_ALIASES[openstack]} image delete CentOS-Stream-GenericCloud-x86_64-9 || true
8082${BASH_ALIASES[openstack]} image create \
8183 --container-format bare \
8284 --disk-format ${DISK_FORMAT} \
@@ -87,25 +89,35 @@ wait_image_active CentOS-Stream-GenericCloud-x86_64-9
8789
8890
8991export BAREMETAL_NODES=$( ${BASH_ALIASES[openstack]} baremetal node list -c UUID -f value)
90- # Manage nodes
91- for node in $BAREMETAL_NODES ; do
92- ${BASH_ALIASES[openstack]} baremetal node manage $node
93- done
94- wait_node_state " manageable"
9592
96- # Inspect baremetal nodes
97- for node in $BAREMETAL_NODES ; do
98- ${BASH_ALIASES[openstack]} baremetal node inspect $node
99- sleep 10
100- done
101- wait_node_state " manageable"
93+ # Check if any nodes are active (in use by instances)
94+ ACTIVE_NODES=$( ${BASH_ALIASES[openstack]} baremetal node list -c " Provisioning State" -f value | grep -c " active" || true)
10295
103- # Provide nodes
104- for node in $BAREMETAL_NODES ; do
105- ${BASH_ALIASES[openstack]} baremetal node provide $node
106- sleep 10
107- done
108- wait_node_state " available"
96+ if [ " $ACTIVE_NODES " -eq 0 ]; then
97+ echo " No active nodes found, proceeding with node management operations"
98+
99+ # Manage nodes
100+ for node in $BAREMETAL_NODES ; do
101+ ${BASH_ALIASES[openstack]} baremetal node manage $node
102+ done
103+ wait_node_state " manageable"
104+
105+ # Inspect baremetal nodes
106+ for node in $BAREMETAL_NODES ; do
107+ ${BASH_ALIASES[openstack]} baremetal node inspect $node
108+ sleep 10
109+ done
110+ wait_node_state " manageable"
111+
112+ # Provide nodes
113+ for node in $BAREMETAL_NODES ; do
114+ ${BASH_ALIASES[openstack]} baremetal node provide $node
115+ sleep 10
116+ done
117+ wait_node_state " available"
118+ else
119+ echo " Found $ACTIVE_NODES active node(s), skipping node management operations to preserve deployed instances"
120+ fi
109121
110122# Wait for nova to be aware of the node
111123sleep 60
0 commit comments