diff options
-rw-r--r-- | tests/integration_tests/clouds.py | 9 | ||||
-rw-r--r-- | tests/integration_tests/integration_settings.py | 12 |
2 files changed, 21 insertions, 0 deletions
diff --git a/tests/integration_tests/clouds.py b/tests/integration_tests/clouds.py index 9f6a6380..8ae20442 100644 --- a/tests/integration_tests/clouds.py +++ b/tests/integration_tests/clouds.py @@ -91,6 +91,15 @@ class IntegrationCloud(ABC): def __init__(self, settings=integration_settings): self.settings = settings self.cloud_instance = self._get_cloud_instance() + if settings.PUBLIC_SSH_KEY is not None: + # If we have a non-default key, use it. + self.cloud_instance.use_key( + settings.PUBLIC_SSH_KEY, name=settings.KEYPAIR_NAME + ) + elif settings.KEYPAIR_NAME is not None: + # Even if we're using the default key, it may still have a + # different name in the clouds, so we need to set it separately. + self.cloud_instance.key_pair.name = settings.KEYPAIR_NAME self._released_image_id = self._get_initial_image() self.snapshot_id = None diff --git a/tests/integration_tests/integration_settings.py b/tests/integration_tests/integration_settings.py index d7e02f04..6cabf3d8 100644 --- a/tests/integration_tests/integration_settings.py +++ b/tests/integration_tests/integration_settings.py @@ -76,6 +76,18 @@ COLLECT_LOGS = 'ON_ERROR' LOCAL_LOG_PATH = '/tmp/cloud_init_test_logs' ################################################################## +# SSH KEY SETTINGS +################################################################## + +# A path to the public SSH key to use for test runs. (Defaults to pycloudlib's +# default behaviour, using ~/.ssh/id_rsa.pub.) +PUBLIC_SSH_KEY = None + +# For clouds which use named keypairs for SSH connection, the name that is used +# for the keypair. (Defaults to pycloudlib's default behaviour.) +KEYPAIR_NAME = None + +################################################################## # GCE SPECIFIC SETTINGS ################################################################## # Required for GCE |