A service for managing and provisioning Bare Metal servers.
Go to file
Dmitry Tantsur 3429e3824c Switch to Futurist library for asynchronous execution and periodic tasks
This change switches the conductor to using Futurist library executor and
periodic tasks worker instead of oslo.service periodic tasks. This allows
running periodic tasks in parallel and relying on more standard interfaces
(futures, executors) when dealing with asynchronous execution.

A green thread executor is used instead of using an eventlet green pool
directly. The maximum number of workers is taken from the existing
workers_pool_size configuration option, and no tasks are allowed
to be enqueued to mimic the previous behaviour (might be lifted later).

The periodic tasks worker is using the same executor, and its main loop thread
is also running on it. For this reason minimum value for workers_pool_size
is now 3: periodic task main loop, keep alive thread and at least one thread for
other tasks. A special decorator for driver-periodic tasks is now deprecated,
as the generic decorator can be used there as well.

Closes-Bug: #1526277
Change-Id: I57bf7cebfb6db805b6c521bacfef2993b16ce1ee
2016-02-24 15:44:05 +01:00
devstack Merge "Use http_{root, url} config from "deploy" instead of "pxe"" 2016-02-17 14:06:53 +00:00
doc/source Switch to Futurist library for asynchronous execution and periodic tasks 2016-02-24 15:44:05 +01:00
etc Switch to Futurist library for asynchronous execution and periodic tasks 2016-02-24 15:44:05 +01:00
ironic Switch to Futurist library for asynchronous execution and periodic tasks 2016-02-24 15:44:05 +01:00
ironic_tempest_plugin Comment out test options that already exists on tempest's tree 2016-02-10 17:23:31 +00:00
releasenotes Switch to Futurist library for asynchronous execution and periodic tasks 2016-02-24 15:44:05 +01:00
tools Merge "Show transitions initiated by API requests" 2016-02-09 10:45:14 +00:00
.gitignore Add reno for release notes management 2015-11-13 03:22:32 -08:00
.gitreview Added project infrastructure needs. 2013-05-02 14:55:43 -04:00
.mailmap Update mailmap for Joe Gordon 2013-10-28 10:19:15 +00:00
.testr.conf Prepare for functional testing 2015-09-28 21:27:01 +00:00
babel.cfg Run extract_messages 2013-07-22 09:51:10 +02:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 16:55:23 +01:00
driver-requirements.txt Follow-up on dracclient refactor 2016-02-05 11:06:21 +01:00
LICENSE Added project infrastructure needs. 2013-05-02 14:55:43 -04:00
README.rst Slightly reword README 2015-10-19 14:23:21 +01:00
RELEASE-NOTES Add release notes for 4.0.0 2015-08-31 21:43:58 +00:00
requirements.txt Switch to Futurist library for asynchronous execution and periodic tasks 2016-02-24 15:44:05 +01:00
setup.cfg Update the home page 2016-02-05 18:07:04 +08:00
setup.py Updated from global requirements 2015-09-22 03:33:28 +00:00
test-requirements.txt Enable doc8 style checker for *.rst files 2016-02-02 12:38:20 +00:00
tox.ini Fix doc8's "duplicated target names" (D000) error 2016-02-03 15:22:35 +00:00
vagrant.yaml Added CORS support middleware to Ironic 2015-09-01 19:45:01 +00:00
Vagrantfile Change vagrant.yml to vagrant.yaml 2015-08-07 09:51:32 +00:00

Ironic

Ironic is an integrated OpenStack project which aims to provision bare metal machines instead of virtual machines, forked from the Nova Baremetal driver. It is best thought of as a bare metal hypervisor API and a set of plugins which interact with the bare metal hypervisors. By default, it will use PXE and IPMI together to provision and turn on/off machines, but Ironic also supports vendor-specific plugins which may implement additional functionality.

Project Resources

Project status, bugs, and blueprints are tracked on Launchpad:

http://launchpad.net/ironic

Anyone wishing to contribute to an OpenStack project should find a good reference here:

http://docs.openstack.org/infra/manual/developers.html