Skip to content

metal3-io/ironic-ipa-downloader

Repository files navigation

ironic-ipa-downloader

This repository contains scripts to download the Ironic-Python-Agent (IPA) ramdisk images to a shared volume. By default, we pull IPA images from Ironic upstream archive where an image is built on every commit to the master git branch.

It is possible to override this URI to a custom URI by exporting the IPA_BASEURI environment variable. You can also use a stable branch by exporting IPA_BRANCH variable.

How to build custom IPA ramdisk image

To build custom IPA ramdisk image, follow the steps below. For more information check the disk-image builder document.

  1. Create a virtual environment

    virtualenv myenv
    source myenv/bin/activate
  2. Install Ironic Python Agent Builder. Ironic community provides handy utility ironic-python-agent-builder to quickly build ramdisk images, which is using disk-builder under the hood.

    pip3 install ironic-python-agent-builder
  3. Build the IPA initramfs and kernel.

    ironic-python-agent-builder --output ironic-python-agent \
      --release 9-stream centos \
      --element='dynamic-login'
    • --release - Distribution release to use.
    • --element - Additional Disk Image Builder(DIB) element to use. List of available elements.
    • output - Output base file name
    • centos - Base distribution.
    • dynamic-login DIB element allows to inject SSH key in the image.

At the end of the process you will have

  • ironic-python-agent.initramfs - deploy ramdisk.
  • ironic-python-agent.kernel - a binary file containing the kernel.