aboutsummaryrefslogtreecommitdiffstats
path: root/functest/core
diff options
context:
space:
mode:
Diffstat (limited to 'functest/core')
-rw-r--r--functest/core/singlevm.py34
-rw-r--r--functest/core/tenantnetwork.py9
2 files changed, 41 insertions, 2 deletions
diff --git a/functest/core/singlevm.py b/functest/core/singlevm.py
index ad79a8e14..afc11106d 100644
--- a/functest/core/singlevm.py
+++ b/functest/core/singlevm.py
@@ -37,6 +37,9 @@ class VmReady1(tenantnetwork.TenantNetwork1):
__logger = logging.getLogger(__name__)
filename = '/home/opnfv/functest/images/cirros-0.4.0-x86_64-disk.img'
+ image_format = 'qcow2'
+ filename_alt = None
+ image_alt_format = image_format
visibility = 'private'
extra_properties = None
flavor_ram = 512
@@ -46,8 +49,6 @@ class VmReady1(tenantnetwork.TenantNetwork1):
flavor_alt_vcpus = 1
flavor_alt_disk = 1
- image_format = 'qcow2'
-
def __init__(self, **kwargs):
if "case_name" not in kwargs:
kwargs["case_name"] = 'vmready1'
@@ -84,6 +85,35 @@ class VmReady1(tenantnetwork.TenantNetwork1):
self.__logger.debug("image: %s", image)
return image
+ def publish_image_alt(self, name=None):
+ """Publish alternative image
+
+ It allows publishing multiple images for the child testcases. It forces
+ the same configuration for all subtestcases.
+
+ Returns: image
+
+ Raises: expection on error
+ """
+ assert self.cloud
+ image = self.cloud.create_image(
+ name if name else '{}-img_alt_{}'.format(
+ self.case_name, self.guid),
+ filename=getattr(
+ config.CONF, '{}_image_alt'.format(self.case_name),
+ self.filename_alt),
+ meta=getattr(
+ config.CONF, '{}_extra_properties'.format(self.case_name),
+ self.extra_properties),
+ disk_format=getattr(
+ config.CONF, '{}_image_alt_format'.format(self.case_name),
+ self.image_format),
+ visibility=getattr(
+ config.CONF, '{}_visibility'.format(self.case_name),
+ self.visibility))
+ self.__logger.debug("image: %s", image)
+ return image
+
def create_flavor(self, name=None):
"""Create flavor
diff --git a/functest/core/tenantnetwork.py b/functest/core/tenantnetwork.py
index 286aef67e..678b9b590 100644
--- a/functest/core/tenantnetwork.py
+++ b/functest/core/tenantnetwork.py
@@ -175,6 +175,15 @@ class TenantNetwork1(testcase.TestCase):
role = cloud.get_role(member.lower())
return role
+ @staticmethod
+ def get_public_auth_url(cloud):
+ """Get Keystone public endpoint"""
+ keystone_id = cloud.search_services('keystone')[0].id
+ endpoint = cloud.search_endpoints(
+ filters={'interface': 'public',
+ 'service_id': keystone_id})[0].url
+ return endpoint
+
def _create_network_ressources(self):
assert self.cloud
assert self.ext_net