diff --git a/ironic_tempest_plugin/config.py b/ironic_tempest_plugin/config.py
index 44dcbe4..7354ef7 100644
--- a/ironic_tempest_plugin/config.py
+++ b/ironic_tempest_plugin/config.py
@@ -153,6 +153,10 @@
                      "being used, this option should be set to True as "
                      "it lacks the needed components to make it locally "
                      "from a partition image."),
+    cfg.StrOpt('boot_mode',
+               default='bios',
+               choices=['bios', 'uefi'],
+               help="The desired boot_mode to be used on testing nodes."),
 ]
 
 BaremetalFeaturesGroup = [
@@ -169,6 +173,10 @@
                 help="Defines if software RAID is enabled (available "
                      "starting with Train). Requires at least two disks "
                      "on testing nodes."),
+    cfg.BoolOpt('deploy_time_raid',
+                default=False,
+                help="Defines if in-band RAID can be built in deploy time "
+                     "(possible starting with Victoria)."),
 ]
 
 BaremetalIntrospectionGroup = [
diff --git a/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py b/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py
index da16252..6b9d9e3 100644
--- a/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py
+++ b/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py
@@ -216,8 +216,9 @@
                 return False
             return True
 
-        if (not test_utils.call_until_true(_try_to_associate_instance,
-            duration=CONF.baremetal.association_timeout, sleep_for=1)):
+        if (not test_utils.call_until_true(
+                _try_to_associate_instance,
+                duration=CONF.baremetal.association_timeout, sleep_for=1)):
             msg = ('Timed out waiting to associate instance to ironic node '
                    'uuid %s' % instance_uuid)
             raise lib_exc.TimeoutException(msg)
@@ -571,32 +572,53 @@
         self.assertTrue(self.ping_ip_address(self.node_ip,
                                              should_succeed=should_succeed))
 
-    def build_raid_and_verify_node(self, config=None, clean_steps=None):
+    def build_raid_and_verify_node(self, config=None, deploy_time=False):
         config = config or self.raid_config
-        clean_steps = clean_steps or [
-            {
-                "interface": "raid",
-                "step": "delete_configuration"
-            },
-            # NOTE(dtantsur): software RAID building fails if any
-            # partitions exist on holder devices.
-            {
-                "interface": "deploy",
-                "step": "erase_devices_metadata"
-            },
-            {
-                "interface": "raid",
-                "step": "create_configuration"
-            }
-        ]
-
-        self.baremetal_client.set_node_raid_config(self.node['uuid'], config)
-        self.manual_cleaning(self.node, clean_steps=clean_steps)
+        if deploy_time:
+            steps = [
+                {
+                    "interface": "deploy",
+                    "step": "erase_devices_metadata",
+                    "priority": 98,
+                    "args": {},
+                },
+                {
+                    "interface": "raid",
+                    "step": "apply_configuration",
+                    "priority": 97,
+                    "args": {"raid_config": config},
+                }
+            ]
+            self.baremetal_client.create_deploy_template(
+                'CUSTOM_RAID', steps=steps)
+            self.baremetal_client.add_node_trait(self.node['uuid'],
+                                                 'CUSTOM_RAID')
+        else:
+            steps = [
+                {
+                    "interface": "raid",
+                    "step": "delete_configuration"
+                },
+                {
+                    "interface": "deploy",
+                    "step": "erase_devices_metadata",
+                },
+                {
+                    "interface": "raid",
+                    "step": "create_configuration",
+                }
+            ]
+            self.baremetal_client.set_node_raid_config(self.node['uuid'],
+                                                       config)
+            self.manual_cleaning(self.node, clean_steps=steps)
 
         # NOTE(dtantsur): this is not required, but it allows us to check that
         # the RAID device was in fact created and is used for deployment.
         patch = [{'path': '/properties/root_device',
                   'op': 'add', 'value': {'name': '/dev/md0'}}]
+        if deploy_time:
+            patch.append({'path': '/instance_info/traits',
+                          'op': 'add', 'value': ['CUSTOM_RAID']})
         self.update_node(self.node['uuid'], patch=patch)
         # NOTE(dtantsur): apparently cirros cannot boot from md devices :(
         # So we only move the node to active (verifying deployment).
diff --git a/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_cleaning.py b/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_cleaning.py
index c068fbe..47e5f63 100644
--- a/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_cleaning.py
+++ b/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_cleaning.py
@@ -87,7 +87,7 @@
     wholedisk_image = True
     deploy_interface = 'iscsi'
     raid_interface = 'agent'
-    api_microversion = '1.31'
+    api_microversion = '1.55'
     # Software RAID is always local boot
     boot_option = 'local'
 
@@ -112,7 +112,8 @@
     @decorators.idempotent_id('7ecba4f7-98b8-4ea1-b95e-3ec399f46798')
     @utils.services('image', 'network')
     def test_software_raid(self):
-        self.build_raid_and_verify_node()
+        self.build_raid_and_verify_node(
+            deploy_time=CONF.baremetal_feature_enabled.deploy_time_raid)
         # NOTE(TheJulia): tearing down/terminating the instance does not
         # remove the root device hint, so it is best for us to go ahead
         # and remove it before exiting the test.
@@ -134,7 +135,7 @@
     wholedisk_image = True
     deploy_interface = 'direct'
     raid_interface = 'agent'
-    api_microversion = '1.31'
+    api_microversion = '1.55'
     # Software RAID is always local boot
     boot_option = 'local'
 
@@ -160,7 +161,8 @@
     @decorators.idempotent_id('125361ac-0eb3-4d79-8be2-a91936aa3f46')
     @utils.services('image', 'network')
     def test_software_raid(self):
-        self.build_raid_and_verify_node()
+        self.build_raid_and_verify_node(
+            deploy_time=CONF.baremetal_feature_enabled.deploy_time_raid)
         # NOTE(TheJulia): tearing down/terminating the instance does not
         # remove the root device hint, so it is best for us to go ahead
         # and remove it before exiting the test.
diff --git a/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py b/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py
index cc6b0dd..e3c1929 100644
--- a/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py
+++ b/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py
@@ -45,7 +45,11 @@
           expected state transitions
     """
 
+    credentials = ['primary', 'admin']
+
     TEST_RESCUE_MODE = False
+    image_ref = None
+    wholedisk_image = None
 
     @classmethod
     def skip_checks(cls):
@@ -183,9 +187,15 @@
             # Flavor traits should be a subset of node traits.
             self.assertTrue(traits.issubset(set(node['traits'])))
 
-    @decorators.idempotent_id('549173a5-38ec-42bb-b0e2-c8b9f4a08943')
-    @utils.services('compute', 'image', 'network')
-    def test_baremetal_server_ops(self):
+    def validate_uefi(self, client):
+        efi_dir = '/sys/firmware/efi'
+        success_string = "Found " + efi_dir
+        cmd = 'test -d {dir} && echo "Found {dir}" ||'\
+              ' echo "{dir} not found"'.format(dir=efi_dir)
+        output = client.exec_command(cmd).rstrip()
+        self.assertEqual(success_string, output)
+
+    def baremetal_server_ops(self):
         self.add_keypair()
         self.instance, self.node = self.boot_instance()
         self.validate_ports()
@@ -202,6 +212,9 @@
             self.create_timestamp(
                 ip_address, private_key=self.keypair['private_key'])
 
+        if CONF.baremetal.boot_mode == "uefi":
+            self.validate_uefi(vm_client)
+
         # Test rescue mode
         if self.TEST_RESCUE_MODE:
             self.rescue_instance(self.instance, self.node, ip_address)
@@ -209,6 +222,20 @@
 
         self.terminate_instance(self.instance)
 
+    @decorators.idempotent_id('549173a5-38ec-42bb-b0e2-c8b9f4a08943')
+    @utils.services('compute', 'image', 'network')
+    def test_baremetal_server_ops_partition_image(self):
+        self.image_ref = CONF.baremetal.partition_image_ref
+        self.wholedisk_image = False
+        self.baremetal_server_ops()
+
+    @decorators.idempotent_id('d7d48aa1-0395-4f31-a908-60969adc4322')
+    @utils.services('compute', 'image', 'network')
+    def test_baremetal_server_ops_wholedisk_image(self):
+        self.image_ref = CONF.baremetal.whole_disk_image_ref
+        self.wholedisk_image = True
+        self.baremetal_server_ops()
+
 
 class BaremetalBasicOpsAndRescue(BaremetalBasicOps):
     """This test includes rescue/unrescue ops."""
diff --git a/test-requirements.txt b/test-requirements.txt
index 7e4adb2..138ad35 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -2,7 +2,7 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 
-hacking>=3.0.0,<3.1.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
 
 stestr>=1.0.0 # Apache-2.0
 coverage!=4.4,>=4.0 # Apache-2.0
diff --git a/tox.ini b/tox.ini
index 28ac9e7..ac55994 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-minversion = 3.1.0
+minversion = 3.2.1
 envlist = pep8
 skipsdist = True
 ignore_basepython_conflict=true
@@ -45,9 +45,8 @@
 commands = oslo_debug_helper {posargs}
 
 [flake8]
-# [E129] Visually indented line with same indent as next logical line.
 # [W503] Line break occurred before a binary operator. Conflicts with W504.
-ignore = E129,W503
+ignore = W503
 show-source = True
 builtins = _
 exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index b402cc1..b3cd832 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -21,16 +21,15 @@
         - ironic-inspector-tempest-train
         - ironic-inspector-tempest-stein:
             voting: false
-        # NOTE(dtantsur): these jobs cover rarely changed tests and are quite
-        # unstable, so keep them non-voting.
-        - ironic-standalone-redfish:
-            voting: false
+        - ironic-standalone-redfish
         - ironic-standalone-redfish-ussuri:
             voting: false
         - ironic-standalone-redfish-train:
             voting: false
         - ironic-standalone-redfish-stein:
             voting: false
+        # NOTE(dtantsur): these jobs cover rarely changed tests and are quite
+        # unstable, so keep them non-voting.
         - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode:
             voting: false
         - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-ussuri:
@@ -58,4 +57,5 @@
         - ironic-inspector-tempest
         - ironic-inspector-tempest-ussuri
         - ironic-inspector-tempest-train
+        - ironic-standalone-redfish
         - ironic-inspector-tempest-discovery
