diff options
author | Dmitry Tantsur <divius.inside@gmail.com> | 2017-11-14 13:04:57 +0100 |
---|---|---|
committer | Dmitry Tantsur <divius.inside@gmail.com> | 2018-01-05 14:55:18 +0000 |
commit | 1541a205d92c523c415905212ba8dbf1ebd0b22b (patch) | |
tree | f0938a142878ec0f6dd5ad367c9925e32e8a38f0 | |
parent | 0bae67798d0c309a79cf25b1c9bab9b0798cec02 (diff) | |
download | ironic-1541a205d92c523c415905212ba8dbf1ebd0b22b.tar.gz |
Add no-vendor interface to the idrac hardware types
Vendor interfaces must not be mandatory. Missing no-vendor implementation
means that we require operators to enable the idrac vendor interface when
the idrac hardware type is enabled.
Change-Id: I6768a37bc268e367eaf93b12660a80d31eeca0c0
Closes-Bug: #1732166
(cherry picked from commit 4432fa9950f8300604528ae9b519bc78db37a768)
-rw-r--r-- | ironic/drivers/drac.py | 2 | ||||
-rw-r--r-- | ironic/tests/unit/drivers/test_drac.py | 10 | ||||
-rw-r--r-- | releasenotes/notes/idrac-no-vendor-911904dd69457826.yaml | 5 |
3 files changed, 15 insertions, 2 deletions
diff --git a/ironic/drivers/drac.py b/ironic/drivers/drac.py index 12262d489..7fedaee27 100644 --- a/ironic/drivers/drac.py +++ b/ironic/drivers/drac.py @@ -65,7 +65,7 @@ class IDRACHardware(generic.GenericHardware): @property def supported_vendor_interfaces(self): """List of supported vendor interfaces.""" - return [vendor_passthru.DracVendorPassthru] + return [vendor_passthru.DracVendorPassthru, noop.NoVendor] class PXEDracDriver(base.BaseDriver): diff --git a/ironic/tests/unit/drivers/test_drac.py b/ironic/tests/unit/drivers/test_drac.py index d5e610a74..1422b7288 100644 --- a/ironic/tests/unit/drivers/test_drac.py +++ b/ironic/tests/unit/drivers/test_drac.py @@ -97,7 +97,7 @@ class IDRACHardwareTestCase(BaseIDRACTestCase): 'idrac', 'inspector', 'no-inspect'], enabled_network_interfaces=['flat', 'neutron', 'noop'], enabled_raid_interfaces=['idrac', 'no-raid'], - enabled_vendor_interfaces=['idrac']) + enabled_vendor_interfaces=['idrac', 'no-vendor']) def test_default_interfaces(self): node = obj_utils.create_test_node(self.context, driver='idrac') @@ -130,6 +130,14 @@ class IDRACHardwareTestCase(BaseIDRACTestCase): console=noop.NoConsole, raid=noop.NoRAID) + def test_override_no_vendor(self): + node = obj_utils.create_test_node(self.context, driver='idrac', + vendor_interface='no-vendor') + with task_manager.acquire(self.context, node.id) as task: + self._validate_interfaces(task.driver, + console=noop.NoConsole, + vendor=noop.NoVendor) + @mock.patch.object(importutils, 'try_import', spec_set=True, autospec=True) class DracClassicDriversTestCase(BaseIDRACTestCase): diff --git a/releasenotes/notes/idrac-no-vendor-911904dd69457826.yaml b/releasenotes/notes/idrac-no-vendor-911904dd69457826.yaml new file mode 100644 index 000000000..d5defb2f8 --- /dev/null +++ b/releasenotes/notes/idrac-no-vendor-911904dd69457826.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Adds missing ``no-vendor`` implementation to supported vendor interfaces + of the ``idrac`` hardware type. |