summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Falcon <TheRealFalcon@users.noreply.github.com>2020-12-04 10:56:29 -0600
committerGitHub <noreply@github.com>2020-12-04 09:56:29 -0700
commit974145d063afac3934a9b7c506bebf4318f9424d (patch)
tree361e3376cc7f1e3d459fbf7d57ffda1cca285804
parent06f7b4522aaa2f5c7f773f42f6c88aed50bb00d5 (diff)
downloadcloud-init-git-974145d063afac3934a9b7c506bebf4318f9424d.tar.gz
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.
-rw-r--r--tests/integration_tests/clouds.py15
-rw-r--r--tests/integration_tests/integration_settings.py2
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