
This change introduces a new module ironic.drivers.hardware_types with AbstractHardwareType class. It also updates driver_factory code to support loading hardware types and creating dynamic drivers. Interfaces validation code extended to cover hardware types. This change also introduces the FakeHardware class for testing. It is special-cased to bypass compatibility validation completely. No hardware types are loaded on conductor start up yet, as hardware types still do not participate in the hash ring. Thus, nodes with hardware types cannot still be created via HTTP API. Change-Id: If8e3342baf818a9e37aa82b43aec71898d48c29b Partial-Bug: #1524745
179 lines
6.3 KiB
INI
179 lines
6.3 KiB
INI
[metadata]
|
|
name = ironic
|
|
summary = OpenStack Bare Metal Provisioning
|
|
description-file =
|
|
README.rst
|
|
author = OpenStack
|
|
author-email = openstack-dev@lists.openstack.org
|
|
home-page = http://docs.openstack.org/developer/ironic/
|
|
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
|
|
|
|
[files]
|
|
packages =
|
|
ironic
|
|
ironic_tempest_plugin
|
|
|
|
[entry_points]
|
|
oslo.config.opts =
|
|
ironic = ironic.conf.opts:list_opts
|
|
|
|
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.dhcp =
|
|
neutron = ironic.dhcp.neutron:NeutronDHCPApi
|
|
none = ironic.dhcp.none:NoneDHCPApi
|
|
|
|
ironic.drivers =
|
|
agent_amt = ironic.drivers.agent:AgentAndAMTDriver
|
|
agent_iboot = ironic.drivers.agent:AgentAndIBootDriver
|
|
agent_ilo = ironic.drivers.ilo:IloVirtualMediaAgentDriver
|
|
agent_ipmitool = ironic.drivers.agent:AgentAndIPMIToolDriver
|
|
agent_ipmitool_socat = ironic.drivers.agent:AgentAndIPMIToolAndSocatDriver
|
|
agent_irmc = ironic.drivers.irmc:IRMCVirtualMediaAgentDriver
|
|
agent_pxe_oneview = ironic.drivers.oneview:AgentPXEOneViewDriver
|
|
agent_pyghmi = ironic.drivers.agent:AgentAndIPMINativeDriver
|
|
agent_ssh = ironic.drivers.agent:AgentAndSSHDriver
|
|
agent_vbox = ironic.drivers.agent:AgentAndVirtualBoxDriver
|
|
agent_ucs = ironic.drivers.agent:AgentAndUcsDriver
|
|
agent_wol = ironic.drivers.agent:AgentAndWakeOnLanDriver
|
|
fake = ironic.drivers.fake:FakeDriver
|
|
fake_agent = ironic.drivers.fake:FakeAgentDriver
|
|
fake_inspector = ironic.drivers.fake:FakeIPMIToolInspectorDriver
|
|
fake_ipmitool = ironic.drivers.fake:FakeIPMIToolDriver
|
|
fake_ipmitool_socat = ironic.drivers.fake:FakeIPMIToolSocatDriver
|
|
fake_ipminative = ironic.drivers.fake:FakeIPMINativeDriver
|
|
fake_ssh = ironic.drivers.fake:FakeSSHDriver
|
|
fake_pxe = ironic.drivers.fake:FakePXEDriver
|
|
fake_seamicro = ironic.drivers.fake:FakeSeaMicroDriver
|
|
fake_iboot = ironic.drivers.fake:FakeIBootDriver
|
|
fake_ilo = ironic.drivers.fake:FakeIloDriver
|
|
fake_drac = ironic.drivers.fake:FakeDracDriver
|
|
fake_snmp = ironic.drivers.fake:FakeSNMPDriver
|
|
fake_irmc = ironic.drivers.fake:FakeIRMCDriver
|
|
fake_vbox = ironic.drivers.fake:FakeVirtualBoxDriver
|
|
fake_amt = ironic.drivers.fake:FakeAMTDriver
|
|
fake_msftocs = ironic.drivers.fake:FakeMSFTOCSDriver
|
|
fake_ucs = ironic.drivers.fake:FakeUcsDriver
|
|
fake_cimc = ironic.drivers.fake:FakeCIMCDriver
|
|
fake_wol = ironic.drivers.fake:FakeWakeOnLanDriver
|
|
fake_oneview = ironic.drivers.fake:FakeOneViewDriver
|
|
iscsi_ilo = ironic.drivers.ilo:IloVirtualMediaIscsiDriver
|
|
iscsi_irmc = ironic.drivers.irmc:IRMCVirtualMediaIscsiDriver
|
|
iscsi_pxe_oneview = ironic.drivers.oneview:ISCSIPXEOneViewDriver
|
|
pxe_ipmitool = ironic.drivers.pxe:PXEAndIPMIToolDriver
|
|
pxe_ipmitool_socat = ironic.drivers.pxe:PXEAndIPMIToolAndSocatDriver
|
|
pxe_ipminative = ironic.drivers.pxe:PXEAndIPMINativeDriver
|
|
pxe_ssh = ironic.drivers.pxe:PXEAndSSHDriver
|
|
pxe_vbox = ironic.drivers.pxe:PXEAndVirtualBoxDriver
|
|
pxe_seamicro = ironic.drivers.pxe:PXEAndSeaMicroDriver
|
|
pxe_iboot = ironic.drivers.pxe:PXEAndIBootDriver
|
|
pxe_ilo = ironic.drivers.pxe:PXEAndIloDriver
|
|
pxe_drac = ironic.drivers.drac:PXEDracDriver
|
|
pxe_drac_inspector = ironic.drivers.drac:PXEDracInspectorDriver
|
|
pxe_snmp = ironic.drivers.pxe:PXEAndSNMPDriver
|
|
pxe_irmc = ironic.drivers.pxe:PXEAndIRMCDriver
|
|
pxe_amt = ironic.drivers.pxe:PXEAndAMTDriver
|
|
pxe_msftocs = ironic.drivers.pxe:PXEAndMSFTOCSDriver
|
|
pxe_ucs = ironic.drivers.pxe:PXEAndUcsDriver
|
|
pxe_wol = ironic.drivers.pxe:PXEAndWakeOnLanDriver
|
|
pxe_iscsi_cimc = ironic.drivers.pxe:PXEAndCIMCDriver
|
|
pxe_agent_cimc = ironic.drivers.agent:AgentAndCIMCDriver
|
|
|
|
ironic.hardware.interfaces.boot =
|
|
fake = ironic.drivers.modules.fake:FakeBoot
|
|
|
|
ironic.hardware.interfaces.console =
|
|
fake = ironic.drivers.modules.fake:FakeConsole
|
|
no-console = ironic.drivers.modules.noop:NoConsole
|
|
|
|
ironic.hardware.interfaces.deploy =
|
|
fake = ironic.drivers.modules.fake:FakeDeploy
|
|
|
|
ironic.hardware.interfaces.inspect =
|
|
fake = ironic.drivers.modules.fake:FakeInspect
|
|
no-inspect = ironic.drivers.modules.noop:NoInspect
|
|
|
|
ironic.hardware.interfaces.management =
|
|
fake = ironic.drivers.modules.fake:FakeManagement
|
|
|
|
ironic.hardware.interfaces.network =
|
|
flat = ironic.drivers.modules.network.flat:FlatNetwork
|
|
noop = ironic.drivers.modules.network.noop:NoopNetwork
|
|
neutron = ironic.drivers.modules.network.neutron:NeutronNetwork
|
|
|
|
ironic.hardware.interfaces.power =
|
|
fake = ironic.drivers.modules.fake:FakePower
|
|
|
|
ironic.hardware.interfaces.raid =
|
|
fake = ironic.drivers.modules.fake:FakeRAID
|
|
no-raid = ironic.drivers.modules.noop:NoRAID
|
|
|
|
ironic.hardware.interfaces.rescue =
|
|
no-rescue = ironic.drivers.modules.noop:NoRescue
|
|
|
|
ironic.hardware.interfaces.vendor =
|
|
fake = ironic.drivers.modules.fake:FakeVendorB
|
|
no-vendor = ironic.drivers.modules.noop:NoVendor
|
|
|
|
ironic.hardware.types =
|
|
fake-hardware = ironic.drivers.fake_hardware:FakeHardware
|
|
|
|
ironic.database.migration_backend =
|
|
sqlalchemy = ironic.db.sqlalchemy.migration
|
|
|
|
tempest.test_plugins =
|
|
ironic_tests = ironic_tempest_plugin.plugin:IronicTempestPlugin
|
|
|
|
[pbr]
|
|
autodoc_index_modules = True
|
|
autodoc_exclude_modules =
|
|
ironic.db.sqlalchemy.alembic.env
|
|
ironic.db.sqlalchemy.alembic.versions.*
|
|
ironic_tempest_plugin.*
|
|
warnerrors = True
|
|
|
|
[build_sphinx]
|
|
all_files = 1
|
|
build-dir = doc/build
|
|
source-dir = doc/source
|
|
|
|
[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
|