summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Tantsur <divius.inside@gmail.com>2017-11-14 13:04:57 +0100
committerDmitry Tantsur <divius.inside@gmail.com>2018-01-05 14:55:18 +0000
commit1541a205d92c523c415905212ba8dbf1ebd0b22b (patch)
treef0938a142878ec0f6dd5ad367c9925e32e8a38f0
parent0bae67798d0c309a79cf25b1c9bab9b0798cec02 (diff)
downloadironic-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.py2
-rw-r--r--ironic/tests/unit/drivers/test_drac.py10
-rw-r--r--releasenotes/notes/idrac-no-vendor-911904dd69457826.yaml5
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.