From d5cccad2f0655b59e1db9219458f8bc35edb9ad1 Mon Sep 17 00:00:00 2001 From: Steve Baker Date: Fri, 19 Jul 2013 10:34:24 +1200 Subject: [PATCH] Generate heat images for tempest tests This requires HEAT_CREATE_TEST_IMAGE to be set for any images to be created. If the file (files/fedora-vm-heat-cfntools-tempest.qcow2) already exists then disk-image-create will not be called, and the existing image file will be registered with glance. This is most likely to happen in the following scenarios: - a second run of stack.sh - the image has been pre-built elsewhere (such as during devstack-gate image building) Change-Id: I276573a20927e72f2cb68784f655c1ba1913ae8a --- lib/heat | 15 +++++++++++++++ lib/tempest | 7 +++++++ 2 files changed, 22 insertions(+) diff --git a/lib/heat b/lib/heat index 1b715f2b55..92b4e50ee2 100644 --- a/lib/heat +++ b/lib/heat @@ -197,6 +197,21 @@ function stop_heat() { done } +function disk_image_create { + local elements_path=$1 + local elements=$2 + local arch=$3 + local output=$TOP_DIR/files/$4 + if [[ -f "$output.qcow2" ]]; + then + echo "Image file already exists: $output_file" + else + ELEMENTS_PATH=$elements_path disk-image-create \ + $elements -a $arch -o $output + fi + # upload with fake URL so that image in $TOP_DIR/files is used + upload_image "http://localhost/$output.qcow2" $TOKEN +} # Restore xtrace $XTRACE diff --git a/lib/tempest b/lib/tempest index aaa7281a98..5142f24a2e 100644 --- a/lib/tempest +++ b/lib/tempest @@ -24,6 +24,7 @@ # ``DEFAULT_INSTANCE_TYPE`` # ``DEFAULT_INSTANCE_USER`` # ``CINDER_MULTI_LVM_BACKEND`` +# ``HEAT_CREATE_TEST_IMAGE`` # ``stack.sh`` calls the entry points in this order: # # install_tempest @@ -271,6 +272,12 @@ function configure_tempest() { iniset $TEMPEST_CONF boto http_socket_timeout 30 iniset $TEMPEST_CONF boto ssh_user ${DEFAULT_INSTANCE_USER:-cirros} + # Orchestration test image + if [ $HEAT_CREATE_TEST_IMAGE == "True" ]; then + disk_image_create /usr/share/tripleo-image-elements "vm fedora heat-cfntools" "i386" "fedora-vm-heat-cfntools-tempest" + iniset $TEMPEST_CONF orchestration image_ref "fedora-vm-heat-cfntools-tempest" + fi + # Scenario iniset $TEMPEST_CONF scenario img_dir "$FILES/images/cirros-0.3.1-x86_64-uec"