ironic/setup.cfg
Ilya Etingof 0ad6f87587 Add Redfish vmedia boot interface to idrac HW type
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
2019-10-11 20:01:09 -04:00

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