This is the first step in the effort of combining all documentation about
bootstrap-vz into sphinx while still being able to access it from github
(github can parse rst as well)
If all you want is to test an image or product and to achieve this
you need to generate several images a day, you will end up with
lots of AMI's and snapshots that have no use in the end of the day.
This commit adds the new boolean manifest option "deregister_ami"
that, if True, deletes the recently created AMI and snapshot. So, the
final result will be only the running instance, nothing else.
Instead of storing just its ID.
This gives quick access to the recently created instance, which
allows us to simplify the code that needs to fetch the instance object
every time it was necessary.
Use the function waituntil() available in the integration-test branch
to simplify the code that retrieves the IP of the instance.
A 'TODO' note was also added to remember us to merge this function
once it gets merged.
It adds the ability to automatically launch an EC2 instance
after AMI registration.
It has no mandatory configuration, only optional ones, like
instance type, security groups, etc. They should be documented in
later documentation patches.
Documentation says about that, but it's not implemented like that.
If the command to be executed is an array with just one string, it's
likely the user passed the entire command inside the string.
Plus, they benefit from shell expansion of wildcards like '*'.
NOTE: I'm not doing any validation on the opt_flags param and I don't recommend using for more then adding a -vvvv.
Also, I'm purposely excluding the vault flags (which also pretty commonly used) because you shouldn't be baking
private keys and certs into your images. Instead, just avoid running the vault specific code or use the
opt_flags if absolutely necessary.
After vmware-vdiskmanager runs, the image is left with a 600
permission. This commit fixes it by preserving the file permission
before the shrink operation.
As requested on #147, there is now an option to specify the Docker
version to be installed when using the `docker_daemon` plugin. The
version string is validated against a pattern extracted from the
Docker's CHANGELOG. If the version is not present, it will just download
the latest available.
The download method was also changed from `urllib` to `wget`, so we can
see its progress if needed.
This closes#147.
- 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