Filipe Brandenburger
84cf497c66
Support --color option to indicate whether to use colors in the terminal
...
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>
2014-08-22 11:46:19 -07:00
Anders Ingemann
cca31b642f
Add documentation for the run() function.
...
Also: Move the return statement in run() to the bottom
2014-07-09 23:31:16 +02:00
Anders Ingemann
0cc26d82d0
Allow passing data into the manifest.
...
This makes it possible to create dynamically created manifests
2014-07-09 23:17:05 +02:00
Anders Ingemann
7fe9c1ba36
Refactor logging setup to be more modular
2014-07-09 23:17:05 +02:00
Anders Ingemann
1dc9ae18db
Do a basic validation of the manifest before accessing it.
...
This prevents cryptic error messages
2014-07-09 23:17:05 +02:00
Anders Ingemann
34bb45bb00
Factor release codename fetching out into common.tools
...
This allows code that runs before the bootstrapinformation object has been created
to also figure out the release codename
2014-07-09 23:17:05 +02:00
Anders Ingemann
03a0746299
Convert every JSON file to YAML
...
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
2014-07-09 23:17:04 +02:00
Anders Ingemann
ebba39f59b
Convert "provider" into provider specific section
...
This is where all provider specific settings belong
like waagent on azure, guest additions iso path on vbox and virtualization type on ec2
2014-07-09 23:17:04 +02:00
Tomasz Rybak
869d7d770c
Return information about created image.
2014-06-30 20:02:50 +02:00
Tiago Ilieve
a9a5be7717
Allow stable/oldstable on manifest
...
This closes #94 .
2014-06-19 14:53:23 -03:00
Anders Ingemann
02c683120a
Refactor tasklist for easier integration by taskoverview
2014-05-10 17:28:31 +02:00
Anders Ingemann
07dc9ec2a9
Don't allow target in include/exclude_packages
...
Fix indentation in schema
2014-05-08 22:20:48 +02:00
Anders Ingemann
2cf6e8cbbd
Merge pull request #82 from dbalan/expose_debootstrap_include
...
Expose debootstrap include/exclude in manifest.
2014-05-08 22:14:21 +02:00
Anders Ingemann
ee3fe0bf42
Convert param docs into parseable format.
2014-05-04 19:31:53 +02:00
Anders Ingemann
3cc84c95e8
Silly me, putting things where they don't belong
2014-05-04 19:09:34 +02:00
Dhananjay Balan
2982bfc629
Expose debootstrap include/exclude in manifest.
...
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.
2014-05-04 22:12:03 +05:30
Anders Ingemann
2ebacf6a3a
Fix MBR offset and add some comments to explain
2014-05-04 13:41:16 +02:00
Anders Ingemann
a9558a729a
Make the gpt_offset fiddling easier to understand
2014-05-04 13:41:16 +02:00
Anders Ingemann
f3d633780f
Use string concatenation instead of format()
...
String concatenation can at times be easier to read that format().
One should choose whichever approach is more readable.
2014-05-04 13:41:15 +02:00
Anders Ingemann
b25e607388
Move "sections" setting into "packages" section.
...
Rename it to "components", which is the real name for it (see http://manpages.debian.org/cgi-bin/man.cgi?query=sources.list ).
2014-05-03 21:57:12 +02:00
Anders Ingemann
7958950d19
Generalize "grub only on partitioned volumes" err
...
(move it into base manifest validation)
2014-05-03 16:13:49 +02:00
Anders Ingemann
0a2cd86b4b
Add get_standard_rollback_tasks()
...
This simplifies the the providser rollback_tasks fn considerably
2014-05-03 16:13:49 +02:00
Tomasz Rybak
b327823261
Add Google Cloud Engine (GCE) provider:
...
* 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
2014-05-03 14:25:54 +02:00
Tiago Ilieve
47997b4b13
PEP8 fixes
2014-04-27 11:05:53 -03:00
Tiago Ilieve
18fce45d91
Move hostname setting from vagrant into common
...
This closes #19 .
2014-04-13 21:18:02 -03:00
Anders Ingemann
3b23ccf92c
Don't use DictClass for provider namespaces
...
It's a hack only for the manifest vars and shouldn't be used for anything else
2014-04-10 00:20:35 +02:00
Anders Ingemann
8ded026f5b
Use importlib to import providers and plugins
2014-04-08 21:58:48 +02:00
Anders Ingemann
1e14a9105a
Add provider & plugin namespace to bootstrap info
2014-04-08 21:58:48 +02:00
Anders Ingemann
2017806d1f
Switch to docopt for options parsing
...
Add option to not log to any file.
2014-04-08 21:26:15 +02:00
Anders Ingemann
b04fbf2323
Factor manifest_vars population into separate fn
2014-04-08 21:26:15 +02:00
Anders Ingemann
71b28af3bd
Merge branch 'master' into development
2014-04-08 20:03:26 +02:00
Rory Finnegan
df6f190a6a
Fixed import style.
2014-04-08 14:45:12 +00:00
Rory Finnegan
4b5c2d8c5f
Added YAML config support.
...
- 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.
2014-04-08 14:45:12 +00:00
Anders Ingemann
6cafdbee14
Merge pull request #33 from JamesBromberger/master
...
Manifest, deb Descurity in apt sources.list
2014-04-08 15:37:52 +02:00
Anders Ingemann
cf4a414c59
When detaching unset single partition dev_path
2014-04-07 21:52:26 +02:00
Anders Ingemann
2c20b593b4
Remove load_json fn from manifest
2014-04-07 21:50:59 +02:00
Anders Ingemann
bd56e810b2
Fix check_ordering of succ. (it always succeeded)
2014-04-07 21:50:06 +02:00
Anders Ingemann
a0bc989459
Remove default argument (info={}) in tasklist.run
2014-04-07 21:49:52 +02:00
Anders Ingemann
bbea12599c
Minor adjustments in pkg code
2014-04-07 21:49:07 +02:00
Anders Ingemann
801284cfec
Unset unlinked_device_path after use
2014-04-07 21:48:25 +02:00
Anders Ingemann
0c4ba09958
Remove unused real_device_path
2014-04-07 21:48:03 +02:00
Anders Ingemann
bb680b28c5
Re-raise the catched exception after rollback
2014-04-07 21:47:05 +02:00
Anders Ingemann
ef1ab7692a
Move import statement
2014-04-07 21:46:46 +02:00
Anders Ingemann
1371f639ac
Move volume imports in fs/__init__
2014-04-07 21:45:45 +02:00
James Bromberger
334ef9209b
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
bootstrapvz/common/tasks/apt.py
2014-04-05 09:38:21 +00:00
Jan Brauer
8d399dade5
Add support for adding APT preferences
2014-04-04 12:22:46 +02:00
Anders Ingemann
33a430566b
bootstrap-vz is now a proper python package
...
logs/ was remove. logs are now placed in /var/logs/bootstrap-vz instead
2014-04-02 23:25:50 +02:00
Anders Ingemann
bbb06d717e
Properly fix imports and make bootstrapvz work like a package
2014-04-02 21:32:10 +02:00
Anders Ingemann
6d757d2598
relative imports fixed
2014-04-02 21:26:14 +02:00
Anders Ingemann
18dfefe560
Minor doc fixes
2014-04-02 21:26:14 +02:00