day01 Updates

  * Day01:
    - remove reclass data from node
    - Force maas in unconfigured state
      - if you will try to run maas - it will automatically start
        import processes = > which fail.
      - If you will try to wrap and disable imports (formula allow to do it)
        => maas_config step will never pass.
  * Misc:
    - for to use freezed bootstrap.saltstack.com.sh
    - add qemu-packer disk_compression true - require packer 1.10 +
    - decrease mirror image size to 100gb
    - apt_preserve_sources_list - force cloud-init to not re-create sources.list

Change-Id: If7c731284f3fd6ca21fe253c05c8ab78213cf9c5
18 files changed
tree: 51058c0591189a0766a8d5b2498870b2684e50af
  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. Jenkinsfile
  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)