summaryrefslogtreecommitdiff
path: root/ironic
diff options
context:
space:
mode:
Diffstat (limited to 'ironic')
-rw-r--r--ironic/drivers/agent.py11
-rw-r--r--ironic/drivers/pxe.py23
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')