aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJed Preist <jed@stackhpc.com>2026-07-03 14:46:26 +0100
committerJed Preist <jed@stackhpc.com>2026-10-15 09:08:59 +0000
commit870383f11bb99283321ffe0c263f8bcb2bfbf877 (patch)
tree491be76ca82ded2658ab33f39a717d4bf1f631f1
parenta537f6eddf9188176e95d8d0ace89e7da589f239 (diff)
downloadkolla-ansible-870383f11bb99283321ffe0c263f8bcb2bfbf877.tar.gz
kolla-ansible-870383f11bb99283321ffe0c263f8bcb2bfbf877.zip
CI: Emulate Redfish baremetal with Tenks
Emulate baremetal using Tenks to test the deployment of Redfish baremetal with Ironic. Depends-On: https://review.opendev.org/c/openstack/tenks/+/995697 Change-Id: I2df2287c15d1afaba9d63956bcfa2fc7e71c3530 Signed-off-by: Jed Preist <jed@stackhpc.com> (cherry picked from commit 06da80983a66e88251f08535b43ce984f4729e4f)
-rw-r--r--tests/templates/tenks-deploy-config.yml.j217
-rwxr-xr-xtests/test-ironic.sh93
2 files changed, 69 insertions, 41 deletions
diff --git a/tests/templates/tenks-deploy-config.yml.j2 b/tests/templates/tenks-deploy-config.yml.j2
index 6d2c409c4..5fe3527a1 100644
--- a/tests/templates/tenks-deploy-config.yml.j2
+++ b/tests/templates/tenks-deploy-config.yml.j2
@@ -15,16 +15,33 @@ node_types:
# NOTE(bbezak): Force QEMU to expose x86-64‑v2 features, so the Centos Stream IPA
# doesn’t fail with "Fatal glibc error: CPU does not support x86-64-v2".
cpu_mode: maximum
+ type1:
+ memory_mb: 3072
+ vcpus: 1
+ volumes:
+ - capacity: 4GiB
+ physical_networks:
+ - physnet1
+ console_log_enabled: true
+ cpu_mode: maximum
+ ironic_driver: redfish
specs:
- type: type0
count: 1
ironic_config:
resource_class: test-rc
network_interface: flat
+ - type: type1
+ count: 1
+ ironic_config:
+ resource_class: test-rc-red
+ network_interface: flat
nova_flavors:
- resource_class: test-rc
node_type: type0
+ - resource_class: test-rc-red
+ node_type: type1
physnet_mappings:
physnet1: {{ neutron_external_bridge_name }}
diff --git a/tests/test-ironic.sh b/tests/test-ironic.sh
index fc3d3c7d6..b2d99c283 100755
--- a/tests/test-ironic.sh
+++ b/tests/test-ironic.sh
@@ -22,62 +22,73 @@ function test_ironic_logged {
openstack --os-cloud kolla-admin-system-internal baremetal node list
openstack baremetal port list
- openstack baremetal node show tk0
- openstack baremetal node power off tk0
- openstack baremetal node show tk0
- openstack baremetal node manage tk0
- openstack baremetal node show tk0
- openstack baremetal node validate tk0
+ for node_name in tk0 tk1; do
+ openstack baremetal node show $node_name
+ openstack baremetal node power off $node_name
+ openstack baremetal node show $node_name
+ openstack baremetal node manage $node_name
+ openstack baremetal node show $node_name
+ openstack baremetal node validate $node_name
+ done
echo "TESTING: Server inspection"
- openstack baremetal node inspect tk0
- local attempt
- attempt=1
- while [[ $(openstack baremetal node show tk0 -f value -c provision_state) != "manageable" ]]; do
- echo "Server not yet manageable, check $attempt - retrying"
- attempt=$((attempt+1))
- if [[ $attempt -eq 16 ]]; then
- echo "FAILED: Server did not finish inspection after $attempt checks"
- openstack baremetal node show tk0
- return 1
- fi
- sleep 60
+ for node_name in tk0 tk1; do
+ openstack baremetal node inspect $node_name
+ local attempt
+ attempt=1
+ while [[ $(openstack baremetal node show $node_name -f value -c provision_state) != "manageable" ]]; do
+ echo "Server not yet manageable, check $attempt - retrying"
+ attempt=$((attempt+1))
+ if [[ $attempt -eq 16 ]]; then
+ echo "FAILED: Server did not finish inspection after $attempt checks"
+ openstack baremetal node show $node_name
+ return 1
+ fi
+ sleep 60
+ done
+ openstack baremetal node inventory save $node_name
done
- openstack baremetal node inventory save tk0
echo ""
echo "SUCCESS: Server inspection"
echo "TESTING: Server creation"
- openstack baremetal node provide tk0
- attempt=1
- while [[ $(openstack baremetal node show tk0 -f value -c provision_state) != "available" ]]; do
- echo "Server not yet available, check $attempt - retrying"
- attempt=$((attempt+1))
- if [[ $attempt -eq 16 ]]; then
- echo "FAILED: Server did not get to available state after $attempt checks"
- openstack baremetal node show tk0
- return 1
- fi
- sleep 60
+ for node_name in tk0 tk1; do
+ openstack baremetal node provide $node_name
+ attempt=1
+ while [[ $(openstack baremetal node show $node_name -f value -c provision_state) != "available" ]]; do
+ echo "Server not yet available, check $attempt - retrying"
+ attempt=$((attempt+1))
+ if [[ $attempt -eq 16 ]]; then
+ echo "FAILED: Server did not get to available state after $attempt checks"
+ openstack baremetal node show $node_name
+ return 1
+ fi
+ sleep 60
+ done
done
# NOTE(mnasiadka): Wait for nova-compute-ironic to pick up the new node
sleep 60
- openstack server create --image cirros --flavor test-rc --key-name mykey --network public1 kolla_bm_boot_test
- attempt=1
- while [[ $(openstack server show kolla_bm_boot_test -f value -c status) != "ACTIVE" ]]; do
- echo "Server not yet active, check $attempt - retrying"
- attempt=$((attempt+1))
- if [[ $attempt -eq 16 ]]; then
- echo "FAILED: Server did not become active after $attempt checks"
- openstack server show kolla_bm_boot_test
- return 1
- fi
- sleep 60
+ for suffix in "" -red; do
+ flavor_name="test-rc$suffix"
+ server_name="kolla_bm_boot_test$suffix"
+ openstack server create --image cirros --flavor $flavor_name --key-name mykey --network public1 $server_name
+ attempt=1
+ while [[ $(openstack server show $server_name -f value -c status) != "ACTIVE" ]]; do
+ echo "Server not yet active, check $attempt - retrying"
+ attempt=$((attempt+1))
+ if [[ $attempt -eq 20 ]]; then
+ echo "FAILED: Server did not become active after $attempt checks"
+ openstack server show $server_name
+ return 1
+ fi
+ sleep 60
+ done
done
echo "SUCCESS: Server creation"
echo "TESTING: Server deletion"
openstack server delete --wait kolla_bm_boot_test
+ openstack server delete --wait kolla_bm_boot_test-red
echo "SUCCESS: Server deletion"
}