vmware_web_service 1.0.4 → 2.0.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: bf458b0ee907d865de6b6f76056211521d9ea407d679b89820b6b5e830f5b391
4
- data.tar.gz: 236271031fa9a0ccf67db10cddba18715d28f4ea4a3eac7b200afefd32681ac8
3
+ metadata.gz: c50f9705793229e2bb90be9e9cd66eb3d5271add4c43c86ae1c768576d6de1da
4
+ data.tar.gz: a7c0beba91d970bc794b5ce83936994d67ecd1e9c3e0f0615fb67bfdb3dae9ff
5
5
  SHA512:
6
- metadata.gz: b757264625977fcd1168dd70a0b1dd6fa64dfdf8481036dc988c529e929a05f2dc0967931cfb71b1dcfdafadeb61a600502126a70fc6eaa028ebb883ee72ab3e
7
- data.tar.gz: ed2f8d1f3697d9523a59ce5ce2f721769e30c07cb890b7d3e19f16d87c5729c8b1f710ab4bbb466d488071367faa050bfca0a6a6b2056e685e5b072a4f08be8e
6
+ metadata.gz: 64b5bb8532b651ddbb528127bc6590767d35762cbb35288e7c730a04c254a86170cdf93d0861d32aa82fbc403ee2c16990ceb9ff9a85b71fc0400e2df2feb7bb
7
+ data.tar.gz: cf65edf6a8deab300e7868bb4a83b84443b723a36be3e4721a974e130109df7a3ff10f77f7db666f89431d9da7109dd5b4514d912fb6643c98f921db06d2c44a
@@ -1,7 +1,6 @@
1
1
  require 'sync'
2
2
 
3
3
  require 'VMwareWebService/MiqVimInventory'
4
- require 'VMwareWebService/MiqPbmInventory'
5
4
  require 'VMwareWebService/MiqVimVm'
6
5
  require 'VMwareWebService/MiqVimVdlMod'
7
6
  require 'VMwareWebService/MiqVimFolder'
@@ -17,7 +16,6 @@ require 'VMwareWebService/MiqVimUpdate'
17
16
 
18
17
  class MiqVim < MiqVimInventory
19
18
  include MiqVimVdlConnectionMod
20
- include MiqPbmInventory
21
19
  include MiqVimUpdate
22
20
 
23
21
  attr_reader :updateThread, :monitor_updates
@@ -35,8 +33,6 @@ class MiqVim < MiqVimInventory
35
33
  def initialize(server, username, password, cacheScope = nil, monitor_updates = false, preLoad = false, debugUpdates = false, notifyMethod = nil, maxWait = 60, maxObjects = 250)
36
34
  super(server, username, password, cacheScope)
37
35
 
38
- pbm_initialize(self)
39
-
40
36
  @monitor_updates = monitor_updates
41
37
  @updateMonitorReady = false
42
38
  @error = nil
@@ -34,7 +34,7 @@ class MiqVimCustomizationSpecManager
34
34
  specs = info
35
35
  return [] if specs.nil?
36
36
 
37
- specs = specs.dup.to_miq_a
37
+ specs = Array.wrap(specs.dup)
38
38
  specs.each { |s| s['spec'] = getCustomizationSpec(s['name'].to_s).spec }
39
39
  specs
40
40
  end
@@ -290,8 +290,8 @@ class MiqVimDataStore
290
290
  if block_given?
291
291
  open(fileUrl, options) { |ret| yield(ret) }
292
292
  else
293
- meta = {}; data = nil
294
- open(fileUrl, options) { |ret| data = ret.read; meta = ret.meta }
293
+ data = nil
294
+ open(fileUrl, options) { |ret| data = ret.read }
295
295
  return data
296
296
  end
297
297
  end
@@ -120,7 +120,7 @@ class MiqVimEventMonitor < MiqVimInventory
120
120
  next unless (vmObj = virtualMachinesByMor_locked[eventVmObj['vm']])
121
121
 
122
122
  eventVmObj['path'] = vmObj['summary']['config']['vmPathName']
123
- eventVmObj['uuid'] = vmObj['summary']['config']['uuid']
123
+ eventVmObj['uuid'] = vmObj['summary']['config']['uuid'].presence
124
124
 
125
125
  removeVirtualMachine(eventVmObj['vm']) if event['eventType'] == 'VmRemovedEvent'
126
126
  end
@@ -1138,18 +1138,18 @@ class MiqVimInventory < MiqVimClientBase
1138
1138
 
1139
1139
  $vim_log.info "MiqVimInventory.datacenters_locked: loading Datacenter cache for #{@connId}"
1140
1140
  begin
1141
- @cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
1141
+ @cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
1142
1142
 
1143
- ra = getMoPropMulti(inventoryHash_locked['Datacenter'], @propMap[:Datacenter][:props])
1143
+ ra = getMoPropMulti(inventoryHash_locked['Datacenter'], @propMap[:Datacenter][:props])
1144
1144
 
1145
- @datacenters = {}
1146
- @datacentersByMor = {}
1147
- ra.each do |dcObj|
1148
- addObjHash(:Datacenter, dcObj)
1145
+ @datacenters = {}
1146
+ @datacentersByMor = {}
1147
+ ra.each do |dcObj|
1148
+ addObjHash(:Datacenter, dcObj)
1149
+ end
1150
+ ensure
1151
+ @cacheLock.sync_unlock if unlock
1149
1152
  end
1150
- ensure
1151
- @cacheLock.sync_unlock if unlock
1152
- end
1153
1153
  $vim_log.info "MiqVimInventory.datacenters_locked: loaded Datacenter cache for #{@connId}"
1154
1154
 
1155
1155
  @datacenters
@@ -112,7 +112,7 @@ module MiqVimUpdate
112
112
  version = updates_version
113
113
  sleep @updateDelay if @updateDelay
114
114
  end # while @monitor
115
- rescue SignalException => err
115
+ rescue SignalException
116
116
  # Ignore signals, except TERM
117
117
  rescue => herr
118
118
  if herr.respond_to?(:reason) && herr.reason == 'The task was canceled by a user.'
@@ -87,14 +87,6 @@ class MiqVimVm
87
87
  # @invObj.releaseObj(self)
88
88
  end
89
89
 
90
- def vmMor
91
- (@vmMor)
92
- end
93
-
94
- def vmh
95
- (@vmh)
96
- end
97
-
98
90
  #######################
99
91
  # Power state methods.
100
92
  #######################
@@ -317,24 +309,24 @@ class MiqVimVm
317
309
  return(@snapshotInfo) if @snapshotInfo && !refresh
318
310
 
319
311
  begin
320
- @cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
321
-
322
- unless (ssp = @invObj.getMoProp_local(@vmMor, "snapshot"))
323
- @snapshotInfo = nil
324
- return(nil)
325
- end
312
+ @cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
326
313
 
327
- ssObj = ssp["snapshot"]
328
- ssMorHash = {}
329
- rsl = ssObj['rootSnapshotList']
330
- rsl = [rsl] unless rsl.kind_of?(Array)
331
- rsl.each { |rs| @invObj.snapshotFixup(rs, ssMorHash) }
332
- ssObj['ssMorHash'] = ssMorHash
333
- @snapshotInfo = ssObj
334
- ensure
335
- @cacheLock.sync_unlock if unlock
314
+ unless (ssp = @invObj.getMoProp_local(@vmMor, "snapshot"))
315
+ @snapshotInfo = nil
316
+ return(nil)
336
317
  end
337
318
 
319
+ ssObj = ssp["snapshot"]
320
+ ssMorHash = {}
321
+ rsl = ssObj['rootSnapshotList']
322
+ rsl = [rsl] unless rsl.kind_of?(Array)
323
+ rsl.each { |rs| @invObj.snapshotFixup(rs, ssMorHash) }
324
+ ssObj['ssMorHash'] = ssMorHash
325
+ @snapshotInfo = ssObj
326
+ ensure
327
+ @cacheLock.sync_unlock if unlock
328
+ end
329
+
338
330
  (@snapshotInfo)
339
331
  end # def snapshotInfo_locked
340
332
 
@@ -800,11 +792,11 @@ class MiqVimVm
800
792
  bck.writeThrough = "false"
801
793
  bck.fileName = backingFile
802
794
  begin
803
- dsn = @invObj.path2dsName(@dsPath)
804
- bck.datastore = @invObj.dsName2mo_local(dsn)
805
- rescue
806
- bck.datastore = nil
807
- end
795
+ dsn = @invObj.path2dsName(@dsPath)
796
+ bck.datastore = @invObj.dsName2mo_local(dsn)
797
+ rescue
798
+ bck.datastore = nil
799
+ end
808
800
  end
809
801
  end
810
802
  end
@@ -856,11 +848,11 @@ class MiqVimVm
856
848
  bck.writeThrough = "false"
857
849
  bck.fileName = backingFile
858
850
  begin
859
- dsn = @invObj.path2dsName(@dsPath)
860
- bck.datastore = @invObj.dsName2mo(dsn)
861
- rescue
862
- bck.datastore = nil
863
- end
851
+ dsn = @invObj.path2dsName(@dsPath)
852
+ bck.datastore = @invObj.dsName2mo(dsn)
853
+ rescue
854
+ bck.datastore = nil
855
+ end
864
856
  end unless deleteBacking
865
857
  end
866
858
  end
@@ -917,13 +909,14 @@ class MiqVimVm
917
909
  scsi_controllers.sort_by { |s| s["key"].to_i }.each do |scsi_controller|
918
910
  # Skip if all controller units are populated
919
911
  # Bus has 16 units, controller takes up 1 unit itself
920
- next if scsi_controller["device"].to_miq_a.count >= MAX_SCSI_DEVICES
912
+ device = Array.wrap(scsi_controller["device"])
913
+ next if device.count >= MAX_SCSI_DEVICES
921
914
 
922
915
  # We've found the lowest scsi controller with an available unit
923
916
  controller_key = scsi_controller["key"]
924
917
 
925
918
  # Get a list of disks on this controller
926
- disks = devices.select { |dev| scsi_controller["device"].to_miq_a.include?(dev["key"]) }
919
+ disks = devices.select { |dev| device.include?(dev["key"]) }
927
920
 
928
921
  # Get a list of all populated units on the controller
929
922
  populated_units = disks.collect { |disk| disk["unitNumber"].to_i }
@@ -1037,24 +1030,24 @@ class MiqVimVm
1037
1030
  end
1038
1031
 
1039
1032
  begin
1040
- @cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
1041
-
1042
- alarmManager = @sic.alarmManager
1043
- #
1044
- # Add disabled if VM is running.
1045
- #
1046
- if poweredOff?
1047
- aSpec = @miqAlarmSpecEnabled
1048
- else
1049
- aSpec = @miqAlarmSpecDisabled
1050
- end
1051
- $vim_log.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).addMiqAlarm_locked: calling createAlarm" if $vim_log
1052
- alarmMor = @invObj.createAlarm(alarmManager, @vmMor, aSpec)
1053
- $vim_log.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).addMiqAlarm_locked: returned from createAlarm" if $vim_log
1054
- @miqAlarmMor = alarmMor
1055
- ensure
1056
- @cacheLock.sync_unlock if unlock
1033
+ @cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
1034
+
1035
+ alarmManager = @sic.alarmManager
1036
+ #
1037
+ # Add disabled if VM is running.
1038
+ #
1039
+ if poweredOff?
1040
+ aSpec = @miqAlarmSpecEnabled
1041
+ else
1042
+ aSpec = @miqAlarmSpecDisabled
1057
1043
  end
1044
+ $vim_log.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).addMiqAlarm_locked: calling createAlarm" if $vim_log
1045
+ alarmMor = @invObj.createAlarm(alarmManager, @vmMor, aSpec)
1046
+ $vim_log.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).addMiqAlarm_locked: returned from createAlarm" if $vim_log
1047
+ @miqAlarmMor = alarmMor
1048
+ ensure
1049
+ @cacheLock.sync_unlock if unlock
1050
+ end
1058
1051
 
1059
1052
  (alarmMor)
1060
1053
  end # def addMiqAlarm_locked
@@ -1,3 +1,3 @@
1
1
  module VMwareWebService
2
- VERSION = '1.0.4'.freeze
2
+ VERSION = '2.0.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,35 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vmware_web_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ManageIQ Developers
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-17 00:00:00.000000000 Z
11
+ date: 2020-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '5.0'
20
- - - "<"
19
+ version: 5.2.4
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: '5.3'
22
+ version: 5.2.4.3
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ">="
27
+ - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '5.0'
30
- - - "<"
29
+ version: 5.2.4
30
+ - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: '5.3'
32
+ version: 5.2.4.3
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: ffi-vix_disk_lib
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -76,30 +76,22 @@ dependencies:
76
76
  name: more_core_extensions
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - "~>"
79
+ - - ">="
80
80
  - !ruby/object:Gem::Version
81
81
  version: '3.2'
82
+ - - "<"
83
+ - !ruby/object:Gem::Version
84
+ version: '5'
82
85
  type: :runtime
83
86
  prerelease: false
84
87
  version_requirements: !ruby/object:Gem::Requirement
85
88
  requirements:
86
- - - "~>"
89
+ - - ">="
87
90
  - !ruby/object:Gem::Version
88
91
  version: '3.2'
89
- - !ruby/object:Gem::Dependency
90
- name: rbvmomi
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: '2.0'
96
- type: :runtime
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - "~>"
92
+ - - "<"
101
93
  - !ruby/object:Gem::Version
102
- version: '2.0'
94
+ version: '5'
103
95
  - !ruby/object:Gem::Dependency
104
96
  name: bundler
105
97
  requirement: !ruby/object:Gem::Requirement
@@ -199,7 +191,7 @@ dependencies:
199
191
  - !ruby/object:Gem::Version
200
192
  version: '0'
201
193
  description: A ruby interface to Vmware Web Services SDK
202
- email:
194
+ email:
203
195
  executables: []
204
196
  extensions: []
205
197
  extra_rdoc_files: []
@@ -215,7 +207,6 @@ files:
215
207
  - lib/VMwareWebService/MiqHostSnmpSystem.rb
216
208
  - lib/VMwareWebService/MiqHostStorageSystem.rb
217
209
  - lib/VMwareWebService/MiqHostVirtualNicManager.rb
218
- - lib/VMwareWebService/MiqPbmInventory.rb
219
210
  - lib/VMwareWebService/MiqVim.rb
220
211
  - lib/VMwareWebService/MiqVimAlarmManager.rb
221
212
  - lib/VMwareWebService/MiqVimBroker.rb
@@ -236,7 +227,6 @@ files:
236
227
  - lib/VMwareWebService/MiqVimUpdate.rb
237
228
  - lib/VMwareWebService/MiqVimVdlMod.rb
238
229
  - lib/VMwareWebService/MiqVimVm.rb
239
- - lib/VMwareWebService/PbmService.rb
240
230
  - lib/VMwareWebService/VimConstants.rb
241
231
  - lib/VMwareWebService/VimMappingRegistry.rb
242
232
  - lib/VMwareWebService/VimPropMaps.rb
@@ -4455,7 +4445,7 @@ homepage: https://github.com/ManageIQ/vmware_web_service
4455
4445
  licenses:
4456
4446
  - Apache-2.0
4457
4447
  metadata: {}
4458
- post_install_message:
4448
+ post_install_message:
4459
4449
  rdoc_options: []
4460
4450
  require_paths:
4461
4451
  - lib
@@ -4471,7 +4461,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
4471
4461
  version: '0'
4472
4462
  requirements: []
4473
4463
  rubygems_version: 3.1.3
4474
- signing_key:
4464
+ signing_key:
4475
4465
  specification_version: 4
4476
4466
  summary: A ruby interface to Vmware Web Services SDK
4477
4467
  test_files: []
@@ -1,67 +0,0 @@
1
- require 'VMwareWebService/PbmService'
2
-
3
- module MiqPbmInventory
4
- def pbm_initialize(vim)
5
- begin
6
- # SPBM endpoint was introduced in vSphere Management SDK 5.5 and
7
- # isn't supported by Hosts (only vCenters)
8
- @pbm_svc = PbmService.new(vim) if apiVersion >= '5.5' && isVirtualCenter
9
- rescue => err
10
- $vim_log.warn("MiqPbmInventory: Failed to connect to SPBM endpoint: #{err}")
11
- end
12
- end
13
-
14
- def pbmProfilesByUid(_selspec = nil)
15
- profiles = {}
16
- return profiles if @pbm_svc.nil?
17
-
18
- begin
19
- profile_ids = @pbm_svc.queryProfile
20
- @pbm_svc.retrieveContent(profile_ids).to_a.each do |pbm_profile|
21
- uid = pbm_profile.profileId.uniqueId
22
-
23
- profiles[uid] = pbm_profile
24
- end
25
- rescue => err
26
- $vim_log.warn("MiqPbmInventory: pbmProfilesByUid: #{err}")
27
- end
28
-
29
- profiles
30
- end
31
-
32
- def pbmQueryAssociatedEntity(profile_ids)
33
- assoc_entities = {}
34
- return assoc_entities if @pbm_svc.nil?
35
-
36
- begin
37
- profile_ids.each do |profile_id|
38
- # If a string was passed in create a PbmProfileId object
39
- profile_id = RbVmomi::PBM::PbmProfileId(:uniqueId => profile_id) if profile_id.kind_of?(String)
40
-
41
- assoc_entities[profile_id.uniqueId] = @pbm_svc.queryAssociatedEntity(profile_id)
42
- end
43
- rescue => err
44
- $vim_log.warn("MiqPbmInventory: pbmQueryAssociatedEntity: #{err}")
45
- end
46
-
47
- assoc_entities
48
- end
49
-
50
- def pbmQueryMatchingHub(profile_ids)
51
- hubs = {}
52
- return hubs if @pbm_svc.nil?
53
-
54
- begin
55
- profile_ids.each do |profile_id|
56
- # If a string was passed in create a PbmProfileId object
57
- profile_id = RbVmomi::PBM::PbmProfileId(:uniqueId => profile_id) if profile_id.kind_of?(String)
58
-
59
- hubs[profile_id.uniqueId] = @pbm_svc.queryMatchingHub(profile_id)
60
- end
61
- rescue => err
62
- $vim_log.warn("MiqPbmInventory: pbmQueryMatchingHub: #{err}")
63
- end
64
-
65
- hubs
66
- end
67
- end
@@ -1,36 +0,0 @@
1
- require 'rbvmomi'
2
- require 'rbvmomi/pbm'
3
-
4
- PbmVimConnection = Struct.new(:host, :cookie)
5
-
6
- class PbmService
7
- def initialize(vim)
8
- # RbVmomi::PBM#connect expects a RbVmomi::VIM object, use a struct
9
- # to fake it out into using our vim Handsoap connection
10
- pbm_vim_conn = PbmVimConnection.new(vim.server.dup, vim.session_cookie.dup)
11
-
12
- @pbm = RbVmomi::PBM.connect(pbm_vim_conn, :insecure => true)
13
- @sic = @pbm.serviceContent
14
- end
15
-
16
- def queryAssociatedEntity(profileId)
17
- @sic.profileManager.PbmQueryAssociatedEntity(:profile => profileId)
18
- end
19
-
20
- def queryMatchingHub(profileId, hubsToSearch = nil)
21
- @sic.placementSolver.PbmQueryMatchingHub(
22
- :profile => profileId,
23
- :hubsToSearch => hubsToSearch
24
- )
25
- end
26
-
27
- def queryProfile
28
- @sic.profileManager.PbmQueryProfile(
29
- :resourceType => RbVmomi::PBM::PbmProfileResourceType(:resourceType => "STORAGE")
30
- )
31
- end
32
-
33
- def retrieveContent(profileIds)
34
- @sic.profileManager.PbmRetrieveContent(:profileIds => profileIds)
35
- end
36
- end