Update skip check for ServersTestBootFromVolume

Introduce new config option boot_from_volume in compute-feature-enabled
group which specifies if booting from volume is allowed.

Change-Id: Ieaed751b55bdfd38750ab3dd659e437eca937a0a
Related-Prod: PRODX-5741
diff --git a/releasenotes/notes/add-boot-from-volume-option-312d02c0c84f2092.yaml b/releasenotes/notes/add-boot-from-volume-option-312d02c0c84f2092.yaml
new file mode 100644
index 0000000..0a0b78e
--- /dev/null
+++ b/releasenotes/notes/add-boot-from-volume-option-312d02c0c84f2092.yaml
@@ -0,0 +1,7 @@
+---
+features:
+  - A new config option in group compute-feature-enabled
+    boot_from_volume which specifies if nova allow to boot
+    instances from volume. This functionality is not available
+    on some hypervisors and cinder backends like ironic and
+    ceph.
diff --git a/tempest/api/compute/servers/test_create_server.py b/tempest/api/compute/servers/test_create_server.py
index 4f0dbad..7c4919f 100644
--- a/tempest/api/compute/servers/test_create_server.py
+++ b/tempest/api/compute/servers/test_create_server.py
@@ -165,3 +165,5 @@
         if not utils.get_service_list()['volume']:
             msg = "Volume service not enabled."
             raise cls.skipException(msg)
+        if not CONF.compute_feature_enabled.boot_from_volume:
+            raise cls.skipException("Booting from volume is not enabled.")
diff --git a/tempest/config.py b/tempest/config.py
index 8fb0102..d2f957c 100644
--- a/tempest/config.py
+++ b/tempest/config.py
@@ -597,6 +597,11 @@
     cfg.BoolOpt('barbican_integration_enabled',
                 default=False,
                 help='Does the test environment support Barbican integration'),
+    cfg.BoolOpt('boot_from_volume',
+                default=True,
+                help='Does the test environment support booting instances '
+                     'from volume. This depends on hypervisor and volume '
+                     'backend/type.'),
 ]