From 974145d063afac3934a9b7c506bebf4318f9424d Mon Sep 17 00:00:00 2001 From: James Falcon Date: Fri, 4 Dec 2020 10:56:29 -0600 Subject: Add ability to keep snapshotted images in integration tests (#711) For SRU test development, every single time we start a new test run, we need to first install the PROPOSED version and create an image snapshot. Instead of automatically deleting a snapshot, add an integration setting to allow us to keep the snapshot. The end of the test run will log the image name which can then be used as the OS_IMAGE in subsequent test runs. --- tests/integration_tests/clouds.py | 15 ++++++++++----- tests/integration_tests/integration_settings.py | 2 ++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/tests/integration_tests/clouds.py b/tests/integration_tests/clouds.py index 8cdb3fcc..ea42b6d5 100644 --- a/tests/integration_tests/clouds.py +++ b/tests/integration_tests/clouds.py @@ -166,11 +166,16 @@ class IntegrationCloud(ABC): def delete_snapshot(self): if self.snapshot_id: - log.info( - 'Deleting snapshot image created for this testrun: %s', - self.snapshot_id - ) - self.cloud_instance.delete_image(self.snapshot_id) + if self.settings.KEEP_IMAGE: + log.info( + 'NOT deleting snapshot image created for this testrun ' + 'because KEEP_IMAGE is True: %s', self.snapshot_id) + else: + log.info( + 'Deleting snapshot image created for this testrun: %s', + self.snapshot_id + ) + self.cloud_instance.delete_image(self.snapshot_id) class Ec2Cloud(IntegrationCloud): diff --git a/tests/integration_tests/integration_settings.py b/tests/integration_tests/integration_settings.py index 07a6d541..ad6d453a 100644 --- a/tests/integration_tests/integration_settings.py +++ b/tests/integration_tests/integration_settings.py @@ -7,6 +7,8 @@ import os # Keep instance (mostly for debugging) when test is finished KEEP_INSTANCE = False +# Keep snapshot image (mostly for debugging) when test is finished +KEEP_IMAGE = False # One of: # lxd_container -- cgit v1.2.3