A Python agent for provisioning and deprovisioning Bare Metal servers.
Go to file
Julia Kreger 014d37743a Multipath Hardware path handling
Removes multipath base devices from consideration by
default, and instead allows the device-mapper device
managed by multipath to be picked up and utilized
instead.

In effect, allowing us to ignore standby paths *and*
leverage multiple concurrent IO paths if so offered
via ALUA.

In reality, anyone who has previously built IPA with
multipath tooling might not have encountered issues
previously because they used Active/Active SAN storage
environments. They would have worked because the IO lock
would have been exchanged between controllers and paths.
However, Active/Passive environments will block passive
paths from access, ultimately preventing new locks from
being established without proper negotiation. Ultimately
requiring multipathing *and* the agent to be smart enough
to know to disqualify underlying paths to backend storage
volumes.

An additional benefit of this is active/active MPIO devices
will, as long as ``multipath`` is present inside the ramdisk,
no longer possibly result in duplicate IO wipes occuring
accross numerous devices.

Story: #2010003
Task: #45108
Resolves: rhbz#2076622
Resolves: rhbz#2070519
Change-Id: I0fd6356f036d5ff17510fb838eaf418164cdfc92
2022-05-18 20:26:39 -03:00
doc Burn-in: Add network step 2021-07-13 11:36:31 +02:00
examples Increase version of hacking and pycodestyle 2021-07-30 14:34:33 +02:00
imagebuild Remove imagebuild/common, it's not longer used by IPA-builder 2019-10-16 14:14:13 +02:00
ironic_python_agent Multipath Hardware path handling 2022-05-18 20:26:39 -03:00
releasenotes Multipath Hardware path handling 2022-05-18 20:26:39 -03:00
tools Adds bandit template and exclude some of tests 2019-06-20 14:39:36 +08:00
zuul.d Merge "Remove support for distributions with Python 3.6" 2022-05-17 12:01:51 +00:00
.gitignore Remove the configuration sample file 2019-12-02 12:11:58 +01:00
.gitreview OpenDev Migration Patch 2019-04-19 19:48:56 +00:00
.stestr.conf Migrate to stestr as unit tests runner 2017-09-26 09:23:53 -07:00
bindep.txt Migrate functional tests for work_on_disk from ironic-lib 2021-05-10 13:00:12 +02:00
CONTRIBUTING.rst Change launchpad to StoryBoard 2018-03-28 14:15:29 +00:00
LICENSE add license file 2013-09-17 13:41:59 -07:00
plugin-requirements.txt Update hardware to 0.24,0 2020-01-15 12:44:31 +01:00
proxy.sh Add support for proxy servers during image build 2016-02-04 14:27:49 -08:00
README.rst Replace git.openstack.org URLs with opendev.org URLs 2019-04-25 09:23:11 +08:00
requirements.txt Use Werkzeug modern version 2022-04-14 10:47:06 +00:00
setup.cfg The Python 3.6 and Python 3.7Support has been dropped since yaga 2022-05-09 15:29:33 +08:00
setup.py Cleanup py27 support 2020-04-05 10:46:10 +02:00
test-requirements.txt Upgrade version of doc8 2020-12-14 14:47:57 +01:00
tox.ini Drop lower-constraints.txt and its testing 2022-05-10 09:46:19 +02:00

Ironic Python Agent

Team and repository tags

image

Overview

An agent for controlling and deploying Ironic controlled baremetal nodes.

The ironic-python-agent works with the agent driver in Ironic to provision the node. Starting with ironic-python-agent running on a ramdisk on the unprovisioned node, Ironic makes API calls to ironic-python-agent to provision the machine. This allows for greater control and flexibility of the entire deployment process.

The ironic-python-agent may also be used with the original Ironic pxe drivers as of the Kilo OpenStack release.

Building the IPA deployment ramdisk

For more information see the Image Builder section of the Ironic Python Agent developer guide.

Using IPA with devstack

This is covered in the Deploying Ironic with DevStack section of the Ironic dev-quickstart guide.

Project Resources

Project status, features, and bugs are tracked on StoryBoard:

https://storyboard.openstack.org/#!/project/947

Developer documentation can be found here:

https://docs.openstack.org/ironic-python-agent/latest/

Release notes for the project are available at:

https://docs.openstack.org/releasenotes/ironic-python-agent/

Source code repository for the project is located at:

https://opendev.org/openstack/ironic-python-agent/

IRC channel:

#openstack-ironic

To contribute, start here: Openstack: How to contribute.