A Python agent for provisioning and deprovisioning Bare Metal servers.
Go to file
Sam Betts a7f0af722f Support LLDP data as part of interfaces in inventory
To support multi-tenant networking in Ironic we need to be able to
discover not just the NICs a baremetal machine has but also the physical
connectivity to switches in the network.

This patch collects LLDP (Link Layer Discovery Protocol) data as part of
the list interfaces stage of the generic hardware manager. This
information can then be processed by the ironic inspector to populate
the local link information on each ironic port.

The processing done on this data in ironic python agent is limited, this
is to allow for server side processing hooks to process as much or as
little of the data as they want. This is to allow for multi-vendor
environments that might use different parts of the LLDP packet to use a
generic ramdisk and configure the processing server side using inspector
plugins.

Reserved fields switch_port_descr and switch_chassis_descr have been
deprecated for removal in Ocata in favor of passing the whole packet.

Change-Id: Idae9b1ede1797029da1bd521501b121957ca1f1a
Partial-Bug: #1526403
2016-06-22 18:26:04 +01:00
doc/source Support LLDP data as part of interfaces in inventory 2016-06-22 18:26:04 +01:00
etc/ironic_python_agent Added some infrastructure tools 2014-04-03 21:09:11 +04:00
imagebuild Fix unwanted unmounting of /usr/share/oem 2016-06-16 14:11:40 -07:00
ironic_python_agent Support LLDP data as part of interfaces in inventory 2016-06-22 18:26:04 +01:00
releasenotes Support LLDP data as part of interfaces in inventory 2016-06-22 18:26:04 +01:00
tools Added some infrastructure tools 2014-04-03 21:09:11 +04:00
.gitignore Make sure that .eggs directory is in gitignore 2016-04-11 16:54:07 +01:00
.gitreview add(gerrit support): Required to move to openstack 2014-03-07 13:30:45 -08:00
.testr.conf Split functional and py27 tests 2015-08-28 14:16:34 -07:00
.travis.yml Preparing for OpenStack testing environment 2014-03-11 12:50:12 -07:00
Dockerfile Use constraints for all the things 2016-05-19 10:08:56 -04:00
LICENSE add license file 2013-09-17 13:41:59 -07:00
plugin-requirements.txt Add "logs" and "extra-hardware" inspection collectors 2015-10-01 18:25:30 +02:00
proxy.sh Add support for proxy servers during image build 2016-02-04 14:27:49 -08:00
README.rst Add DIB ironic-agent element to readme for IPA 2016-02-24 15:32:10 -06:00
requirements.txt Updated from global requirements 2016-06-03 18:13:23 +00:00
setup.cfg Switch to post-versioning 2016-01-12 10:49:36 +01:00
setup.py Updated from global requirements 2015-09-17 16:39:02 +00:00
test-requirements.txt Updated from global requirements 2016-06-21 17:59:52 +00:00
tox.ini Use constraints for all the things 2016-05-19 10:08:56 -04:00

ironic-python-agent

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, bugs, and blueprints are tracked on Launchpad:

http://launchpad.net/ironic-python-agent

Developer documentation can be found here:

http://docs.openstack.org/developer/ironic-python-agent

Additional resources are linked from the project wiki page:

https://wiki.openstack.org/wiki/Ironic-python-agent

IRC channel:

#openstack-ironic

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