Pass rng device into qemu instances

  * During swarm processing, we may use ssl generation call,
    inside docker. Due low entropy, it might fail:
  * NOTE: Due issue[0], need to duplicate defaul virtio-net device

..
gpg: Generating a default key
..
Not enough random bytes available.  Please do some other work to give
the OS a chance to collect more entropy! (Need 186 more bytes)

[0] https://github.com/hashicorp/packer/issues/6911

Change-Id: If8ac10e2f798f45393909eb74ce5a319292045db
3 files changed
tree: 7c0c6e559a5a8f3fd9c77be0e3c34625016ad028
  1. centos-7/
  2. common/
  3. day01-image/
  4. debian-8/
  5. http/
  6. mirror-image/
  7. ubuntu-14.04/
  8. ubuntu-16.04/
  9. .gitignore
  10. packer-image-buid.groovy
  11. README.md
README.md

Packer templates

Packer templates are used to:

  • automagically create OS images with upgraded packages
  • provision user defined changes to created image
  • remove user defined elements from image
  • build single version of OS image for multiple hypervisors

Features

Operating Systems

  • Ubuntu 14.04 (trusty)
  • Ubuntu 16.04 (xenial)
  • Debian 8 (jessie)

Providers

  • qemu
  • docker
  • virtualbox
  • vagrant/libvirt
  • vagrant/virtualbox
  • digitalocean

Usage

Install Packer

PACKER_URL="https://dl.bintray.com/mitchellh/packer/packer_0.8.2_linux_amd64.zip"
PACKER_ZIP=$(basename ${PACKER_URL})
PACKER_ZIP_MD5="bc37abe5e183a11bd8c1b2efc385059b"

mkdir -p ~/bin/packer
cd ~/bin/packer
export PATH="${PATH}:~/bin/packer"

wget -O ${PACKER_ZIP} ${PACKER_URL}
echo "${PACKER_ZIP_MD5}  ${PACKER_ZIP}" >> md5sum
md5sum -c --status md5sum

unzip ${PACKER_ZIP}

Image build

Enter build directory by selecting OS type and version. You should see file template.json.

Start building some images:

packer build -only=virtualbox-iso template.json

Development

Directory http/ contains OS installer config files (preseed/kickstart/..)

Directory scripts/ contains set of scripts for provision after image build.

Notes

  • some builders cannot work at the same time (by design)