kitchen-vcenter 2.7.9 → 2.7.12

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: 8386b994051575b7997042ebd3c818de171a8de1ca34a39e13672800b986f216
4
- data.tar.gz: 611d99f79e9d90ba850b1b0f04f126f3ca8acbb7c5000861c2d32310602f8f63
3
+ metadata.gz: 7085ec77febee812284fdba85d1002f2f1d6bae3ee1e02a7f264efb761217a30
4
+ data.tar.gz: df5e365f5821f623f7d8328ed7381ad710d9a62534970102fce3a4600195917b
5
5
  SHA512:
6
- metadata.gz: 678e749a5da30a917227c6f057836177b0a70a7f2d3b79a5272b76ee1a26aa33191234fd31211a43d31e4137e1c6184c6b2307d7a75658bcd5e944214a4cf523
7
- data.tar.gz: adf8a44b1a88c6274e1ee7070c7055b203fb033ebffb6723476fc3db6abfd6a8660fc16693a0cae8f4419bef34e550bc75de5a3c99a903f90e34b81bc252a531
6
+ metadata.gz: 744634197d4ba4c19fb461226f42afbbca219e77054829ba5cb3a7a2b1b7cd10c29d94a3bb1416b840b04dc26bd5a6ba3a1dffa2827c3af9009f9f67130a3eb3
7
+ data.tar.gz: 389178a1c61df997e790cc06cbb3a3d5ae7aa7d6303e946f5cf8ef7499fe65003a6419d7f1a120d6c0da99d3f524b68cdf4dae6e1ee2beab5929a2d47ae5f945
@@ -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.7.9"
23
+ VERSION = "2.7.12"
24
24
  end
@@ -20,8 +20,8 @@ require "vsphere-automation-cis"
20
20
  require "vsphere-automation-vcenter"
21
21
  require_relative "../../kitchen-vcenter/version"
22
22
  require_relative "../../support/clone_vm"
23
- require "securerandom"
24
- require "uri"
23
+ require "securerandom" unless defined?(SecureRandom)
24
+ require "uri" unless defined?(URI)
25
25
 
26
26
  # The main kitchen module
27
27
  module Kitchen
@@ -137,7 +137,7 @@ module Kitchen
137
137
  unless config[:folder].nil?
138
138
  config[:folder] = {
139
139
  name: config[:folder],
140
- id: get_folder(config[:folder]),
140
+ id: get_folder(config[:folder], "VIRTUAL_MACHINE", datacenter),
141
141
  }
142
142
  end
143
143
 
@@ -335,13 +335,19 @@ module Kitchen
335
335
  #
336
336
  # @param [name] name is the name of the folder
337
337
  # @param [type] type is the type of the folder, one of VIRTUAL_MACHINE, DATACENTER, possibly other values
338
- def get_folder(name, type = "VIRTUAL_MACHINE")
338
+ # @param [datacenter] datacenter is the datacenter of the folder
339
+ def get_folder(name, type = "VIRTUAL_MACHINE", datacenter = nil)
339
340
  folder_api = VSphereAutomation::VCenter::FolderApi.new(api_client)
340
- folders = folder_api.list({ filter_names: name, filter_type: type }).value
341
+ parent_path, basename = File.split(name)
342
+ filter = { filter_names: basename, filter_type: type }
343
+ filter[:filter_datacenters] = datacenter if datacenter
344
+ filter[:filter_parent_folders] = get_folder(parent_path, type, datacenter) unless parent_path == "."
341
345
 
342
- raise format("Unable to find folder: %s", name) if folders.empty?
346
+ folders = folder_api.list(filter).value
343
347
 
344
- raise format("%s returned too many folders", name) if folders.length > 1
348
+ raise format("Unable to find folder: %s", basename) if folders.empty?
349
+
350
+ raise format("`%s` returned too many folders", basename) if folders.length > 1
345
351
 
346
352
  folders.first.folder
347
353
  end
@@ -1,5 +1,5 @@
1
1
  require "rbvmomi"
2
- require "net/http"
2
+ require "net/http" unless defined?(Net::HTTP)
3
3
 
4
4
  class Support
5
5
  # Encapsulate VMware Tools GOM interaction, inspired by github:dnuffer/raidopt
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.7.9
4
+ version: 2.7.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-06 00:00:00.000000000 Z
11
+ date: 2020-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbvmomi