summaryrefslogtreecommitdiff
path: root/ironic
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-01-04 16:44:57 +0000
committerGerrit Code Review <review@openstack.org>2022-01-04 16:44:57 +0000
commitd3ccd4d3a910a0d9913508f236f2a0f9f416371e (patch)
tree1ccbfad96ec82ddd78610f769a712a5187f4b4d9 /ironic
parent4b99bfc8677c391c0dfa9191c1de41ea6e17c162 (diff)
parentd4b99401af6a4be5e30214f8bcfbe5a52239d802 (diff)
downloadironic-d3ccd4d3a910a0d9913508f236f2a0f9f416371e.tar.gz
Merge "Derive FakeHardware from GenericHardware"
Diffstat (limited to 'ironic')
-rw-r--r--ironic/common/driver_factory.py2
-rw-r--r--ironic/drivers/fake_hardware.py33
2 files changed, 14 insertions, 21 deletions
diff --git a/ironic/common/driver_factory.py b/ironic/common/driver_factory.py
index 57463111b..2bb4a57ee 100644
--- a/ironic/common/driver_factory.py
+++ b/ironic/common/driver_factory.py
@@ -23,7 +23,6 @@ from ironic.common import exception
from ironic.common.i18n import _
from ironic.conf import CONF
from ironic.drivers import base as driver_base
-from ironic.drivers import fake_hardware
LOG = log.getLogger(__name__)
@@ -98,6 +97,7 @@ def get_interface(hw_type, interface_type, interface_name):
entrypoint=factory._entrypoint_name,
valid=factory.names)
+ from ironic.drivers import fake_hardware # avoid circular import
if isinstance(hw_type, fake_hardware.FakeHardware):
# NOTE(dtantsur): special-case fake hardware type to allow testing with
# any combinations of interface implementations.
diff --git a/ironic/drivers/fake_hardware.py b/ironic/drivers/fake_hardware.py
index 32bca24dc..92fe8288c 100644
--- a/ironic/drivers/fake_hardware.py
+++ b/ironic/drivers/fake_hardware.py
@@ -16,13 +16,11 @@
Fake hardware type.
"""
-from ironic.drivers import hardware_type
+from ironic.drivers import generic
from ironic.drivers.modules import fake
-from ironic.drivers.modules import noop
-from ironic.drivers.modules.storage import noop as noop_storage
-class FakeHardware(hardware_type.AbstractHardwareType):
+class FakeHardware(generic.GenericHardware):
"""Fake hardware type.
This hardware type is special-cased in the driver factory to bypass
@@ -35,27 +33,27 @@ class FakeHardware(hardware_type.AbstractHardwareType):
@property
def supported_bios_interfaces(self):
"""List of classes of supported bios interfaces."""
- return [fake.FakeBIOS, noop.NoBIOS]
+ return [fake.FakeBIOS] + super().supported_bios_interfaces
@property
def supported_boot_interfaces(self):
"""List of classes of supported boot interfaces."""
- return [fake.FakeBoot]
+ return [fake.FakeBoot] + super().supported_boot_interfaces
@property
def supported_console_interfaces(self):
"""List of classes of supported console interfaces."""
- return [fake.FakeConsole, noop.NoConsole]
+ return [fake.FakeConsole] + super().supported_console_interfaces
@property
def supported_deploy_interfaces(self):
"""List of classes of supported deploy interfaces."""
- return [fake.FakeDeploy]
+ return [fake.FakeDeploy] + super().supported_deploy_interfaces
@property
def supported_inspect_interfaces(self):
"""List of classes of supported inspect interfaces."""
- return [fake.FakeInspect, noop.NoInspect]
+ return [fake.FakeInspect] + super().supported_inspect_interfaces
@property
def supported_management_interfaces(self):
@@ -70,26 +68,21 @@ class FakeHardware(hardware_type.AbstractHardwareType):
@property
def supported_raid_interfaces(self):
"""List of classes of supported raid interfaces."""
- return [fake.FakeRAID, noop.NoRAID]
+ return [fake.FakeRAID] + super().supported_raid_interfaces
@property
def supported_rescue_interfaces(self):
"""List of classes of supported rescue interfaces."""
- return [fake.FakeRescue, noop.NoRescue]
+ return [fake.FakeRescue] + super().supported_rescue_interfaces
@property
def supported_storage_interfaces(self):
"""List of classes of supported storage interfaces."""
- return [fake.FakeStorage, noop_storage.NoopStorage]
+ return [fake.FakeStorage] + super().supported_storage_interfaces
@property
def supported_vendor_interfaces(self):
"""List of classes of supported rescue interfaces."""
- return [fake.FakeVendorB, fake.FakeVendorA, noop.NoVendor]
-
- @property
- def supported_network_interfaces(self):
- # import late to avoid circular imports
- from ironic.drivers.modules.network import flat
- from ironic.drivers.modules.network import noop
- return [flat.FlatNetwork, noop.NoopNetwork]
+ return [
+ fake.FakeVendorB, fake.FakeVendorA
+ ] + super().supported_vendor_interfaces