Files
ironic-python-agent/imagebuild/tinyipa
Mathieu Mitchell a0ca6ce157 Enforce upper-constraints when building ramdisks
Currently, building ramdisks installs ironic-python-agent without any
upper-constraints. This causes the package to be installed with newer,
untested dependencies.

This commits introduces a tool to generate a local upper-constraints
file based on predefined strategies (below). Additionally, the fallback
to the openstack/requirements uses the URL defined in tox.ini instead of
redefining it. This prevents having to keep track of two separate
variables when releasing.

upper-constraints lookup strategies (in order):

  * UPPER_CONSTRAINTS_FILE points to a local file
  * UPPER_CONSTRAINTS_FILE points to a URL
  * /opt/stack/new/requirements/upper-constraints.txt
  * upper-constraints.txt from openstack/requirements git repository

Partial-bug: #1616554
Change-Id: Ib5c0c57cafdb6ffd7456e61f3b1bb5fa57520e5a
2016-08-26 09:06:24 -04:00
..
2016-06-28 17:02:11 +01:00

Tiny Core Ironic Python Agent

Build script requirements

For the main build script:

  • wget
  • pip
  • unzip
  • sudo
  • awk
  • mksquashfs

For building an ISO you'll also need:

  • genisoimage

Instructions:

To create a new ramdisk, run:

make

or:

./build-tinyipa.sh && ./finalise-tinyipa.sh

This will create two new files once completed:

  • tinyipa.vmlinuz
  • tinyipa.gz

These are your two files to upload to glance for use with Ironic.

Building an ISO from a previous make run:

Once you've built tinyipa it is possible to pack it into an ISO if required. To create a bootable ISO, run:

make iso

or:

./build-iso.sh

This will create one new file once completed:

  • tinyipa.iso

To build a fresh ramdisk and build an iso from it:

Run:

make all

To clean up the whole build environment run:

Run:

make clean

For cleaning up just the iso or just the ramdisk build:

make clean_iso

or:

make clean_tinyipa

Advanced options

If you want the build script to preinstall everything into the ramdisk, instead of loading some things at runtime (this results in a slightly bigger ramdisk), before running make or build-tinyipa.sh run:

export BUILD_AND_INSTALL_TINYIPA=true