Merge "Change admin project to separate project for each admin user"
diff --git a/_modules/runtest/conditions.py b/_modules/runtest/conditions.py
index 05fe24e..5eb4763 100644
--- a/_modules/runtest/conditions.py
+++ b/_modules/runtest/conditions.py
@@ -1,4 +1,9 @@
-import jsonpath_rw as jsonpath
+try:
+ import jsonpath_rw as jsonpath
+except ImportError:
+ jsonpath = None
+from salt import exceptions
+
import operator
@@ -19,6 +24,10 @@
class BaseRule(object):
def __init__(self, field, op, val, multiple='first'):
+ if not jsonpath:
+ raise exceptions.SaltInvocationError(
+ "Cannot load jsonpath_rw. Please check your environment "
+ "configuration.")
self.field = field
self.op = op
self.value = val
diff --git a/_modules/runtest/tempest_sections/base_section.py b/_modules/runtest/tempest_sections/base_section.py
index 5e2ea3a..b2c12ca 100644
--- a/_modules/runtest/tempest_sections/base_section.py
+++ b/_modules/runtest/tempest_sections/base_section.py
@@ -1,6 +1,11 @@
import abc
-import jsonpath_rw as jsonpath
+
+try:
+ import jsonpath_rw as jsonpath
+except ImportError:
+ jsonpath = None
+from salt import exceptions
import salt
@@ -9,6 +14,10 @@
class BaseSection(object):
def __init__(self, pillar, runtest_opts):
+ if not jsonpath:
+ raise exceptions.SaltInvocationError(
+ "Cannot load jsonpath_rw. Please check your environment "
+ "configuration.")
super(BaseSection, self).__init__()
self.pillar = pillar
self.runtest_opts = runtest_opts
diff --git a/_modules/runtest/tempest_sections/compute_feature_enabled.py b/_modules/runtest/tempest_sections/compute_feature_enabled.py
index 3fd36f8..5c41682 100644
--- a/_modules/runtest/tempest_sections/compute_feature_enabled.py
+++ b/_modules/runtest/tempest_sections/compute_feature_enabled.py
@@ -9,6 +9,7 @@
options = [
'api_extensions',
'attach_encrypted_volume',
+ 'barbican_integration_enabled',
'block_migrate_cinder_iscsi',
'block_migration_for_live_migration',
'change_password',
@@ -54,6 +55,16 @@
return False
@property
+ def barbican_integration_enabled(self):
+ c = conditions.BaseRule('nova.controller.enabled', 'eq', True)
+ integration = self.get_item_when_condition_match(
+ 'nova.controller.barbican.enabled', c)
+ if integration:
+ return True
+ else:
+ return False
+
+ @property
def block_migrate_cinder_iscsi(self):
c = conditions.BaseRule('cinder.volume.enabled', 'eq', True)
backends = self.get_item_when_condition_match(
diff --git a/_modules/runtest/tempest_sections/tungsten_plugin.py b/_modules/runtest/tempest_sections/tungsten_plugin.py
index 2b86029..7d52ac7 100644
--- a/_modules/runtest/tempest_sections/tungsten_plugin.py
+++ b/_modules/runtest/tempest_sections/tungsten_plugin.py
@@ -11,6 +11,7 @@
'service_name',
'endpoint_type',
'catalog_type',
+ 'contrail_version',
]
@property
@@ -29,5 +30,12 @@
c = conditions.BaseRule('keystone.client.enabled', 'eq', True)
return self.get_item_when_condition_match(
'keystone.client.server.identity.service.opencontrail.type', c)
- else:
- pass
+
+ @property
+ def contrail_version(self):
+ contrail_enabled = conditions.BaseRule('*.opencontrail.control.enabled',
+ 'eq', True, multiple='any')
+ if contrail_enabled.check(self.pillar):
+ c = conditions.BaseRule('opencontrail.control.enabled', 'eq', True)
+ return self.get_item_when_condition_match(
+ 'opencontrail.control.version', c)
diff --git a/metadata/service/tempest/artifactory.yml b/metadata/service/tempest/artifactory.yml
index 19806d7..31daa93 100644
--- a/metadata/service/tempest/artifactory.yml
+++ b/metadata/service/tempest/artifactory.yml
@@ -2,6 +2,7 @@
_param:
artifactory_user: artifactory_user
artifactory_password: artifactory_password
+ runtest_artifact_collector_artifactory_endpoint: /oscore-local/${_param:cluster_domain}/${linux:system:name}
runtest:
artifact_collector:
enabled: true
@@ -12,7 +13,7 @@
host: artifactory.mcp.mirantis.net
port: 443
proto: https
- endpoint: /oscore-local/${_param:cluster_domain}/${linux:system:name}
+ endpoint: ${_param:runtest_artifact_collector_artifactory_endpoint}
artifacts:
sys_logs:
path: /var/log