summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/integration_tests/clouds.py9
-rw-r--r--tests/integration_tests/integration_settings.py12
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