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.
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.