coreos-image-builder/coreos
Jay Faulkner 0eec6c3b22 Install requirements for coreos-oem-inject.py
This script needs plumbum and requests, which are not installed by
default on bare-trusty.

Change-Id: I6bf1ebe66afcbbf47c5d9fe96d1a2b1b889882de
2014-07-03 13:16:43 -07:00
..
oem Use systemd-nspawn instead of docker for image 2014-04-25 14:28:49 -07:00
Makefile Use docker import/export to make image smaller 2014-04-17 10:05:56 -07:00
README.rst Converted documentation in md format to rst 2014-06-25 09:04:49 +01:00
coreos-oem-inject.py Use systemd-nspawn instead of docker for image 2014-04-25 14:28:49 -07:00
docker_build.bash Uniquely identify builds to prevent race 2014-04-17 11:15:29 -07:00
docker_clean.bash img(coreos): Initial commit of CoreOS image build 2014-03-04 15:16:35 -08:00
full_trusty_build.sh Install requirements for coreos-oem-inject.py 2014-07-03 13:16:43 -07:00
requirements.txt Minor fixes to image build 2014-04-14 13:33:04 -07: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

To boot the image, it should be 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.

Getting the agent

Download

If you don't want to build your own image, you can download a copy of ironic-python-agent, embedded into a CoreOS pxe image, at http://tarballs.openstack.org/ironic-python-agent/coreos/ipa-coreos.tar.gz

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