- GCE provider wasn't including the GCE SetHostname task, without which
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=604883 was
preventing the hostname from getting set after reboot.
- During the GCE build, one of the GCE cleaning tasks was trying to run
an apt-get update after the build-time resolv.conf file was removed.
Fix this ordering by moving the network.Remove* tasks to the
system_cleaning phase as they should have been all along, and adding
an appropriate ordering rule for the GCE cleaning task.
- Add the fallback http.debian.net mirror after, not before, our mirror.
- The puppet plugin's ApplyPuppetManifest task specified that it should
run before the network.Remove* tasks within the system_modification
phase. Now that those tasks have been moved to a later phase
(system_cleaning), remove this dependency. I have no puppet manifest
to test this change, but am including it in hopes of avoiding a
breakage there. Hopefully someone who uses puppet can test this or at
least confirm that it's correct.
Change-Id: Ieca97f288f456bab119989f4cbc4c3993a755830
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
The `loopback.MoveImage` task wasn't updating `info.volume.image_path`
after moving the volume image file. That made `volume.Delete` to fail
when called, because it would try to remove a file that didn't exist
anymore.
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.
The tarball bootstrap method now uses an existing tarball if it is
found, regardless of its settings on the manifest, although it will
create a new one only if `"tarball"` is `true`.
This closes#24.
DETAILS:
- Apparently a potential security issue with yaml.load vs yaml.safe_load.
Like pickling, yaml.load could result in arbitrary code being run.
- tox.ini file includes the flake8 settings for this project, build spec for 2.7
and line for eventually testing the project.
- 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.