kitchen-vagrant 0.15.0 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
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