Merge "Add to runtest variables for vnc_console to compute-feature-enabled"
diff --git a/_modules/runtest/tempest_sections/compute_feature_enabled.py b/_modules/runtest/tempest_sections/compute_feature_enabled.py
index fe81fe1..70d5242 100644
--- a/_modules/runtest/tempest_sections/compute_feature_enabled.py
+++ b/_modules/runtest/tempest_sections/compute_feature_enabled.py
@@ -46,9 +46,11 @@
def attach_encrypted_volume(self):
compute_check = conditions.BaseRule('*.nova.compute.enabled', 'eq', True)
cinder_check = conditions.BaseRule('*.cinder.controller.enabled', 'eq', True)
- if compute_check.check(self.pillar) and cinder_check.check(self.pillar):
+ barbican_check = conditions.BaseRule('*.barbican.server.enabled', 'eq', True)
+ if compute_check.check(self.pillar) and cinder_check.check(self.pillar) and barbican_check.check(self.pillar):
c = conditions.BaseRule('nova.controller.enabled', 'eq', True)
return self.get_item_when_condition_match('nova.controller.barbican.enabled', c)
+ return False
@property
def block_migrate_cinder_iscsi(self):
diff --git a/_modules/runtest/tempest_sections/service_available.py b/_modules/runtest/tempest_sections/service_available.py
index 64fd929..a205f53 100644
--- a/_modules/runtest/tempest_sections/service_available.py
+++ b/_modules/runtest/tempest_sections/service_available.py
@@ -1,5 +1,6 @@
-
import base_section
+from runtest import conditions
+
class ServiceAvailable(base_section.BaseSection):
@@ -24,8 +25,6 @@
'keystone',
]
-
-
def _is_service_enabled(self, service):
"""Check if service is enabled in specific environment.
@@ -106,7 +105,12 @@
@property
def swift(self):
- return self._is_service_enabled('swift')
+ radosgw = conditions.BaseRule('*.ceph.radosgw.enabled', 'eq',
+ True).check(self.pillar)
+ if radosgw:
+ return True
+ else:
+ return self._is_service_enabled('swift')
@property
def horizon(self):
@@ -114,4 +118,4 @@
@property
def keystone(self):
- return self._is_service_enabled('keystone')
\ No newline at end of file
+ return self._is_service_enabled('keystone')
diff --git a/_modules/runtest/tempest_sections/volume.py b/_modules/runtest/tempest_sections/volume.py
index 8a2ef73..df24023 100644
--- a/_modules/runtest/tempest_sections/volume.py
+++ b/_modules/runtest/tempest_sections/volume.py
@@ -72,7 +72,21 @@
@property
def storage_protocol(self):
- pass
+ c = conditions.BaseRule('cinder.volume.enabled', 'eq', True)
+ backends = self.get_item_when_condition_match(
+ 'cinder.controller.backend', c)
+ if not backends:
+ return
+
+ # TODO: Add more backends here
+ protocol_map = {'ceph': 'ceph', 'lvm': 'ISCSI'}
+
+ # TODO: cinder support multibackends with different storage protocols,
+ # pick first we know about for now, but might be refactored in future.
+ for backend_name,backend in backends.iteritems():
+ res = backend['engine']
+ if res:
+ return res
@property
def vendor_name(self):