diff --git a/coreos/README.md b/coreos/README.md index 60f6f1d..90151b1 100644 --- a/coreos/README.md +++ b/coreos/README.md @@ -11,7 +11,7 @@ Run the following locally or from a virtualenv to install the python requirement pip install -r requirements.txt ``` -# Instructions +# Build Instructions To create a docker repository and embed it into a CoreOS pxe image: ``` @@ -31,3 +31,28 @@ oem/authorized_keys with the keys you need added before building the image. ``` make coreos ``` + +# 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 root=squashfs: state=tmpfs: +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. Values most people will need are: + + - `ipa-api-url=http://ironic-api-server:6385` + - `ipa-advertise-host=ip-of-server-running-agent` + +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. diff --git a/coreos/oem/run.sh b/coreos/oem/run.sh index 12be0b5..914a4a3 100755 --- a/coreos/oem/run.sh +++ b/coreos/oem/run.sh @@ -3,9 +3,11 @@ set -e # CoreOS by default only has an OEM partition of 2GB. This isn't large enough -# for some images. Remount it with a larger size. Note: When CoreOS changes to -# r/w /, instead of remounting here, we'll use rootflags= to set the size. -mount -o remount,size=20G /media/state +# for some images. If you need something larger, uncomment the following line +# to remount it with a larger size. +# Note: When CoreOS changes to r/w /, instead of remounting here, rootflags= +# in the kernelk command line will be used to set the size. +#mount -o remount,size=20G /media/state cd /usr/share/oem/