Remove agent vendor passthru from most drivers
This patch removes the deprecated agent lookup/heartbeat as vendor passthru functionality from most of the drivers in following modules: - ironic.drivers.agent - ironic.drivers.pxe - ironic.drivers.drac - ironic.drivers.irmc Some drivers are left untouched though: - iLO and OneView drivers are a bit more complicated and will be fixed in follow-up patches - iBoot, WoL and AMT drivers will be fixed in ironic-staging-drivers repo first and then removed from ironic tree. Change-Id: Ia9ee46cda68ef823d1fe8e5ea03c1d5948810a50 Partial-Bug: #1640533
This commit is contained in:
committed by
Pavlo Shchelokovskyy
parent
32942aedea
commit
206e246d25
@@ -32,7 +32,6 @@ from ironic.drivers.modules.ucs import management as ucs_mgmt
|
|||||||
from ironic.drivers.modules.ucs import power as ucs_power
|
from ironic.drivers.modules.ucs import power as ucs_power
|
||||||
from ironic.drivers.modules import virtualbox
|
from ironic.drivers.modules import virtualbox
|
||||||
from ironic.drivers.modules import wol
|
from ironic.drivers.modules import wol
|
||||||
from ironic.drivers import utils
|
|
||||||
|
|
||||||
|
|
||||||
class AgentAndIPMIToolDriver(base.BaseDriver):
|
class AgentAndIPMIToolDriver(base.BaseDriver):
|
||||||
@@ -52,15 +51,7 @@ class AgentAndIPMIToolDriver(base.BaseDriver):
|
|||||||
self.deploy = agent.AgentDeploy()
|
self.deploy = agent.AgentDeploy()
|
||||||
self.management = ipmitool.IPMIManagement()
|
self.management = ipmitool.IPMIManagement()
|
||||||
self.console = ipmitool.IPMIShellinaboxConsole()
|
self.console = ipmitool.IPMIShellinaboxConsole()
|
||||||
self.agent_vendor = agent.AgentVendorInterface()
|
self.vendor = ipmitool.VendorPassthru()
|
||||||
self.ipmi_vendor = ipmitool.VendorPassthru()
|
|
||||||
self.mapping = {'send_raw': self.ipmi_vendor,
|
|
||||||
'bmc_reset': self.ipmi_vendor,
|
|
||||||
'heartbeat': self.agent_vendor}
|
|
||||||
self.driver_passthru_mapping = {'lookup': self.agent_vendor}
|
|
||||||
self.vendor = utils.MixinVendorInterface(
|
|
||||||
self.mapping,
|
|
||||||
driver_passthru_mapping=self.driver_passthru_mapping)
|
|
||||||
self.raid = agent.AgentRAID()
|
self.raid = agent.AgentRAID()
|
||||||
self.inspect = inspector.Inspector.create_if_enabled(
|
self.inspect = inspector.Inspector.create_if_enabled(
|
||||||
'AgentAndIPMIToolDriver')
|
'AgentAndIPMIToolDriver')
|
||||||
@@ -105,16 +96,7 @@ class AgentAndIPMINativeDriver(base.BaseDriver):
|
|||||||
self.deploy = agent.AgentDeploy()
|
self.deploy = agent.AgentDeploy()
|
||||||
self.management = ipminative.NativeIPMIManagement()
|
self.management = ipminative.NativeIPMIManagement()
|
||||||
self.console = ipminative.NativeIPMIShellinaboxConsole()
|
self.console = ipminative.NativeIPMIShellinaboxConsole()
|
||||||
self.agent_vendor = agent.AgentVendorInterface()
|
self.vendor = ipminative.VendorPassthru()
|
||||||
self.ipminative_vendor = ipminative.VendorPassthru()
|
|
||||||
self.mapping = {
|
|
||||||
'send_raw': self.ipminative_vendor,
|
|
||||||
'bmc_reset': self.ipminative_vendor,
|
|
||||||
'heartbeat': self.agent_vendor,
|
|
||||||
}
|
|
||||||
self.driver_passthru_mapping = {'lookup': self.agent_vendor}
|
|
||||||
self.vendor = utils.MixinVendorInterface(self.mapping,
|
|
||||||
self.driver_passthru_mapping)
|
|
||||||
self.raid = agent.AgentRAID()
|
self.raid = agent.AgentRAID()
|
||||||
self.inspect = inspector.Inspector.create_if_enabled(
|
self.inspect = inspector.Inspector.create_if_enabled(
|
||||||
'AgentAndIPMINativeDriver')
|
'AgentAndIPMINativeDriver')
|
||||||
@@ -140,7 +122,6 @@ class AgentAndSSHDriver(base.BaseDriver):
|
|||||||
self.boot = pxe.PXEBoot()
|
self.boot = pxe.PXEBoot()
|
||||||
self.deploy = agent.AgentDeploy()
|
self.deploy = agent.AgentDeploy()
|
||||||
self.management = ssh.SSHManagement()
|
self.management = ssh.SSHManagement()
|
||||||
self.vendor = agent.AgentVendorInterface()
|
|
||||||
self.raid = agent.AgentRAID()
|
self.raid = agent.AgentRAID()
|
||||||
self.inspect = inspector.Inspector.create_if_enabled(
|
self.inspect = inspector.Inspector.create_if_enabled(
|
||||||
'AgentAndSSHDriver')
|
'AgentAndSSHDriver')
|
||||||
@@ -171,7 +152,6 @@ class AgentAndVirtualBoxDriver(base.BaseDriver):
|
|||||||
self.boot = pxe.PXEBoot()
|
self.boot = pxe.PXEBoot()
|
||||||
self.deploy = agent.AgentDeploy()
|
self.deploy = agent.AgentDeploy()
|
||||||
self.management = virtualbox.VirtualBoxManagement()
|
self.management = virtualbox.VirtualBoxManagement()
|
||||||
self.vendor = agent.AgentVendorInterface()
|
|
||||||
self.raid = agent.AgentRAID()
|
self.raid = agent.AgentRAID()
|
||||||
|
|
||||||
|
|
||||||
@@ -219,7 +199,6 @@ class AgentAndUcsDriver(base.BaseDriver):
|
|||||||
self.boot = pxe.PXEBoot()
|
self.boot = pxe.PXEBoot()
|
||||||
self.deploy = agent.AgentDeploy()
|
self.deploy = agent.AgentDeploy()
|
||||||
self.management = ucs_mgmt.UcsManagement()
|
self.management = ucs_mgmt.UcsManagement()
|
||||||
self.vendor = agent.AgentVendorInterface()
|
|
||||||
self.inspect = inspector.Inspector.create_if_enabled(
|
self.inspect = inspector.Inspector.create_if_enabled(
|
||||||
'AgentAndUcsDriver')
|
'AgentAndUcsDriver')
|
||||||
|
|
||||||
@@ -244,7 +223,6 @@ class AgentAndCIMCDriver(base.BaseDriver):
|
|||||||
self.boot = pxe.PXEBoot()
|
self.boot = pxe.PXEBoot()
|
||||||
self.deploy = agent.AgentDeploy()
|
self.deploy = agent.AgentDeploy()
|
||||||
self.management = cimc_mgmt.CIMCManagement()
|
self.management = cimc_mgmt.CIMCManagement()
|
||||||
self.vendor = agent.AgentVendorInterface()
|
|
||||||
self.inspect = inspector.Inspector.create_if_enabled(
|
self.inspect = inspector.Inspector.create_if_enabled(
|
||||||
'AgentAndCIMCDriver')
|
'AgentAndCIMCDriver')
|
||||||
|
|
||||||
|
|||||||
@@ -27,9 +27,7 @@ from ironic.drivers.modules.drac import power
|
|||||||
from ironic.drivers.modules.drac import raid
|
from ironic.drivers.modules.drac import raid
|
||||||
from ironic.drivers.modules.drac import vendor_passthru
|
from ironic.drivers.modules.drac import vendor_passthru
|
||||||
from ironic.drivers.modules import inspector
|
from ironic.drivers.modules import inspector
|
||||||
from ironic.drivers.modules import iscsi_deploy
|
|
||||||
from ironic.drivers.modules import pxe
|
from ironic.drivers.modules import pxe
|
||||||
from ironic.drivers import utils
|
|
||||||
|
|
||||||
|
|
||||||
class PXEDracDriver(base.BaseDriver):
|
class PXEDracDriver(base.BaseDriver):
|
||||||
@@ -46,18 +44,7 @@ class PXEDracDriver(base.BaseDriver):
|
|||||||
self.deploy = deploy.DracDeploy()
|
self.deploy = deploy.DracDeploy()
|
||||||
self.management = management.DracManagement()
|
self.management = management.DracManagement()
|
||||||
self.raid = raid.DracRAID()
|
self.raid = raid.DracRAID()
|
||||||
self.iscsi_vendor = iscsi_deploy.VendorPassthru()
|
self.vendor = vendor_passthru.DracVendorPassthru()
|
||||||
self.drac_vendor = vendor_passthru.DracVendorPassthru()
|
|
||||||
self.mapping = {'heartbeat': self.iscsi_vendor,
|
|
||||||
'get_bios_config': self.drac_vendor,
|
|
||||||
'set_bios_config': self.drac_vendor,
|
|
||||||
'commit_bios_config': self.drac_vendor,
|
|
||||||
'abandon_bios_config': self.drac_vendor,
|
|
||||||
'list_unfinished_jobs': self.drac_vendor,
|
|
||||||
}
|
|
||||||
self.driver_passthru_mapping = {'lookup': self.iscsi_vendor}
|
|
||||||
self.vendor = utils.MixinVendorInterface(self.mapping,
|
|
||||||
self.driver_passthru_mapping)
|
|
||||||
self.inspect = drac_inspect.DracInspect()
|
self.inspect = drac_inspect.DracInspect()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,6 @@ class IRMCVirtualMediaIscsiDriver(base.BaseDriver):
|
|||||||
self.deploy = iscsi_deploy.ISCSIDeploy()
|
self.deploy = iscsi_deploy.ISCSIDeploy()
|
||||||
self.console = ipmitool.IPMIShellinaboxConsole()
|
self.console = ipmitool.IPMIShellinaboxConsole()
|
||||||
self.management = management.IRMCManagement()
|
self.management = management.IRMCManagement()
|
||||||
self.vendor = iscsi_deploy.VendorPassthru()
|
|
||||||
self.inspect = inspect.IRMCInspect()
|
self.inspect = inspect.IRMCInspect()
|
||||||
|
|
||||||
|
|
||||||
@@ -75,5 +74,4 @@ class IRMCVirtualMediaAgentDriver(base.BaseDriver):
|
|||||||
self.deploy = agent.AgentDeploy()
|
self.deploy = agent.AgentDeploy()
|
||||||
self.console = ipmitool.IPMIShellinaboxConsole()
|
self.console = ipmitool.IPMIShellinaboxConsole()
|
||||||
self.management = management.IRMCManagement()
|
self.management = management.IRMCManagement()
|
||||||
self.vendor = agent.AgentVendorInterface()
|
|
||||||
self.inspect = inspect.IRMCInspect()
|
self.inspect = inspect.IRMCInspect()
|
||||||
|
|||||||
@@ -52,7 +52,6 @@ from ironic.drivers.modules.ucs import management as ucs_mgmt
|
|||||||
from ironic.drivers.modules.ucs import power as ucs_power
|
from ironic.drivers.modules.ucs import power as ucs_power
|
||||||
from ironic.drivers.modules import virtualbox
|
from ironic.drivers.modules import virtualbox
|
||||||
from ironic.drivers.modules import wol
|
from ironic.drivers.modules import wol
|
||||||
from ironic.drivers import utils
|
|
||||||
|
|
||||||
|
|
||||||
class PXEAndIPMIToolDriver(base.BaseDriver):
|
class PXEAndIPMIToolDriver(base.BaseDriver):
|
||||||
@@ -73,15 +72,7 @@ class PXEAndIPMIToolDriver(base.BaseDriver):
|
|||||||
self.management = ipmitool.IPMIManagement()
|
self.management = ipmitool.IPMIManagement()
|
||||||
self.inspect = inspector.Inspector.create_if_enabled(
|
self.inspect = inspector.Inspector.create_if_enabled(
|
||||||
'PXEAndIPMIToolDriver')
|
'PXEAndIPMIToolDriver')
|
||||||
self.iscsi_vendor = iscsi_deploy.VendorPassthru()
|
self.vendor = ipmitool.VendorPassthru()
|
||||||
self.ipmi_vendor = ipmitool.VendorPassthru()
|
|
||||||
self.mapping = {'send_raw': self.ipmi_vendor,
|
|
||||||
'bmc_reset': self.ipmi_vendor,
|
|
||||||
'heartbeat': self.iscsi_vendor}
|
|
||||||
self.driver_passthru_mapping = {'lookup': self.iscsi_vendor}
|
|
||||||
self.vendor = utils.MixinVendorInterface(
|
|
||||||
self.mapping,
|
|
||||||
driver_passthru_mapping=self.driver_passthru_mapping)
|
|
||||||
self.raid = agent.AgentRAID()
|
self.raid = agent.AgentRAID()
|
||||||
|
|
||||||
|
|
||||||
@@ -124,7 +115,6 @@ class PXEAndSSHDriver(base.BaseDriver):
|
|||||||
self.boot = pxe.PXEBoot()
|
self.boot = pxe.PXEBoot()
|
||||||
self.deploy = iscsi_deploy.ISCSIDeploy()
|
self.deploy = iscsi_deploy.ISCSIDeploy()
|
||||||
self.management = ssh.SSHManagement()
|
self.management = ssh.SSHManagement()
|
||||||
self.vendor = iscsi_deploy.VendorPassthru()
|
|
||||||
self.inspect = inspector.Inspector.create_if_enabled(
|
self.inspect = inspector.Inspector.create_if_enabled(
|
||||||
'PXEAndSSHDriver')
|
'PXEAndSSHDriver')
|
||||||
self.raid = agent.AgentRAID()
|
self.raid = agent.AgentRAID()
|
||||||
@@ -154,16 +144,7 @@ class PXEAndIPMINativeDriver(base.BaseDriver):
|
|||||||
self.boot = pxe.PXEBoot()
|
self.boot = pxe.PXEBoot()
|
||||||
self.deploy = iscsi_deploy.ISCSIDeploy()
|
self.deploy = iscsi_deploy.ISCSIDeploy()
|
||||||
self.management = ipminative.NativeIPMIManagement()
|
self.management = ipminative.NativeIPMIManagement()
|
||||||
self.iscsi_vendor = iscsi_deploy.VendorPassthru()
|
self.vendor = ipminative.VendorPassthru()
|
||||||
self.ipminative_vendor = ipminative.VendorPassthru()
|
|
||||||
self.mapping = {
|
|
||||||
'send_raw': self.ipminative_vendor,
|
|
||||||
'bmc_reset': self.ipminative_vendor,
|
|
||||||
'heartbeat': self.iscsi_vendor,
|
|
||||||
}
|
|
||||||
self.driver_passthru_mapping = {'lookup': self.iscsi_vendor}
|
|
||||||
self.vendor = utils.MixinVendorInterface(self.mapping,
|
|
||||||
self.driver_passthru_mapping)
|
|
||||||
self.inspect = inspector.Inspector.create_if_enabled(
|
self.inspect = inspector.Inspector.create_if_enabled(
|
||||||
'PXEAndIPMINativeDriver')
|
'PXEAndIPMINativeDriver')
|
||||||
self.raid = agent.AgentRAID()
|
self.raid = agent.AgentRAID()
|
||||||
@@ -191,14 +172,7 @@ class PXEAndSeaMicroDriver(base.BaseDriver):
|
|||||||
self.boot = pxe.PXEBoot()
|
self.boot = pxe.PXEBoot()
|
||||||
self.deploy = iscsi_deploy.ISCSIDeploy()
|
self.deploy = iscsi_deploy.ISCSIDeploy()
|
||||||
self.management = seamicro.Management()
|
self.management = seamicro.Management()
|
||||||
self.seamicro_vendor = seamicro.VendorPassthru()
|
self.vendor = seamicro.VendorPassthru()
|
||||||
self.iscsi_vendor = iscsi_deploy.VendorPassthru()
|
|
||||||
self.mapping = {'heartbeat': self.iscsi_vendor,
|
|
||||||
'attach_volume': self.seamicro_vendor,
|
|
||||||
'set_node_vlan_id': self.seamicro_vendor}
|
|
||||||
self.driver_passthru_mapping = {'lookup': self.iscsi_vendor}
|
|
||||||
self.vendor = utils.MixinVendorInterface(self.mapping,
|
|
||||||
self.driver_passthru_mapping)
|
|
||||||
self.console = seamicro.ShellinaboxConsole()
|
self.console = seamicro.ShellinaboxConsole()
|
||||||
|
|
||||||
|
|
||||||
@@ -271,7 +245,6 @@ class PXEAndSNMPDriver(base.BaseDriver):
|
|||||||
self.power = snmp.SNMPPower()
|
self.power = snmp.SNMPPower()
|
||||||
self.boot = pxe.PXEBoot()
|
self.boot = pxe.PXEBoot()
|
||||||
self.deploy = iscsi_deploy.ISCSIDeploy()
|
self.deploy = iscsi_deploy.ISCSIDeploy()
|
||||||
self.vendor = iscsi_deploy.VendorPassthru()
|
|
||||||
|
|
||||||
# PDUs have no boot device management capability.
|
# PDUs have no boot device management capability.
|
||||||
# Only PXE as a boot device is supported.
|
# Only PXE as a boot device is supported.
|
||||||
@@ -296,7 +269,6 @@ class PXEAndIRMCDriver(base.BaseDriver):
|
|||||||
self.boot = pxe.PXEBoot()
|
self.boot = pxe.PXEBoot()
|
||||||
self.deploy = iscsi_deploy.ISCSIDeploy()
|
self.deploy = iscsi_deploy.ISCSIDeploy()
|
||||||
self.management = irmc_management.IRMCManagement()
|
self.management = irmc_management.IRMCManagement()
|
||||||
self.vendor = iscsi_deploy.VendorPassthru()
|
|
||||||
self.inspect = irmc_inspect.IRMCInspect()
|
self.inspect = irmc_inspect.IRMCInspect()
|
||||||
|
|
||||||
|
|
||||||
@@ -324,7 +296,6 @@ class PXEAndVirtualBoxDriver(base.BaseDriver):
|
|||||||
self.boot = pxe.PXEBoot()
|
self.boot = pxe.PXEBoot()
|
||||||
self.deploy = iscsi_deploy.ISCSIDeploy()
|
self.deploy = iscsi_deploy.ISCSIDeploy()
|
||||||
self.management = virtualbox.VirtualBoxManagement()
|
self.management = virtualbox.VirtualBoxManagement()
|
||||||
self.vendor = iscsi_deploy.VendorPassthru()
|
|
||||||
self.raid = agent.AgentRAID()
|
self.raid = agent.AgentRAID()
|
||||||
|
|
||||||
|
|
||||||
@@ -369,7 +340,6 @@ class PXEAndMSFTOCSDriver(base.BaseDriver):
|
|||||||
self.boot = pxe.PXEBoot()
|
self.boot = pxe.PXEBoot()
|
||||||
self.deploy = iscsi_deploy.ISCSIDeploy()
|
self.deploy = iscsi_deploy.ISCSIDeploy()
|
||||||
self.management = msftocs_management.MSFTOCSManagement()
|
self.management = msftocs_management.MSFTOCSManagement()
|
||||||
self.vendor = iscsi_deploy.VendorPassthru()
|
|
||||||
|
|
||||||
|
|
||||||
class PXEAndUcsDriver(base.BaseDriver):
|
class PXEAndUcsDriver(base.BaseDriver):
|
||||||
@@ -391,7 +361,6 @@ class PXEAndUcsDriver(base.BaseDriver):
|
|||||||
self.boot = pxe.PXEBoot()
|
self.boot = pxe.PXEBoot()
|
||||||
self.deploy = iscsi_deploy.ISCSIDeploy()
|
self.deploy = iscsi_deploy.ISCSIDeploy()
|
||||||
self.management = ucs_mgmt.UcsManagement()
|
self.management = ucs_mgmt.UcsManagement()
|
||||||
self.vendor = iscsi_deploy.VendorPassthru()
|
|
||||||
self.inspect = inspector.Inspector.create_if_enabled(
|
self.inspect = inspector.Inspector.create_if_enabled(
|
||||||
'PXEAndUcsDriver')
|
'PXEAndUcsDriver')
|
||||||
|
|
||||||
@@ -415,7 +384,6 @@ class PXEAndCIMCDriver(base.BaseDriver):
|
|||||||
self.boot = pxe.PXEBoot()
|
self.boot = pxe.PXEBoot()
|
||||||
self.deploy = iscsi_deploy.ISCSIDeploy()
|
self.deploy = iscsi_deploy.ISCSIDeploy()
|
||||||
self.management = cimc_mgmt.CIMCManagement()
|
self.management = cimc_mgmt.CIMCManagement()
|
||||||
self.vendor = iscsi_deploy.VendorPassthru()
|
|
||||||
self.inspect = inspector.Inspector.create_if_enabled(
|
self.inspect = inspector.Inspector.create_if_enabled(
|
||||||
'PXEAndCIMCDriver')
|
'PXEAndCIMCDriver')
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ from ironic.drivers.modules import iboot
|
|||||||
from ironic.drivers.modules import ipmitool
|
from ironic.drivers.modules import ipmitool
|
||||||
from ironic.drivers.modules import pxe
|
from ironic.drivers.modules import pxe
|
||||||
from ironic.drivers.modules import wol
|
from ironic.drivers.modules import wol
|
||||||
from ironic.drivers import utils
|
|
||||||
from ironic.tests import base
|
from ironic.tests import base
|
||||||
|
|
||||||
|
|
||||||
@@ -42,10 +41,7 @@ class AgentAndIPMIToolDriverTestCase(base.TestCase):
|
|||||||
self.assertIsInstance(driver.boot, pxe.PXEBoot)
|
self.assertIsInstance(driver.boot, pxe.PXEBoot)
|
||||||
self.assertIsInstance(driver.deploy, agent_module.AgentDeploy)
|
self.assertIsInstance(driver.deploy, agent_module.AgentDeploy)
|
||||||
self.assertIsInstance(driver.management, ipmitool.IPMIManagement)
|
self.assertIsInstance(driver.management, ipmitool.IPMIManagement)
|
||||||
self.assertIsInstance(driver.agent_vendor,
|
self.assertIsInstance(driver.vendor, ipmitool.VendorPassthru)
|
||||||
agent_module.AgentVendorInterface)
|
|
||||||
self.assertIsInstance(driver.ipmi_vendor, ipmitool.VendorPassthru)
|
|
||||||
self.assertIsInstance(driver.vendor, utils.MixinVendorInterface)
|
|
||||||
self.assertIsInstance(driver.raid, agent_module.AgentRAID)
|
self.assertIsInstance(driver.raid, agent_module.AgentRAID)
|
||||||
|
|
||||||
|
|
||||||
@@ -59,10 +55,7 @@ class AgentAndIPMIToolAndSocatDriverTestCase(base.TestCase):
|
|||||||
self.assertIsInstance(driver.boot, pxe.PXEBoot)
|
self.assertIsInstance(driver.boot, pxe.PXEBoot)
|
||||||
self.assertIsInstance(driver.deploy, agent_module.AgentDeploy)
|
self.assertIsInstance(driver.deploy, agent_module.AgentDeploy)
|
||||||
self.assertIsInstance(driver.management, ipmitool.IPMIManagement)
|
self.assertIsInstance(driver.management, ipmitool.IPMIManagement)
|
||||||
self.assertIsInstance(driver.agent_vendor,
|
self.assertIsInstance(driver.vendor, ipmitool.VendorPassthru)
|
||||||
agent_module.AgentVendorInterface)
|
|
||||||
self.assertIsInstance(driver.ipmi_vendor, ipmitool.VendorPassthru)
|
|
||||||
self.assertIsInstance(driver.vendor, utils.MixinVendorInterface)
|
|
||||||
self.assertIsInstance(driver.raid, agent_module.AgentRAID)
|
self.assertIsInstance(driver.raid, agent_module.AgentRAID)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,6 @@ class IRMCVirtualMediaIscsiTestCase(testtools.TestCase):
|
|||||||
irmc.ipmitool.IPMIShellinaboxConsole)
|
irmc.ipmitool.IPMIShellinaboxConsole)
|
||||||
self.assertIsInstance(driver.management,
|
self.assertIsInstance(driver.management,
|
||||||
irmc.management.IRMCManagement)
|
irmc.management.IRMCManagement)
|
||||||
self.assertIsInstance(driver.vendor, iscsi_deploy.VendorPassthru)
|
|
||||||
self.assertIsInstance(driver.inspect, irmc.inspect.IRMCInspect)
|
self.assertIsInstance(driver.inspect, irmc.inspect.IRMCInspect)
|
||||||
|
|
||||||
@mock.patch.object(irmc.importutils, 'try_import')
|
@mock.patch.object(irmc.importutils, 'try_import')
|
||||||
@@ -91,7 +90,6 @@ class IRMCVirtualMediaAgentTestCase(testtools.TestCase):
|
|||||||
irmc.ipmitool.IPMIShellinaboxConsole)
|
irmc.ipmitool.IPMIShellinaboxConsole)
|
||||||
self.assertIsInstance(driver.management,
|
self.assertIsInstance(driver.management,
|
||||||
irmc.management.IRMCManagement)
|
irmc.management.IRMCManagement)
|
||||||
self.assertIsInstance(driver.vendor, irmc.agent.AgentVendorInterface)
|
|
||||||
self.assertIsInstance(driver.inspect, irmc.inspect.IRMCInspect)
|
self.assertIsInstance(driver.inspect, irmc.inspect.IRMCInspect)
|
||||||
|
|
||||||
@mock.patch.object(irmc.importutils, 'try_import')
|
@mock.patch.object(irmc.importutils, 'try_import')
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ from ironic.drivers.modules.ilo import console as ilo_console
|
|||||||
from ironic.drivers.modules.ilo import inspect as ilo_inspect
|
from ironic.drivers.modules.ilo import inspect as ilo_inspect
|
||||||
from ironic.drivers.modules.ilo import management as ilo_management
|
from ironic.drivers.modules.ilo import management as ilo_management
|
||||||
from ironic.drivers.modules.ilo import power as ilo_power
|
from ironic.drivers.modules.ilo import power as ilo_power
|
||||||
|
from ironic.drivers.modules.ilo import vendor as ilo_vendor
|
||||||
from ironic.drivers.modules import ipminative
|
from ironic.drivers.modules import ipminative
|
||||||
from ironic.drivers.modules import ipmitool
|
from ironic.drivers.modules import ipmitool
|
||||||
from ironic.drivers.modules.irmc import management as irmc_management
|
from ironic.drivers.modules.irmc import management as irmc_management
|
||||||
@@ -47,7 +48,6 @@ from ironic.drivers.modules.ucs import power as ucs_power
|
|||||||
from ironic.drivers.modules import virtualbox
|
from ironic.drivers.modules import virtualbox
|
||||||
from ironic.drivers.modules import wol
|
from ironic.drivers.modules import wol
|
||||||
from ironic.drivers import pxe
|
from ironic.drivers import pxe
|
||||||
from ironic.drivers import utils
|
|
||||||
|
|
||||||
|
|
||||||
class PXEDriversTestCase(testtools.TestCase):
|
class PXEDriversTestCase(testtools.TestCase):
|
||||||
@@ -61,8 +61,7 @@ class PXEDriversTestCase(testtools.TestCase):
|
|||||||
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
||||||
self.assertIsInstance(driver.management, ipmitool.IPMIManagement)
|
self.assertIsInstance(driver.management, ipmitool.IPMIManagement)
|
||||||
self.assertIsNone(driver.inspect)
|
self.assertIsNone(driver.inspect)
|
||||||
# TODO(rameshg87): Need better way of asserting the routes.
|
self.assertIsInstance(driver.vendor, ipmitool.VendorPassthru)
|
||||||
self.assertIsInstance(driver.vendor, utils.MixinVendorInterface)
|
|
||||||
self.assertIsInstance(driver.raid, agent.AgentRAID)
|
self.assertIsInstance(driver.raid, agent.AgentRAID)
|
||||||
|
|
||||||
def test_pxe_ipmitool_socat_driver(self):
|
def test_pxe_ipmitool_socat_driver(self):
|
||||||
@@ -74,8 +73,7 @@ class PXEDriversTestCase(testtools.TestCase):
|
|||||||
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
||||||
self.assertIsInstance(driver.management, ipmitool.IPMIManagement)
|
self.assertIsInstance(driver.management, ipmitool.IPMIManagement)
|
||||||
self.assertIsNone(driver.inspect)
|
self.assertIsNone(driver.inspect)
|
||||||
# TODO(rameshg87): Need better way of asserting the routes.
|
self.assertIsInstance(driver.vendor, ipmitool.VendorPassthru)
|
||||||
self.assertIsInstance(driver.vendor, utils.MixinVendorInterface)
|
|
||||||
self.assertIsInstance(driver.raid, agent.AgentRAID)
|
self.assertIsInstance(driver.raid, agent.AgentRAID)
|
||||||
|
|
||||||
def test_pxe_ssh_driver(self):
|
def test_pxe_ssh_driver(self):
|
||||||
@@ -85,7 +83,6 @@ class PXEDriversTestCase(testtools.TestCase):
|
|||||||
self.assertIsInstance(driver.boot, pxe_module.PXEBoot)
|
self.assertIsInstance(driver.boot, pxe_module.PXEBoot)
|
||||||
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
||||||
self.assertIsInstance(driver.management, ssh.SSHManagement)
|
self.assertIsInstance(driver.management, ssh.SSHManagement)
|
||||||
self.assertIsInstance(driver.vendor, iscsi_deploy.VendorPassthru)
|
|
||||||
self.assertIsNone(driver.inspect)
|
self.assertIsNone(driver.inspect)
|
||||||
self.assertIsInstance(driver.raid, agent.AgentRAID)
|
self.assertIsInstance(driver.raid, agent.AgentRAID)
|
||||||
|
|
||||||
@@ -103,8 +100,7 @@ class PXEDriversTestCase(testtools.TestCase):
|
|||||||
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
||||||
self.assertIsInstance(driver.management,
|
self.assertIsInstance(driver.management,
|
||||||
ipminative.NativeIPMIManagement)
|
ipminative.NativeIPMIManagement)
|
||||||
# TODO(rameshg87): Need better way of asserting the routes.
|
self.assertIsInstance(driver.vendor, ipminative.VendorPassthru)
|
||||||
self.assertIsInstance(driver.vendor, utils.MixinVendorInterface)
|
|
||||||
self.assertIsNone(driver.inspect)
|
self.assertIsNone(driver.inspect)
|
||||||
self.assertIsInstance(driver.raid, agent.AgentRAID)
|
self.assertIsInstance(driver.raid, agent.AgentRAID)
|
||||||
|
|
||||||
@@ -127,9 +123,7 @@ class PXEDriversTestCase(testtools.TestCase):
|
|||||||
self.assertIsInstance(driver.boot, pxe_module.PXEBoot)
|
self.assertIsInstance(driver.boot, pxe_module.PXEBoot)
|
||||||
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
||||||
self.assertIsInstance(driver.management, seamicro.Management)
|
self.assertIsInstance(driver.management, seamicro.Management)
|
||||||
self.assertIsInstance(driver.seamicro_vendor, seamicro.VendorPassthru)
|
self.assertIsInstance(driver.vendor, seamicro.VendorPassthru)
|
||||||
self.assertIsInstance(driver.iscsi_vendor, iscsi_deploy.VendorPassthru)
|
|
||||||
self.assertIsInstance(driver.vendor, utils.MixinVendorInterface)
|
|
||||||
self.assertIsInstance(driver.console, seamicro.ShellinaboxConsole)
|
self.assertIsInstance(driver.console, seamicro.ShellinaboxConsole)
|
||||||
|
|
||||||
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
||||||
@@ -170,7 +164,7 @@ class PXEDriversTestCase(testtools.TestCase):
|
|||||||
self.assertIsInstance(driver.power, ilo_power.IloPower)
|
self.assertIsInstance(driver.power, ilo_power.IloPower)
|
||||||
self.assertIsInstance(driver.boot, pxe_module.PXEBoot)
|
self.assertIsInstance(driver.boot, pxe_module.PXEBoot)
|
||||||
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
||||||
self.assertIsInstance(driver.vendor, iscsi_deploy.VendorPassthru)
|
self.assertIsInstance(driver.vendor, ilo_vendor.VendorPassthru)
|
||||||
self.assertIsInstance(driver.console,
|
self.assertIsInstance(driver.console,
|
||||||
ilo_console.IloConsoleInterface)
|
ilo_console.IloConsoleInterface)
|
||||||
self.assertIsInstance(driver.management,
|
self.assertIsInstance(driver.management,
|
||||||
@@ -196,7 +190,6 @@ class PXEDriversTestCase(testtools.TestCase):
|
|||||||
self.assertIsInstance(driver.power, snmp.SNMPPower)
|
self.assertIsInstance(driver.power, snmp.SNMPPower)
|
||||||
self.assertIsInstance(driver.boot, pxe_module.PXEBoot)
|
self.assertIsInstance(driver.boot, pxe_module.PXEBoot)
|
||||||
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
||||||
self.assertIsInstance(driver.vendor, iscsi_deploy.VendorPassthru)
|
|
||||||
self.assertIsNone(driver.management)
|
self.assertIsNone(driver.management)
|
||||||
|
|
||||||
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
||||||
@@ -220,7 +213,6 @@ class PXEDriversTestCase(testtools.TestCase):
|
|||||||
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
||||||
self.assertIsInstance(driver.management,
|
self.assertIsInstance(driver.management,
|
||||||
irmc_management.IRMCManagement)
|
irmc_management.IRMCManagement)
|
||||||
self.assertIsInstance(driver.vendor, iscsi_deploy.VendorPassthru)
|
|
||||||
|
|
||||||
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
||||||
autospec=True)
|
autospec=True)
|
||||||
@@ -242,7 +234,6 @@ class PXEDriversTestCase(testtools.TestCase):
|
|||||||
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
||||||
self.assertIsInstance(driver.management,
|
self.assertIsInstance(driver.management,
|
||||||
virtualbox.VirtualBoxManagement)
|
virtualbox.VirtualBoxManagement)
|
||||||
self.assertIsInstance(driver.vendor, iscsi_deploy.VendorPassthru)
|
|
||||||
self.assertIsInstance(driver.raid, agent.AgentRAID)
|
self.assertIsInstance(driver.raid, agent.AgentRAID)
|
||||||
|
|
||||||
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
||||||
@@ -287,7 +278,6 @@ class PXEDriversTestCase(testtools.TestCase):
|
|||||||
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
||||||
self.assertIsInstance(driver.management,
|
self.assertIsInstance(driver.management,
|
||||||
msftocs_management.MSFTOCSManagement)
|
msftocs_management.MSFTOCSManagement)
|
||||||
self.assertIsInstance(driver.vendor, iscsi_deploy.VendorPassthru)
|
|
||||||
|
|
||||||
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
||||||
autospec=True)
|
autospec=True)
|
||||||
@@ -301,7 +291,6 @@ class PXEDriversTestCase(testtools.TestCase):
|
|||||||
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
||||||
self.assertIsInstance(driver.management,
|
self.assertIsInstance(driver.management,
|
||||||
ucs_management.UcsManagement)
|
ucs_management.UcsManagement)
|
||||||
self.assertIsInstance(driver.vendor, iscsi_deploy.VendorPassthru)
|
|
||||||
|
|
||||||
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
||||||
autospec=True)
|
autospec=True)
|
||||||
@@ -323,7 +312,6 @@ class PXEDriversTestCase(testtools.TestCase):
|
|||||||
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy)
|
||||||
self.assertIsInstance(driver.management,
|
self.assertIsInstance(driver.management,
|
||||||
cimc_management.CIMCManagement)
|
cimc_management.CIMCManagement)
|
||||||
self.assertIsInstance(driver.vendor, iscsi_deploy.VendorPassthru)
|
|
||||||
|
|
||||||
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
@mock.patch.object(pxe.importutils, 'try_import', spec_set=True,
|
||||||
autospec=True)
|
autospec=True)
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Agent lookup/heartbeat as vendor passthru is removed from most of
|
||||||
|
in-tree ironic drivers. Affected drivers are
|
||||||
|
|
||||||
|
* agent_ipmitool
|
||||||
|
* agent_ipmitool_socat
|
||||||
|
* agent_ipminative
|
||||||
|
* agent_irmc
|
||||||
|
* agent_ssh
|
||||||
|
* agent_vbox
|
||||||
|
* agent_ucs
|
||||||
|
* pxe_agent_cimc
|
||||||
|
* pxe_ipmitool
|
||||||
|
* pxe_ipmitool_socat
|
||||||
|
* pxe_ssh
|
||||||
|
* pxe_ipminative
|
||||||
|
* pxe_seamicro
|
||||||
|
* pxe_snmp
|
||||||
|
* pxe_irmc
|
||||||
|
* pxe_vbox
|
||||||
|
* pxe_msftocs
|
||||||
|
* pxe_ucs
|
||||||
|
* pxe_iscsi_cimc
|
||||||
|
* pxe_drac
|
||||||
|
* pxe_drac_inspector
|
||||||
|
* iscsi_irmc
|
||||||
|
|
||||||
|
All the other vendor passthru methods are left in place if the
|
||||||
|
driver had them.
|
||||||
|
upgrade:
|
||||||
|
- Agent lookup/heartbeat as vendor passthru is removed from ironic.
|
||||||
|
That means that most in-tree drivers relying on Ironic Python Agent (IPA)
|
||||||
|
lookup/heartbeat functionality become incompatible with IPA < 1.5.0.
|
||||||
|
Operators are required to update their IPA-based deploy ramdisks to
|
||||||
|
contain IPA >= 1.5.0.
|
||||||
Reference in New Issue
Block a user