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 +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
|
-
[](http://badge.fury.io/rb/kitchen-vagrant)
|
|
4
|
+
[](https://travis-ci.org/test-kitchen/kitchen-vagrant)
|
|
5
|
+
[](https://codeclimate.com/github/test-kitchen/kitchen-vagrant)
|
|
6
|
+
[](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
|