ironic-python-agent/imagebuild/coreos
Mario Villaplana a659306272 Rescue extension for CoreOS with DHCP tenant networks
This patch adds support for rescue mode with DHCP tenant networks in
CoreOS. Applying network config from a configdrive is not yet supported
but will be in a future patch.

Co-Authored-By: Jay Faulkner <jay@jvf.cc>
Co-Authored-By: Taku Izumi <izumi.taku@jp.fujitsu.com>
Co-Authored-By: Annie Lezil <annie.lezil@gmail.com>
Co-Authored-By: Aparna <aparnavtce@gmail.com>
Co-Authored-By: Shivanand Tendulker <stendulker@gmail.com>
Change-Id: I7898ff22800dedba73d7fbfb3801378867abe183
Partial-Bug: 1526449
2017-11-06 04:48:58 -05:00
..
oem Rescue extension for CoreOS with DHCP tenant networks 2017-11-06 04:48:58 -05:00
Makefile Bump CoreOS to 1010.6.0 (last current stable) 2016-07-08 10:25:28 -04:00
README.rst Add branched image download instructions to CoreOS readme 2016-03-25 08:36:50 -07:00
build_coreos_image.sh Make "make coreos" output moveable without sudo 2016-04-14 17:59:08 +01:00
coreos-oem-inject.py Bump CoreOS to 1010.6.0 (last current stable) 2016-07-08 10:25:28 -04:00
docker_build.bash Enforce upper-constraints when building ramdisks 2016-08-26 09:06:24 -04:00
docker_clean.bash Update typos 2016-01-13 11:14:42 +05:30
full_trusty_build.sh imagebuild: coreos: Build sha256 checksum files 2017-03-02 15:44:29 +00:00
iso-image-create fix path for ldlinux.c32 2017-06-05 11:36:57 -04:00
pin_latest_coreos.sh Bump CoreOS to 1010.6.0 (last current stable) 2016-07-08 10:25:28 -04:00
version.txt Use CoreOS 1068.10.0 2016-09-06 09:47:59 -04:00

README.rst

ironic-python-agent CoreOS Image builder.

Builds a CoreOS image suitable for running the ironic-python-agent on a server.

Requirements

Must be run from a linux machine with a working docker installation and python-pip

Run the following locally or from a virtualenv to install the python requirements

pip install -r requirements.txt

Booting the agent with this image

PXE

The image is typically booted via PXE. Here's an example ipxe configuration (replace my-web-server with the IP/hostname of the http server hosting your image):

#!ipxe

dhcp
kernel http://my-web-server/coreos_production_pxe.vmlinuz
initrd http://my-web-server/coreos_production_pxe_image-oem.cpio.gz
boot

You can either embed a configuration file into the image, or set configuration options via the kernel command line. The only value most people will need is:

  • ipa-api-url=http://ironic-api-server:6385

But any config value supported in the agent can be given to the agent via the kernel command line, which allows the use of the same agent image across environments because it contains no state.

Virtual Media

Openstack Ironic supports booting IPA via virtual media in the form of an ISO image. Please see Ironic documentation for details on running in this configuration.

Getting the agent

Download

If you don't want to build your own image, you can download a copy of ironic-python-agent ramdisk and kernel, built using CoreOS, at: http://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe-master.vmlinuz and http://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe_image-oem-master.cpio.gz

"master" may be replaced with "stable-$branch" (e.g. "stable-mitaka") to download an image built from the stable/$branch (e.g. stable/mitaka) version of ironic-python-agent.

Build instructions

To create a docker repository and embed it into a CoreOS pxe image:

make

To just create the docker repository in oem/container.tar.gz:

make docker

To embed the oem/ directory into a CoreOS pxe image:

Note: In order to have the ability to ssh into the created image, you need to pass ssh keys in via the kernel command line for CoreOS, or create oem/authorized_keys with the keys you need added before building the image.

make coreos

To create a CoreOS ISO image to boot with virtual media:

make iso