diff options
Diffstat (limited to 'ironic')
-rw-r--r-- | ironic/drivers/agent.py | 11 | ||||
-rw-r--r-- | ironic/drivers/pxe.py | 23 |
2 files changed, 27 insertions, 7 deletions
diff --git a/ironic/drivers/agent.py b/ironic/drivers/agent.py index 8f95f098e..088c2e118 100644 --- a/ironic/drivers/agent.py +++ b/ironic/drivers/agent.py @@ -75,7 +75,16 @@ class AgentAndIPMINativeDriver(base.BaseDriver): self.deploy = agent.AgentDeploy() self.management = ipminative.NativeIPMIManagement() self.console = ipminative.NativeIPMIShellinaboxConsole() - self.vendor = agent.AgentVendorInterface() + self.agent_vendor = agent.AgentVendorInterface() + 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() diff --git a/ironic/drivers/pxe.py b/ironic/drivers/pxe.py index 92f31ff04..5cfde84e9 100644 --- a/ironic/drivers/pxe.py +++ b/ironic/drivers/pxe.py @@ -67,14 +67,14 @@ class PXEAndIPMIToolDriver(base.BaseDriver): self.management = ipmitool.IPMIManagement() self.inspect = inspector.Inspector.create_if_enabled( 'PXEAndIPMIToolDriver') - self.pxe_vendor = iscsi_deploy.VendorPassthru() + self.iscsi_vendor = iscsi_deploy.VendorPassthru() self.ipmi_vendor = ipmitool.VendorPassthru() self.mapping = {'send_raw': self.ipmi_vendor, 'bmc_reset': self.ipmi_vendor, - 'heartbeat': self.pxe_vendor, - 'pass_deploy_info': self.pxe_vendor, - 'pass_bootloader_install_info': self.pxe_vendor} - self.driver_passthru_mapping = {'lookup': self.pxe_vendor} + 'heartbeat': self.iscsi_vendor, + 'pass_deploy_info': self.iscsi_vendor, + 'pass_bootloader_install_info': self.iscsi_vendor} + self.driver_passthru_mapping = {'lookup': self.iscsi_vendor} self.vendor = utils.MixinVendorInterface( self.mapping, driver_passthru_mapping=self.driver_passthru_mapping) @@ -122,7 +122,18 @@ class PXEAndIPMINativeDriver(base.BaseDriver): self.boot = pxe.PXEBoot() self.deploy = iscsi_deploy.ISCSIDeploy() self.management = ipminative.NativeIPMIManagement() - self.vendor = iscsi_deploy.VendorPassthru() + self.iscsi_vendor = iscsi_deploy.VendorPassthru() + self.ipminative_vendor = ipminative.VendorPassthru() + self.mapping = { + 'send_raw': self.ipminative_vendor, + 'bmc_reset': self.ipminative_vendor, + 'heartbeat': self.iscsi_vendor, + 'pass_bootloader_install_info': self.iscsi_vendor, + 'pass_deploy_info': 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( 'PXEAndIPMINativeDriver') |