kitchen-vcenter 2.7.9 → 2.7.12

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: 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