kitchen-vagrant 0.17.0 → 0.18.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: 0a68efbcb6f53a8948a48797d7f090bc3485ace7
4
- data.tar.gz: 3f82aee0f6cda30b19b38b10df0b6c31c6c2d597
3
+ metadata.gz: 0217562d1cdfdc41b66c913b4fd79cf11719b457
4
+ data.tar.gz: 6d99a767f3dc6154a3b5019c2bc72cf5525acbb1
5
5
  SHA512:
6
- metadata.gz: 0e318d5feff607a59c938b6e1f6ab9a848e942b4966f3a4bf9b0cff249ae32aabc0c48653c28eacf2e5e67a3cc4abaddb5325a585f8af4b00c2af9e7aecd8286
7
- data.tar.gz: bfd9f9d1dc2f538cab61403d05137f6a63f427e8e3b4ae9cfeb38852b433db827edbcab25e393b0f2c501795ed50feade37cbd533977f069d8681cdf1d4f4bc5
6
+ metadata.gz: 5fe5750855c7efd561e4643886213a8855d8bbeee9e2755b8bd7fd1c394d60cc677e34dabc403afa14f47b9a93c77d4541dda6fd3b3676b83d9fceaa294ea09d
7
+ data.tar.gz: f124d452f8d77fec21cb7f2b9ded0ebde8035dc7e30b324325978ebcb4ca02db1912a0e1888229da2f72c35f8f7b8f52e96e2a936769784ddea720bddd21f8b2
@@ -1,3 +1,14 @@
1
+ ## 0.18.0 / 2015-05-07
2
+
3
+ ### Bug fixes
4
+
5
+ * Pull request [#161][]: Add handling for winrm communicator in username & password handling. ([@atiniir][])
6
+
7
+ ### Improvements
8
+
9
+ * Pull request [#166][]: Allow a fuzzier match for known Bento box names. ([@fnichol][])
10
+
11
+
1
12
  ## 0.17.0 / 2015-04-28
2
13
 
3
14
  (*A selected roll-up of 0.17.0 pre-release changelogs*)
@@ -302,6 +313,8 @@ The initial release.
302
313
  [#156]: https://github.com/test-kitchen/kitchen-vagrant/issues/156
303
314
  [#157]: https://github.com/test-kitchen/kitchen-vagrant/issues/157
304
315
  [#158]: https://github.com/test-kitchen/kitchen-vagrant/issues/158
316
+ [#161]: https://github.com/test-kitchen/kitchen-vagrant/issues/161
317
+ [#166]: https://github.com/test-kitchen/kitchen-vagrant/issues/166
305
318
  [@Annih]: https://github.com/Annih
306
319
  [@Igorshp]: https://github.com/Igorshp
307
320
  [@RobertRehberg]: https://github.com/RobertRehberg
@@ -311,6 +324,7 @@ The initial release.
311
324
  [@antonio-osorio]: https://github.com/antonio-osorio
312
325
  [@arangamani]: https://github.com/arangamani
313
326
  [@ashb]: https://github.com/ashb
327
+ [@atiniir]: https://github.com/atiniir
314
328
  [@bdclark]: https://github.com/bdclark
315
329
  [@bradleyd]: https://github.com/bradleyd
316
330
  [@byggztryng]: https://github.com/byggztryng
@@ -93,7 +93,7 @@ module Kitchen
93
93
 
94
94
  # @return [String,nil] the Vagrant box for this Instance
95
95
  def default_box
96
- if bento_boxes.include?(instance.platform.name)
96
+ if bento_box?(instance.platform.name)
97
97
  "opscode-#{instance.platform.name}"
98
98
  else
99
99
  instance.platform.name
@@ -102,7 +102,7 @@ module Kitchen
102
102
 
103
103
  # @return [String,nil] the Vagrant box URL for this Instance
104
104
  def default_box_url
105
- return unless bento_boxes.include?(instance.platform.name)
105
+ return unless bento_box?(instance.platform.name)
106
106
 
107
107
  provider = config[:provider]
108
108
  provider = "vmware" if config[:provider] =~ /^vmware_(.+)$/
@@ -186,17 +186,15 @@ module Kitchen
186
186
  attr_accessor :vagrant_version
187
187
  end
188
188
 
189
- # Retuns a list of Vagrant base boxes produced by the Bento project
189
+ # Retuns whether or not a platform name could have a correcponding Bento
190
+ # box produced by the Bento project.
190
191
  # (https://github.com/chef/bento).
191
192
  #
192
- # @return [Arrau<String>] list of Bento box names
193
+ # @return [TrueClass,FalseClass] whether or not the name could be a Bento
194
+ # box
193
195
  # @api private
194
- def bento_boxes
195
- %W[
196
- centos-5.11 centos-6.6 centos-7.0 debian-6.0.10 debian-7.8 fedora-20
197
- fedora-21 freebsd-9.3 freebsd-10.1 opensuse-13.1 ubuntu-10.04
198
- ubuntu-12.04 ubuntu-14.04 ubuntu-14.10
199
- ].map { |name| [name, "#{name}-i386"] }.flatten
196
+ def bento_box?(name)
197
+ name =~ /^(centos|debian|fedora|freebsd|opensuse|ubuntu)-/
200
198
  end
201
199
 
202
200
  # Renders and writes out a Vagrantfile dedicated to this instance.
@@ -21,6 +21,6 @@ module Kitchen
21
21
  module Driver
22
22
 
23
23
  # Version string for Vagrant Kitchen driver
24
- VAGRANT_VERSION = "0.17.0"
24
+ VAGRANT_VERSION = "0.18.0"
25
25
  end
26
26
  end
@@ -79,42 +79,45 @@ describe Kitchen::Driver::Vagrant do
79
79
 
80
80
  describe "configuration" do
81
81
 
82
- context "for known bento platform names" do
82
+ %W[centos debian fedora opensuse ubuntu].each do |name|
83
83
 
84
- before { allow(platform).to receive(:name) { "ubuntu-14.04" } }
84
+ context "for known bento platform names starting with #{name}" do
85
85
 
86
- it "sets :box based on the platform name by default" do
87
- expect(driver[:box]).to eq("opscode-ubuntu-14.04")
88
- end
86
+ before { allow(platform).to receive(:name) { "#{name}-99.04" } }
89
87
 
90
- it "sets :box to a custom value" do
91
- config[:box] = "booya"
88
+ it "sets :box based on the platform name by default" do
89
+ expect(driver[:box]).to eq("opscode-#{name}-99.04")
90
+ end
92
91
 
93
- expect(driver[:box]).to eq("booya")
94
- end
92
+ it "sets :box to a custom value" do
93
+ config[:box] = "booya"
95
94
 
96
- it "sets :box_url to a bento box URL for a virtualbox provider" do
97
- config[:provider] = "virtualbox"
95
+ expect(driver[:box]).to eq("booya")
96
+ end
98
97
 
99
- expect(driver[:box_url]).to eq(
100
- "https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/" \
101
- "opscode_ubuntu-14.04_chef-provisionerless.box"
102
- )
103
- end
98
+ it "sets :box_url to a bento box URL for a virtualbox provider" do
99
+ config[:provider] = "virtualbox"
104
100
 
105
- it "sets :box_url to a bento box URL for a vmware-based provider" do
106
- config[:provider] = "vmware_awesometown"
101
+ expect(driver[:box_url]).to eq(
102
+ "https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/" \
103
+ "opscode_#{name}-99.04_chef-provisionerless.box"
104
+ )
105
+ end
107
106
 
108
- expect(driver[:box_url]).to eq(
109
- "https://opscode-vm-bento.s3.amazonaws.com/vagrant/vmware/" \
110
- "opscode_ubuntu-14.04_chef-provisionerless.box"
111
- )
112
- end
107
+ it "sets :box_url to a bento box URL for a vmware-based provider" do
108
+ config[:provider] = "vmware_awesometown"
113
109
 
114
- it "sets :box_url to nil for any other provider" do
115
- config[:provider] = "the-next-coolness"
110
+ expect(driver[:box_url]).to eq(
111
+ "https://opscode-vm-bento.s3.amazonaws.com/vagrant/vmware/" \
112
+ "opscode_#{name}-99.04_chef-provisionerless.box"
113
+ )
114
+ end
116
115
 
117
- expect(driver[:box_url]).to eq(nil)
116
+ it "sets :box_url to nil for any other provider" do
117
+ config[:provider] = "the-next-coolness"
118
+
119
+ expect(driver[:box_url]).to eq(nil)
120
+ end
118
121
  end
119
122
  end
120
123
 
@@ -935,6 +938,22 @@ describe Kitchen::Driver::Vagrant do
935
938
  expect(vagrantfile).to match(regexify(%{c.ssh.password = "okay"}))
936
939
  end
937
940
 
941
+ it "sets communicator.username if :communicator and :username are set" do
942
+ config[:communicator] = "wat"
943
+ config[:username] = "jdoe"
944
+ cmd
945
+
946
+ expect(vagrantfile).to match(regexify(%{c.wat.username = "jdoe"}))
947
+ end
948
+
949
+ it "sets communicator.password if :communicator and :password are set" do
950
+ config[:communicator] = "wat"
951
+ config[:password] = "okay"
952
+ cmd
953
+
954
+ expect(vagrantfile).to match(regexify(%{c.wat.password = "okay"}))
955
+ end
956
+
938
957
  it "sets no ssh.private_key_path if missing" do
939
958
  config[:ssh_key] = nil
940
959
  cmd
@@ -30,18 +30,33 @@ Vagrant.configure("2") do |c|
30
30
  c.vm.guest = "<%= config[:guest] %>"
31
31
  <% end %>
32
32
 
33
- <% if config[:username] %>
34
- c.ssh.username = "<%= config[:username] %>"
35
- <% end %>
36
- <% if config[:password] %>
37
- c.ssh.password = "<%= config[:password] %>"
33
+ <% if config[:communicator] %>
34
+ <% if config[:username] %>
35
+ c.<%= config[:communicator] %>.username = "<%= config[:username] %>"
36
+ <% end %>
37
+ <% if config[:password] %>
38
+ c.<%= config[:communicator] %>.password = "<%= config[:password] %>"
39
+ <% end %>
40
+ <% else %>
41
+ <% if config[:username] %>
42
+ c.ssh.username = "<%= config[:username] %>"
43
+ <% end %>
44
+ <% if config[:password] %>
45
+ c.ssh.password = "<%= config[:password] %>"
46
+ <% end %>
38
47
  <% end %>
48
+
39
49
  <% if config[:ssh_key] %>
40
50
  c.ssh.private_key_path = "<%= config[:ssh_key] %>"
41
51
  <% end %>
42
52
  <% config[:ssh].each do |key, value| %>
43
53
  c.ssh.<%= key %> = <%= value %>
44
54
  <% end %>
55
+ <% if config[:winrm] %>
56
+ <% config[:winrm].each do |key, value| %>
57
+ c.winrm.<%= key %> = <%= value %>
58
+ <% end %>
59
+ <% end %>
45
60
 
46
61
  <% Array(config[:network]).each do |opts| %>
47
62
  c.vm.network(:<%= opts[0] %>, <%= opts[1..-1].join(", ") %>)
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.17.0
4
+ version: 0.18.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: 2015-04-28 00:00:00.000000000 Z
11
+ date: 2015-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-kitchen