kitchen-vagrant 0.20.0 → 0.21.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 +6 -3
- data/CHANGELOG.md +16 -0
- data/README.md +2 -2
- data/lib/kitchen/driver/vagrant.rb +28 -0
- data/lib/kitchen/driver/vagrant_version.rb +1 -1
- data/spec/kitchen/driver/vagrant_spec.rb +47 -7
- data/templates/Vagrantfile.erb +2 -2
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8aa643733a8bf6bd645efc9fa0194c06011c74ee
|
4
|
+
data.tar.gz: 6c27247da25efbeacdddc37a185e578ec92d3d06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d941b21d57414cae57419b423c5ff5032d4320a7cd28bb81c1f0bf4047fcfdaf464dde79925d9ccbe24c7d1390977a8ffc61ce3fcae143b363edb54387f4968
|
7
|
+
data.tar.gz: 48ee12e85af4eeb36976ad354a6ef9f1771fee7e3072e67899a8efffb0b97a9e0a8a1672611047fb6e88d6f4277b7ac52ef160c12f08bb193a7f67fb514edb60
|
data/.travis.yml
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
language: ruby
|
2
2
|
|
3
3
|
rvm:
|
4
|
-
- 2.
|
5
|
-
- 2.
|
6
|
-
- 2.0.0
|
4
|
+
- 2.3.1
|
5
|
+
- 2.2.5
|
7
6
|
- ruby-head
|
8
7
|
|
9
8
|
bundler_args: --without guard
|
@@ -14,6 +13,10 @@ matrix:
|
|
14
13
|
allow_failures:
|
15
14
|
- rvm: ruby-head
|
16
15
|
|
16
|
+
branches:
|
17
|
+
only:
|
18
|
+
- master
|
19
|
+
|
17
20
|
notifications:
|
18
21
|
irc: "chat.freenode.net#kitchenci"
|
19
22
|
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
## [0.21.0](https://github.com/test-kitchen/kitchen-vagrant/tree/0.21.0) (2016-11-29)
|
2
|
+
[Full Changelog](https://github.com/test-kitchen/kitchen-vagrant/compare/v0.20.0...0.21.0)
|
3
|
+
|
4
|
+
**Fixed bugs:**
|
5
|
+
|
6
|
+
- Generated Vagrantfile has type issues [\#236](https://github.com/test-kitchen/kitchen-vagrant/issues/236)
|
7
|
+
- Fix ssh boolean values in Vagrantfile template [\#231](https://github.com/test-kitchen/kitchen-vagrant/pull/231) ([zuazo](https://github.com/zuazo))
|
8
|
+
|
9
|
+
**Merged pull requests:**
|
10
|
+
|
11
|
+
- Add a synced folder to persist chef omnibus packages [\#248](https://github.com/test-kitchen/kitchen-vagrant/pull/248) ([afiune](https://github.com/afiune))
|
12
|
+
- Fix generated Vagrantfile type issues [\#243](https://github.com/test-kitchen/kitchen-vagrant/pull/243) ([OBrienCommaJosh](https://github.com/OBrienCommaJosh))
|
13
|
+
- Bump travis rubies to the modern age [\#242](https://github.com/test-kitchen/kitchen-vagrant/pull/242) ([mwrock](https://github.com/mwrock))
|
14
|
+
- Fix the name of "Parallels Desktop for Mac" [\#233](https://github.com/test-kitchen/kitchen-vagrant/pull/233) ([legal90](https://github.com/legal90))
|
15
|
+
- Add support for ovirt3 vagrant provider [\#223](https://github.com/test-kitchen/kitchen-vagrant/pull/223) ([xiboy](https://github.com/xiboy))
|
16
|
+
|
1
17
|
## [0.20.0](https://github.com/test-kitchen/kitchen-vagrant/tree/v0.20.0) (2016-04-07)
|
2
18
|
[Full Changelog](https://github.com/test-kitchen/kitchen-vagrant/compare/v0.19.0...v0.20.0)
|
3
19
|
|
data/README.md
CHANGED
@@ -49,10 +49,10 @@ software from VMware and then must also purchase the Vagrant VMware plugin.
|
|
49
49
|
|
50
50
|
[VMware Workstation][workstation_dl]
|
51
51
|
|
52
|
-
If you would like to use Parallels you must also purchase the software but the
|
52
|
+
If you would like to use Parallels Desktop you must also purchase the software but the
|
53
53
|
`vagrant-parallels` plugin is freely available.
|
54
54
|
|
55
|
-
[
|
55
|
+
[Parallels Desktop for Mac][parallels_dl]
|
56
56
|
|
57
57
|
[Vagrant Parallels Provider][vagrant_parallels]
|
58
58
|
|
@@ -169,6 +169,13 @@ module Kitchen
|
|
169
169
|
instance.transport.name.downcase =~ /win_?rm/
|
170
170
|
end
|
171
171
|
|
172
|
+
# Setting up the `cache_directory` to store omnibus packages in cache
|
173
|
+
# and share a local folder to that directory so that we don't pull them
|
174
|
+
# down every single time
|
175
|
+
def cache_directory
|
176
|
+
windows_os? ? "$env:TEMP\\omnibus\\cache" : "/tmp/omnibus/cache"
|
177
|
+
end
|
178
|
+
|
172
179
|
protected
|
173
180
|
|
174
181
|
WEBSITE = "http://www.vagrantup.com/downloads.html".freeze
|
@@ -248,6 +255,21 @@ module Kitchen
|
|
248
255
|
options || "nil"
|
249
256
|
]
|
250
257
|
end
|
258
|
+
add_extra_synced_folders!
|
259
|
+
end
|
260
|
+
|
261
|
+
# We would like to sync a local folder to the instance so we can
|
262
|
+
# take advantage of the packages that we might have in cache,
|
263
|
+
# therefore we wont download a package we already have
|
264
|
+
def add_extra_synced_folders!
|
265
|
+
if cache_directory
|
266
|
+
FileUtils.mkdir_p(local_kitchen_cache)
|
267
|
+
config[:synced_folders].push([
|
268
|
+
local_kitchen_cache,
|
269
|
+
cache_directory,
|
270
|
+
"create: true"
|
271
|
+
])
|
272
|
+
end
|
251
273
|
end
|
252
274
|
|
253
275
|
# Truncates the length of `:vm_hostname` to 12 characters for
|
@@ -389,6 +411,12 @@ module Kitchen
|
|
389
411
|
state[:rdp_port] = hash["RDPPort"] if hash["RDPPort"]
|
390
412
|
end
|
391
413
|
|
414
|
+
# @return [String] full absolute path to the kitchen cache directory
|
415
|
+
# @api private
|
416
|
+
def local_kitchen_cache
|
417
|
+
@local_kitchen_cache ||= File.expand_path("~/.kitchen/cache")
|
418
|
+
end
|
419
|
+
|
392
420
|
# @return [String] full local path to the directory containing the
|
393
421
|
# instance's Vagrantfile
|
394
422
|
# @api private
|
@@ -147,6 +147,14 @@ describe Kitchen::Driver::Vagrant do
|
|
147
147
|
|
148
148
|
describe "configuration" do
|
149
149
|
|
150
|
+
let(:cache_directory_array) do
|
151
|
+
[
|
152
|
+
File.expand_path("~/.kitchen/cache"),
|
153
|
+
"/tmp/omnibus/cache",
|
154
|
+
"create: true"
|
155
|
+
]
|
156
|
+
end
|
157
|
+
|
150
158
|
%W[centos debian fedora opensuse ubuntu].each do |name|
|
151
159
|
|
152
160
|
context "for known bento platform names starting with #{name}" do
|
@@ -316,8 +324,8 @@ describe Kitchen::Driver::Vagrant do
|
|
316
324
|
expect(driver[:ssh]).to eq(:a => "b", :c => { :d => "e" })
|
317
325
|
end
|
318
326
|
|
319
|
-
it "sets :synced_folders
|
320
|
-
expect(driver[:synced_folders]).to eq([])
|
327
|
+
it "sets :synced_folders with the cache_directory by default" do
|
328
|
+
expect(driver[:synced_folders]).to eq([cache_directory_array])
|
321
329
|
end
|
322
330
|
|
323
331
|
it "sets :synced_folders to a custom value" do
|
@@ -326,7 +334,11 @@ describe Kitchen::Driver::Vagrant do
|
|
326
334
|
]
|
327
335
|
|
328
336
|
expect(driver[:synced_folders]).to eq([
|
329
|
-
[
|
337
|
+
[
|
338
|
+
File.expand_path("/host_path"),
|
339
|
+
"/vm_path", "create: true, type: :nfs"
|
340
|
+
],
|
341
|
+
cache_directory_array
|
330
342
|
])
|
331
343
|
end
|
332
344
|
|
@@ -336,7 +348,8 @@ describe Kitchen::Driver::Vagrant do
|
|
336
348
|
]
|
337
349
|
|
338
350
|
expect(driver[:synced_folders]).to eq([
|
339
|
-
[File.expand_path("/root/suitey-fooos-99"), "/vm_path", "stuff"]
|
351
|
+
[File.expand_path("/root/suitey-fooos-99"), "/vm_path", "stuff"],
|
352
|
+
cache_directory_array
|
340
353
|
])
|
341
354
|
end
|
342
355
|
|
@@ -346,7 +359,8 @@ describe Kitchen::Driver::Vagrant do
|
|
346
359
|
]
|
347
360
|
|
348
361
|
expect(driver[:synced_folders]).to eq([
|
349
|
-
[File.expand_path("/kroot/a"), "/vm_path", "stuff"]
|
362
|
+
[File.expand_path("/kroot/a"), "/vm_path", "stuff"],
|
363
|
+
cache_directory_array
|
350
364
|
])
|
351
365
|
end
|
352
366
|
|
@@ -356,7 +370,8 @@ describe Kitchen::Driver::Vagrant do
|
|
356
370
|
]
|
357
371
|
|
358
372
|
expect(driver[:synced_folders]).to eq([
|
359
|
-
[File.expand_path("/host_path"), "/vm_path", "nil"]
|
373
|
+
[File.expand_path("/host_path"), "/vm_path", "nil"],
|
374
|
+
cache_directory_array
|
360
375
|
])
|
361
376
|
end
|
362
377
|
|
@@ -418,6 +433,14 @@ describe Kitchen::Driver::Vagrant do
|
|
418
433
|
|
419
434
|
context "for windows os_types" do
|
420
435
|
|
436
|
+
let(:win_cache_directory_array) do
|
437
|
+
[
|
438
|
+
File.expand_path("~/.kitchen/cache"),
|
439
|
+
"$env:TEMP\\omnibus\\cache",
|
440
|
+
"create: true"
|
441
|
+
]
|
442
|
+
end
|
443
|
+
|
421
444
|
before { allow(platform).to receive(:os_type).and_return("windows") }
|
422
445
|
|
423
446
|
it "sets :vm_hostname to nil by default" do
|
@@ -429,6 +452,21 @@ describe Kitchen::Driver::Vagrant do
|
|
429
452
|
|
430
453
|
expect(driver[:vm_hostname]).to eq("this-is-a--k")
|
431
454
|
end
|
455
|
+
|
456
|
+
it "sets :synced_folders with the cache_directory by default" do
|
457
|
+
expect(driver[:synced_folders]).to eq([win_cache_directory_array])
|
458
|
+
end
|
459
|
+
|
460
|
+
it "replaces %{instance_name} with instance name in :synced_folders" do
|
461
|
+
config[:synced_folders] = [
|
462
|
+
["/root/%{instance_name}", "/vm_path", "stuff"]
|
463
|
+
]
|
464
|
+
|
465
|
+
expect(driver[:synced_folders]).to eq([
|
466
|
+
[File.expand_path("/root/suitey-fooos-99"), "/vm_path", "stuff"],
|
467
|
+
win_cache_directory_array
|
468
|
+
])
|
469
|
+
end
|
432
470
|
end
|
433
471
|
end
|
434
472
|
|
@@ -1111,7 +1149,8 @@ describe Kitchen::Driver::Vagrant do
|
|
1111
1149
|
config[:ssh] = {
|
1112
1150
|
:username => %{jdoe},
|
1113
1151
|
:password => %{secret},
|
1114
|
-
:private_key_path => %{/key}
|
1152
|
+
:private_key_path => %{/key},
|
1153
|
+
:insert_key => false
|
1115
1154
|
}
|
1116
1155
|
cmd
|
1117
1156
|
|
@@ -1119,6 +1158,7 @@ describe Kitchen::Driver::Vagrant do
|
|
1119
1158
|
c.ssh.username = "jdoe"
|
1120
1159
|
c.ssh.password = "secret"
|
1121
1160
|
c.ssh.private_key_path = "/key"
|
1161
|
+
c.ssh.insert_key = false
|
1122
1162
|
RUBY
|
1123
1163
|
end
|
1124
1164
|
|
data/templates/Vagrantfile.erb
CHANGED
@@ -54,7 +54,7 @@ Vagrant.configure("2") do |c|
|
|
54
54
|
c.ssh.private_key_path = "<%= config[:ssh_key] %>"
|
55
55
|
<% end %>
|
56
56
|
<% config[:ssh].each do |key, value| %>
|
57
|
-
c.ssh.<%= key %> =
|
57
|
+
c.ssh.<%= key %> = <%= [true, false].include?(value) ? value : value.inspect %>
|
58
58
|
<% end %>
|
59
59
|
<% if config[:winrm] %>
|
60
60
|
<% config[:winrm].each do |key, value| %>
|
@@ -142,7 +142,7 @@ Vagrant.configure("2") do |c|
|
|
142
142
|
<% else %>
|
143
143
|
p.vmx["<%= key %>"] = "<%= value %>"
|
144
144
|
<% end %>
|
145
|
-
<% when "openstack", "cloudstack", "hyperv" %>
|
145
|
+
<% when "openstack", "cloudstack", "hyperv", "ovirt3" %>
|
146
146
|
<% if value.is_a? String %>
|
147
147
|
p.<%= key %> = "<%= value%>"
|
148
148
|
<% else %>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-vagrant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.21.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fletcher Nichol
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-kitchen
|
@@ -164,11 +164,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
164
|
version: '0'
|
165
165
|
requirements: []
|
166
166
|
rubyforge_project:
|
167
|
-
rubygems_version: 2.
|
167
|
+
rubygems_version: 2.6.7
|
168
168
|
signing_key:
|
169
169
|
specification_version: 4
|
170
170
|
summary: Kitchen::Driver::Vagrant - A Vagrant Driver for Test Kitchen.
|
171
171
|
test_files:
|
172
172
|
- spec/kitchen/driver/vagrant_spec.rb
|
173
173
|
- spec/spec_helper.rb
|
174
|
-
has_rdoc:
|