Motivation:
By printing out the ansible command used behind the scene, we can ease
the support effort to very quickly identify whether a problem is due to
Vagrant provisioner or Ansible itself.
There are two types of box metadata, both in JSON format, so
we need to minimise the potential for confusion between them.
Renaming the component outside the box file to include the
word "catalog" makes it clear that this JSON document can
catalog potentially multiple boxes in one go.
The metadata is optional whereas the box file is required, so it makes
sense to list the box file first. It's also easier on the reader's
brain to start with the more obvious and easily understandable item
(which they'll probably be expecting to read about anyway) and save
the more surprising item till later.
It doesn't make sense to use the present tense when saying box files are
split into two components, when one of those components is the box file
and one is something else.
One better way of phrasing it would be to use the past tense: "Box files
were split into two separate components" but even that's not completely
correct, because the old format did not include the metadata JSON
document which is one of the new components.
So it's safer to just say that today there are two different components.
v2/networking/index.html.md encourages the reader to seek
provider-specific information under the documentation for the provider,
so for consistency, any virtualbox-specific networking info should be
placed there, not in the general networking section.
the version checking here uses a function which is intended only
for chef cookbook versions, which must be x.y or x.y.z. when fed
a legal chef prerelease version the prior code throws an exception:
[2014-05-01T22:08:01+00:00] FATAL: Configuration error Chef::Exceptions::InvalidCookbookVersion: '11.14.0.alpha.1' does not match 'x.y.z' or 'x.y'
[2014-05-01T22:08:01+00:00] FATAL: /tmp/vagrant-chef-2/solo.rb:6:in `from_string'
[2014-05-01T22:08:01+00:00] FATAL: Aborting due to error in '/tmp/vagrant-chef-2/solo.rb'
since we only need to compare the major and minor version numbers a
simple #to_f sufficies for this test.
alternative, we could use Gem::Version here, but i didn't really see
the need to...
This commit adds two new options to the salt provisioner:
- `colorize`: controls color output. Defaults to no-color (present behavior).
- `log_level`: controls log level. Defaults to `debug` (present behavior).
Docs included!
We do this mostly because Docker is the only provider that using it
requires some amount of Docker-specific knowledge. VirtualBox, VMware,
etc. kind of "just work". It is not the likely case that someone does
a `vagrant up` and expects Docker, at this point.