The work consists of three parts:
* Allow for bootstrapping remotely,
this makes it possible to run the tests
on e.g. OSX with VirtualBox installed
* Make bootstrapping a fully automated process
where the manifests can be generated by the tests
and the tests can call the bootstrapper directly in python
* Create a framework wherein instances can be booted up
using the bootstrapped images and subsequently tested
It controls whether to include the 'deb-src' lines in image's
source.list.
Currently they are always included. This patch changes this
behavior by not including them by default; the user must set
this new config to true in order to include them.
This saves a bit of bandwidth in default installations. Also,
the use of src packages is not so usual in ordinary installations.
This is to allow building an image for a 64bit machine but with 32bit userspace.
Probably not a common usecase but ideal if you need to address more higher quantities of memory but cant migrate to a full 64bit userspace due to something like ruby eating twice as much memory.
Make sure it's either `auto' (the default), `always' or `never'. If it
does not match any of the values, raise a Docopt exception that causes
it to print usage and exit.
Tested:
- $ sudo ./bootstrap-vz --color=invalid manifests/gce.manifest.yml
Value of --color must be one of auto, always or never.
Usage: bootstrap-vz [options] MANIFEST
Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Mimic the behavior of the --color=<auto|always|never> found in tools
like `ls' and `grep'. Default to `auto' which checks whether stderr is a
tty to define whether colors are used.
Tested:
- Ran ./boostrap-vz --color=never and --color=always, confirmed
colorization worked as expected.
- Ran ./boostrap-vz --color=auto ${manifest_file} 2>bootstrap.log,
confirmed colors were not added to boostrap.log by default, repeated
the test with --color=always and confirmed escape sequences were
output.
Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Lines removed: over 500. Readiblity gained: A shitload
Now you can actually get an overview of a manifest on a single screen height.
I am sure that it will also save a lot of hassle when modifying schema in the future.
No more "expected property name" etc. because of an extraneous comma
Comments are of course natively support, so there's no need for this minify_json hokey pokey