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
This is useful in many cases in which the next steps of bootstrapping the image depends on the packages, for e.g to use a non-conventional repository transports like https.
* force kpartx to use synchronous mode, removing sleep(10)
* get image configuration, use it during tarball creation and registration
* add (non-working, path problems) image registration
* add cleaning of image from Google keys and repositories
* add NTP server address in manifest
* add preference for backport kernels in manifest
* disable IPv6
* correctly set host name
- Manifest format parsing is now checked by the file extension ie: .json, .yml or .yaml.
- load_yaml in common/tools is the same as the json version.
- schema checking of manifest still passes (and fails appropriately) like the json manifests.
- I've also included a sample yaml config based off of the debian test json manifest.