kitchen-vcenter 2.1.0 → 2.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 42c7852178bc1dcfc969a8bf7e425bd47dd69cc6bcf912c2e2448b8a98fac78d
4
- data.tar.gz: 14f6e34a3f3ad7e9c8fe137b1266124a12af27a13d2527a4f4bebfc8b419bb2b
3
+ metadata.gz: be70461cce1a547dea1adf6f9e8d6455b1e8ac94cdc7b5fef4770dbc99e30351
4
+ data.tar.gz: 3fe4497e67f00349262f712c80d7ab9946348be345213eb69b51f484996ca39c
5
5
  SHA512:
6
- metadata.gz: fd7aa018d79d571d67cb222df22146f12ab1e2c45e259afad4ada7569439adee363ba5972abe991139f3638850a4822bed5ce684d26dc0d22faee1fde426c277
7
- data.tar.gz: 4d90cb4b2e62da501b0e047365086921f88001e2b48914f535c0cadff15412c77ab488bcd49bdd596283732c1227bcf44701581da783c3e043851bf711030f3c
6
+ metadata.gz: 1c2cc7a1372169dcd36e7806a51f7db5ea8b5f16402b2f7d618b4d0f137d537b6bd4d6a43b83339ebb7818315d753100eb1d424ee95c7764388c764d66a84728
7
+ data.tar.gz: 2ea80d7060c5360d35eb2e19f2e6e223a74138e3b08649f5c5594996f759ea16398485cf80c0c6d59305d14f4ff7ceac5cb51ebf93ce26209ab92956103db3b6
@@ -20,5 +20,5 @@
20
20
  # The main kitchen-vcenter module
21
21
  module KitchenVcenter
22
22
  # The version of this version of test-kitchen we assume enterprises want.
23
- VERSION = "2.1.0"
23
+ VERSION = "2.2.1"
24
24
  end
@@ -52,6 +52,7 @@ module Kitchen
52
52
  default_config :vm_wait_interval, 2.0
53
53
  default_config :vm_rollback, false
54
54
  default_config :customize, nil
55
+ default_config :interface, nil
55
56
 
56
57
  # The main create method
57
58
  #
@@ -118,6 +119,7 @@ module Kitchen
118
119
  resource_pool: config[:resource_pool],
119
120
  clone_type: config[:clone_type],
120
121
  network_name: config[:network_name],
122
+ interface: config[:interface],
121
123
  wait_timeout: config[:vm_wait_timeout],
122
124
  wait_interval: config[:vm_wait_interval],
123
125
  customize: config[:customize],
@@ -16,10 +16,25 @@ class Support
16
16
  def get_ip(vm)
17
17
  @ip = nil
18
18
 
19
+ # Don't simply use vm.guest.ipAddress to allow specifying a different interface
19
20
  unless vm.guest.net.empty? || !vm.guest.ipAddress
20
- @ip = vm.guest.net[0].ipConfig.ipAddress.detect do |addr|
21
- addr.origin != "linklayer"
22
- end.ipAddress
21
+ nics = vm.guest.net
22
+ if options[:interface]
23
+ nics.select! { |nic| nic.network == options[:interface] }
24
+
25
+ raise format("No interfaces found on VM which are attached to network '%s'", options[:interface]) if nics.empty?
26
+ end
27
+
28
+ vm_ip = nil
29
+ nics.each do |net|
30
+ vm_ip = net.ipConfig.ipAddress.detect { |addr| addr.origin != "linklayer" }
31
+ break unless vm_ip.nil?
32
+ end
33
+
34
+ extended_msg = options[:interface] ? "Network #{options[:interface]}" : ""
35
+ raise format("No valid IP found on VM %s", extended_msg) if vm_ip.nil?
36
+
37
+ @ip = vm_ip.ipAddress
23
38
  end
24
39
 
25
40
  ip
@@ -167,7 +182,7 @@ class Support
167
182
  task.wait_for_completion
168
183
  end
169
184
 
170
- if options[:poweron] && !options[:customize].nil?
185
+ if options[:poweron] && !options[:customize].nil? && options[:clone_type] != :instant
171
186
  task = vm.PowerOnVM_Task
172
187
  task.wait_for_completion
173
188
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-vcenter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-27 00:00:00.000000000 Z
11
+ date: 2019-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbvmomi