Files
ironic-python-agent-builder/dib/ironic-python-agent-ramdisk
Julia Kreger dec0a949c4 Allow dib build to remove firmware in a structure.
In some cases, a vendor may do many things and we only need to remove
a specific subset of firmware blobs.

An example is Mellanox and their Spectrum series of switch controllers.

In change id Ic8ecf289f1e03e5ee7f36cc6ded707a25cb138c8 we added a
command to attempt to remove a huge amount of firmware blobs from
multiple revisions of spectrum series switch controllers
(i.e. spectrum, spectrum2, spectrum3).

Where as the prior pattern of the removal script was to just remove whole
folders, becuase there was a historical pattern of clean delineation.

Anyhow, now we'll check to see if there is a slash in the path, and only
then allow for the glob expansion to take place which was in the original
logic of the removal code when it was first submitted, but where we were
also concerned someone would override the list and accidently remove all
firmware blobs. In this case, we also check to ensure its not an empty
string.

Change-Id: Iab766228cac801d29457e8bee5a05834f1a0f04a
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
2025-11-17 12:36:12 -08:00
..
2019-10-09 09:32:04 +00:00
2021-03-26 09:23:20 +00:00

ironic-python-agent-ramdisk

Builds a ramdisk with ironic-python-agent.

More information can be found at: https://docs.openstack.org/ironic-python-agent/latest/

Beyond installing the ironic-python-agent, this element does the following:

  • Installs the dhcp-all-interfaces so the node, upon booting, attempts to obtain an IP address on all available network interfaces.
  • Disables the iptables service on SysV and systemd based systems.
  • Disables the ufw service on Upstart based systems.
  • Installs packages required for the operation of the ironic-python-agent::

    qemu-utils parted hdparm util-linux genisoimage

  • When installing from source, python-dev and gcc are also installed in order to support source based installation of ironic-python-agent and its dependencies.
  • Install the certificate if any, which is set to the environment variable DIB_IPA_CERT for validating the authenticity by ironic-python-agent. The certificate can be self-signed certificate or CA certificate.
  • Compresses initramfs with command specified in environment variable DIB_IPA_COMPRESS_CMD, which is 'gzip' by default. This command should listen for raw data from stdin and write compressed data to stdout. Command can be with arguments.
  • Configures rescue mode if DIB_IPA_ENABLE_RESCUE is not set to false.

This element outputs three files:

  • $IMAGE-NAME.initramfs: The deploy ramdisk file containing the ironic-python-agent (IPA) service.
  • $IMAGE-NAME.kernel: The kernel binary file.

Note

The package based install currently only enables the service when using the systemd init system. This can easily be changed if there is an agent package which includes upstart or sysv packaging.

Note

Using the ramdisk will require at least 1.5GB of ram