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
(cherry picked from commit f86ed0270f)
This commit is contained in:
Pierre Riteau 2024-01-05 13:09:51 +01:00
parent 6f5282140b
commit 6688347857
2 changed files with 39 additions and 0 deletions

View File

@ -168,6 +168,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}
@ -329,6 +363,10 @@ function test_instance_boot {
delete_fip ${fip_addr}
echo "SUCCESS: Floating ip deallocation"
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"

View File

@ -146,6 +146,7 @@ if ! $KOLLA_OPENSTACK_COMMAND flavor list | grep -q m1.tiny; then
$KOLLA_OPENSTACK_COMMAND flavor create --id 3 --ram 4096 --disk 40 --vcpus 2 m1.medium
$KOLLA_OPENSTACK_COMMAND flavor create --id 4 --ram 8192 --disk 80 --vcpus 4 m1.large
$KOLLA_OPENSTACK_COMMAND flavor create --id 5 --ram 16384 --disk 160 --vcpus 8 m1.xlarge
$KOLLA_OPENSTACK_COMMAND flavor create --id 6 --ram 512 --disk 1 --vcpus 2 m2.tiny
fi
cat << EOF