Bootstrap Debian images for virtualized environments
Find a file
2013-10-27 18:11:13 +01:00
base Place everything in info.workspace 2013-10-27 18:11:13 +01:00
common Log commands executed 2013-10-27 18:11:13 +01:00
logs logging 2013-07-08 23:13:58 +02:00
manifests Place everything in info.workspace 2013-10-27 18:11:13 +01:00
plugins Place everything in info.workspace 2013-10-27 18:11:13 +01:00
providers Place everything in info.workspace 2013-10-27 18:11:13 +01:00
.gitignore Ignore vagrant files 2013-07-08 23:13:58 +02:00
__init__.py Basic structure up and running 2013-07-08 23:13:56 +02:00
build-debian-cloud Rename common module to base 2013-07-08 23:13:57 +02:00
CONTRIBUTING.md PEP8-ify things. 2013-08-17 17:28:46 +02:00
README.md Bootstrapping of instance store AMIs implemented 2013-07-15 00:01:07 +02:00

build-debian-cloud python version (preview)

This is a preview of the build-debian-cloud python version.
It currently only supports EBS booted volumes and none of the plugins have been ported.

Suggestions

The reason I release this preview is to get as many suggestions as possible. If you have an idea for how to improve upon the architecture or simply spotted a bug, please feel free to file a bug report. Pull requests are also welcome!

Dependencies

You will need to run debian wheezy with python 2.7 and debootstrap installed. Also the following python libraries are required:

  • boto
  • jsomschema (version 2.0.0, only available through pip)
  • termcolor

Bootstrapping instance store AMIs requires euca2ools to be installed.

Highlights

  • The desired image is configured entirely via a JSON manifest file
    • Manifests are validated by a json schemas
    • Support comments
  • Proper support for different providers
  • The task based system has been completely revamped
    • Higher granularity increases reusability of tasks across providers
    • Tasks are neatly organized into modules
    • A task dependency graph is built to determine the execution order
  • Support for rollback actions if something fails
  • Logfiles
    • All output from invoked subprocesses is logged

Disclaimer

This is only a preview of the bootstrapper, so you can expect bugs and major architectural changes. Do not expect that the final version will look anything like this.