b272e61218
Nejc Saje reported on the openstack-dev list that our hash ring was not stable as hosts were added or removed. This is a significant issue since the hash ring is meant to minimize the impact of adding or removing conductors to only approximately the change in capacity. IMPORTANT: When this patch is added to a running Ironic environment it will cause ring calculations to change. This will cause most existing node -> conductor mappings to be invalid, which will cause existing deployed nodes to be unable to reboot (if using a netbooting driver like pxe_ipmi). The cluster will self-correct over time as the periodic task _sync_hash_ring() rebuilds PXE environments. NOTE: The meaning of the hash_partition_exponent configuration setting had to be changed - if we define the total number of partitions of the ring via it then adding a host simultaneously removes some partitions of each existing host as well as adding new partitions from the new host - this results in more perturbation. Instead we use it to define the number of partitions per host. Existing deployments will continue to work, but may be able to reduce some CPU overhead by shrinking their setting. Change-Id: Iad3c9f6b460e9162ca91d5719e42f7950f2f18df Closes-Bug: #1365334 DocImpact: See above. UpgradeImpact: See above. |
||
---|---|---|
doc/source | ||
etc | ||
ironic | ||
tools | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.testr.conf | ||
babel.cfg | ||
CONTRIBUTING.rst | ||
LICENSE | ||
MANIFEST.in | ||
openstack-common.conf | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
Ironic
Ironic is an Incubated 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 in concert 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:
Developer documentation can be found here:
Additional resources are linked from the project wiki page:
Anyone wishing to contribute to an OpenStack project should find plenty of helpful resources here:
All OpenStack projects use Gerrit for code reviews. A good reference for that is here: