diff options
author | Daniel Watkins <oddbloke@ubuntu.com> | 2020-11-02 13:40:10 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-02 13:40:10 -0500 |
commit | d619f5171ac0ce5b626ef4575ad5f4468e94c987 (patch) | |
tree | cee3196d3aa0c058a09f60a09ea0899d90b673bd | |
parent | 2ea3121fece7dcdb0d5c424cb6fc597699c0e895 (diff) | |
download | vyos-cloud-init-d619f5171ac0ce5b626ef4575ad5f4468e94c987.tar.gz vyos-cloud-init-d619f5171ac0ce5b626ef4575ad5f4468e94c987.zip |
integration_tests: various launch improvements (#638)
* integration_tests: fix passing launch_kwargs to session_cloud.launch
* integration_tests: log the launch_kwargs before launching instances
* integration_tests: add support for specifying instance name for tests
Co-authored-by: Rick Harding <rharding@mitechie.com>
-rw-r--r-- | tests/integration_tests/clouds.py | 11 | ||||
-rw-r--r-- | tests/integration_tests/conftest.py | 10 | ||||
-rw-r--r-- | tox.ini | 1 |
3 files changed, 18 insertions, 4 deletions
diff --git a/tests/integration_tests/clouds.py b/tests/integration_tests/clouds.py index 06f1c623..08c86198 100644 --- a/tests/integration_tests/clouds.py +++ b/tests/integration_tests/clouds.py @@ -54,13 +54,18 @@ class IntegrationCloud(ABC): self.settings.EXISTING_INSTANCE_ID ) return - launch_kwargs = { + kwargs = { 'image_id': self.image_id, 'user_data': user_data, 'wait': False, } - launch_kwargs.update(launch_kwargs) - pycloudlib_instance = self.cloud_instance.launch(**launch_kwargs) + kwargs.update(launch_kwargs) + log.info( + "Launching instance with launch_kwargs:\n{}".format( + "\n".join("{}={}".format(*item) for item in kwargs.items()) + ) + ) + pycloudlib_instance = self.cloud_instance.launch(**kwargs) pycloudlib_instance.wait(raise_on_cloudinit_failure=False) log.info('Launched instance: %s', pycloudlib_instance) return self.get_instance(pycloudlib_instance, settings) diff --git a/tests/integration_tests/conftest.py b/tests/integration_tests/conftest.py index 9163ac66..34e674e9 100644 --- a/tests/integration_tests/conftest.py +++ b/tests/integration_tests/conftest.py @@ -111,7 +111,15 @@ def _client(request, fixture_utils, session_cloud): """ user_data = fixture_utils.closest_marker_first_arg_or( request, 'user_data', None) - with session_cloud.launch(user_data=user_data) as instance: + name = fixture_utils.closest_marker_first_arg_or( + request, 'instance_name', None + ) + launch_kwargs = {} + if name is not None: + launch_kwargs = {"name": name} + with session_cloud.launch( + user_data=user_data, launch_kwargs=launch_kwargs + ) as instance: yield instance @@ -158,3 +158,4 @@ markers = oci: test will only run on OCI platform lxd_container: test will only run in LXD container user_data: the user data to be passed to the test instance + instance_name: the name to be used for the test instance |