0ad6f87587
This change adds idrac hardware type support of a virtual media boot interface implementation that utilizes the Redfish out-of-band (OOB) management protocol and is compatible with the integrated Dell Remote Access Controller (iDRAC) baseboard management controller (BMC). It is named 'idrac-redfish-virtual-media'. The iDRAC Redfish Service almost entirely interoperates with the virtual media boot workflow suggested by the Redfish standard. The only difference is configuring the system to boot from the inserted virtual media. The standard workflow expects it to be referred to as a CD-ROM or floppy disk drive boot source, no different from their physical counterparts. However, the iDRAC refers to them as virtual boot sources, distinct from their physical counterparts. Presently, the standard does not define virtual CD-ROM nor virtual floppy disk drive boot sources. However, the iDRAC provides a Redfish OEM extension for setting the system to boot from one of those virtual boot sources. To circumvent the above issue, the Python class which implements 'idrac-redfish-virtual-media' is derived from the class which implements the generic, vendor-independent 'redfish-virtual-media' interface. It overrides the method which sets the boot device to facilitate use of the aforementioned iDRAC Redfish Service OEM extension. The idrac hardware type declares support for that new interface implementation, in addition to all boot interface implementations it has been supporting. The priority order is retained by assigning the new 'idrac-redfish-virtual-media' the lowest priority. A new idrac hardware type Python package dependency is introduced. It is on 'sushy-oem-idrac'. [1] https://pypi.org/project/sushy-oem-idrac/ Co-Authored-By: Richard G. Pioso <richard.pioso@dell.com> Story: 2006570 Task: 36675 Change-Id: I416019fc1ed3ab2a3a3dbc4443571123ef90e327
201 lines
7.9 KiB
INI
201 lines
7.9 KiB
INI
[metadata]
|
|
name = ironic
|
|
summary = OpenStack Bare Metal Provisioning
|
|
description-file =
|
|
README.rst
|
|
author = OpenStack
|
|
author-email = openstack-discuss@lists.openstack.org
|
|
home-page = https://docs.openstack.org/ironic/latest/
|
|
classifier =
|
|
Environment :: OpenStack
|
|
Intended Audience :: Information Technology
|
|
Intended Audience :: System Administrators
|
|
License :: OSI Approved :: Apache Software License
|
|
Operating System :: POSIX :: Linux
|
|
Programming Language :: Python
|
|
Programming Language :: Python :: 2
|
|
Programming Language :: Python :: 2.7
|
|
Programming Language :: Python :: 3
|
|
Programming Language :: Python :: 3.6
|
|
Programming Language :: Python :: 3.7
|
|
|
|
[files]
|
|
data_files =
|
|
etc/ironic =
|
|
etc/ironic/rootwrap.conf
|
|
etc/ironic/rootwrap.d = etc/ironic/rootwrap.d/*
|
|
packages =
|
|
ironic
|
|
|
|
[entry_points]
|
|
oslo.config.opts =
|
|
ironic = ironic.conf.opts:list_opts
|
|
|
|
oslo.config.opts.defaults =
|
|
ironic = ironic.conf.opts:update_opt_defaults
|
|
|
|
oslo.policy.enforcer =
|
|
ironic = ironic.common.policy:get_oslo_policy_enforcer
|
|
|
|
oslo.policy.policies =
|
|
ironic.api = ironic.common.policy:list_policies
|
|
|
|
console_scripts =
|
|
ironic-api = ironic.cmd.api:main
|
|
ironic-dbsync = ironic.cmd.dbsync:main
|
|
ironic-conductor = ironic.cmd.conductor:main
|
|
ironic-rootwrap = oslo_rootwrap.cmd:main
|
|
ironic-status = ironic.cmd.status:main
|
|
|
|
wsgi_scripts =
|
|
ironic-api-wsgi = ironic.api.wsgi:initialize_wsgi_app
|
|
|
|
ironic.dhcp =
|
|
neutron = ironic.dhcp.neutron:NeutronDHCPApi
|
|
none = ironic.dhcp.none:NoneDHCPApi
|
|
|
|
ironic.hardware.interfaces.bios =
|
|
fake = ironic.drivers.modules.fake:FakeBIOS
|
|
ilo = ironic.drivers.modules.ilo.bios:IloBIOS
|
|
irmc = ironic.drivers.modules.irmc.bios:IRMCBIOS
|
|
no-bios = ironic.drivers.modules.noop:NoBIOS
|
|
redfish = ironic.drivers.modules.redfish.bios:RedfishBIOS
|
|
|
|
ironic.hardware.interfaces.boot =
|
|
fake = ironic.drivers.modules.fake:FakeBoot
|
|
idrac-redfish-virtual-media = ironic.drivers.modules.drac.boot:DracRedfishVirtualMediaBoot
|
|
ilo-pxe = ironic.drivers.modules.ilo.boot:IloPXEBoot
|
|
ilo-ipxe = ironic.drivers.modules.ilo.boot:IloiPXEBoot
|
|
ilo-virtual-media = ironic.drivers.modules.ilo.boot:IloVirtualMediaBoot
|
|
ipxe = ironic.drivers.modules.ipxe:iPXEBoot
|
|
irmc-pxe = ironic.drivers.modules.irmc.boot:IRMCPXEBoot
|
|
irmc-virtual-media = ironic.drivers.modules.irmc.boot:IRMCVirtualMediaBoot
|
|
pxe = ironic.drivers.modules.pxe:PXEBoot
|
|
redfish-virtual-media = ironic.drivers.modules.redfish.boot:RedfishVirtualMediaBoot
|
|
|
|
ironic.hardware.interfaces.console =
|
|
fake = ironic.drivers.modules.fake:FakeConsole
|
|
ilo = ironic.drivers.modules.ilo.console:IloConsoleInterface
|
|
ipmitool-shellinabox = ironic.drivers.modules.ipmitool:IPMIShellinaboxConsole
|
|
ipmitool-socat = ironic.drivers.modules.ipmitool:IPMISocatConsole
|
|
no-console = ironic.drivers.modules.noop:NoConsole
|
|
|
|
ironic.hardware.interfaces.deploy =
|
|
ansible = ironic.drivers.modules.ansible.deploy:AnsibleDeploy
|
|
direct = ironic.drivers.modules.agent:AgentDeploy
|
|
fake = ironic.drivers.modules.fake:FakeDeploy
|
|
iscsi = ironic.drivers.modules.iscsi_deploy:ISCSIDeploy
|
|
ramdisk = ironic.drivers.modules.pxe:PXERamdiskDeploy
|
|
|
|
ironic.hardware.interfaces.inspect =
|
|
fake = ironic.drivers.modules.fake:FakeInspect
|
|
idrac = ironic.drivers.modules.drac.inspect:DracInspect
|
|
idrac-redfish = ironic.drivers.modules.drac.inspect:DracRedfishInspect
|
|
idrac-wsman = ironic.drivers.modules.drac.inspect:DracWSManInspect
|
|
ilo = ironic.drivers.modules.ilo.inspect:IloInspect
|
|
inspector = ironic.drivers.modules.inspector:Inspector
|
|
irmc = ironic.drivers.modules.irmc.inspect:IRMCInspect
|
|
no-inspect = ironic.drivers.modules.noop:NoInspect
|
|
redfish = ironic.drivers.modules.redfish.inspect:RedfishInspect
|
|
|
|
ironic.hardware.interfaces.management =
|
|
fake = ironic.drivers.modules.fake:FakeManagement
|
|
ibmc = ironic.drivers.modules.ibmc.management:IBMCManagement
|
|
idrac = ironic.drivers.modules.drac.management:DracManagement
|
|
idrac-redfish = ironic.drivers.modules.drac.management:DracRedfishManagement
|
|
idrac-wsman = ironic.drivers.modules.drac.management:DracWSManManagement
|
|
ilo = ironic.drivers.modules.ilo.management:IloManagement
|
|
ilo5 = ironic.drivers.modules.ilo.management:Ilo5Management
|
|
intel-ipmitool = ironic.drivers.modules.intel_ipmi.management:IntelIPMIManagement
|
|
ipmitool = ironic.drivers.modules.ipmitool:IPMIManagement
|
|
irmc = ironic.drivers.modules.irmc.management:IRMCManagement
|
|
noop = ironic.drivers.modules.noop_mgmt:NoopManagement
|
|
redfish = ironic.drivers.modules.redfish.management:RedfishManagement
|
|
xclarity = ironic.drivers.modules.xclarity.management:XClarityManagement
|
|
|
|
ironic.hardware.interfaces.network =
|
|
flat = ironic.drivers.modules.network.flat:FlatNetwork
|
|
neutron = ironic.drivers.modules.network.neutron:NeutronNetwork
|
|
noop = ironic.drivers.modules.network.noop:NoopNetwork
|
|
|
|
ironic.hardware.interfaces.power =
|
|
fake = ironic.drivers.modules.fake:FakePower
|
|
ibmc = ironic.drivers.modules.ibmc.power:IBMCPower
|
|
idrac = ironic.drivers.modules.drac.power:DracPower
|
|
idrac-redfish = ironic.drivers.modules.drac.power:DracRedfishPower
|
|
idrac-wsman = ironic.drivers.modules.drac.power:DracWSManPower
|
|
ilo = ironic.drivers.modules.ilo.power:IloPower
|
|
ipmitool = ironic.drivers.modules.ipmitool:IPMIPower
|
|
irmc = ironic.drivers.modules.irmc.power:IRMCPower
|
|
redfish = ironic.drivers.modules.redfish.power:RedfishPower
|
|
snmp = ironic.drivers.modules.snmp:SNMPPower
|
|
xclarity = ironic.drivers.modules.xclarity.power:XClarityPower
|
|
|
|
ironic.hardware.interfaces.raid =
|
|
agent = ironic.drivers.modules.agent:AgentRAID
|
|
fake = ironic.drivers.modules.fake:FakeRAID
|
|
idrac = ironic.drivers.modules.drac.raid:DracRAID
|
|
idrac-wsman = ironic.drivers.modules.drac.raid:DracWSManRAID
|
|
ilo5 = ironic.drivers.modules.ilo.raid:Ilo5RAID
|
|
irmc = ironic.drivers.modules.irmc.raid:IRMCRAID
|
|
no-raid = ironic.drivers.modules.noop:NoRAID
|
|
|
|
ironic.hardware.interfaces.rescue =
|
|
agent = ironic.drivers.modules.agent:AgentRescue
|
|
fake = ironic.drivers.modules.fake:FakeRescue
|
|
no-rescue = ironic.drivers.modules.noop:NoRescue
|
|
|
|
ironic.hardware.interfaces.storage =
|
|
fake = ironic.drivers.modules.fake:FakeStorage
|
|
noop = ironic.drivers.modules.storage.noop:NoopStorage
|
|
cinder = ironic.drivers.modules.storage.cinder:CinderStorage
|
|
external = ironic.drivers.modules.storage.external:ExternalStorage
|
|
|
|
ironic.hardware.interfaces.vendor =
|
|
fake = ironic.drivers.modules.fake:FakeVendorB
|
|
ibmc = ironic.drivers.modules.ibmc.vendor:IBMCVendor
|
|
idrac = ironic.drivers.modules.drac.vendor_passthru:DracVendorPassthru
|
|
idrac-wsman = ironic.drivers.modules.drac.vendor_passthru:DracWSManVendorPassthru
|
|
ilo = ironic.drivers.modules.ilo.vendor:VendorPassthru
|
|
ipmitool = ironic.drivers.modules.ipmitool:VendorPassthru
|
|
no-vendor = ironic.drivers.modules.noop:NoVendor
|
|
|
|
ironic.hardware.types =
|
|
fake-hardware = ironic.drivers.fake_hardware:FakeHardware
|
|
ibmc = ironic.drivers.ibmc:IBMCHardware
|
|
idrac = ironic.drivers.drac:IDRACHardware
|
|
ilo = ironic.drivers.ilo:IloHardware
|
|
ilo5 = ironic.drivers.ilo:Ilo5Hardware
|
|
intel-ipmi = ironic.drivers.intel_ipmi:IntelIPMIHardware
|
|
ipmi = ironic.drivers.ipmi:IPMIHardware
|
|
irmc = ironic.drivers.irmc:IRMCHardware
|
|
manual-management = ironic.drivers.generic:ManualManagementHardware
|
|
redfish = ironic.drivers.redfish:RedfishHardware
|
|
snmp = ironic.drivers.snmp:SNMPHardware
|
|
xclarity = ironic.drivers.xclarity:XClarityHardware
|
|
|
|
ironic.database.migration_backend =
|
|
sqlalchemy = ironic.db.sqlalchemy.migration
|
|
|
|
[egg_info]
|
|
tag_build =
|
|
tag_date = 0
|
|
tag_svn_revision = 0
|
|
|
|
[compile_catalog]
|
|
directory = ironic/locale
|
|
domain = ironic
|
|
|
|
[update_catalog]
|
|
domain = ironic
|
|
output_dir = ironic/locale
|
|
input_file = ironic/locale/ironic.pot
|
|
|
|
[extract_messages]
|
|
keywords = _ gettext ngettext l_ lazy_gettext
|
|
mapping_file = babel.cfg
|
|
output_file = ironic/locale/ironic.pot
|
|
|
|
[wheel]
|
|
universal = 1
|