kitchen-vagrant 1.3.2 → 1.3.3

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
  SHA256:
3
- metadata.gz: ddba86d79279d14df33f8c73fc277107be1339420766c69bb79df7204b16abc5
4
- data.tar.gz: 4c0173401f598321a4373814a2fa3aae368c3a583ab7d6edd7a344b87c07de03
3
+ metadata.gz: 44fe5fa016d68b8df77048de90a67efd6778798318137a1a933c026f27a36b5e
4
+ data.tar.gz: a73a65ef8e107af5724f9394136079392a7774b32d28833b4107f49ecb1ee27a
5
5
  SHA512:
6
- metadata.gz: e8f1168da31ab90b5f06d76ea897658ed115093e5e321c357a18c58c0554caffe18d66b187d434c4db2ab393114869eae694498f3d47c842d304414a5ce83ee5
7
- data.tar.gz: 90cacf14ed9d38b306f71a0b95e171eb9a483338a579fac31b1ede1f3ea09559ad5ce47cfbf8db2a793644e83443d1e66b833c8ef65033ffe3cc7ac96804cab6
6
+ metadata.gz: 601abaf5f74023827196550f972782e577bd62bd8fca37aea3dc7617495dea6ab7d49bbff37946cf8ff3be6d7948a59fc07f8aeaaa7be05994de8f377df57ff9
7
+ data.tar.gz: 9c475c54e23adee6824bcea2995b5a372c457b698693e0b48b3a7cecab468c41806e01af325ba0675d03ad82390d640b6f6ab55d7584a8840313264b1eb6bb18
data/.travis.yml CHANGED
@@ -6,7 +6,7 @@ rvm:
6
6
  - 2.5.1
7
7
  - ruby-head
8
8
 
9
- bundler_args: --without guard
9
+ bundler_args: --without guard, changelog
10
10
 
11
11
  sudo: false
12
12
 
data/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Change Log
2
2
 
3
+ ## [v1.3.3](https://github.com/test-kitchen/kitchen-vagrant/tree/v1.3.3) (2018-08-13)
4
+ [Full Changelog](https://github.com/test-kitchen/kitchen-vagrant/compare/v1.3.2...v1.3.3)
5
+
6
+ **Closed issues:**
7
+
8
+ - Hard to identify running VM instance from Hyper-V Manager or PowerShell [\#367](https://github.com/test-kitchen/kitchen-vagrant/issues/367)
9
+ - \[Feature\] Add support for vm.name for virtualbox [\#365](https://github.com/test-kitchen/kitchen-vagrant/issues/365)
10
+
11
+ **Merged pull requests:**
12
+
13
+ - Adding a per-instance generated vmname for Hyper-V [\#368](https://github.com/test-kitchen/kitchen-vagrant/pull/368) ([stuartpreston](https://github.com/stuartpreston))
14
+ - Fix \#365 - add name for virtualbox instances [\#366](https://github.com/test-kitchen/kitchen-vagrant/pull/366) ([cheeseplus](https://github.com/cheeseplus))
15
+ - Adding the lifecycle hooks stub to fix tests [\#364](https://github.com/test-kitchen/kitchen-vagrant/pull/364) ([cheeseplus](https://github.com/cheeseplus))
16
+ - Add an example for vagrantfile\_erb [\#363](https://github.com/test-kitchen/kitchen-vagrant/pull/363) ([jkugler](https://github.com/jkugler))
17
+ - Move github changelog generator to the gemfile and skip install in testing [\#362](https://github.com/test-kitchen/kitchen-vagrant/pull/362) ([tas50](https://github.com/tas50))
18
+ - Fix disk examples [\#360](https://github.com/test-kitchen/kitchen-vagrant/pull/360) ([espoelstra](https://github.com/espoelstra))
19
+
3
20
  ## [v1.3.2](https://github.com/test-kitchen/kitchen-vagrant/tree/v1.3.2) (2018-04-23)
4
21
  [Full Changelog](https://github.com/test-kitchen/kitchen-vagrant/compare/v1.3.1...v1.3.2)
5
22
 
data/Gemfile CHANGED
@@ -9,3 +9,7 @@ end
9
9
  group :test do
10
10
  gem "codeclimate-test-reporter", :require => nil
11
11
  end
12
+
13
+ group :changelog do
14
+ gem "github_changelog_generator", "1.11.3", :require => nil
15
+ end
data/README.md CHANGED
@@ -276,7 +276,7 @@ driver:
276
276
  port: 1
277
277
  device: 0
278
278
  type: hdd
279
- medium: /tmp/disk2.vmdk
279
+ medium: /tmp/disk1.vmdk
280
280
  - storagectl: IDE Controller
281
281
  port: 1
282
282
  device: 1
@@ -529,6 +529,12 @@ object, which means that methods like `config[:kitchen_root]`, `instance.name`,
529
529
  and `instance.provisioner[:run_list]` can be used to compose a custom
530
530
  Vagrantfile if necessary.
531
531
 
532
+ ```yaml
533
+ ---
534
+ driver:
535
+ vagrantfile_erb: CustomVagrantfile.erb
536
+ ```
537
+
532
538
  **Warning:** Be cautious when going down this road as your setup may cease to
533
539
  be portable or applicable to other Test Kitchen Drivers such as Ec2 or Docker.
534
540
  Using the alternative Vagrantfile template strategy may be a dangerous
data/Rakefile CHANGED
@@ -30,11 +30,17 @@ task :quality => [:style, :stats]
30
30
 
31
31
  task :default => [:test, :quality]
32
32
 
33
- require "github_changelog_generator/task"
34
-
35
- GitHubChangelogGenerator::RakeTask.new :changelog do |config|
36
- config.future_release = Kitchen::Driver::VAGRANT_VERSION
37
- config.enhancement_labels = "enhancement,Enhancement,New Feature,Feature,Improvement".split(",")
38
- config.bug_labels = "bug,Bug".split(",")
39
- config.exclude_labels = %w{Duplicate Question Discussion No_Changelog}
33
+ begin
34
+ require "github_changelog_generator/task"
35
+
36
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
37
+ config.future_release = Kitchen::Driver::VAGRANT_VERSION
38
+ config.enhancement_labels = "enhancement,Enhancement,New Feature,Feature,Improvement".split(",")
39
+ config.bug_labels = "bug,Bug".split(",")
40
+ config.exclude_labels = %w{Duplicate Question Discussion No_Changelog}
41
+ end
42
+ rescue LoadError
43
+ task :changelog do
44
+ raise "github_changelog_generator not installed! gem install github_changelog_generator."
45
+ end
40
46
  end
@@ -0,0 +1,122 @@
1
+ ---
2
+ # All the options for kitchen-vagrant enumerated and annotated
3
+ # options are illustrated where they most commonly would be set
4
+ driver:
5
+ name: vagrant # test-kitchen default
6
+
7
+ # If not set, check for the environment variable `VAGRANT_DEFAULT_PROVIDER`
8
+ # If that is unset, default to `virtualbox`
9
+ # provider: virtualbox
10
+
11
+ # If `true` check if the box is up-to-date
12
+ # box_check_update: nil
13
+
14
+ # If `true`, then SSL certificates from the server will not be verified.
15
+ # box_download_insecure: nil
16
+
17
+ # A relative path to a CA certificate bundle
18
+ # for verifying endpoints with custom certificates
19
+ # box_download_ca_cert: nil
20
+
21
+ # Integer for setting custom boot timeout
22
+ # boot_timeout: nil
23
+ # Hash for passing k/v options to specific
24
+ # providers for customization
25
+ # emtpy by default
26
+ # customize:
27
+ # memory: 1024
28
+ # cpuexecutioncap: 50
29
+ # If `true`, allows GUI mode for Vagrant providers
30
+ # that support this feature
31
+ # gui: nil
32
+
33
+ # If `true`, use "Linked Clones" or "Differencing Disk"
34
+ # options for providers that support this feature
35
+ # This can reduce disk usage and offer performance benefits.
36
+ # linked_clone: nil
37
+
38
+ # An Array of network customizations for the virtual machine.
39
+ # Each Array element is itself an Array of arguments to be passed to the
40
+ # config.vm.network method
41
+ # network: []
42
+
43
+ # An optional hook to run a command immediately prior to
44
+ # the `vagrant up --no-provisioner` command being executed.
45
+ # **CAUTION**
46
+ # pre_create_command: nil
47
+
48
+ # Enables Vagrant built-in provisioning
49
+ # Useful in conjunction with `vagrantfiles`
50
+ # provision: false
51
+
52
+ # Hash for passing k/v options to Vagrant's SSH
53
+ # configuration. Only needed for advanaced/custom
54
+ # configuration. **CAUTION**
55
+ # ssh: {}
56
+
57
+ # An array of arrays that configure a synced folder
58
+ # This value is automatically configured if using
59
+ # the `cache_directory` option. Otherwise, empty.
60
+ # synced_folders:
61
+ # - ["data/%{instance_name}", "/opt/instance_data"]
62
+ # - ["/host_path", "/vm_path", "create: true, type: :nfs"]
63
+
64
+ # This should only need to get set if the Vagrant binary
65
+ # isn't in the PATH or there is a specific location desired
66
+ # vagrant_binary: "vagrant"
67
+
68
+ # By default, use the Vagrantfile.erb that is part of the gem
69
+ # otherwise use whatever the user provides here. **CAUTION**
70
+ # vagrantfile_erb: Alt_Vagrantfile.erb
71
+
72
+ # An array of paths to Vagrantfiles
73
+ # Empty by default
74
+ # vagrantfiles: []
75
+
76
+ # We only set this to a path for a subset of known bento boxes
77
+ # driver.windows_os? ? "/omnibus/cache" : "/tmp/omnibus/cache"
78
+ # if set to `false` this will disable caching entirely
79
+ # cache_directory: /tmp/omnibus/cache
80
+
81
+ # Path to kitchen's global cache directory, primarily for caching
82
+ # chef-client downlaods
83
+ # Default is File.expand_path("~/.kitchen/cache")
84
+ # kitchen_cache_directory: /Users/cheeseplus/.kitchen/cache
85
+
86
+ # If `box` or `machine`, sets the respective value for
87
+ # config.cache.scope. Any other truthy value yields `box`
88
+ # cachier: nil
89
+
90
+ provisioner:
91
+ name: chef_zero
92
+
93
+ verifier:
94
+ name: inspec
95
+
96
+ platforms:
97
+ # We will grab boxes from bento on Vagrant Cloud
98
+ # for a set of common platforms
99
+ - name: ubuntu-16.04
100
+ - name: centos-7
101
+ # Otherwise for platforms we don't know, the box needs to exist locally
102
+ # and be known to Vagrant, otherwise provide `box` or `box_url`
103
+ - name: openbsd-5.6
104
+ driver:
105
+ # Versioned boxes from Vagrant Cloud can be utilized
106
+ # `box_version` only works when `box` uses the Vagrant Cloud syntax
107
+ # box: organization/openbsd-56
108
+ # box_version: 1.2.3
109
+ # If not using Vagrant Cloud, the box can be fetched
110
+ # remotely via `http(s)://` or locally via `file://`
111
+ # `box` requires a value
112
+ box: openbsd-5.6
113
+ box_url: http://url.tld/openbsd-5.6.box
114
+
115
+ suites:
116
+ - name: default
117
+ driver:
118
+ # If Windows, this is nil otherwise it's set to
119
+ # "#{driver.instance.name}.vagrantup.com"
120
+ # vm_hostname: "custom.tld"
121
+ run_list:
122
+ - recipe[cookbook::default]
@@ -25,7 +25,6 @@ Gem::Specification.new do |gem|
25
25
  gem.add_development_dependency "rake"
26
26
  gem.add_development_dependency "rspec", "~> 3.2"
27
27
  gem.add_development_dependency "simplecov", "~> 0.9"
28
- gem.add_development_dependency "github_changelog_generator", "1.11.3"
29
28
 
30
29
  gem.add_development_dependency "chefstyle"
31
30
  end
@@ -21,6 +21,6 @@ module Kitchen
21
21
  module Driver
22
22
 
23
23
  # Version string for Vagrant Kitchen driver
24
- VAGRANT_VERSION = "1.3.2"
24
+ VAGRANT_VERSION = "1.3.3"
25
25
  end
26
26
  end
@@ -35,6 +35,7 @@ describe Kitchen::Driver::Vagrant do
35
35
  let(:suite) { Kitchen::Suite.new(:name => "suitey") }
36
36
  let(:verifier) { Kitchen::Verifier::Dummy.new }
37
37
  let(:provisioner) { Kitchen::Provisioner::Dummy.new }
38
+ let(:lifecycle_hooks) { Kitchen::LifecycleHooks.new({}) }
38
39
  let(:transport) { Kitchen::Transport::Dummy.new }
39
40
  let(:state_file) { double("state_file") }
40
41
  let(:state) { Hash.new }
@@ -60,6 +61,7 @@ describe Kitchen::Driver::Vagrant do
60
61
  :suite => suite,
61
62
  :platform => platform,
62
63
  :provisioner => provisioner,
64
+ :lifecycle_hooks => lifecycle_hooks,
63
65
  :transport => transport,
64
66
  :state_file => state_file
65
67
  )
@@ -1264,6 +1266,16 @@ describe Kitchen::Driver::Vagrant do
1264
1266
 
1265
1267
  before { config[:provider] = "virtualbox" }
1266
1268
 
1269
+ it "sets :name for virtualbox GUI" do
1270
+ cmd
1271
+
1272
+ expect(vagrantfile).to match(regexify(<<-RUBY.gsub(/^ {8}/, "").chomp))
1273
+ c.vm.provider :virtualbox do |p|
1274
+ p.name = "kitchen-#{File.basename(config[:kitchen_root])}-suitey-fooos-99"
1275
+ end
1276
+ RUBY
1277
+ end
1278
+
1267
1279
  it "adds a line for each element in :customize" do
1268
1280
  config[:customize] = {
1269
1281
  :a_key => "some value",
@@ -1273,6 +1285,7 @@ describe Kitchen::Driver::Vagrant do
1273
1285
 
1274
1286
  expect(vagrantfile).to match(regexify(<<-RUBY.gsub(/^ {8}/, "").chomp))
1275
1287
  c.vm.provider :virtualbox do |p|
1288
+ p.name = "kitchen-#{File.basename(config[:kitchen_root])}-suitey-fooos-99"
1276
1289
  p.customize ["modifyvm", :id, "--a_key", "some value"]
1277
1290
  p.customize ["modifyvm", :id, "--something", "else"]
1278
1291
  end
@@ -1292,6 +1305,7 @@ describe Kitchen::Driver::Vagrant do
1292
1305
 
1293
1306
  expect(vagrantfile).to match(regexify(<<-RUBY.gsub(/^ {8}/, "").chomp))
1294
1307
  c.vm.provider :virtualbox do |p|
1308
+ p.name = "kitchen-#{File.basename(config[:kitchen_root])}-suitey-fooos-99"
1295
1309
  p.gui = false
1296
1310
  end
1297
1311
  RUBY
@@ -1303,6 +1317,7 @@ describe Kitchen::Driver::Vagrant do
1303
1317
 
1304
1318
  expect(vagrantfile).to match(regexify(<<-RUBY.gsub(/^ {8}/, "").chomp))
1305
1319
  c.vm.provider :virtualbox do |p|
1320
+ p.name = "kitchen-#{File.basename(config[:kitchen_root])}-suitey-fooos-99"
1306
1321
  p.gui = true
1307
1322
  end
1308
1323
  RUBY
@@ -1322,6 +1337,7 @@ describe Kitchen::Driver::Vagrant do
1322
1337
 
1323
1338
  expect(vagrantfile).to match(regexify(<<-RUBY.gsub(/^ {8}/, "").chomp))
1324
1339
  c.vm.provider :virtualbox do |p|
1340
+ p.name = "kitchen-#{File.basename(config[:kitchen_root])}-suitey-fooos-99"
1325
1341
  p.linked_clone = false
1326
1342
  end
1327
1343
  RUBY
@@ -1333,6 +1349,7 @@ describe Kitchen::Driver::Vagrant do
1333
1349
 
1334
1350
  expect(vagrantfile).to match(regexify(<<-RUBY.gsub(/^ {8}/, "").chomp))
1335
1351
  c.vm.provider :virtualbox do |p|
1352
+ p.name = "kitchen-#{File.basename(config[:kitchen_root])}-suitey-fooos-99"
1336
1353
  p.linked_clone = true
1337
1354
  end
1338
1355
  RUBY
@@ -1349,6 +1366,7 @@ describe Kitchen::Driver::Vagrant do
1349
1366
 
1350
1367
  expect(vagrantfile).to match(regexify(<<-RUBY.gsub(/^ {8}/, "").chomp))
1351
1368
  c.vm.provider :virtualbox do |p|
1369
+ p.name = "kitchen-#{File.basename(config[:kitchen_root])}-suitey-fooos-99"
1352
1370
  p.customize ["createhd", "--filename", "./d1.vmdk", "--size", 10240]
1353
1371
  end
1354
1372
  RUBY
@@ -1371,6 +1389,7 @@ describe Kitchen::Driver::Vagrant do
1371
1389
 
1372
1390
  expect(vagrantfile).to match(regexify(<<-RUBY.gsub(/^ {8}/, "").chomp))
1373
1391
  c.vm.provider :virtualbox do |p|
1392
+ p.name = "kitchen-#{File.basename(config[:kitchen_root])}-suitey-fooos-99"
1374
1393
  p.customize ["createhd", "--filename", "./d1.vmdk", "--size", 10240]
1375
1394
  p.customize ["createhd", "--filename", "./d2.vmdk", "--size", 20480]
1376
1395
  end
@@ -1390,6 +1409,7 @@ describe Kitchen::Driver::Vagrant do
1390
1409
 
1391
1410
  expect(vagrantfile).to match(regexify(<<-RUBY.gsub(/^ {8}/, "").chomp))
1392
1411
  c.vm.provider :virtualbox do |p|
1412
+ p.name = "kitchen-#{File.basename(config[:kitchen_root])}-suitey-fooos-99"
1393
1413
  p.customize ["storagectl", :id, "--name", "Custom SATA Controller", "--add", "sata", "--controller", "IntelAHCI", "--portcount", 4]
1394
1414
  end
1395
1415
  RUBY
@@ -1413,6 +1433,7 @@ describe Kitchen::Driver::Vagrant do
1413
1433
 
1414
1434
  expect(vagrantfile).to match(regexify(<<-RUBY.gsub(/^ {8}/, "").chomp))
1415
1435
  c.vm.provider :virtualbox do |p|
1436
+ p.name = "kitchen-#{File.basename(config[:kitchen_root])}-suitey-fooos-99"
1416
1437
  p.customize ["storagectl", :id, "--name", "Custom SATA Controller", "--add", "sata", "--controller", "IntelAHCI"]
1417
1438
  p.customize ["storagectl", :id, "--name", "Custom SATA Controller", "--portcount", 4]
1418
1439
  end
@@ -1430,6 +1451,7 @@ describe Kitchen::Driver::Vagrant do
1430
1451
 
1431
1452
  expect(vagrantfile).to match(regexify(<<-RUBY.gsub(/^ {8}/, "").chomp))
1432
1453
  c.vm.provider :virtualbox do |p|
1454
+ p.name = "kitchen-#{File.basename(config[:kitchen_root])}-suitey-fooos-99"
1433
1455
  p.customize ["storageattach", :id, "--type", "hdd", "--port", 1]
1434
1456
  end
1435
1457
  RUBY
@@ -1458,6 +1480,7 @@ describe Kitchen::Driver::Vagrant do
1458
1480
 
1459
1481
  expect(vagrantfile).to match(regexify(<<-RUBY.gsub(/^ {8}/, "").chomp))
1460
1482
  c.vm.provider :virtualbox do |p|
1483
+ p.name = "kitchen-#{File.basename(config[:kitchen_root])}-suitey-fooos-99"
1461
1484
  p.customize ["storageattach", :id, "--storagectl", "SATA Controller", "--port", 1, "--device", 0, "--type", "hdd", "--medium", "./d1.vmdk"]
1462
1485
  p.customize ["storageattach", :id, "--storagectl", "SATA Controller", "--port", 1, "--device", 1, "--type", "hdd", "--medium", "./d2.vmdk"]
1463
1486
  end
@@ -1472,6 +1495,7 @@ describe Kitchen::Driver::Vagrant do
1472
1495
 
1473
1496
  expect(vagrantfile).to match(regexify(<<-RUBY.gsub(/^ {8}/, "").chomp))
1474
1497
  c.vm.provider :virtualbox do |p|
1498
+ p.name = "kitchen-#{File.basename(config[:kitchen_root])}-suitey-fooos-99"
1475
1499
  p.customize ["modifyvm", :id, "--cpuidset", "00000001", "00000002"]
1476
1500
  end
1477
1501
  RUBY
@@ -90,6 +90,11 @@ Vagrant.configure("2") do |c|
90
90
  <% end %>
91
91
 
92
92
  c.vm.provider :<%= config[:provider] %> do |p|
93
+ <% case config[:provider]
94
+ when "virtualbox" %>
95
+ p.name = "kitchen-<%= File.basename(config[:kitchen_root]) %>-<%= instance.name %>"
96
+ <% end %>
97
+
93
98
  <% case config[:provider]
94
99
  when "virtualbox", /^vmware_/
95
100
  if config[:gui] == true || config[:gui] == false %>
@@ -102,8 +107,9 @@ Vagrant.configure("2") do |c|
102
107
  if config[:linked_clone] == true || config[:linked_clone] == false %>
103
108
  p.linked_clone = <%= config[:linked_clone] %>
104
109
  <% end
105
- when "hyperv"
106
- if config[:linked_clone] == true || config[:linked_clone] == false %>
110
+ when "hyperv" %>
111
+ p.vmname = "kitchen-<%= File.basename(config[:kitchen_root]) %>-<%= instance.name %>"
112
+ <% if config[:linked_clone] == true || config[:linked_clone] == false %>
107
113
  p.differencing_disk = <%= config[:linked_clone] %>
108
114
  <% end
109
115
  end %>
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: 1.3.2
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fletcher Nichol
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-24 00:00:00.000000000 Z
11
+ date: 2018-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-kitchen
@@ -80,20 +80,6 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.9'
83
- - !ruby/object:Gem::Dependency
84
- name: github_changelog_generator
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '='
88
- - !ruby/object:Gem::Version
89
- version: 1.11.3
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '='
95
- - !ruby/object:Gem::Version
96
- version: 1.11.3
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: chefstyle
99
85
  requirement: !ruby/object:Gem::Requirement
@@ -124,6 +110,7 @@ files:
124
110
  - LICENSE
125
111
  - README.md
126
112
  - Rakefile
113
+ - example/kitchen.vagrant.yml
127
114
  - kitchen-vagrant.gemspec
128
115
  - lib/kitchen/driver/helpers.rb
129
116
  - lib/kitchen/driver/vagrant.rb