summaryrefslogtreecommitdiffstats
path: root/functest/opnfv_tests/openstack/tempest
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2018-07-15 14:15:45 +0200
committerCédric Ollivier <cedric.ollivier@orange.com>2018-07-15 14:41:20 +0200
commite1dc928517e4c852b25cbb8f7455e49d7ce3ede7 (patch)
tree2d612ef19c8ad0edec5e3f2f7f6ea50ea0b553aa /functest/opnfv_tests/openstack/tempest
parent5849f3841ca4a15f2440c0725e686e0d94e88f57 (diff)
Dynamically skip neutron_trunk and barbican
It avoids fasly testcases in failure for end users. It also removes the neutron_trunk class which is now useless (Queens). Change-Id: I3f5a1ac84a50e061da6eadcc5c9bafb2e99050db Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Diffstat (limited to 'functest/opnfv_tests/openstack/tempest')
-rw-r--r--functest/opnfv_tests/openstack/tempest/tempest.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py
index bf79eb21d..52cc31c4a 100644
--- a/functest/opnfv_tests/openstack/tempest/tempest.py
+++ b/functest/opnfv_tests/openstack/tempest/tempest.py
@@ -55,6 +55,40 @@ class TempestCommon(singlevm.VmReady1):
self.conf_file = None
self.image_alt = None
self.flavor_alt = None
+ self.services = []
+ try:
+ self.services = kwargs['run']['args']['services']
+ except Exception: # pylint: disable=broad-except
+ pass
+ self.neutron_extensions = []
+ try:
+ self.neutron_extensions = kwargs['run']['args'][
+ 'neutron_extensions']
+ except Exception: # pylint: disable=broad-except
+ pass
+
+ def check_services(self):
+ """Check the mandatory services."""
+ for service in self.services:
+ try:
+ self.cloud.search_services(service)[0]
+ except Exception: # pylint: disable=broad-except
+ self.is_skipped = True
+ break
+
+ def check_extensions(self):
+ """Check the mandatory network extensions."""
+ extensions = self.cloud.get_network_extensions()
+ for network_extension in self.neutron_extensions:
+ if network_extension not in extensions:
+ LOGGER.warning(
+ "Cannot find Neutron extension: %s", network_extension)
+ self.is_skipped = True
+ break
+
+ def check_requirements(self):
+ self.check_services()
+ self.check_extensions()
@staticmethod
def read_file(filename):