A Python agent for provisioning and deprovisioning Bare Metal servers.
Go to file
Julia Kreger 67eddfa7e3 Delete EFI boot entry duplicate labels first
Some firmware seems to take an objection with EFI nvram
entries being deleted after one is added, resulting in the
entire entry table being reset to the last known good state.

This is problematic, as ultimately deployments can time out
if we previously booted with Networking, and the machine, while
commanded to do other wise, reboots back to networking regardless.

We will now delete entries first, before proceeding.

Additionally, for general use, this pattern may serve the
community better by avoiding cases where we would have
previously just relied upon efibootmgr[0] to warn us of duplicate
entries.

[0]: 103aa22ece/src/efibootmgr.c (L228)

Change-Id: Ib61a7100a059e79a8b0901fd8f46b9bc41d657dc
Story: 2009649
Task: 43808
2021-11-01 06:59:26 -07: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 Delete EFI boot entry duplicate labels first 2021-11-01 06:59:26 -07:00
releasenotes Delete EFI boot entry duplicate labels first 2021-11-01 06:59:26 -07:00
tools Adds bandit template and exclude some of tests 2019-06-20 14:39:36 +08:00
zuul.d Add Python3 yoga unit tests 2021-09-22 18:38:17 +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
lower-constraints.txt Add lower-constraints job to current development branch 2021-08-04 11:35:51 +02: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 Refactor: use convert_image from ironic_lib 2021-06-01 14:07:34 +02:00
setup.cfg Remove the iscsi extension 2021-05-10 12:43:44 +02: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 Merge "Increase version of hacking and pycodestyle" 2021-08-11 10:02:24 +00: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.