vmware_web_service 1.0.8 → 2.1.0
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 +4 -4
- data/lib/VMwareWebService/MiqVim.rb +23 -5
- data/lib/VMwareWebService/MiqVimCustomizationSpecManager.rb +1 -1
- data/lib/VMwareWebService/MiqVimVm.rb +1 -1
- data/lib/VMwareWebService/version.rb +1 -1
- metadata +7 -23
- data/lib/VMwareWebService/MiqPbmInventory.rb +0 -67
- data/lib/VMwareWebService/PbmService.rb +0 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d5a7058d7db794775f6a27766ae62dc2e17b6334d3d69c3dce8dc73df888906
|
4
|
+
data.tar.gz: 2b1fc2a2d07776d19c995cdc56e271d9bf14303534960c5f60a2d9b3f85b7429
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6a4bfefe875d792e2020d087cb913f2a418515ebb5a05a8f60814781227405b58985bd33e091d856ac28777658675aa8507a57b4975ff87d48a3966b0255c9b
|
7
|
+
data.tar.gz: 93543cf64a0c43a43ea82b585418f9e95cb4e4c2f367b3aac5969b753b47a75799520734951aa38731b0a2f2f9dbbf3b69b72cae7c402aadb03313e15e3766eb
|
@@ -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,12 +16,11 @@ 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
|
24
22
|
|
25
|
-
# @param server [String] DNS name or IP address of the vCenter Server
|
23
|
+
# @param server [String] DNS name or IP address of the vCenter Server
|
26
24
|
# @param username [String] Username to connect to the vCenter Server
|
27
25
|
# @param password [String] Password to connect to the vCenter Server
|
28
26
|
# @param cacheScope [Symbol] A pre-defined set of properties to cache (default: nil)
|
@@ -32,10 +30,11 @@ class MiqVim < MiqVimInventory
|
|
32
30
|
# @param notifyMethod [Method] A optional method to call for each update (default: nil)
|
33
31
|
# @param maxWait [Integer] How many seconds to wait before breaking out of WaitForUpdates (default: 60)
|
34
32
|
# @param maxObjects [Integer] How many objects to return from each WaitForUpdates page (default: 250)
|
35
|
-
def initialize(server, username, password, cacheScope = nil, monitor_updates =
|
33
|
+
def initialize(server, username, password, cacheScope = nil, monitor_updates = nil, preLoad = nil, debugUpdates = false, notifyMethod = nil, maxWait = 60, maxObjects = 250)
|
36
34
|
super(server, username, password, cacheScope)
|
37
35
|
|
38
|
-
|
36
|
+
monitor_updates = self.class.monitor_updates if monitor_updates.nil?
|
37
|
+
preLoad = self.class.pre_load if preLoad.nil?
|
39
38
|
|
40
39
|
@monitor_updates = monitor_updates
|
41
40
|
@updateMonitorReady = false
|
@@ -48,6 +47,25 @@ class MiqVim < MiqVimInventory
|
|
48
47
|
start_monitor_updates_thread(preLoad) if @monitor_updates
|
49
48
|
end
|
50
49
|
|
50
|
+
@@monitor_updates = false
|
51
|
+
@@pre_load = false
|
52
|
+
|
53
|
+
def self.monitor_updates
|
54
|
+
@@monitor_updates
|
55
|
+
end
|
56
|
+
|
57
|
+
def self.monitor_updates=(val)
|
58
|
+
@@monitor_updates = val
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.pre_load
|
62
|
+
@@pre_load
|
63
|
+
end
|
64
|
+
|
65
|
+
def self.pre_load=(val)
|
66
|
+
@@pre_load = val
|
67
|
+
end
|
68
|
+
|
51
69
|
def getVimVm(path)
|
52
70
|
$vim_log.info "MiqVimMod.getVimVm: called"
|
53
71
|
miqVimVm = nil
|
@@ -909,7 +909,7 @@ class MiqVimVm
|
|
909
909
|
scsi_controllers.sort_by { |s| s["key"].to_i }.each do |scsi_controller|
|
910
910
|
# Skip if all controller units are populated
|
911
911
|
# Bus has 16 units, controller takes up 1 unit itself
|
912
|
-
device = Array
|
912
|
+
device = Array(scsi_controller["device"])
|
913
913
|
next if device.count >= MAX_SCSI_DEVICES
|
914
914
|
|
915
915
|
# We've found the lowest scsi controller with an available unit
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vmware_web_service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ManageIQ Developers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,20 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 5.2.4.3
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
22
|
+
version: '6.1'
|
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:
|
29
|
+
version: 5.2.4.3
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
32
|
+
version: '6.1'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: ffi-vix_disk_lib
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,20 +92,6 @@ dependencies:
|
|
92
92
|
- - "<"
|
93
93
|
- !ruby/object:Gem::Version
|
94
94
|
version: '5'
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
name: rbvmomi
|
97
|
-
requirement: !ruby/object:Gem::Requirement
|
98
|
-
requirements:
|
99
|
-
- - "~>"
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '2.0'
|
102
|
-
type: :runtime
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
requirements:
|
106
|
-
- - "~>"
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
version: '2.0'
|
109
95
|
- !ruby/object:Gem::Dependency
|
110
96
|
name: bundler
|
111
97
|
requirement: !ruby/object:Gem::Requirement
|
@@ -221,7 +207,6 @@ files:
|
|
221
207
|
- lib/VMwareWebService/MiqHostSnmpSystem.rb
|
222
208
|
- lib/VMwareWebService/MiqHostStorageSystem.rb
|
223
209
|
- lib/VMwareWebService/MiqHostVirtualNicManager.rb
|
224
|
-
- lib/VMwareWebService/MiqPbmInventory.rb
|
225
210
|
- lib/VMwareWebService/MiqVim.rb
|
226
211
|
- lib/VMwareWebService/MiqVimAlarmManager.rb
|
227
212
|
- lib/VMwareWebService/MiqVimBroker.rb
|
@@ -242,7 +227,6 @@ files:
|
|
242
227
|
- lib/VMwareWebService/MiqVimUpdate.rb
|
243
228
|
- lib/VMwareWebService/MiqVimVdlMod.rb
|
244
229
|
- lib/VMwareWebService/MiqVimVm.rb
|
245
|
-
- lib/VMwareWebService/PbmService.rb
|
246
230
|
- lib/VMwareWebService/VimConstants.rb
|
247
231
|
- lib/VMwareWebService/VimMappingRegistry.rb
|
248
232
|
- lib/VMwareWebService/VimPropMaps.rb
|
@@ -4476,7 +4460,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
4476
4460
|
- !ruby/object:Gem::Version
|
4477
4461
|
version: '0'
|
4478
4462
|
requirements: []
|
4479
|
-
rubygems_version: 3.
|
4463
|
+
rubygems_version: 3.2.0.rc.2
|
4480
4464
|
signing_key:
|
4481
4465
|
specification_version: 4
|
4482
4466
|
summary: A ruby interface to Vmware Web Services SDK
|
@@ -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
|