summaryrefslogtreecommitdiff
path: root/tests/integration_tests/clouds.py
diff options
context:
space:
mode:
authorJames Falcon <TheRealFalcon@users.noreply.github.com>2020-12-09 15:49:11 -0600
committerGitHub <noreply@github.com>2020-12-09 16:49:11 -0500
commit17ca02e10623b12065532b26de9cefcccee0062c (patch)
tree6e3a42a784a716cea4f63bee7e5ef8e191ecf925 /tests/integration_tests/clouds.py
parent7ec314a96e764c52181e29902a27346b1021b000 (diff)
downloadvyos-cloud-init-17ca02e10623b12065532b26de9cefcccee0062c.tar.gz
vyos-cloud-init-17ca02e10623b12065532b26de9cefcccee0062c.zip
Add integration test for power_state_change module (#717)
Also introduce the `unstable` mark, to allow us to land tests which run inconsistently (such as this one).
Diffstat (limited to 'tests/integration_tests/clouds.py')
-rw-r--r--tests/integration_tests/clouds.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/integration_tests/clouds.py b/tests/integration_tests/clouds.py
index ea42b6d5..9f6a6380 100644
--- a/tests/integration_tests/clouds.py
+++ b/tests/integration_tests/clouds.py
@@ -124,11 +124,12 @@ class IntegrationCloud(ABC):
def _perform_launch(self, launch_kwargs):
pycloudlib_instance = self.cloud_instance.launch(**launch_kwargs)
- pycloudlib_instance.wait(raise_on_cloudinit_failure=False)
return pycloudlib_instance
- def launch(self, user_data=None, launch_kwargs=None,
+ def launch(self, user_data=None, launch_kwargs=None, wait=True,
settings=integration_settings):
+ if launch_kwargs is None:
+ launch_kwargs = {}
if self.settings.EXISTING_INSTANCE_ID:
log.info(
'Not launching instance due to EXISTING_INSTANCE_ID. '
@@ -137,13 +138,15 @@ class IntegrationCloud(ABC):
self.settings.EXISTING_INSTANCE_ID
)
return
+ if 'wait' in launch_kwargs:
+ raise Exception("Specify 'wait' directly to launch, "
+ "not in 'launch_kwargs'")
kwargs = {
'image_id': self.image_id,
'user_data': user_data,
'wait': False,
}
- if launch_kwargs:
- kwargs.update(launch_kwargs)
+ kwargs.update(launch_kwargs)
log.info(
"Launching instance with launch_kwargs:\n{}".format(
"\n".join("{}={}".format(*item) for item in kwargs.items())
@@ -151,7 +154,8 @@ class IntegrationCloud(ABC):
)
pycloudlib_instance = self._perform_launch(kwargs)
-
+ if wait:
+ pycloudlib_instance.wait(raise_on_cloudinit_failure=False)
log.info('Launched instance: %s', pycloudlib_instance)
return self.get_instance(pycloudlib_instance, settings)
@@ -275,7 +279,6 @@ class _LxdIntegrationCloud(IntegrationCloud):
if self.settings.CLOUD_INIT_SOURCE == 'IN_PLACE':
self._mount_source(pycloudlib_instance)
pycloudlib_instance.start(wait=False)
- pycloudlib_instance.wait(raise_on_cloudinit_failure=False)
return pycloudlib_instance