diff --git a/ironic_tempest_plugin/config.py b/ironic_tempest_plugin/config.py
index 1dce427..15899e3 100644
--- a/ironic_tempest_plugin/config.py
+++ b/ironic_tempest_plugin/config.py
@@ -20,6 +20,10 @@
 from tempest import config  # noqa
 
 
+_DEFAULT_IFACE_HELP = ('Default {0} interface to be used for nodes that '
+                       'do not have {0}_interface field set.')
+
+
 # NOTE(TheJulia): The following options are loaded into a tempest
 # plugin configuration option via plugin.py.
 ironic_service_option = cfg.BoolOpt('ironic',
@@ -206,8 +210,30 @@
     cfg.ListOpt('enabled_inspect_interfaces',
                 default=['no-inspect'],
                 help="List of Ironic enabled inspect interfaces."),
+    cfg.StrOpt('default_bios_interface',
+               help=_DEFAULT_IFACE_HELP.format('bios')),
+    cfg.StrOpt('default_boot_interface',
+               help=_DEFAULT_IFACE_HELP.format('boot')),
+    cfg.StrOpt('default_console_interface',
+               help=_DEFAULT_IFACE_HELP.format('console')),
+    cfg.StrOpt('default_deploy_interface',
+               help=_DEFAULT_IFACE_HELP.format('deploy')),
+    cfg.StrOpt('default_inspect_interface',
+               help=_DEFAULT_IFACE_HELP.format('inspect')),
+    cfg.StrOpt('default_management_interface',
+               help=_DEFAULT_IFACE_HELP.format('management')),
+    cfg.StrOpt('default_network_interface',
+               help=_DEFAULT_IFACE_HELP.format('network')),
+    cfg.StrOpt('default_power_interface',
+               help=_DEFAULT_IFACE_HELP.format('power')),
+    cfg.StrOpt('default_raid_interface',
+               help=_DEFAULT_IFACE_HELP.format('raid')),
     cfg.StrOpt('default_rescue_interface',
-               help="Ironic default rescue interface."),
+               help=_DEFAULT_IFACE_HELP.format('rescue')),
+    cfg.StrOpt('default_storage_interface',
+               help=_DEFAULT_IFACE_HELP.format('storage')),
+    cfg.StrOpt('default_vendor_interface',
+               help=_DEFAULT_IFACE_HELP.format('vendor')),
     cfg.StrOpt('firmware_image_url',
                help="Image URL of firmware image file supported by "
                     "update_firmware clean step."),
diff --git a/ironic_tempest_plugin/tests/api/admin/test_nodes.py b/ironic_tempest_plugin/tests/api/admin/test_nodes.py
index 3da3f3e..5db3b8d 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_nodes.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_nodes.py
@@ -747,15 +747,10 @@
                                     [{'path': '/%s' % field,
                                       'op': 'remove'}])
             _, node = self.client.show_node(self.node['uuid'])
-            if (iface in ['boot', 'deploy', 'inspect', 'network']
-                    and 'fake' != node[field]):
-                # NOTE(TheJulia): Depending on the remote configuration
-                # these interfaces may have explicit defaults which the
-                # reset action changes the value to. This is okay, but
-                # we need to not fail when that is the case.
-                self.assertNotEqual(self.node[field], node[field])
-            else:
-                self.assertEqual('fake', node[field])
+            default_iface_option = getattr(
+                CONF.baremetal, 'default_%s_interface' % iface)
+            expected_value = default_iface_option or 'fake'
+            self.assertEqual(expected_value, node[field])
 
 
 class TestResetInterfaces(TestHardwareInterfaces):
