From d51a6ac06c9749c99bac46e653935db1d870d705 Mon Sep 17 00:00:00 2001 From: Jay Faulkner Date: Thu, 17 Apr 2014 10:06:11 -0700 Subject: [PATCH] Better documentation and defaults for coreos image The existing coreos image required 20G+ of RAM, which isn't reasonable. Also there was no documentation about how to get the image running, so a sample configuration with iPXE was added. These changes are required to help folks who want to use the agent now. Change-Id: I845bebf17c62653521282863d596ac512dd6b82e --- coreos/README.md | 27 ++++++++++++++++++++++++++- coreos/oem/run.sh | 8 +++++--- 2 files changed, 31 insertions(+), 4 deletions(-) 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/