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
