59d5bea14a
Based on discussions during and after the Ironic team meeting on June 03, regarding support for substantially different driver work flows, this is a re-working of the internal driver API. tl;dr: The strict separation of "control" and "deploy" driver was an artefact of the ipmi + pxe implementation used in nova-baremetal, and does not map on to all drivers. Furthermore, the prior implementation did not accurately represent the separation of "core", "standard", and "vendor-specific" driver functionality. These changes impact the v1 API structure, but since that is largely not implemented yet, this change does not attempt to affect the public API itself. Highlights: - No more deploy + control driver; nodes have one and only one driver. This drops the deploy_driver and deploy_info parameters, and renames control_driver -> driver, and control_info -> driver_info. - Interfaces for core, standard, and vendor functionality now clearly defined in the driver API. - Improve Fake driver to demonstrate use of interfaces. - Convert IPMI and SSH driver classes into interfaces, and move to drivers/modules/ directory. - Stub for the pxe interfaces. - Stub implementations of pxe+ipmi and pxe+ssh drivers. - driver_info field uses more standard names, but requires driver-specific data to be in a nested object. Examples in tests/db/utils.py as before. A separate doc change will follow this to update the API v1 spec. Also includes some cosmetic cleanup of test_ssh.py and test_ipmi.py. Change-Id: I057ede8e07b1b57010e81ef58415debe0ba8b934
70 lines
1.6 KiB
INI
70 lines
1.6 KiB
INI
[metadata]
|
|
name = ironic
|
|
version = 2013.2
|
|
summary = OpenStack Bare Metal Provisioning
|
|
description-file =
|
|
README.rst
|
|
author = OpenStack
|
|
author-email = openstack-dev@lists.openstack.org
|
|
home-page = http://www.openstack.org/
|
|
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 :: 2.6
|
|
|
|
[global]
|
|
setup-hooks =
|
|
pbr.hooks.setup_hook
|
|
|
|
[files]
|
|
packages =
|
|
ironic
|
|
|
|
[entry_points]
|
|
console_scripts =
|
|
ironic-api = ironic.cmd.api:main
|
|
ironic-dbsync = ironic.cmd.dbsync:main
|
|
ironic-manager = ironic.cmd.manager:main
|
|
ironic-rootwrap = ironic.openstack.common.rootwrap.cmd:main
|
|
|
|
ironic.drivers =
|
|
fake = ironic.drivers.fake:FakeDriver
|
|
fake_ipmi = ironic.drivers.fake:FakeIPMIDriver
|
|
fake_ssh = ironic.drivers.fake:FakeSSHDriver
|
|
fake_pxe = ironic.drivers.fake:FakePXEDriver
|
|
pxe_ipmi = ironic.drivers.pxe:PXEAndIPMIDriver
|
|
pxe_ssh = ironic.drivers.pxe:PXEAndSSHDriver
|
|
|
|
[pbr]
|
|
autodoc_index_modules = 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
|