vmware_web_service 2.1.1 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/VMwareWebService/MiqHostDatastoreSystem.rb +5 -1
- data/lib/VMwareWebService/MiqVim.rb +58 -56
- data/lib/VMwareWebService/MiqVimClientBase.rb +11 -10
- data/lib/VMwareWebService/MiqVimCluster.rb +6 -2
- data/lib/VMwareWebService/MiqVimDataStore.rb +9 -6
- data/lib/VMwareWebService/MiqVimDump.rb +1 -1
- data/lib/VMwareWebService/MiqVimEventHistoryCollector.rb +5 -1
- data/lib/VMwareWebService/MiqVimEventMonitor.rb +22 -20
- data/lib/VMwareWebService/MiqVimFolder.rb +15 -11
- data/lib/VMwareWebService/MiqVimHost.rb +15 -13
- data/lib/VMwareWebService/MiqVimInventory.rb +78 -79
- data/lib/VMwareWebService/MiqVimPerfHistory.rb +13 -10
- data/lib/VMwareWebService/MiqVimUpdate.rb +50 -50
- data/lib/VMwareWebService/MiqVimVdlMod.rb +7 -7
- data/lib/VMwareWebService/MiqVimVm.rb +102 -101
- data/lib/VMwareWebService/VimService.rb +5 -2
- data/lib/VMwareWebService/VixDiskLib/VixDiskLib.rb +10 -6
- data/lib/VMwareWebService/VixDiskLib/VixDiskLibServer.rb +15 -13
- data/lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb +26 -25
- data/lib/VMwareWebService/exception.rb +0 -2
- data/lib/VMwareWebService/logging.rb +16 -0
- data/lib/VMwareWebService/version.rb +1 -1
- data/lib/vmware_web_service.rb +2 -0
- metadata +6 -25
- data/lib/VMwareWebService/DMiqVim.rb +0 -95
- data/lib/VMwareWebService/DMiqVimSync.rb +0 -45
- data/lib/VMwareWebService/MiqVimBroker.rb +0 -581
- data/lib/VMwareWebService/MiqVimBrokerMods.rb +0 -222
- data/lib/VMwareWebService/MiqVimCoreUpdater.rb +0 -269
- data/lib/VMwareWebService/miq_fault_tolerant_vim.rb +0 -246
@@ -1,4 +1,8 @@
|
|
1
|
+
require 'VMwareWebService/logging'
|
2
|
+
|
1
3
|
class MiqVimEventHistoryCollector
|
4
|
+
include VMwareWebService::Logging
|
5
|
+
|
2
6
|
attr_reader :invObj
|
3
7
|
|
4
8
|
def initialize(invObj, eventFilterSpec = nil, pgSize = 20)
|
@@ -14,7 +18,7 @@ class MiqVimEventHistoryCollector
|
|
14
18
|
|
15
19
|
def release
|
16
20
|
return unless @eventHistoryCollector
|
17
|
-
|
21
|
+
logger.info "MiqVimEventHistoryCollector.release: destroying #{@eventHistoryCollector}"
|
18
22
|
@invObj.destroyCollector(@eventHistoryCollector)
|
19
23
|
@eventHistoryCollector = nil
|
20
24
|
end
|
@@ -1,15 +1,17 @@
|
|
1
|
-
require '
|
1
|
+
require 'VMwareWebService/logging'
|
2
2
|
require 'VMwareWebService/MiqVimInventory'
|
3
3
|
|
4
4
|
class MiqVimEventMonitor < MiqVimInventory
|
5
|
-
|
6
|
-
super(server, username, password, :cache_scope_event_monitor)
|
5
|
+
include VMwareWebService::Logging
|
7
6
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
@
|
12
|
-
@
|
7
|
+
def initialize(server:, username:, password:, port: 443, ssl_options: {}, event_filter_spec: nil, page_size: 100, max_wait: 60)
|
8
|
+
super(:server => server, :port => port, :ssl_options => ssl_options, :username => username, :password => password, :cache_scope => :cache_scope_event_monitor)
|
9
|
+
|
10
|
+
@eventFilterSpec = event_filter_spec || VimHash.new("EventFilterSpec")
|
11
|
+
@pgSize = page_size
|
12
|
+
@maxWait = max_wait
|
13
|
+
@_monitorEvents = true
|
14
|
+
@emPropCol = nil
|
13
15
|
|
14
16
|
hostSystemsByMor
|
15
17
|
# datacentersByMor
|
@@ -73,25 +75,25 @@ class MiqVimEventMonitor < MiqVimInventory
|
|
73
75
|
end
|
74
76
|
rescue HTTPClient::ReceiveTimeoutError => terr
|
75
77
|
retry if isAlive?
|
76
|
-
|
78
|
+
logger.debug "MiqVimEventMonitor.monitorEvents: connection lost"
|
77
79
|
raise
|
78
80
|
end
|
79
81
|
rescue SignalException => err
|
80
82
|
ensure
|
81
|
-
|
83
|
+
logger.info "MiqVimEventMonitor: calling destroyPropertyFilter"
|
82
84
|
destroyPropertyFilter(filterSpecRef) if filterSpecRef
|
83
|
-
|
85
|
+
logger.info "MiqVimEventMonitor: returned from destroyPropertyFilter"
|
84
86
|
disconnect
|
85
87
|
end
|
86
88
|
end # def monitorEvents
|
87
89
|
|
88
90
|
def stop
|
89
|
-
|
91
|
+
logger.info "MiqVimEventMonitor stopping..."
|
90
92
|
@_monitorEvents = false
|
91
93
|
if @emPropCol
|
92
|
-
|
94
|
+
logger.info "MiqVimEventMonitor: calling cancelWaitForUpdates"
|
93
95
|
cancelWaitForUpdates(@emPropCol)
|
94
|
-
|
96
|
+
logger.info "MiqVimEventMonitor: returned from cancelWaitForUpdates"
|
95
97
|
end
|
96
98
|
end
|
97
99
|
|
@@ -100,14 +102,14 @@ class MiqVimEventMonitor < MiqVimInventory
|
|
100
102
|
|
101
103
|
def fixupEvent(event)
|
102
104
|
unless event.kind_of?(Hash)
|
103
|
-
|
105
|
+
logger.error "MiqVimEventMonitor.fixupEvent: Expecting Hash, got #{event.class}"
|
104
106
|
if event.kind_of?(Array)
|
105
107
|
event.each_index do |i|
|
106
|
-
|
107
|
-
|
108
|
+
logger.error "MiqVimEventMonitor.fixupEvent: event[#{i}] is a #{event[i].class}"
|
109
|
+
logger.error "\tMiqVimEventMonitor.fixupEvent: event[#{i}] = #{event[i].inspect}"
|
108
110
|
end
|
109
111
|
else
|
110
|
-
|
112
|
+
logger.error "\tMiqVimEventMonitor.fixupEvent: event = #{event.inspect}"
|
111
113
|
end
|
112
114
|
raise "MiqVimEventMonitor.fixupEvent: Expecting Hash, got #{event.class}"
|
113
115
|
end
|
@@ -164,8 +166,8 @@ class MiqVimEventMonitor < MiqVimInventory
|
|
164
166
|
begin
|
165
167
|
cancelTask(String.new(e['info']['task'].to_str))
|
166
168
|
rescue => err
|
167
|
-
|
168
|
-
|
169
|
+
logger.error err.to_s
|
170
|
+
logger.error err.backtrace.join("\n")
|
169
171
|
end
|
170
172
|
end
|
171
173
|
end # module MiqVimEventMonitor
|
@@ -1,4 +1,8 @@
|
|
1
|
+
require 'VMwareWebService/logging'
|
2
|
+
|
1
3
|
class MiqVimFolder
|
4
|
+
include VMwareWebService::Logging
|
5
|
+
|
2
6
|
attr_reader :name, :invObj
|
3
7
|
|
4
8
|
def initialize(invObj, fh)
|
@@ -36,10 +40,10 @@ class MiqVimFolder
|
|
36
40
|
hmor = (host.kind_of?(Hash) ? host['MOR'] : host) if host
|
37
41
|
pmor = (pool.kind_of?(Hash) ? pool['MOR'] : pool) if pool
|
38
42
|
|
39
|
-
|
43
|
+
logger.info "MiqVimFolder(#{@invObj.server}, #{@invObj.username}).registerVM: calling registerVM_Task"
|
40
44
|
taskMor = @invObj.registerVM_Task(@fMor, path, name, asTemplate.to_s, pmor, hmor)
|
41
|
-
|
42
|
-
|
45
|
+
logger.info "MiqVimFolder(#{@invObj.server}, #{@invObj.username}).registerVM: returned from registerVM_Task"
|
46
|
+
logger.debug "MiqVimFolder::registerVM: taskMor = #{taskMor}"
|
43
47
|
waitForTask(taskMor)
|
44
48
|
end
|
45
49
|
|
@@ -65,9 +69,9 @@ class MiqVimFolder
|
|
65
69
|
cs.vmFolder = ah[:vmFolder] unless ah[:vmFolder].nil?
|
66
70
|
end
|
67
71
|
|
68
|
-
|
72
|
+
logger.info "MiqVimCluster(#{@invObj.server}, #{@invObj.username}).addStandaloneHost: calling addStandaloneHost_Task"
|
69
73
|
taskMor = @invObj.addStandaloneHost_Task(@fMor, cspec, ah[:asConnected].to_s, ah[:license])
|
70
|
-
|
74
|
+
logger.info "MiqVimCluster(#{@invObj.server}, #{@invObj.username}).addStandaloneHost: returned from addStandaloneHost_Task"
|
71
75
|
return taskMor unless ah[:wait]
|
72
76
|
waitForTask(taskMor)
|
73
77
|
end # def addStandaloneHost
|
@@ -77,10 +81,10 @@ class MiqVimFolder
|
|
77
81
|
oMor = nil
|
78
82
|
oMor = (vCenterObject.kind_of?(Hash) ? vCenterObject['MOR'] : vCenterObject) if vCenterObject
|
79
83
|
|
80
|
-
|
84
|
+
logger.info "MiqVimFolder(#{@invObj.server}, #{@invObj.username}).moveIntoFolder: calling moveIntoFolder_Task"
|
81
85
|
taskMor = @invObj.moveIntoFolder_Task(@fMor, oMor)
|
82
|
-
|
83
|
-
|
86
|
+
logger.info "MiqVimFolder(#{@invObj.server}, #{@invObj.username}).moveIntoFolder: returned from moveIntoFolder_Task"
|
87
|
+
logger.debug "MiqVimFolder::moveIntoFolder: taskMor = #{taskMor}"
|
84
88
|
waitForTask(taskMor)
|
85
89
|
end
|
86
90
|
|
@@ -96,10 +100,10 @@ class MiqVimFolder
|
|
96
100
|
hMor = (host.kind_of?(Hash) ? host['MOR'] : host) if host
|
97
101
|
pMor = (pool.kind_of?(Hash) ? pool['MOR'] : pool) if pool
|
98
102
|
|
99
|
-
|
103
|
+
logger.info "MiqVimFolder(#{@invObj.server}, #{@invObj.username}).createVM calling createVM_Task"
|
100
104
|
taskMor = @invObj.createVM_Task(@fMor, configSpec, pMor, hMor)
|
101
|
-
|
102
|
-
|
105
|
+
logger.info "MiqVimFolder(#{@invObj.server}, #{@invObj.username}).createVM returned from createVM_Task"
|
106
|
+
logger.debug "MiqVimFolder::createVM: taskMor = #{taskMor}"
|
103
107
|
waitForTask(taskMor)
|
104
108
|
end
|
105
109
|
|
@@ -1,9 +1,9 @@
|
|
1
1
|
require 'sync'
|
2
2
|
|
3
|
-
require 'enumerator'
|
4
3
|
require "ostruct"
|
5
4
|
|
6
5
|
require 'more_core_extensions/core_ext/hash'
|
6
|
+
require 'VMwareWebService/logging'
|
7
7
|
require 'VMwareWebService/MiqHostDatastoreSystem'
|
8
8
|
require 'VMwareWebService/MiqHostStorageSystem'
|
9
9
|
require 'VMwareWebService/MiqHostFirewallSystem'
|
@@ -14,6 +14,8 @@ require 'VMwareWebService/MiqHostAdvancedOptionManager'
|
|
14
14
|
require 'VMwareWebService/MiqHostSnmpSystem'
|
15
15
|
|
16
16
|
class MiqVimHost
|
17
|
+
include VMwareWebService::Logging
|
18
|
+
|
17
19
|
attr_reader :name, :invObj
|
18
20
|
|
19
21
|
def initialize(invObj, hh)
|
@@ -108,49 +110,49 @@ class MiqVimHost
|
|
108
110
|
end
|
109
111
|
|
110
112
|
def enterMaintenanceMode(timeout = 0, evacuatePoweredOffVms = false, wait = true)
|
111
|
-
|
113
|
+
logger.info "MiqVimHost(#{@invObj.server}, #{@invObj.username}).enterMaintenanceMode: calling enterMaintenanceMode_Task"
|
112
114
|
taskMor = @invObj.enterMaintenanceMode_Task(@hMor, timeout, evacuatePoweredOffVms)
|
113
|
-
|
115
|
+
logger.info "MiqVimHost(#{@invObj.server}, #{@invObj.username}).enterMaintenanceMode: returned from enterMaintenanceMode_Task"
|
114
116
|
return taskMor unless wait
|
115
117
|
waitForTask(taskMor)
|
116
118
|
end
|
117
119
|
|
118
120
|
def exitMaintenanceMode(timeout = 0, wait = true)
|
119
|
-
|
121
|
+
logger.info "MiqVimHost(#{@invObj.server}, #{@invObj.username}).exitMaintenanceMode: calling exitMaintenanceMode_Task"
|
120
122
|
taskMor = @invObj.exitMaintenanceMode_Task(@hMor, timeout)
|
121
|
-
|
123
|
+
logger.info "MiqVimHost(#{@invObj.server}, #{@invObj.username}).exitMaintenanceMode: returned from exitMaintenanceMode_Task"
|
122
124
|
return taskMor unless wait
|
123
125
|
waitForTask(taskMor)
|
124
126
|
end
|
125
127
|
|
126
128
|
def powerDownHostToStandBy(timeout = 0, evacuatePoweredOffVms = false, wait = true)
|
127
|
-
|
129
|
+
logger.info "MiqVimHost(#{@invObj.server}, #{@invObj.username}).powerDownHostToStandBy: calling powerDownHostToStandBy_Task"
|
128
130
|
taskMor = @invObj.powerDownHostToStandBy_Task(@hMor, timeout, evacuatePoweredOffVms)
|
129
|
-
|
131
|
+
logger.info "MiqVimHost(#{@invObj.server}, #{@invObj.username}).powerDownHostToStandBy: returned from powerDownHostToStandBy_Task"
|
130
132
|
return taskMor unless wait
|
131
133
|
waitForTask(taskMor)
|
132
134
|
end
|
133
135
|
|
134
136
|
def powerUpHostFromStandBy(timeout = 0, wait = true)
|
135
|
-
|
137
|
+
logger.info "MiqVimHost(#{@invObj.server}, #{@invObj.username}).powerUpHostFromStandBy: calling powerUpHostFromStandBy_Task"
|
136
138
|
taskMor = @invObj.powerUpHostFromStandBy_Task(@hMor, timeout)
|
137
|
-
|
139
|
+
logger.info "MiqVimHost(#{@invObj.server}, #{@invObj.username}).powerUpHostFromStandBy: returned from powerUpHostFromStandBy_Task"
|
138
140
|
return taskMor unless wait
|
139
141
|
waitForTask(taskMor)
|
140
142
|
end
|
141
143
|
|
142
144
|
def rebootHost(force = false, wait = true)
|
143
|
-
|
145
|
+
logger.info "MiqVimHost(#{@invObj.server}, #{@invObj.username}).rebootHost: calling rebootHost_Task"
|
144
146
|
taskMor = @invObj.rebootHost_Task(@hMor, force)
|
145
|
-
|
147
|
+
logger.info "MiqVimHost(#{@invObj.server}, #{@invObj.username}).rebootHost: returned from rebootHost_Task"
|
146
148
|
return taskMor unless wait
|
147
149
|
waitForTask(taskMor)
|
148
150
|
end
|
149
151
|
|
150
152
|
def shutdownHost(force = false, wait = true)
|
151
|
-
|
153
|
+
logger.info "MiqVimHost(#{@invObj.server}, #{@invObj.username}).shutdownHost: calling shutdownHost_Task"
|
152
154
|
taskMor = @invObj.shutdownHost_Task(@hMor, force)
|
153
|
-
|
155
|
+
logger.info "MiqVimHost(#{@invObj.server}, #{@invObj.username}).shutdownHost: returned from shutdownHost_Task"
|
154
156
|
return taskMor unless wait
|
155
157
|
waitForTask(taskMor)
|
156
158
|
end
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'sync'
|
2
|
-
require 'enumerator'
|
3
2
|
require 'VMwareWebService/MiqVimClientBase'
|
4
3
|
require 'VMwareWebService/MiqVimDump'
|
5
4
|
require 'VMwareWebService/VimPropMaps'
|
@@ -18,31 +17,31 @@ class MiqVimInventory < MiqVimClientBase
|
|
18
17
|
@@selectorHash = {}
|
19
18
|
@@cacheScope = :cache_scope_full
|
20
19
|
|
21
|
-
def initialize(server
|
22
|
-
super(server, username, password)
|
20
|
+
def initialize(server:, username:, password:, port: 443, ssl_options: {}, cache_scope: nil)
|
21
|
+
super(:server => server, :port => port, :ssl_options => ssl_options, :username => username, :password => password)
|
23
22
|
|
24
|
-
|
23
|
+
cache_scope ||= @@cacheScope
|
25
24
|
|
26
|
-
case
|
25
|
+
case cache_scope
|
27
26
|
when :cache_scope_full
|
28
27
|
@propMap = FullPropMap
|
29
|
-
|
28
|
+
logger.info "MiqVimInventory: using property map FullPropMap"
|
30
29
|
when :cache_scope_ems_refresh
|
31
30
|
@propMap = EmsRefreshPropMap
|
32
|
-
|
31
|
+
logger.info "MiqVimInventory: using property map EmsRefreshPropMap"
|
33
32
|
when :cache_scope_core
|
34
33
|
@propMap = CorePropMap
|
35
|
-
|
34
|
+
logger.info "MiqVimInventory: using property map CorePropMap"
|
36
35
|
when :cache_scope_event_monitor
|
37
36
|
@propMap = EventMonitorPropMap
|
38
|
-
|
37
|
+
logger.info "MiqVimInventory: using property map EventMonitorPropMap"
|
39
38
|
else
|
40
39
|
@propMap = FullPropMap
|
41
|
-
|
40
|
+
logger.info "MiqVimInventory: unrecognized cache scope #{cacheScope}, using FullPropMap"
|
42
41
|
end
|
43
42
|
|
44
43
|
# If we are connected to a virtual center then we can access additional properties
|
45
|
-
@propMap.merge!(PropMapVCenter) if isVirtualCenter &&
|
44
|
+
@propMap.merge!(PropMapVCenter) if isVirtualCenter && cache_scope != :cache_scope_event_monitor
|
46
45
|
|
47
46
|
@propCol = @sic.propertyCollector
|
48
47
|
@rootFolder = @sic.rootFolder
|
@@ -88,11 +87,11 @@ class MiqVimInventory < MiqVimClientBase
|
|
88
87
|
|
89
88
|
unless instance_variable_get(hnm).nil?
|
90
89
|
hnmc = instance_variable_get(hnm).keys.length
|
91
|
-
|
90
|
+
logger.info "#{pref}#{hnm}: #{hnmc}"
|
92
91
|
end
|
93
92
|
unless instance_variable_get(hn).nil?
|
94
93
|
hnc = instance_variable_get(hn).keys.length
|
95
|
-
|
94
|
+
logger.info "#{pref}#{hn}: #{hnc}"
|
96
95
|
end
|
97
96
|
end
|
98
97
|
end
|
@@ -108,37 +107,37 @@ class MiqVimInventory < MiqVimClientBase
|
|
108
107
|
hashByKey = pm[:keyPath] ? instance_variable_get(hn) : nil
|
109
108
|
|
110
109
|
if hashByMor.nil?
|
111
|
-
|
110
|
+
logger.info "#{pref}#{hnm}: is nil"
|
112
111
|
next
|
113
112
|
end
|
114
113
|
|
115
114
|
keya = hashByMor.keys
|
116
115
|
obja = hashByMor.values
|
117
|
-
|
118
|
-
|
116
|
+
logger.info "#{pref}#{hnm}: #keys = #{keya.length}"
|
117
|
+
logger.info "#{pref}#{hnm}: #objects = #{obja.length}"
|
119
118
|
obja.compact!
|
120
119
|
obja.uniq!
|
121
|
-
|
120
|
+
logger.info "#{pref}#{hnm}: #unique non-nill objects = #{obja.length}"
|
122
121
|
|
123
122
|
unless hashByKey.nil?
|
124
123
|
keyb = hashByKey.keys
|
125
124
|
objb = hashByKey.values
|
126
|
-
|
127
|
-
|
125
|
+
logger.info "#{pref}#{hn}: #keys = #{keyb.length}"
|
126
|
+
logger.info "#{pref}#{hn}: #objects = #{objb.length}"
|
128
127
|
objb.compact!
|
129
128
|
objb.uniq!
|
130
|
-
|
129
|
+
logger.info "#{pref}#{hn}: #unique non-nill objects = #{objb.length}"
|
131
130
|
obja.concat(objb).uniq!
|
132
131
|
end
|
133
|
-
|
132
|
+
logger.info "#{pref}TOTAL: #unique non-nill objects = #{obja.length}"
|
134
133
|
cacheSz = Marshal.dump(obja).length
|
135
|
-
|
136
|
-
|
134
|
+
logger.info "#{pref}TOTAL: size of objects = #{cacheSz}"
|
135
|
+
logger.info "#{pref}****"
|
137
136
|
totalCacheSz += cacheSz
|
138
137
|
end
|
139
|
-
|
140
|
-
|
141
|
-
|
138
|
+
logger.info "#{pref}****************"
|
139
|
+
logger.info "#{pref}TOTAL: cache size = #{totalCacheSz}"
|
140
|
+
logger.info "#{pref}****************"
|
142
141
|
end
|
143
142
|
totalCacheSz
|
144
143
|
end
|
@@ -219,7 +218,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
219
218
|
end
|
220
219
|
|
221
220
|
def resetCache
|
222
|
-
|
221
|
+
logger.info "MiqVimInventory.resetCache: clearing cache for #{@connId}"
|
223
222
|
@cacheLock.synchronize(:EX) do
|
224
223
|
@inventoryHash = nil
|
225
224
|
|
@@ -228,7 +227,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
228
227
|
instance_variable_set(pm[:baseName], nil)
|
229
228
|
end
|
230
229
|
end
|
231
|
-
|
230
|
+
logger.info "MiqVimInventory.resetCache: cleared cache for #{@connId}"
|
232
231
|
end # def resetCache
|
233
232
|
|
234
233
|
def currentSession
|
@@ -239,11 +238,11 @@ class MiqVimInventory < MiqVimClientBase
|
|
239
238
|
return false unless @alive
|
240
239
|
begin
|
241
240
|
unless currentSession
|
242
|
-
|
241
|
+
logger.info "MiqVimInventory.isAlive?: Current session no longer exists."
|
243
242
|
@alive = false
|
244
243
|
end
|
245
244
|
rescue Exception => err
|
246
|
-
|
245
|
+
logger.info "MiqVimInventory.isAlive?: Could not access connection - #{err}"
|
247
246
|
@alive = false
|
248
247
|
end
|
249
248
|
@alive
|
@@ -278,9 +277,9 @@ class MiqVimInventory < MiqVimClientBase
|
|
278
277
|
if keyPath
|
279
278
|
key = props.fetch_path(keyPath)
|
280
279
|
if !key
|
281
|
-
|
280
|
+
logger.debug "hashObj: key is nil for #{mor}: #{keyPath}"
|
282
281
|
elsif key.empty?
|
283
|
-
|
282
|
+
logger.debug "hashObj: key is empty for #{mor}: #{keyPath}"
|
284
283
|
key = nil
|
285
284
|
props.store_path(keyPath, nil)
|
286
285
|
end
|
@@ -491,7 +490,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
491
490
|
raise "virtualMachines_locked: cache lock not held" unless @cacheLock.sync_locked?
|
492
491
|
return(@virtualMachines) if @virtualMachines
|
493
492
|
|
494
|
-
|
493
|
+
logger.info "MiqVimInventory.virtualMachines_locked: loading VirtualMachine cache for #{@connId}"
|
495
494
|
begin
|
496
495
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
497
496
|
|
@@ -505,7 +504,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
505
504
|
ensure
|
506
505
|
@cacheLock.sync_unlock if unlock
|
507
506
|
end
|
508
|
-
|
507
|
+
logger.info "MiqVimInventory.virtualMachines_locked: loaded VirtualMachine cache for #{@connId}"
|
509
508
|
|
510
509
|
@virtualMachines
|
511
510
|
end # def virtualMachines_locked
|
@@ -617,7 +616,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
617
616
|
raise "computeResources_locked: cache lock not held" unless @cacheLock.sync_locked?
|
618
617
|
return(@computeResources) if @computeResources
|
619
618
|
|
620
|
-
|
619
|
+
logger.info "MiqVimInventory.computeResources_locked: loading ComputeResource cache for #{@connId}"
|
621
620
|
begin
|
622
621
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
623
622
|
|
@@ -631,7 +630,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
631
630
|
ensure
|
632
631
|
@cacheLock.sync_unlock if unlock
|
633
632
|
end
|
634
|
-
|
633
|
+
logger.info "MiqVimInventory.computeResources_locked: loaded ComputeResource cache for #{@connId}"
|
635
634
|
|
636
635
|
@computeResources
|
637
636
|
end # def computeResources_locked
|
@@ -720,7 +719,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
720
719
|
raise "clusterComputeResources_locked: cache lock not held" unless @cacheLock.sync_locked?
|
721
720
|
return(@clusterComputeResources) if @clusterComputeResources
|
722
721
|
|
723
|
-
|
722
|
+
logger.info "MiqVimInventory.clusterComputeResources_locked: loading ClusterComputeResource cache for #{@connId}"
|
724
723
|
begin
|
725
724
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
726
725
|
|
@@ -734,7 +733,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
734
733
|
ensure
|
735
734
|
@cacheLock.sync_unlock if unlock
|
736
735
|
end
|
737
|
-
|
736
|
+
logger.info "MiqVimInventory.clusterComputeResources_locked: loaded ClusterComputeResource cache for #{@connId}"
|
738
737
|
|
739
738
|
@clusterComputeResources
|
740
739
|
end # def clusterComputeResources_locked
|
@@ -823,7 +822,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
823
822
|
raise "resourcePools_locked: cache lock not held" unless @cacheLock.sync_locked?
|
824
823
|
return(@resourcePools) if @resourcePools
|
825
824
|
|
826
|
-
|
825
|
+
logger.info "MiqVimInventory.resourcePools_locked: loading ResourcePool cache for #{@connId}"
|
827
826
|
begin
|
828
827
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
829
828
|
|
@@ -837,7 +836,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
837
836
|
ensure
|
838
837
|
@cacheLock.sync_unlock if unlock
|
839
838
|
end
|
840
|
-
|
839
|
+
logger.info "MiqVimInventory.resourcePools_locked: loaded ResourcePool cache for #{@connId}"
|
841
840
|
|
842
841
|
@resourcePools
|
843
842
|
end # def resourcePools_locked
|
@@ -935,7 +934,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
935
934
|
|
936
935
|
return(@virtualApps) if @virtualApps
|
937
936
|
|
938
|
-
|
937
|
+
logger.info "MiqVimInventory.virtualApps_locked: loading VirtualApp cache for #{@connId}"
|
939
938
|
begin
|
940
939
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
941
940
|
|
@@ -949,7 +948,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
949
948
|
ensure
|
950
949
|
@cacheLock.sync_unlock if unlock
|
951
950
|
end
|
952
|
-
|
951
|
+
logger.info "MiqVimInventory.virtualApps_locked: loaded VirtualApp cache for #{@connId}"
|
953
952
|
|
954
953
|
@virtualApps
|
955
954
|
end # def virtualApps_locked
|
@@ -1038,7 +1037,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1038
1037
|
raise "folders_locked: cache lock not held" unless @cacheLock.sync_locked?
|
1039
1038
|
return(@folders) if @folders
|
1040
1039
|
|
1041
|
-
|
1040
|
+
logger.info "MiqVimInventory.folders_locked: loading Folder cache for #{@connId}"
|
1042
1041
|
begin
|
1043
1042
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
1044
1043
|
|
@@ -1052,7 +1051,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1052
1051
|
ensure
|
1053
1052
|
@cacheLock.sync_unlock if unlock
|
1054
1053
|
end
|
1055
|
-
|
1054
|
+
logger.info "MiqVimInventory.folders_locked: loaded Folder cache for #{@connId}"
|
1056
1055
|
|
1057
1056
|
@folders
|
1058
1057
|
end # def folders_locked
|
@@ -1141,7 +1140,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1141
1140
|
raise "datacenters_locked: cache lock not held" unless @cacheLock.sync_locked?
|
1142
1141
|
return(@datacenters) if @datacenters
|
1143
1142
|
|
1144
|
-
|
1143
|
+
logger.info "MiqVimInventory.datacenters_locked: loading Datacenter cache for #{@connId}"
|
1145
1144
|
begin
|
1146
1145
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
1147
1146
|
|
@@ -1155,7 +1154,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1155
1154
|
ensure
|
1156
1155
|
@cacheLock.sync_unlock if unlock
|
1157
1156
|
end
|
1158
|
-
|
1157
|
+
logger.info "MiqVimInventory.datacenters_locked: loaded Datacenter cache for #{@connId}"
|
1159
1158
|
|
1160
1159
|
@datacenters
|
1161
1160
|
end # def datacenters_locked
|
@@ -1244,7 +1243,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1244
1243
|
raise "hostSystems_locked: cache lock not held" unless @cacheLock.sync_locked?
|
1245
1244
|
return(@hostSystems) if @hostSystems
|
1246
1245
|
|
1247
|
-
|
1246
|
+
logger.info "MiqVimInventory.hostSystems_locked: loading HostSystem cache for #{@connId}"
|
1248
1247
|
begin
|
1249
1248
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
1250
1249
|
|
@@ -1258,7 +1257,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1258
1257
|
ensure
|
1259
1258
|
@cacheLock.sync_unlock if unlock
|
1260
1259
|
end
|
1261
|
-
|
1260
|
+
logger.info "MiqVimInventory.hostSystems_locked: loaded HostSystem cache for #{@connId}"
|
1262
1261
|
|
1263
1262
|
@hostSystems
|
1264
1263
|
end # def hostSystems_locked
|
@@ -1369,7 +1368,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1369
1368
|
raise "dataStores_locked: cache lock not held" unless @cacheLock.sync_locked?
|
1370
1369
|
return(@dataStores) if @dataStores
|
1371
1370
|
|
1372
|
-
|
1371
|
+
logger.info "MiqVimInventory.dataStores_locked: loading Datastore cache for #{@connId}"
|
1373
1372
|
begin
|
1374
1373
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
1375
1374
|
|
@@ -1383,7 +1382,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1383
1382
|
ensure
|
1384
1383
|
@cacheLock.sync_unlock if unlock
|
1385
1384
|
end
|
1386
|
-
|
1385
|
+
logger.info "MiqVimInventory.dataStores_locked: loaded Datastore cache for #{@connId}"
|
1387
1386
|
|
1388
1387
|
@dataStores
|
1389
1388
|
end # def dataStores_locked
|
@@ -1488,7 +1487,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1488
1487
|
raise "dvPortgroups_locked: cache lock not held" unless @cacheLock.sync_locked?
|
1489
1488
|
return(@dvPortgroups) if @dvPortgroups
|
1490
1489
|
|
1491
|
-
|
1490
|
+
logger.info "MiqVimInventory.dvPortgroups_locked: loading DV Portgroup cache for #{@connId}"
|
1492
1491
|
begin
|
1493
1492
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
1494
1493
|
|
@@ -1502,7 +1501,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1502
1501
|
ensure
|
1503
1502
|
@cacheLock.sync_unlock if unlock
|
1504
1503
|
end
|
1505
|
-
|
1504
|
+
logger.info "MiqVimInventory.dvPortgroups_locked: loaded DV Portgroup cache for #{@connId}"
|
1506
1505
|
|
1507
1506
|
@dvPortgroups
|
1508
1507
|
end # def dvPortgroups_locked
|
@@ -1576,7 +1575,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1576
1575
|
raise "dvSwitches_locked: cache lock not held" unless @cacheLock.sync_locked?
|
1577
1576
|
return(@dvSwithces) if @dvSwitches
|
1578
1577
|
|
1579
|
-
|
1578
|
+
logger.info "MiqVimInventory.dvSwitches_locked: loading DV Switch cache for #{@connId}"
|
1580
1579
|
|
1581
1580
|
base_class = 'DistributedVirtualSwitch'.freeze
|
1582
1581
|
child_classes = VimClass.child_classes(base_class)
|
@@ -1596,7 +1595,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1596
1595
|
ensure
|
1597
1596
|
@cacheLock.sync_unlock if unlock
|
1598
1597
|
end
|
1599
|
-
|
1598
|
+
logger.info "MiqVimInventory.dvSwitches_locked: loaded DV Switch cache for #{@connId}"
|
1600
1599
|
|
1601
1600
|
@dvSwitches
|
1602
1601
|
end # def dvSwitches_locked
|
@@ -1669,7 +1668,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1669
1668
|
raise "storagePods_locked: cache lock not held" unless @cacheLock.sync_locked?
|
1670
1669
|
return(@storagePods) if @storagePods
|
1671
1670
|
|
1672
|
-
|
1671
|
+
logger.info "MiqVimInventory.storagePods_locked: loading Datastore Cluster cache for #{@connId}"
|
1673
1672
|
begin
|
1674
1673
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
1675
1674
|
|
@@ -1683,7 +1682,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1683
1682
|
ensure
|
1684
1683
|
@cacheLock.sync_unlock if unlock
|
1685
1684
|
end
|
1686
|
-
|
1685
|
+
logger.info "MiqVimInventory.storagePods_locked: loaded Datastore Cluster cache for #{@connId}"
|
1687
1686
|
|
1688
1687
|
@storagePods
|
1689
1688
|
end # def storagePods_locked
|
@@ -1761,7 +1760,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1761
1760
|
raise "licenseManagers_locked: cache lock not held" unless @cacheLock.sync_locked?
|
1762
1761
|
return(@licenseManagers) if @licenseManagers
|
1763
1762
|
|
1764
|
-
|
1763
|
+
logger.info "MiqVimInventory.licenseManagers_locked: loading LicenseManager cache for #{@connId}"
|
1765
1764
|
begin
|
1766
1765
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
1767
1766
|
|
@@ -1775,7 +1774,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1775
1774
|
ensure
|
1776
1775
|
@cacheLock.sync_unlock if unlock
|
1777
1776
|
end
|
1778
|
-
|
1777
|
+
logger.info "MiqVimInventory.licenseManagers_locked: loaded LicenseManager cache for #{@connId}"
|
1779
1778
|
|
1780
1779
|
@licenseManagers
|
1781
1780
|
end # def licenseManagers_locked
|
@@ -1871,7 +1870,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1871
1870
|
raise "extensionManagers_locked: cache lock not held" unless @cacheLock.sync_locked?
|
1872
1871
|
return(@extensionManagers) if @extensionManagers
|
1873
1872
|
|
1874
|
-
|
1873
|
+
logger.info "MiqVimInventory.extensionManagers_locked: loading ExtensionManager cache for #{@connId}"
|
1875
1874
|
begin
|
1876
1875
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
1877
1876
|
|
@@ -1885,7 +1884,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
1885
1884
|
ensure
|
1886
1885
|
@cacheLock.sync_unlock if unlock
|
1887
1886
|
end
|
1888
|
-
|
1887
|
+
logger.info "MiqVimInventory.extensionManagers_locked: loaded ExtensionManager cache for #{@connId}"
|
1889
1888
|
|
1890
1889
|
@extensionManagers
|
1891
1890
|
end # def extensionManagers_locked
|
@@ -1977,22 +1976,22 @@ class MiqVimInventory < MiqVimClientBase
|
|
1977
1976
|
raise "inventoryHash_locked: cache lock not held" unless @cacheLock.sync_locked?
|
1978
1977
|
return(@inventoryHash) if @inventoryHash
|
1979
1978
|
|
1980
|
-
|
1979
|
+
logger.info "MiqVimInventory.inventoryHash_locked: loading inventoryHash for #{@connId}"
|
1981
1980
|
begin
|
1982
1981
|
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
1983
1982
|
|
1984
|
-
|
1983
|
+
logger.info "MiqVimInventory(#{@server}, #{@username}).inventoryHash_locked: calling retrieveProperties"
|
1985
1984
|
|
1986
1985
|
@inventoryHash = {}
|
1987
1986
|
retrievePropertiesIter(@propCol, @spec) do |oc|
|
1988
1987
|
(@inventoryHash[oc.obj.vimType] ||= []) << oc.obj
|
1989
1988
|
end
|
1990
1989
|
|
1991
|
-
|
1990
|
+
logger.info "MiqVimInventory(#{@server}, #{@username}).inventoryHash_locked: returned from retrieveProperties"
|
1992
1991
|
ensure
|
1993
1992
|
@cacheLock.sync_unlock if unlock
|
1994
1993
|
end
|
1995
|
-
|
1994
|
+
logger.info "MiqVimInventory.inventoryHash_locked: loaded inventoryHash for #{@connId}"
|
1996
1995
|
|
1997
1996
|
@inventoryHash
|
1998
1997
|
end
|
@@ -2009,9 +2008,9 @@ class MiqVimInventory < MiqVimClientBase
|
|
2009
2008
|
# Generate a user event associated with the given managed object.
|
2010
2009
|
#
|
2011
2010
|
def logUserEvent(entity, msg)
|
2012
|
-
|
2011
|
+
logger.info "MiqVimInventory(#{@server}, #{@username}).logUserEvent: calling logUserEvent"
|
2013
2012
|
super(@sic.eventManager, entity, msg)
|
2014
|
-
|
2013
|
+
logger.info "MiqVimInventory(#{@server}, #{@username}).logUserEvent: returned from logUserEvent"
|
2015
2014
|
end
|
2016
2015
|
|
2017
2016
|
##################################
|
@@ -2184,13 +2183,13 @@ class MiqVimInventory < MiqVimClientBase
|
|
2184
2183
|
|
2185
2184
|
def getTaskMor(tmor)
|
2186
2185
|
if tmor.respond_to?(:vimType)
|
2187
|
-
|
2186
|
+
logger.debug "getTaskMor: returning #{tmor}, no search"
|
2188
2187
|
return tmor
|
2189
2188
|
else
|
2190
|
-
|
2189
|
+
logger.debug "getTaskMor: searching for task #{tmor}"
|
2191
2190
|
getTasks.each do |tmo|
|
2192
2191
|
if tmo.to_str == tmor
|
2193
|
-
|
2192
|
+
logger.debug "getTaskMor: returning #{tmo} (#{tmo.vimType})"
|
2194
2193
|
return tmo
|
2195
2194
|
end
|
2196
2195
|
end
|
@@ -2205,7 +2204,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
2205
2204
|
def waitForTask(tmor, className = nil)
|
2206
2205
|
className ||= self.class.to_s
|
2207
2206
|
|
2208
|
-
|
2207
|
+
logger.info "#{className}(#{@server}, #{@username})::waitForTask(#{tmor})"
|
2209
2208
|
args = VimArray.new("ArrayOfPropertyFilterSpec") do |pfsa|
|
2210
2209
|
pfsa << VimHash.new("PropertyFilterSpec") do |pfs|
|
2211
2210
|
pfs.propSet = VimArray.new("ArrayOfPropertySpec") do |psa|
|
@@ -2241,14 +2240,14 @@ class MiqVimInventory < MiqVimClientBase
|
|
2241
2240
|
end
|
2242
2241
|
|
2243
2242
|
raise VimFault.new(error) if state == TaskInfoState::Error
|
2244
|
-
|
2243
|
+
logger.info "#{className}(#{@server}, #{@username})::waitForTask: result = #{result}"
|
2245
2244
|
result
|
2246
2245
|
end # def waitForTask
|
2247
2246
|
|
2248
2247
|
def pollTask(tmor, className = nil)
|
2249
2248
|
className ||= self.class.to_s
|
2250
2249
|
|
2251
|
-
|
2250
|
+
logger.info "#{className}(#{@server}, #{@username})::pollTask(#{tmor})"
|
2252
2251
|
args = VimArray.new("ArrayOfPropertyFilterSpec") do |pfsa|
|
2253
2252
|
pfsa << VimHash.new("PropertyFilterSpec") do |pfs|
|
2254
2253
|
pfs.propSet = VimArray.new("ArrayOfPropertySpec") do |psa|
|
@@ -2324,9 +2323,9 @@ class MiqVimInventory < MiqVimClientBase
|
|
2324
2323
|
end
|
2325
2324
|
end
|
2326
2325
|
|
2327
|
-
|
2326
|
+
logger.info "MiqVimInventory(#{@server}, #{@username}).getMoProp_local: calling retrieveProperties(#{mo.vimType})"
|
2328
2327
|
oca = retrievePropertiesCompat(@propCol, pfSpec)
|
2329
|
-
|
2328
|
+
logger.info "MiqVimInventory(#{@server}, #{@username}).getMoProp_local: return from retrieveProperties(#{mo.vimType})"
|
2330
2329
|
|
2331
2330
|
return nil if !oca || !oca[0] || !oca[0].propSet
|
2332
2331
|
|
@@ -2442,9 +2441,9 @@ class MiqVimInventory < MiqVimClientBase
|
|
2442
2441
|
end
|
2443
2442
|
|
2444
2443
|
def self.setSelector(selSpec)
|
2445
|
-
raise "
|
2444
|
+
raise "MiqVimInventory.setSelector: selSpec must be a hash, received #{selSpec.class}" unless selSpec.kind_of?(Hash)
|
2446
2445
|
selSpec.each_key do |k|
|
2447
|
-
raise "
|
2446
|
+
raise "MiqVimInventory.setSelector: selSpec keys must be symbols, received #{k.class}" unless k.kind_of?(Symbol)
|
2448
2447
|
end
|
2449
2448
|
ov = nil
|
2450
2449
|
selSpec.each_value do |v|
|
@@ -2458,7 +2457,7 @@ class MiqVimInventory < MiqVimClientBase
|
|
2458
2457
|
else
|
2459
2458
|
ov = v unless v.kind_of?(String)
|
2460
2459
|
end
|
2461
|
-
raise "
|
2460
|
+
raise "MiqVimInventory.setSelector: selSpec values must be strings or arrays of strings, received #{ov.class}" unless ov.nil?
|
2462
2461
|
end
|
2463
2462
|
@@selectorHash.merge!(selSpec)
|
2464
2463
|
end
|
@@ -2472,10 +2471,10 @@ class MiqVimInventory < MiqVimClientBase
|
|
2472
2471
|
elsif selName.kind_of?(Array)
|
2473
2472
|
remKeys = selName
|
2474
2473
|
else
|
2475
|
-
raise "
|
2474
|
+
raise "MiqVimInventory.removeSelector: selName must be a symbol, hash or array, received #{selName.class}"
|
2476
2475
|
end
|
2477
2476
|
remKeys.each do |rk|
|
2478
|
-
raise "
|
2477
|
+
raise "MiqVimInventory.removeSelector: keys must be symbols, received #{rk.class}" unless rk.kind_of?(Symbol)
|
2479
2478
|
end
|
2480
2479
|
|
2481
2480
|
remKeys.each do |rk|
|