From f86ed0270f74270dd4552ea064f8de4df9fe0758 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Fri, 5 Jan 2024 13:09:51 +0100 Subject: CI: Test Nova server resize functionality This adds an extra resize operation to core OpenStack tests. This should be fast since we are only increasing the number of cores of the VM and could help catch additional errors in CI tests. Change-Id: Ia61b995dbffcda4f1e6494548df457231cb67bd7 --- tests/test-core-openstack.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'tests') diff --git a/tests/test-core-openstack.sh b/tests/test-core-openstack.sh index d00c1801e..e9bdb02b0 100755 --- a/tests/test-core-openstack.sh +++ b/tests/test-core-openstack.sh @@ -175,6 +175,40 @@ function create_instance { fi } +function resize_instance { + local name=$1 + + # TODO(priteau): Remove once previous_release includes m2.tiny in + # init-runonce + if ! openstack flavor list -f value | grep m2.tiny; then + openstack flavor create --id 6 --ram 512 --disk 1 --vcpus 2 m2.tiny + fi + + openstack server resize --flavor m2.tiny --wait ${name} + # If the status is not VERIFY_RESIZE, print info and exit 1 + if [[ $(openstack server show ${name} -f value -c status) != "VERIFY_RESIZE" ]]; then + echo "FAILED: Instance is not resized" + openstack --debug server show ${name} + return 1 + fi + + openstack server resize confirm ${name} + + # Confirming the resize operation is not instantaneous. Wait for change to + # be reflected in server status. + attempt=1 + while [[ $(openstack server show ${name} -f value -c status) != "ACTIVE" ]]; do + echo "Instance is not active yet" + attempt=$((attempt+1)) + if [[ $attempt -eq 5 ]]; then + echo "FAILED: Instance failed to become active after resize confirm" + openstack --debug server show ${name} + return 1 + fi + sleep 1 + done +} + function delete_instance { local name=$1 openstack server delete --wait ${name} @@ -344,6 +378,10 @@ function test_instance_boot { echo "SUCCESS: Floating ip deallocation" fi + echo "TESTING: Server resize" + resize_instance kolla_boot_test + echo "SUCCESS: Server resize" + echo "TESTING: Server deletion" delete_instance kolla_boot_test echo "SUCCESS: Server deletion" -- cgit v1.2.3