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 +4 -4
- data/.travis.yml +22 -1
- data/CHANGELOG.md +95 -19
- data/Gemfile +7 -4
- data/Guardfile +23 -0
- data/README.md +195 -81
- data/Rakefile +23 -7
- data/kitchen-vagrant.gemspec +16 -8
- data/lib/kitchen/driver/vagrant.rb +218 -123
- data/lib/kitchen/driver/vagrant_version.rb +1 -1
- data/spec/kitchen/driver/vagrant_spec.rb +1165 -0
- data/spec/spec_helper.rb +33 -0
- data/templates/Vagrantfile.erb +64 -4
- metadata +62 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d70f1abd832d8c586a5c1b8f74e41a791df670d6
|
4
|
+
data.tar.gz: b5edfb05ad16864d0019ebf7cff317b635a8b859
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4abb29d4c5a7755b069e91dcf035623f99beb13244b02d6a04ded560bb8d9b86874690d8e4d3852b0ec2b0fc66e159fb1032036ef9855352c7a9df780d611ac
|
7
|
+
data.tar.gz: 1f2f35168a468324d6c99032ad8d573052eb5e2b0e3be9b0e7f0ea6065e63690987fc44b98a021c330b87a07e8a607b61f3c2be58295fbc1cc841d0b7cf14547
|
data/.travis.yml
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
language: ruby
|
2
|
+
|
1
3
|
rvm:
|
2
|
-
-
|
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="
|
data/CHANGELOG.md
CHANGED
@@ -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/
|
168
|
-
[#8]: https://github.com/
|
169
|
-
[#12]: https://github.com/
|
170
|
-
[#15]: https://github.com/
|
171
|
-
[#16]: https://github.com/
|
172
|
-
[#18]: https://github.com/
|
173
|
-
[#19]: https://github.com/
|
174
|
-
[#20]: https://github.com/
|
175
|
-
[#21]: https://github.com/
|
176
|
-
[#24]: https://github.com/
|
177
|
-
[#25]: https://github.com/
|
178
|
-
[#28]: https://github.com/
|
179
|
-
[#29]: https://github.com/
|
180
|
-
[#30]: https://github.com/
|
181
|
-
[#31]: https://github.com/
|
182
|
-
[#34]: https://github.com/
|
183
|
-
[#36]: https://github.com/
|
184
|
-
[#55]: https://github.com/
|
185
|
-
[#56]: https://github.com/
|
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
|
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
|
10
|
+
gem "codeclimate-test-reporter", :require => nil
|
8
11
|
end
|
data/Guardfile
ADDED
@@ -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
|
-
[![
|
4
|
-
[![
|
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
|
55
|
-
|
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
|
-
```
|
59
|
+
```yaml
|
58
60
|
---
|
59
61
|
platforms:
|
60
|
-
- name: ubuntu-10.04
|
61
|
-
- name: ubuntu-12.04
|
62
|
-
- name: ubuntu-
|
63
|
-
- name: ubuntu-13.04
|
64
|
-
- name: centos-5.
|
65
|
-
- name: centos-6.
|
66
|
-
- name: debian-7.
|
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
|
-
```
|
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:
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
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.
|
100
|
-
|
101
|
-
|
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
|
-
|
106
|
-
|
107
|
-
|
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
|
-
|
145
|
+
### <a name="config-box-version"></a> box\_version
|
110
146
|
|
111
|
-
|
147
|
+
The [version][vagrant_versioning] of the configured box.
|
112
148
|
|
113
|
-
|
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
|
-
|
119
|
-
|
120
|
-
|
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
|
-
```
|
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]
|
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
|
-
|
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
|
-
|
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-
|
222
|
+
### <a name="config-gui"></a> gui
|
158
223
|
|
159
|
-
|
160
|
-
|
161
|
-
|
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
|
-
|
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
|
-
```
|
256
|
+
```yaml
|
257
|
+
---
|
173
258
|
driver:
|
174
259
|
network:
|
175
|
-
|
176
|
-
|
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
|
-
|
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
|
-
```
|
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
|
-
[
|
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
|