diff --git a/_modules/runtest/tempest_sections/image.py b/_modules/runtest/tempest_sections/image.py
index 6d9913e..7b94f1f 100644
--- a/_modules/runtest/tempest_sections/image.py
+++ b/_modules/runtest/tempest_sections/image.py
@@ -1,6 +1,8 @@
 
 import base_section
 
+from runtest import conditions
+
 class Image(base_section.BaseSection):
 
     name = "image"
@@ -46,4 +48,6 @@
 
     @property
     def region(self):
-        pass
+        c = conditions.BaseRule('glance.server.enabled', 'eq', True)
+        return self.get_item_when_condition_match(
+            'glance.server.identity.region', c)
diff --git a/_modules/runtest/tempest_sections/orchestration.py b/_modules/runtest/tempest_sections/orchestration.py
index 7bd3374..e280481 100644
--- a/_modules/runtest/tempest_sections/orchestration.py
+++ b/_modules/runtest/tempest_sections/orchestration.py
@@ -1,6 +1,8 @@
 
 import base_section
 
+from runtest import conditions
+
 class Orchestration(base_section.BaseSection):
 
     name = "orchestration"
@@ -15,6 +17,7 @@
         'max_template_size',
         'region',
         'stack_owner_role',
+        'stack_user_role',
     ]
 
 
@@ -57,3 +60,9 @@
     @property
     def stack_owner_role(self):
         pass
+
+    @property
+    def stack_user_role(self):
+        c = conditions.BaseRule('heat.server.enabled', 'eq', True)
+        return self.get_item_when_condition_match(
+            'heat.server.identity.user', c)
diff --git a/_modules/runtest/tempest_sections/volume.py b/_modules/runtest/tempest_sections/volume.py
index 4df5fbb..8a2ef73 100644
--- a/_modules/runtest/tempest_sections/volume.py
+++ b/_modules/runtest/tempest_sections/volume.py
@@ -1,6 +1,8 @@
 
 import base_section
 
+from runtest import conditions
+
 class Volume(base_section.BaseSection):
 
     name = "volume"
@@ -64,7 +66,9 @@
 
     @property
     def region(self):
-        pass
+        c = conditions.BaseRule('cinder.controller.enabled', 'eq', True)
+        return self.get_item_when_condition_match(
+            'cinder.controller.identity.region', c)
 
     @property
     def storage_protocol(self):
diff --git a/_modules/runtest/tempest_sections/volume_feature_enabled.py b/_modules/runtest/tempest_sections/volume_feature_enabled.py
index 22a754c..0386a06 100644
--- a/_modules/runtest/tempest_sections/volume_feature_enabled.py
+++ b/_modules/runtest/tempest_sections/volume_feature_enabled.py
@@ -1,6 +1,8 @@
 
 import base_section
 
+from runtest import conditions
+
 class VolumeFeatureEnabled(base_section.BaseSection):
 
     name = "volume-feature-enabled"
@@ -37,7 +39,11 @@
 
     @property
     def backup(self):
-        pass
+        # Currently our cinder formula supports only cinder backend
+        # collocated together with cinder volume.
+        c = conditions.BaseRule('cinder.volume.enabled', 'eq', True)
+        return bool(self.get_item_when_condition_match(
+            'cinder.volume.backup.engine', c))
 
     @property
     def clone(self):
