kitchen-vagrant 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8e2f332a407b17162a67ac95a7157b9ca6d3bd55
4
- data.tar.gz: 0b6affbcd220e3e7ebf6592dc465c61fc5a986ee
3
+ metadata.gz: d70f1abd832d8c586a5c1b8f74e41a791df670d6
4
+ data.tar.gz: b5edfb05ad16864d0019ebf7cff317b635a8b859
5
5
  SHA512:
6
- metadata.gz: 6c1c7580f8d1676855c911a195de79c1e75cffd4c175059b804b48fba5a347a19b8c2d2828f20dea97ea985c7f98710494239a76d60f659314bde5ee4f4ad244
7
- data.tar.gz: f80efdf4c6820d243f77a11bc77d6ad37ef1e4457088c82cf98d5352b8bfef8a6c196a7ddbd91db578986d4eb28fa3ea852ab94007491fc09bda789c16154022
6
+ metadata.gz: d4abb29d4c5a7755b069e91dcf035623f99beb13244b02d6a04ded560bb8d9b86874690d8e4d3852b0ec2b0fc66e159fb1032036ef9855352c7a9df780d611ac
7
+ data.tar.gz: 1f2f35168a468324d6c99032ad8d573052eb5e2b0e3be9b0e7f0ea6065e63690987fc44b98a021c330b87a07e8a607b61f3c2be58295fbc1cc841d0b7cf14547
@@ -1,3 +1,24 @@
1
+ language: ruby
2
+
1
3
  rvm:
2
- - 1.9.3
4
+ - 2.2
5
+ - 2.1
3
6
  - 2.0.0
7
+ - 1.9.3
8
+ - ruby-head
9
+
10
+ bundler_args: --without guard
11
+
12
+ sudo: false
13
+
14
+ matrix:
15
+ allow_failures:
16
+ - rvm: ruby-head
17
+
18
+ notifications:
19
+ irc: "chat.freenode.net#kitchenci"
20
+
21
+ addons:
22
+ code_climate:
23
+ repo_token:
24
+ secure: "jVI7J+yiQcD5T1YNz9eGReGf6vyp8VIGjsyMEM0HBOxrbk4iCm7P5SN5n5cJPRZNzQd175ceqcpPisvJh91oPMetzpmN+PSDPhOzxVNB4rIqQ8ohJNX2jW/VVpaobzWHAQQurC349gfi2a6l7MvgZw3RGyExkacZXdqr+Bbsc38="
@@ -1,3 +1,38 @@
1
+ ## 0.16.0 / 2015-03-23
2
+
3
+ ### Bug fixes
4
+
5
+ * Pull request [#122][], pull request [#151][]: Only set custom `:box` & `:box_url` values for known Bento boxes. ([@ashb][], [@fnichol][])
6
+
7
+ ### New features
8
+
9
+ * Pull request $84: Add support for Parallels provider. ([@jhx][])
10
+ * Pull request [#107][]: Add support for libvirt provider. ([@bradleyd][])
11
+ * Pull request [#128][]: Add support for LXC provider. ([@tknerr][])
12
+ * Pull request [#142][]: Add support for managed-servers provider. ([@kbruner][])
13
+ * Add `:gui` configuration attribute to override default GUI mode with VirtualBox and VMware-based providers. ([@fnichol][])
14
+ * Pull request [#137][]: Support SoftLayer `:disk_capacity` configuration. ([@hugespoon][])
15
+ * Pull request [#102][]: Add `:box_version` & `:box_check_update` configuration options to support box versioning. ([@mconigliaro][])
16
+ * Pull request [#129][]: Add `:provision` configuration option. ([@gouketsu][])
17
+ * Pull reqwuest [#112][]: Add configuration option for user Vagrantfiles with `:vagrantfiles` configuration option. ([@byggztryng][])
18
+ * Pull request [#95][]: Add SSH ProxyCommand to state if present. ([@bdclark][])
19
+ * Pull request [#121][]: Add `:ssh` configuration hash. ([@Igorshp][])
20
+ * Pull request [#104][]: Add `:communicator` configuration option to support overriding underlying base box's communicator setting. ([@RobertRehberg][])
21
+ * Pull request [#118][]: Vagrant config password (Not Vagrant recommended). ([@philcallister][])
22
+
23
+ ### Improvements
24
+
25
+ * Pull request [#148][]: Add full test coverage to the codebase. ([@fnichol][])
26
+ * Pull request [#126][]: Disable vagrant-berkshelf plugin by default (this Driver does not need it and can cause confusing errors). ([@tknerr][])
27
+ * Pull request [#101][]: Qualify VM names with project name. ([@petere][])
28
+ * Pull request [#117][]: Change default hostname to be shorter and friendlier for Windows hosts. ([@Annih][])
29
+ * Pull request [#106][], Use correct URLs to download vagrant in README. ([@alex-slynko-wonga][])
30
+ * Pull request [#146][]: Freshen project quality (TravisCI, Tailor-for-Rubocop, Guard support, etc). ([@fnichol][])
31
+ * Pull request [#147][]: Tidy default configuration attributes. ([@fnichol][])
32
+ * Pull request [#134][]: CHANGELOG Champion, Mr. [@miketheman][]. ([@miketheman][])
33
+ * Pull request [#127][]: README updates. ([@vinyar][], fnichol)
34
+
35
+
1
36
  ## 0.15.0 / 2014-04-28
2
37
 
3
38
  ### New features
@@ -164,39 +199,80 @@
164
199
  The initial release.
165
200
 
166
201
  <!--- The following link definition list is generated by PimpMyChangelog --->
167
- [#7]: https://github.com/opscode/kitchen-vagrant/issues/7
168
- [#8]: https://github.com/opscode/kitchen-vagrant/issues/8
169
- [#12]: https://github.com/opscode/kitchen-vagrant/issues/12
170
- [#15]: https://github.com/opscode/kitchen-vagrant/issues/15
171
- [#16]: https://github.com/opscode/kitchen-vagrant/issues/16
172
- [#18]: https://github.com/opscode/kitchen-vagrant/issues/18
173
- [#19]: https://github.com/opscode/kitchen-vagrant/issues/19
174
- [#20]: https://github.com/opscode/kitchen-vagrant/issues/20
175
- [#21]: https://github.com/opscode/kitchen-vagrant/issues/21
176
- [#24]: https://github.com/opscode/kitchen-vagrant/issues/24
177
- [#25]: https://github.com/opscode/kitchen-vagrant/issues/25
178
- [#28]: https://github.com/opscode/kitchen-vagrant/issues/28
179
- [#29]: https://github.com/opscode/kitchen-vagrant/issues/29
180
- [#30]: https://github.com/opscode/kitchen-vagrant/issues/30
181
- [#31]: https://github.com/opscode/kitchen-vagrant/issues/31
182
- [#34]: https://github.com/opscode/kitchen-vagrant/issues/34
183
- [#36]: https://github.com/opscode/kitchen-vagrant/issues/36
184
- [#55]: https://github.com/opscode/kitchen-vagrant/issues/55
185
- [#56]: https://github.com/opscode/kitchen-vagrant/issues/56
202
+ [#7]: https://github.com/test-kitchen/kitchen-vagrant/issues/7
203
+ [#8]: https://github.com/test-kitchen/kitchen-vagrant/issues/8
204
+ [#12]: https://github.com/test-kitchen/kitchen-vagrant/issues/12
205
+ [#15]: https://github.com/test-kitchen/kitchen-vagrant/issues/15
206
+ [#16]: https://github.com/test-kitchen/kitchen-vagrant/issues/16
207
+ [#18]: https://github.com/test-kitchen/kitchen-vagrant/issues/18
208
+ [#19]: https://github.com/test-kitchen/kitchen-vagrant/issues/19
209
+ [#20]: https://github.com/test-kitchen/kitchen-vagrant/issues/20
210
+ [#21]: https://github.com/test-kitchen/kitchen-vagrant/issues/21
211
+ [#24]: https://github.com/test-kitchen/kitchen-vagrant/issues/24
212
+ [#25]: https://github.com/test-kitchen/kitchen-vagrant/issues/25
213
+ [#28]: https://github.com/test-kitchen/kitchen-vagrant/issues/28
214
+ [#29]: https://github.com/test-kitchen/kitchen-vagrant/issues/29
215
+ [#30]: https://github.com/test-kitchen/kitchen-vagrant/issues/30
216
+ [#31]: https://github.com/test-kitchen/kitchen-vagrant/issues/31
217
+ [#34]: https://github.com/test-kitchen/kitchen-vagrant/issues/34
218
+ [#36]: https://github.com/test-kitchen/kitchen-vagrant/issues/36
219
+ [#55]: https://github.com/test-kitchen/kitchen-vagrant/issues/55
220
+ [#56]: https://github.com/test-kitchen/kitchen-vagrant/issues/56
221
+ [#84]: https://github.com/test-kitchen/kitchen-vagrant/issues/84
222
+ [#95]: https://github.com/test-kitchen/kitchen-vagrant/issues/95
223
+ [#101]: https://github.com/test-kitchen/kitchen-vagrant/issues/101
224
+ [#102]: https://github.com/test-kitchen/kitchen-vagrant/issues/102
225
+ [#104]: https://github.com/test-kitchen/kitchen-vagrant/issues/104
226
+ [#106]: https://github.com/test-kitchen/kitchen-vagrant/issues/106
227
+ [#107]: https://github.com/test-kitchen/kitchen-vagrant/issues/107
228
+ [#112]: https://github.com/test-kitchen/kitchen-vagrant/issues/112
229
+ [#117]: https://github.com/test-kitchen/kitchen-vagrant/issues/117
230
+ [#118]: https://github.com/test-kitchen/kitchen-vagrant/issues/118
231
+ [#121]: https://github.com/test-kitchen/kitchen-vagrant/issues/121
232
+ [#122]: https://github.com/test-kitchen/kitchen-vagrant/issues/122
233
+ [#126]: https://github.com/test-kitchen/kitchen-vagrant/issues/126
234
+ [#127]: https://github.com/test-kitchen/kitchen-vagrant/issues/127
235
+ [#128]: https://github.com/test-kitchen/kitchen-vagrant/issues/128
236
+ [#129]: https://github.com/test-kitchen/kitchen-vagrant/issues/129
237
+ [#134]: https://github.com/test-kitchen/kitchen-vagrant/issues/134
238
+ [#137]: https://github.com/test-kitchen/kitchen-vagrant/issues/137
239
+ [#142]: https://github.com/test-kitchen/kitchen-vagrant/issues/142
240
+ [#146]: https://github.com/test-kitchen/kitchen-vagrant/issues/146
241
+ [#147]: https://github.com/test-kitchen/kitchen-vagrant/issues/147
242
+ [#148]: https://github.com/test-kitchen/kitchen-vagrant/issues/148
243
+ [#151]: https://github.com/test-kitchen/kitchen-vagrant/issues/151
244
+ [@Annih]: https://github.com/Annih
245
+ [@Igorshp]: https://github.com/Igorshp
246
+ [@RobertRehberg]: https://github.com/RobertRehberg
186
247
  [@TheDude05]: https://github.com/TheDude05
187
248
  [@albertsj1]: https://github.com/albertsj1
249
+ [@alex-slynko-wonga]: https://github.com/alex-slynko-wonga
188
250
  [@antonio-osorio]: https://github.com/antonio-osorio
189
251
  [@arangamani]: https://github.com/arangamani
252
+ [@ashb]: https://github.com/ashb
253
+ [@bdclark]: https://github.com/bdclark
254
+ [@bradleyd]: https://github.com/bradleyd
255
+ [@byggztryng]: https://github.com/byggztryng
190
256
  [@dje]: https://github.com/dje
191
257
  [@fnichol]: https://github.com/fnichol
192
258
  [@fujin]: https://github.com/fujin
193
259
  [@gildegoma]: https://github.com/gildegoma
260
+ [@gouketsu]: https://github.com/gouketsu
261
+ [@hugespoon]: https://github.com/hugespoon
262
+ [@jhx]: https://github.com/jhx
194
263
  [@josephholsten]: https://github.com/josephholsten
264
+ [@kbruner]: https://github.com/kbruner
195
265
  [@keiths-osc]: https://github.com/keiths-osc
196
266
  [@manul]: https://github.com/manul
197
267
  [@martinisoft]: https://github.com/martinisoft
198
268
  [@mattray]: https://github.com/mattray
269
+ [@mconigliaro]: https://github.com/mconigliaro
270
+ [@miketheman]: https://github.com/miketheman
199
271
  [@petejkim]: https://github.com/petejkim
272
+ [@petere]: https://github.com/petere
273
+ [@philcallister]: https://github.com/philcallister
200
274
  [@sandfish8]: https://github.com/sandfish8
201
275
  [@sethvargo]: https://github.com/sethvargo
276
+ [@tknerr]: https://github.com/tknerr
202
277
  [@tmatilai]: https://github.com/tmatilai
278
+ [@vinyar]: https://github.com/vinyar
data/Gemfile CHANGED
@@ -1,8 +1,11 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in kitchen-vagrant.gemspec
1
+ source "https://rubygems.org"
4
2
  gemspec
5
3
 
4
+ group :guard do
5
+ gem "guard-rspec", :require => nil
6
+ gem "guard-rubocop", :require => nil
7
+ end
8
+
6
9
  group :test do
7
- gem 'rake'
10
+ gem "codeclimate-test-reporter", :require => nil
8
11
  end
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ ignore %r{^\.gem/}
3
+
4
+ def rspec_opts
5
+ { :cmd => "bundle exec rspec" }
6
+ end
7
+
8
+ def rubocop_opts
9
+ { :all_on_start => false, :keep_failed => false, :cli => "-r finstyle" }
10
+ end
11
+
12
+ group :red_green_refactor, :halt_on_fail => true do
13
+ guard :rspec, rspec_opts do
14
+ watch(%r{^spec/(.*)_spec\.rb})
15
+ watch(%r{^lib/(.*)([^/]+)\.rb}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
16
+ watch(%r{^spec/spec_helper\.rb}) { "spec" }
17
+ end
18
+
19
+ guard :rubocop, rubocop_opts do
20
+ watch(%r{.+\.rb$})
21
+ watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
22
+ end
23
+ end
data/README.md CHANGED
@@ -1,7 +1,9 @@
1
1
  # <a name="title"></a> Kitchen::Vagrant
2
2
 
3
- [![Build Status](https://travis-ci.org/test-kitchen/kitchen-vagrant.png)](https://travis-ci.org/test-kitchen/kitchen-vagrant)
4
- [![Code Climate](https://codeclimate.com/github/test-kitchen/kitchen-vagrant.png)](https://codeclimate.com/github/test-kitchen/kitchen-vagrant)
3
+ [![Gem Version](https://badge.fury.io/rb/kitchen-vagrant.svg)](http://badge.fury.io/rb/kitchen-vagrant)
4
+ [![Build Status](https://secure.travis-ci.org/test-kitchen/kitchen-vagrant.svg?branch=master)](https://travis-ci.org/test-kitchen/kitchen-vagrant)
5
+ [![Code Climate](https://codeclimate.com/github/test-kitchen/kitchen-vagrant.svg)](https://codeclimate.com/github/test-kitchen/kitchen-vagrant)
6
+ [![Test Coverage](https://codeclimate.com/github/test-kitchen/kitchen-vagrant/coverage.svg)](https://codeclimate.com/github/test-kitchen/kitchen-vagrant)
5
7
 
6
8
  A Test Kitchen Driver for Vagrant.
7
9
 
@@ -51,39 +53,66 @@ Please read the [Driver usage][driver_usage] page for more details.
51
53
  ## <a name="default-config"></a> Default Configuration
52
54
 
53
55
  This driver can predict the Vagrant box name and download URL for a select
54
- number of platforms (VirtualBox provider only) that have been published by
55
- Opscode, such as:
56
+ number of platforms (VirtualBox and VMware providers only) that have been published by
57
+ Chef Software Inc, in the [Bento][bento] project such as:
56
58
 
57
- ```ruby
59
+ ```yaml
58
60
  ---
59
61
  platforms:
60
- - name: ubuntu-10.04
61
- - name: ubuntu-12.04
62
- - name: ubuntu-12.10
63
- - name: ubuntu-13.04
64
- - name: centos-5.9
65
- - name: centos-6.4
66
- - name: debian-7.1.0
62
+ - name: ubuntu-10.04
63
+ - name: ubuntu-12.04
64
+ - name: ubuntu-14.04
65
+ - name: ubuntu-13.04
66
+ - name: centos-5.11
67
+ - name: centos-6.6
68
+ - name: debian-7.8
69
+ - name: freebsd-10.1
67
70
  ```
68
71
 
69
72
  This will effectively generate a configuration similar to:
70
73
 
71
- ```ruby
74
+ ```yaml
75
+ ---
76
+ platforms:
77
+ - name: ubuntu-10.04
78
+ driver:
79
+ box: opscode-ubuntu-10.04
80
+ box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-10.04_chef-provisionerless.box
81
+ - name: ubuntu-12.04
82
+ driver:
83
+ box: opscode-ubuntu-12.04
84
+ box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-12.04_chef-provisionerless.box
85
+ - name: ubuntu-14.04
86
+ driver:
87
+ box: opscode-ubuntu-14.04
88
+ box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-14.04_chef-provisionerless.box
89
+ # ...
90
+ ```
91
+
92
+ Any other platform names will set a more reasonable default for `box` and leave `box_url` unset. For example:
93
+
94
+ ```yaml
95
+ ---
96
+ platforms:
97
+ - name: slackware-14.1
98
+ - name: openbsd-5.6
99
+ - name: windows-2012r2
100
+ ```
101
+
102
+ This will effectively generate a configuration similar to:
103
+
104
+ ```yaml
72
105
  ---
73
106
  platforms:
74
- - name: ubuntu-10.04
75
- driver:
76
- box: opscode-ubuntu-10.04
77
- box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/opscode_ubuntu-10.04_provisionerless.box
78
- - name: ubuntu-12.04
79
- driver:
80
- box: opscode-ubuntu-12.04
81
- box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box
82
- - name: ubuntu-12.10
83
- driver:
84
- box: opscode-ubuntu-12.10
85
- box_url: ...
86
- # ...
107
+ - name: slackware-14.1
108
+ driver:
109
+ box: slackware-14.1
110
+ - name: openbsd-5.6
111
+ driver:
112
+ box: openbsd-5.6
113
+ - name: windows-2012r2
114
+ driver:
115
+ box: windows-2012r2
87
116
  ```
88
117
 
89
118
  Many host wide defaults for Vagrant can be set using `$HOME/.vagrant.d/Vagrantfile`. See the [Vagrantfile documentation][vagrantfile] for more information.
@@ -96,28 +125,56 @@ Many host wide defaults for Vagrant can be set using `$HOME/.vagrant.d/Vagrantfi
96
125
  details, please read the Vagrant [machine settings][vagrant_machine_settings]
97
126
  page.
98
127
 
99
- The default will be computed from the platform name of the instance. For
100
- example, a platform called "fuzzypants-9.000" will produce a default `box`
101
- value of `"opscode-fuzzypants-9.000"`.
128
+ The default will be computed from the platform name of the instance. Howver, for a small number of common/known platforms in the [Bento][bento] project, the default will prepend `"opscode-"` to the start to match the downloadable `box_url` (see below).
129
+
130
+ For example, a platform with a Bento box called "ubuntu-14.04" will produce a
131
+ default `box` value of `"opscode-ubuntu-14.04"`. Alternatively, a box called
132
+ `"slackware-14.1"` will produce a default `box` value of `"slackware-14.1".
133
+
134
+ ### <a name="config-box-check-update"></a> box\_check\_update
135
+
136
+ Whether to check for box updates (disabled by default).
102
137
 
103
138
  ### <a name="config-box-url"></a> box\_url
104
139
 
105
- The URL that the configured box can be found at. If the box is not installed on
106
- the system, it will be retrieved from this URL when the virtual machine is
107
- started.
140
+ A default URL will be computed only for a small number of common/known
141
+ platforms in the [Bento][bento] project. Additionally, a URL will only be
142
+ computed if the Vagrant provider is VirtualBox or is VMware based (these are
143
+ the only providers with downloadable base boxes).
108
144
 
109
- The default will be computed from the platform name of the instance.
145
+ ### <a name="config-box-version"></a> box\_version
110
146
 
111
- ### <a name="config-provider"></a> provider
147
+ The [version][vagrant_versioning] of the configured box.
112
148
 
113
- This determines which Vagrant provider to use. The value should match
114
- the provider name in Vagrant. For example, to use VMware Fusion the provider
115
- should be `vmware_fusion`. Please see the docs on [providers][vagrant_providers]
116
- for further details.
149
+ The default is `nil`, indicating unset.
117
150
 
118
- By default the value is unset, or `nil`. In this case the driver will use the
119
- Vagrant [default provider][vagrant_default_provider] which at this current time
120
- is `virtualbox` unless set by `VAGRANT_DEFAULT_PROVIDER` environment variable.
151
+ ### <a name="config-communicator"></a> communicator
152
+
153
+ **Note:** It should largely be the responsibility of the underlying Vagrant
154
+ base box to properly set the `config.vm.communicator` value. For example, if
155
+ the base box is a Windows operating system and does not have an SSH service
156
+ installed and enabled, then Vagrant will be unable to even boot it (using
157
+ `vagrant up`), without a custom Vagrantfile. If you are authoring a base box,
158
+ please take care to set your value for communicator to give your users the best
159
+ possible out-of-the-box experience.
160
+
161
+ For overriding the default communicator setting of the base box.
162
+
163
+ For example:
164
+
165
+ ```yaml
166
+ ---
167
+ driver:
168
+ communicator: ssh
169
+ ```
170
+
171
+ will generate a Vagrantfile configuration similar to:
172
+
173
+ ```ruby
174
+ config.vm.communicator = "ssh"
175
+ ```
176
+
177
+ The default is `nil` assuming ssh will be used.
121
178
 
122
179
  ### <a name="config-customize"></a> customize
123
180
 
@@ -125,7 +182,8 @@ A **Hash** of customizations to a Vagrant virtual machine. Each key/value
125
182
  pair will be passed to your providers customization block. For example, with
126
183
  the default `virtualbox` provider:
127
184
 
128
- ```ruby
185
+ ```yaml
186
+ ---
129
187
  driver:
130
188
  customize:
131
189
  memory: 1024
@@ -145,23 +203,49 @@ Vagrant.configure("2") do |config|
145
203
  end
146
204
  ```
147
205
 
148
- Please read the "Customizations" sections for [VirtualBox][vagrant_config_vbox] and [VMware][vagrant_config_vmware] for more details.
206
+ Please read the "Customizations" sections for [VirtualBox][vagrant_config_vbox]
207
+ and [VMware][vagrant_config_vmware] for more details.
208
+
209
+ ### <a name="config-guest"></a> guest
149
210
 
150
- ### <a name="config-dry-run"></a> dry\_run
211
+ **Note:** It should largely be the responsibility of the underlying Vagrant
212
+ base box to properly set the `config.vm.guest` value. For example, if the base
213
+ box is a Windows operating system, then Vagrant will be unable to even boot it
214
+ (using `vagrant up`), without a custom Vagrantfile. If you are authoring a base
215
+ box, please take care to set your value for communicator to give your users the
216
+ best possible out-of-the-box experience.
151
217
 
152
- Useful when debugging Vagrant CLI commands. If set to `true`, all Vagrant CLI
153
- commands will be displayed rather than executed.
218
+ For overriding the default guest setting of the base box.
154
219
 
155
220
  The default is unset, or `nil`.
156
221
 
157
- ### <a name="config-guest"></a> guest
222
+ ### <a name="config-gui"></a> gui
158
223
 
159
- Set the `config.vm.guest` setting in the default Vagrantfile. For more details
160
- please read the
161
- [config.vm.guest](http://docs.vagrantup.com/v2/vagrantfile/machine_settings.html)
162
- section of the Vagrant documentation.
224
+ Allows GUI mode for each defined platform. Default is **nil**. Value is passed
225
+ to the `config.vm.provider` but only for the VirtualBox and VMware-based
226
+ providers.
163
227
 
164
- The default is unset, or `nil`.
228
+ ```yaml
229
+ ---
230
+ platforms:
231
+ - name: ubuntu-14.04
232
+ driver:
233
+ gui: true
234
+ ```
235
+
236
+ will generate a Vagrantfile configuration similar to:
237
+
238
+ ```ruby
239
+ Vagrant.configure("2") do |config|
240
+ # ...
241
+
242
+ c.vm.provider :virtualbox do |p|
243
+ p.gui = true
244
+ end
245
+ end
246
+ ```
247
+
248
+ For more info about GUI vs. Headless mode please see [vagrant configuration docs][vagrant_config_vbox]
165
249
 
166
250
  ### <a name="config-network"></a> network
167
251
 
@@ -169,11 +253,12 @@ An **Array** of network customizations for the virtual machine. Each Array
169
253
  element is itself an Array of arguments to be passed to the `config.vm.network`
170
254
  method. For example:
171
255
 
172
- ```ruby
256
+ ```yaml
257
+ ---
173
258
  driver:
174
259
  network:
175
- - ["forwarded_port", {guest: 80, host: 8080}]
176
- - ["private_network", {ip: "192.168.33.33"}]
260
+ - ["forwarded_port", {guest: 80, host: 8080}]
261
+ - ["private_network", {ip: "192.168.33.33"}]
177
262
  ```
178
263
 
179
264
  will generate a Vagrantfile configuration similar to:
@@ -206,12 +291,42 @@ or the `kitchen_root`.
206
291
  For example, if your project requires
207
292
  [Bindler](https://github.com/fgrehm/bindler), this command could be:
208
293
 
209
- ```
210
- pre_create_command: cp .vagrant_plugins.json {{vagrant_root}}/ && vagrant plugin bundle
294
+ ```yaml
295
+ ---
296
+ driver
297
+ pre_create_command: cp .vagrant_plugins.json {{vagrant_root}}/ && vagrant plugin bundle
211
298
  ```
212
299
 
213
300
  The default is unset, or `nil`.
214
301
 
302
+ ### <a name="config-provider"></a> provider
303
+
304
+ This determines which Vagrant provider to use. The value should match
305
+ the provider name in Vagrant. For example, to use VMware Fusion the provider
306
+ should be `vmware_fusion`. Please see the docs on [providers][vagrant_providers]
307
+ for further details.
308
+
309
+ By default the value is unset, or `nil`. In this case the driver will use the
310
+ Vagrant [default provider][vagrant_default_provider] which at this current time
311
+ is `virtualbox` unless set by `VAGRANT_DEFAULT_PROVIDER` environment variable.
312
+
313
+ ### <a name="provision"></a> provision
314
+
315
+ Set to true if you want to do the provision of vagrant in create.
316
+ Useful in case of you want to customize the OS in provision phase of vagrant
317
+
318
+ ### <a name="config-ssh-key"></a> ssh\_key
319
+
320
+ This is the path to the private key file used for SSH authentication if you
321
+ would like to use your own private ssh key instead of the default vagrant
322
+ insecure private key.
323
+
324
+ If this value is a relative path, then it will be expanded relative to the
325
+ location of the main Vagrantfile. If this value is nil, then the default
326
+ insecure private key that ships with Vagrant will be used.
327
+
328
+ The default value is unset, or `nil`.
329
+
215
330
  ### <a name="config-synced-folders"></a> synced_folders
216
331
 
217
332
  Allow the user to specify a collection of synced folders on each Vagrant
@@ -219,10 +334,11 @@ instance. Source paths can be relative to the kitchen root.
219
334
 
220
335
  The default is an empty Array, or `[]`. The example:
221
336
 
222
- ```ruby
337
+ ```yaml
338
+ ---
223
339
  driver:
224
- synced_folders:
225
- - ["data/%{instance_name}", "/opt/instance_data"],
340
+ synced_folders:
341
+ - ["data/%{instance_name}", "/opt/instance_data"]
226
342
  - ["/host_path", "/vm_path", "create: true, type: :nfs"]
227
343
  ```
228
344
 
@@ -237,14 +353,6 @@ Vagrant.configure("2") do |config|
237
353
  end
238
354
  ```
239
355
 
240
- ### <a name="config-username"></a> username
241
-
242
- This is the username used for SSH authentication if you
243
- would like to connect with a different account than Vagrant default user.
244
-
245
- If this value is nil, then Vagrant parameter `config.ssh.default.username`
246
- will be used (which is usually set to 'vagrant').
247
-
248
356
  ### <a name="config-vagrantfile-erb"></a> vagrantfile\_erb
249
357
 
250
358
  An alternate Vagrantfile ERB template that will be rendered for use by this
@@ -260,6 +368,22 @@ road--be aware.
260
368
 
261
369
  The default is to use a template which ships with this gem.
262
370
 
371
+ ### <a name="config-vagrantfiles"></a> vagrantfiles
372
+
373
+ An array of paths to other Vagrantfiles to be merged with the default one. The
374
+ paths can be absolute or relative to the .kitchen.yml file.
375
+
376
+ **Note:** the Vagrantfiles must have a .rb extension to satisfy Ruby's
377
+ Kernel#require.
378
+
379
+ ```yaml
380
+ ---
381
+ driver:
382
+ vagrantfiles:
383
+ - VagrantfileA.rb
384
+ - /tmp/VagrantfileB.rb
385
+ ```
386
+
263
387
  ### <a name="config-vm-hostname"></a> vm\_hostname
264
388
 
265
389
  Sets the internal hostname for the instance. This is not used when connecting
@@ -276,18 +400,6 @@ The default will be computed from the name of the instance. For
276
400
  example, the instance was called "default-fuzz-9" will produce a default
277
401
  `vm_hostname` value of `"default-fuzz-9.vagrantup.com"`.
278
402
 
279
- ### <a name="config-ssh-key"></a> ssh\_key
280
-
281
- This is the path to the private key file used for SSH authentication if you
282
- would like to use your own private ssh key instead of the default vagrant
283
- insecure private key.
284
-
285
- If this value is a relative path, then it will be expanded relative to the
286
- location of the main Vagrantfile. If this value is nil, then the default
287
- insecure private key that ships with Vagrant will be used.
288
-
289
- The default value is unset, or `nil`.
290
-
291
403
  ## <a name="development"></a> Development
292
404
 
293
405
  * Source hosted at [GitHub][repo]
@@ -318,7 +430,8 @@ Apache 2.0 (see [LICENSE][license])
318
430
  [repo]: https://github.com/opscode/kitchen-vagrant
319
431
  [driver_usage]: http://kitchen.ci/docs/getting-started/adding-platform
320
432
 
321
- [vagrant_dl]: http://downloads.vagrantup.com/
433
+ [bento]: https://github.com/chef/bento
434
+ [vagrant_dl]: http://www.vagrantup.com/downloads.html
322
435
  [vagrant_machine_settings]: http://docs.vagrantup.com/v2/vagrantfile/machine_settings.html
323
436
  [vagrant_networking]: http://docs.vagrantup.com/v2/networking/basic_usage.html
324
437
  [virtualbox_dl]: https://www.virtualbox.org/wiki/Downloads
@@ -327,6 +440,7 @@ Apache 2.0 (see [LICENSE][license])
327
440
  [vagrant_config_vbox]: http://docs.vagrantup.com/v2/virtualbox/configuration.html
328
441
  [vagrant_config_vmware]: http://docs.vagrantup.com/v2/vmware/configuration.html
329
442
  [vagrant_providers]: http://docs.vagrantup.com/v2/providers/index.html
443
+ [vagrant_versioning]: https://docs.vagrantup.com/v2/boxes/versioning.html
330
444
  [vagrant_wrapper]: https://github.com/org-binbab/gem-vagrant-wrapper
331
445
  [vagrant_wrapper_background]: https://github.com/org-binbab/gem-vagrant-wrapper#background---aka-the-vagrant-gem-enigma
332
446
  [vmware_plugin]: http://www.vagrantup.com/vmware