summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberto Contreras <alberto.contreras@canonical.com>2023-01-18 10:28:29 +0100
committerGitHub <noreply@github.com>2023-01-18 10:28:29 +0100
commit0c3dd0ffd0ac6d44e841fb2fa9a630f19b4f7a79 (patch)
tree3236e6789fd21540ca7c97bf008c48fc1b24aa35
parentabfdf1d83995cc20eb929d98485c321afb3a73b9 (diff)
downloadcloud-init-git-0c3dd0ffd0ac6d44e841fb2fa9a630f19b4f7a79.tar.gz
integration tests: add IBM VPC support (SC-1352) (#1915)
-rw-r--r--integration-requirements.txt2
-rw-r--r--tests/integration_tests/clouds.py12
-rw-r--r--tests/integration_tests/conftest.py2
-rw-r--r--tests/integration_tests/integration_settings.py1
-rw-r--r--tox.ini1
5 files changed, 17 insertions, 1 deletions
diff --git a/integration-requirements.txt b/integration-requirements.txt
index e539d4ac..d8d8159b 100644
--- a/integration-requirements.txt
+++ b/integration-requirements.txt
@@ -1,5 +1,5 @@
# PyPI requirements for cloud-init integration testing
# https://cloudinit.readthedocs.io/en/latest/topics/integration_tests.html
#
-pycloudlib @ git+https://github.com/canonical/pycloudlib.git@fe7facd3676b6f125bd7ab7e2141a48c714d77a8
+pycloudlib @ git+https://github.com/canonical/pycloudlib.git@e7eefbe029a7b61be643c8e0a1e8cc740f54aefb
pytest
diff --git a/tests/integration_tests/clouds.py b/tests/integration_tests/clouds.py
index c4dd4eec..308ffedd 100644
--- a/tests/integration_tests/clouds.py
+++ b/tests/integration_tests/clouds.py
@@ -13,6 +13,7 @@ from uuid import UUID
from pycloudlib import (
EC2,
GCE,
+ IBM,
OCI,
Azure,
LXDContainer,
@@ -408,3 +409,14 @@ class OpenstackCloud(IntegrationCloud):
"OS image id: {}".format(image.image_id)
) from e
return image.image_id
+
+
+class IbmCloud(IntegrationCloud):
+ datasource = "ibm"
+ cloud_instance: IBM
+
+ def _get_cloud_instance(self) -> IBM:
+ # Note: IBM image names starting with `ibm` are reserved.
+ return IBM(
+ tag="integration-test-ibm",
+ )
diff --git a/tests/integration_tests/conftest.py b/tests/integration_tests/conftest.py
index 6157bad8..782ca7e5 100644
--- a/tests/integration_tests/conftest.py
+++ b/tests/integration_tests/conftest.py
@@ -17,6 +17,7 @@ from tests.integration_tests.clouds import (
AzureCloud,
Ec2Cloud,
GceCloud,
+ IbmCloud,
ImageSpecification,
IntegrationCloud,
LxdContainerCloud,
@@ -39,6 +40,7 @@ platforms: Dict[str, Type[IntegrationCloud]] = {
"gce": GceCloud,
"azure": AzureCloud,
"oci": OciCloud,
+ "ibm": IbmCloud,
"lxd_container": LxdContainerCloud,
"lxd_vm": LxdVmCloud,
"openstack": OpenstackCloud,
diff --git a/tests/integration_tests/integration_settings.py b/tests/integration_tests/integration_settings.py
index abc70fe4..c4f28fcb 100644
--- a/tests/integration_tests/integration_settings.py
+++ b/tests/integration_tests/integration_settings.py
@@ -21,6 +21,7 @@ RUN_UNSTABLE = False
# azure
# ec2
# gce
+# ibm
# oci
# openstack
PLATFORM = "lxd_container"
diff --git a/tox.ini b/tox.ini
index 3b668bc0..b49272ac 100644
--- a/tox.ini
+++ b/tox.ini
@@ -302,6 +302,7 @@ markers =
ec2: test will only run on EC2 platform
gce: test will only run on GCE platform
hypothesis_slow: hypothesis test too slow to run as unit test
+ ibm: test will only run on IBM platform
instance_name: the name to be used for the test instance
integration_cloud_args: args for IntegrationCloud customization
is_iscsi: whether is an instance has iscsi net cfg or not