Dmitry Tantsur (Principal Software Engineer, Red Hat)
Twitter: @creepy_owlet
How to run operations inside a machine?
[*] this wasn't even IPA!
[**] diskimage-builder
Current state of things:
IPA-builder [*] appeared by merging two existing parts:
[*] ironic-python-agent-builder
[**] TinyCoreLinux + IPA
Goal: minimal image for using in the CI.
cd tinyipa && make
Based on TinyCoreLinux and does not have many things you would expect from a production image
… such as firmware for some hardware.
Goal: production-quality image made of a real OS.
ironic-python-agent-builder -o ~/dest/path centos
IPA is started as a systemd service after network is up.
Customizable via DIB elements.
Unpacks a cloud image in chroot and applies elements to it:
The list is incomplete; * - runs inside chroot
Each element is one or more scripts for each stage, as well as dependencies on other elements and their configuration.
Scripts from each stage of all elements are executed sequentially (and thus are usually prefixed with a number).
Every functionality in DIB is an element, even operating systems.
owlet.today/posts/deploy-steps-tutorial#building-ramdisk
Explains how to build a ramdisk with a custom deploy step.