示例#1
0
    def __init__(self):
        if not importutils.try_import('dracclient'):
            raise exception.DriverLoadError(
                driver=self.__class__.__name__,
                reason=_('Unable to import python-dracclient library'))

        self.power = power.DracPower()
        self.boot = pxe.PXEBoot()
        self.deploy = deploy.DracDeploy()
        self.management = management.DracManagement()
        self.raid = raid.DracRAID()
        self.iscsi_vendor = iscsi_deploy.VendorPassthru()
        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()
示例#2
0
 def __init__(self):
     if not importutils.try_import('pyghmi'):
         raise exception.DriverLoadError(
             driver=self.__class__.__name__,
             reason=_("Unable to import pyghmi library"))
     self.power = ipminative.NativeIPMIPower()
     self.console = ipminative.NativeIPMIShellinaboxConsole()
     self.boot = pxe.PXEBoot()
     self.deploy = iscsi_deploy.ISCSIDeploy()
     self.management = ipminative.NativeIPMIManagement()
     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')
     self.raid = agent.AgentRAID()
示例#3
0
文件: pxe.py 项目: zweiustc/ironic
 def __init__(self):
     self.power = ssh.SSHPower()
     self.boot = pxe.PXEBoot()
     self.deploy = iscsi_deploy.ISCSIDeploy()
     self.management = ssh.SSHManagement()
     self.vendor = iscsi_deploy.VendorPassthru()
     self.inspect = inspector.Inspector.create_if_enabled('PXEAndSSHDriver')
示例#4
0
    def __init__(self):
        if not importutils.try_import('pywsman'):
            raise exception.DriverLoadError(
                driver=self.__class__.__name__,
                reason=_('Unable to import pywsman library'))

        if not importutils.try_import('dracclient'):
            raise exception.DriverLoadError(
                driver=self.__class__.__name__,
                reason=_('Unable to import python-dracclient library'))

        self.power = power.DracPower()
        self.boot = pxe.PXEBoot()
        self.deploy = iscsi_deploy.ISCSIDeploy()
        self.management = management.DracManagement()
        self.iscsi_vendor = iscsi_deploy.VendorPassthru()
        self.drac_vendor = vendor_passthru.DracVendorPassthru()
        self.mapping = {
            'pass_deploy_info': self.iscsi_vendor,
            'heartbeat': self.iscsi_vendor,
            'pass_bootloader_install_info': 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,
        }
        self.vendor = utils.MixinVendorInterface(self.mapping)
        self.inspect = inspector.Inspector.create_if_enabled('PXEDracDriver')
示例#5
0
文件: pxe.py 项目: mat128/ironic
 def __init__(self):
     if not importutils.try_import('iboot'):
         raise exception.DriverLoadError(
             driver=self.__class__.__name__,
             reason=_("Unable to import iboot library"))
     self.power = iboot.IBootPower()
     self.boot = pxe.PXEBoot()
     self.deploy = iscsi_deploy.ISCSIDeploy()
     self.vendor = iscsi_deploy.VendorPassthru()
示例#6
0
文件: pxe.py 项目: zweiustc/ironic
 def __init__(self):
     self.power = ipmitool.IPMIPower()
     self.console = ipmitool.IPMIShellinaboxConsole()
     self.boot = pxe.PXEBoot()
     self.deploy = iscsi_deploy.ISCSIDeploy()
     self.management = ipmitool.IPMIManagement()
     self.vendor = iscsi_deploy.VendorPassthru()
     self.inspect = inspector.Inspector.create_if_enabled(
         'PXEAndIPMIToolDriver')
示例#7
0
文件: pxe.py 项目: jriguera/ironic
 def __init__(self):
     if not importutils.try_import('ImcSdk'):
         raise exception.DriverLoadError(
             driver=self.__class__.__name__,
             reason=_("Unable to import ImcSdk library"))
     self.power = cimc_power.Power()
     self.boot = pxe.PXEBoot()
     self.deploy = iscsi_deploy.ISCSIDeploy()
     self.management = cimc_mgmt.CIMCManagement()
     self.vendor = iscsi_deploy.VendorPassthru()
示例#8
0
文件: pxe.py 项目: jriguera/ironic
 def __init__(self):
     if not importutils.try_import('pyremotevbox'):
         raise exception.DriverLoadError(
             driver=self.__class__.__name__,
             reason=_("Unable to import pyremotevbox library"))
     self.power = virtualbox.VirtualBoxPower()
     self.boot = pxe.PXEBoot()
     self.deploy = iscsi_deploy.ISCSIDeploy()
     self.management = virtualbox.VirtualBoxManagement()
     self.vendor = iscsi_deploy.VendorPassthru()
示例#9
0
文件: pxe.py 项目: mat128/ironic
 def __init__(self):
     if not importutils.try_import('UcsSdk'):
         raise exception.DriverLoadError(
             driver=self.__class__.__name__,
             reason=_("Unable to import UcsSdk library"))
     self.power = ucs_power.Power()
     self.boot = pxe.PXEBoot()
     self.deploy = iscsi_deploy.ISCSIDeploy()
     self.management = ucs_mgmt.UcsManagement()
     self.vendor = iscsi_deploy.VendorPassthru()
     self.inspect = inspector.Inspector.create_if_enabled('PXEAndUcsDriver')
示例#10
0
文件: pxe.py 项目: jriguera/ironic
 def __init__(self):
     if not importutils.try_import('scciclient'):
         raise exception.DriverLoadError(
             driver=self.__class__.__name__,
             reason=_("Unable to import python-scciclient library"))
     self.power = irmc_power.IRMCPower()
     self.console = ipmitool.IPMIShellinaboxConsole()
     self.boot = pxe.PXEBoot()
     self.deploy = iscsi_deploy.ISCSIDeploy()
     self.management = irmc_management.IRMCManagement()
     self.vendor = iscsi_deploy.VendorPassthru()
示例#11
0
文件: pxe.py 项目: zweiustc/ironic
 def __init__(self):
     if not importutils.try_import('pyghmi'):
         raise exception.DriverLoadError(
             driver=self.__class__.__name__,
             reason=_("Unable to import pyghmi library"))
     self.power = ipminative.NativeIPMIPower()
     self.console = ipminative.NativeIPMIShellinaboxConsole()
     self.boot = pxe.PXEBoot()
     self.deploy = iscsi_deploy.ISCSIDeploy()
     self.management = ipminative.NativeIPMIManagement()
     self.vendor = iscsi_deploy.VendorPassthru()
     self.inspect = inspector.Inspector.create_if_enabled(
         'PXEAndIPMINativeDriver')
示例#12
0
文件: pxe.py 项目: mat128/ironic
    def __init__(self):
        # Driver has a runtime dependency on PySNMP, abort load if it is absent
        if not importutils.try_import('pysnmp'):
            raise exception.DriverLoadError(
                driver=self.__class__.__name__,
                reason=_("Unable to import pysnmp library"))
        self.power = snmp.SNMPPower()
        self.boot = pxe.PXEBoot()
        self.deploy = iscsi_deploy.ISCSIDeploy()
        self.vendor = iscsi_deploy.VendorPassthru()

        # PDUs have no boot device management capability.
        # Only PXE as a boot device is supported.
        self.management = None
示例#13
0
    def __init__(self):
        if not importutils.try_import('oneview_client.client'):
            raise exception.DriverLoadError(
                driver=self.__class__.__name__,
                reason=_("Unable to import python-oneviewclient library"))

        # Checks connectivity to OneView and version compatibility on driver
        # initialization
        oneview_client = common.get_oneview_client()
        oneview_client.verify_oneview_version()
        oneview_client.verify_credentials()
        self.power = power.OneViewPower()
        self.management = management.OneViewManagement()
        self.boot = pxe.PXEBoot()
        self.deploy = deploy.OneViewIscsiDeploy()
        self.vendor = iscsi_deploy.VendorPassthru()
示例#14
0
文件: pxe.py 项目: jriguera/ironic
 def __init__(self):
     if not importutils.try_import('seamicroclient'):
         raise exception.DriverLoadError(
             driver=self.__class__.__name__,
             reason=_("Unable to import seamicroclient library"))
     self.power = seamicro.Power()
     self.boot = pxe.PXEBoot()
     self.deploy = iscsi_deploy.ISCSIDeploy()
     self.management = seamicro.Management()
     self.seamicro_vendor = seamicro.VendorPassthru()
     self.pxe_vendor = iscsi_deploy.VendorPassthru()
     self.mapping = {'pass_deploy_info': self.pxe_vendor,
                     'attach_volume': self.seamicro_vendor,
                     'set_node_vlan_id': self.seamicro_vendor}
     self.vendor = utils.MixinVendorInterface(self.mapping)
     self.console = seamicro.ShellinaboxConsole()
 def setUp(self):
     super(TestVendorPassthru, self).setUp()
     mgr_utils.mock_the_extension_manager()
     self.driver = driver_factory.get_driver("fake")
     self.driver.vendor = iscsi_deploy.VendorPassthru()
     self.node = obj_utils.create_test_node(
         self.context,
         driver='fake',
         instance_info=INST_INFO_DICT,
         driver_info=DRV_INFO_DICT,
         driver_internal_info=DRV_INTERNAL_INFO_DICT,
     )
     self.node.driver_internal_info['agent_url'] = 'http://1.2.3.4:1234'
     self.task = mock.MagicMock(spec=task_manager.TaskManager)
     self.task.shared = False
     self.task.node = self.node
     self.task.driver = self.driver
     self.task.context = self.context
示例#16
0
文件: pxe.py 项目: mat128/ironic
 def __init__(self):
     self.power = ipmitool.IPMIPower()
     self.console = ipmitool.IPMIShellinaboxConsole()
     self.boot = pxe.PXEBoot()
     self.deploy = iscsi_deploy.ISCSIDeploy()
     self.management = ipmitool.IPMIManagement()
     self.inspect = inspector.Inspector.create_if_enabled(
         'PXEAndIPMIToolDriver')
     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.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()
示例#17
0
 def __init__(self):
     self.power = fake.FakePower()
     self.boot = pxe.PXEBoot()
     self.deploy = iscsi_deploy.ISCSIDeploy()
     self.vendor = iscsi_deploy.VendorPassthru()
示例#18
0
文件: pxe.py 项目: mat128/ironic
 def __init__(self):
     self.power = msftocs_power.MSFTOCSPower()
     self.boot = pxe.PXEBoot()
     self.deploy = iscsi_deploy.ISCSIDeploy()
     self.management = msftocs_management.MSFTOCSManagement()
     self.vendor = iscsi_deploy.VendorPassthru()