vmware_web_service 2.0.3 → 3.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.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/lib/VMwareWebService/MiqHostDatastoreSystem.rb +5 -1
  3. data/lib/VMwareWebService/MiqVim.rb +80 -56
  4. data/lib/VMwareWebService/MiqVimClientBase.rb +11 -10
  5. data/lib/VMwareWebService/MiqVimCluster.rb +6 -2
  6. data/lib/VMwareWebService/MiqVimDataStore.rb +9 -6
  7. data/lib/VMwareWebService/MiqVimDump.rb +1 -1
  8. data/lib/VMwareWebService/MiqVimEventHistoryCollector.rb +5 -1
  9. data/lib/VMwareWebService/MiqVimEventMonitor.rb +22 -20
  10. data/lib/VMwareWebService/MiqVimFolder.rb +15 -11
  11. data/lib/VMwareWebService/MiqVimHost.rb +15 -13
  12. data/lib/VMwareWebService/MiqVimInventory.rb +78 -79
  13. data/lib/VMwareWebService/MiqVimPerfHistory.rb +13 -10
  14. data/lib/VMwareWebService/MiqVimUpdate.rb +50 -50
  15. data/lib/VMwareWebService/MiqVimVdlMod.rb +7 -7
  16. data/lib/VMwareWebService/MiqVimVm.rb +102 -101
  17. data/lib/VMwareWebService/VimService.rb +5 -2
  18. data/lib/VMwareWebService/VixDiskLib/VixDiskLib.rb +15 -7
  19. data/lib/VMwareWebService/VixDiskLib/VixDiskLibServer.rb +15 -15
  20. data/lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb +26 -27
  21. data/lib/VMwareWebService/exception.rb +0 -2
  22. data/lib/VMwareWebService/logging.rb +16 -0
  23. data/lib/VMwareWebService/version.rb +1 -1
  24. data/lib/vmware_web_service.rb +2 -0
  25. metadata +15 -48
  26. data/lib/VMwareWebService/DMiqVim.rb +0 -95
  27. data/lib/VMwareWebService/DMiqVimSync.rb +0 -45
  28. data/lib/VMwareWebService/MiqVimBroker.rb +0 -581
  29. data/lib/VMwareWebService/MiqVimBrokerMods.rb +0 -222
  30. data/lib/VMwareWebService/MiqVimCoreUpdater.rb +0 -269
  31. data/lib/VMwareWebService/miq_fault_tolerant_vim.rb +0 -246
@@ -27,9 +27,9 @@ module MiqVimUpdate
27
27
 
28
28
  while truncated
29
29
  begin
30
- $vim_log.info "#{log_prefix}: call to waitForUpdates...Starting" if $vim_log
30
+ logger.info "#{log_prefix}: call to waitForUpdates...Starting"
31
31
  updateSet = waitForUpdatesEx(@umPropCol, version, wait_options)
32
- $vim_log.info "#{log_prefix}: call to waitForUpdates...Complete" if $vim_log
32
+ logger.info "#{log_prefix}: call to waitForUpdates...Complete"
33
33
 
34
34
  version = updateSet.version
35
35
  truncated = updateSet.truncated
@@ -46,7 +46,7 @@ module MiqVimUpdate
46
46
  # Help out the Ruby Garbage Collector by resetting variables pointing to large objects back to nil
47
47
  updateSet = nil
48
48
  rescue HTTPClient::ReceiveTimeoutError => terr
49
- $vim_log.info "#{log_prefix}: call to waitForUpdates...Timeout" if $vim_log
49
+ logger.info "#{log_prefix}: call to waitForUpdates...Timeout"
50
50
  raise terr if !isAlive?
51
51
  retry
52
52
  end
@@ -58,9 +58,9 @@ module MiqVimUpdate
58
58
  def monitorUpdatesSince(version)
59
59
  log_prefix = "MiqVimUpdate.monitorUpdatesSince (#{@connId})"
60
60
  begin
61
- $vim_log.info "#{log_prefix}: call to waitForUpdates...Starting (version = #{version})" if $vim_log
61
+ logger.info "#{log_prefix}: call to waitForUpdates...Starting (version = #{version})"
62
62
  updateSet = waitForUpdatesEx(@umPropCol, version, :max_wait => @maxWait)
63
- $vim_log.info "#{log_prefix}: call to waitForUpdates...Complete (version = #{version})" if $vim_log
63
+ logger.info "#{log_prefix}: call to waitForUpdates...Complete (version = #{version})"
64
64
  return version if updateSet.nil?
65
65
 
66
66
  version = updateSet.version
@@ -70,11 +70,11 @@ module MiqVimUpdate
70
70
  updateSet.filterSet.each do |fu|
71
71
  next if fu.filter != @filterSpecRef
72
72
  fu.objectSet.each do |objUpdate|
73
- $vim_log.info "#{log_prefix}: applying update...Starting (version = #{version})" if $vim_log
73
+ logger.info "#{log_prefix}: applying update...Starting (version = #{version})"
74
74
  @cacheLock.synchronize(:EX) do
75
75
  updateObject(objUpdate)
76
76
  end
77
- $vim_log.info "#{log_prefix}: applying update...Complete (version = #{version})" if $vim_log
77
+ logger.info "#{log_prefix}: applying update...Complete (version = #{version})"
78
78
  Thread.pass
79
79
  end
80
80
  end # updateSet.filterSet.each
@@ -82,9 +82,9 @@ module MiqVimUpdate
82
82
  updateSet = nil
83
83
  return version
84
84
  rescue HTTPClient::ReceiveTimeoutError => terr
85
- $vim_log.info "#{log_prefix}: call to waitForUpdates...Timeout (version = #{version})" if $vim_log
85
+ logger.info "#{log_prefix}: call to waitForUpdates...Timeout (version = #{version})"
86
86
  retry if isAlive?
87
- $vim_log.warn "#{log_prefix}: connection lost"
87
+ logger.warn "#{log_prefix}: connection lost"
88
88
  raise terr
89
89
  end
90
90
  end
@@ -97,7 +97,7 @@ module MiqVimUpdate
97
97
  @debugUpdates = false if @debugUpdates.nil?
98
98
  @dumpToLog = true if @debugUpdates
99
99
 
100
- $vim_log.debug "#{log_prefix}: debugUpdates = #{@debugUpdates}"
100
+ logger.debug "#{log_prefix}: debugUpdates = #{@debugUpdates}"
101
101
 
102
102
  begin
103
103
  @umPropCol = @sic.propertyCollector
@@ -116,18 +116,18 @@ module MiqVimUpdate
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.'
119
- $vim_log.info "#{log_prefix}: waitForUpdates canceled"
119
+ logger.info "#{log_prefix}: waitForUpdates canceled"
120
120
  else
121
- $vim_log.error "******* #{herr.class}"
122
- $vim_log.error herr.to_s
123
- $vim_log.error herr.backtrace.join("\n") unless herr.kind_of?(HTTPClient::ReceiveTimeoutError) # already logged in monitorUpdatesInitial or monitorUpdatesSince
121
+ logger.error "******* #{herr.class}"
122
+ logger.error herr.to_s
123
+ logger.error herr.backtrace.join("\n") unless herr.kind_of?(HTTPClient::ReceiveTimeoutError) # already logged in monitorUpdatesInitial or monitorUpdatesSince
124
124
  raise herr
125
125
  end
126
126
  ensure
127
127
  if @filterSpecRef && isAlive?
128
- $vim_log.info "#{log_prefix}: calling destroyPropertyFilter...Starting"
128
+ logger.info "#{log_prefix}: calling destroyPropertyFilter...Starting"
129
129
  destroyPropertyFilter(@filterSpecRef)
130
- $vim_log.info "#{log_prefix}: calling destroyPropertyFilter...Complete"
130
+ logger.info "#{log_prefix}: calling destroyPropertyFilter...Complete"
131
131
  end
132
132
  @filterSpecRef = nil
133
133
  # @umPropCol = nil
@@ -137,18 +137,18 @@ module MiqVimUpdate
137
137
  def stopUpdateMonitor
138
138
  log_prefix = "MiqVimUpdate.stopUpdateMonitor (#{@connId})"
139
139
 
140
- $vim_log.info "#{log_prefix}: for address=<#{@server}>, username=<#{@username}>...Starting"
140
+ logger.info "#{log_prefix}: for address=<#{@server}>, username=<#{@username}>...Starting"
141
141
  @monitor = false
142
142
  if @umPropCol
143
143
  if isAlive?
144
- $vim_log.info "#{log_prefix}: calling cancelWaitForUpdates...Starting"
144
+ logger.info "#{log_prefix}: calling cancelWaitForUpdates...Starting"
145
145
  cancelWaitForUpdates(@umPropCol)
146
- $vim_log.info "#{log_prefix}: calling cancelWaitForUpdates...Complete"
146
+ logger.info "#{log_prefix}: calling cancelWaitForUpdates...Complete"
147
147
  end
148
148
  @umPropCol = nil
149
149
  @updateThread.run if @updateThread.status == "sleep"
150
150
  end
151
- $vim_log.info "#{log_prefix}: for address=<#{@server}>, username=<#{@username}>...Complete"
151
+ logger.info "#{log_prefix}: for address=<#{@server}>, username=<#{@username}>...Complete"
152
152
  end
153
153
 
154
154
  def forceFail
@@ -159,7 +159,7 @@ module MiqVimUpdate
159
159
  def updateObject(objUpdate, initialUpdate = false)
160
160
  unless @inventoryHash # no cache to update
161
161
  return unless initialUpdate
162
- $vim_log.info "MiqVimUpdate.updateObject: setting @inventoryHash to empty hash"
162
+ logger.info "MiqVimUpdate.updateObject: setting @inventoryHash to empty hash"
163
163
  @inventoryHash = {}
164
164
  end
165
165
 
@@ -171,12 +171,12 @@ module MiqVimUpdate
171
171
  when 'modify'
172
172
  updateProps(objUpdate, initialUpdate)
173
173
  else
174
- $vim_log.warn "MiqVimUpdate.updateObject (#{@connId}): unrecognized operation: #{objUpdate.kind}"
174
+ logger.warn "MiqVimUpdate.updateObject (#{@connId}): unrecognized operation: #{objUpdate.kind}"
175
175
  end
176
176
  end
177
177
 
178
178
  def updateProps(objUpdate, initialUpdate = false)
179
- $vim_log.debug "Update object (#{@connId}): #{objUpdate.obj.vimType}: #{objUpdate.obj}" if @debugUpdates
179
+ logger.debug "Update object (#{@connId}): #{objUpdate.obj.vimType}: #{objUpdate.obj}" if @debugUpdates
180
180
  return if !objUpdate.changeSet || objUpdate.changeSet.empty?
181
181
 
182
182
  #
@@ -191,7 +191,7 @@ module MiqVimUpdate
191
191
  hashName = "#{pm[:baseName]}ByMor"
192
192
  return unless (objHash = instance_variable_get(hashName)) # no cache to update
193
193
  unless (obj = objHash[objUpdate.obj])
194
- $vim_log.warn "updateProps (#{@connId}): object #{objUpdate.obj} not found in #{hashName}"
194
+ logger.warn "updateProps (#{@connId}): object #{objUpdate.obj} not found in #{hashName}"
195
195
  return
196
196
  end
197
197
 
@@ -234,8 +234,8 @@ module MiqVimUpdate
234
234
  # Call the notify callback if enabled, defined and we are past the initial update
235
235
  #
236
236
  if @notifyMethod && !initialUpdate
237
- $vim_log.debug "MiqVimUpdate.updateProps (#{@connId}): server = #{@server}, mor = (#{objUpdate.obj.vimType}, #{objUpdate.obj})"
238
- $vim_log.debug "MiqVimUpdate.updateProps (#{@connId}): changedProps = [ #{changedProps.join(', ')} ]"
237
+ logger.debug "MiqVimUpdate.updateProps (#{@connId}): server = #{@server}, mor = (#{objUpdate.obj.vimType}, #{objUpdate.obj})"
238
+ logger.debug "MiqVimUpdate.updateProps (#{@connId}): changedProps = [ #{changedProps.join(', ')} ]"
239
239
  Thread.new do
240
240
  @notifyMethod.call(:server => @server,
241
241
  :username => @username,
@@ -251,9 +251,9 @@ module MiqVimUpdate
251
251
  end
252
252
 
253
253
  rescue => err
254
- $vim_log.warn "MiqVimUpdate::updateProps (#{@connId}): #{err}"
255
- $vim_log.warn "Clearing cache for (#{@connId}): #{pm[:baseName]}"
256
- $vim_log.debug err.backtrace.join("\n")
254
+ logger.warn "MiqVimUpdate::updateProps (#{@connId}): #{err}"
255
+ logger.warn "Clearing cache for (#{@connId}): #{pm[:baseName]}"
256
+ logger.debug err.backtrace.join("\n")
257
257
  dumpCache("#{pm[:baseName]}ByMor")
258
258
 
259
259
  instance_variable_set("#{pm[:baseName]}ByMor", nil)
@@ -266,9 +266,9 @@ module MiqVimUpdate
266
266
  objBaseType = objUpdate.obj.vimBaseType
267
267
 
268
268
  # always log additions to the inventory.
269
- $vim_log.info "MiqVimUpdate.addObject (#{@connId}): #{objType}: #{objUpdate.obj}"
269
+ logger.info "MiqVimUpdate.addObject (#{@connId}): #{objType}: #{objUpdate.obj}"
270
270
  return unless (pm = @propMap[objBaseType.to_sym]) # not an object type we cache
271
- $vim_log.info "MiqVimUpdate.addObject (#{@connId}): Adding object #{objType}: #{objUpdate.obj}"
271
+ logger.info "MiqVimUpdate.addObject (#{@connId}): Adding object #{objType}: #{objUpdate.obj}"
272
272
 
273
273
  #
274
274
  # First, add the object's MOR to the @inventoryHash entry for the object's type.
@@ -283,7 +283,7 @@ module MiqVimUpdate
283
283
  hashName = "#{pm[:baseName]}ByMor"
284
284
  unless instance_variable_get(hashName) # no cache to update
285
285
  return unless initialUpdate
286
- $vim_log.info "MiqVimUpdate.addObject: setting #{hashName} and #{pm[:baseName]} to empty hash"
286
+ logger.info "MiqVimUpdate.addObject: setting #{hashName} and #{pm[:baseName]} to empty hash"
287
287
  instance_variable_set(hashName, {})
288
288
  instance_variable_set(pm[:baseName], {})
289
289
  end
@@ -298,7 +298,7 @@ module MiqVimUpdate
298
298
  # Call the notify callback if enabled, defined and we are past the initial update
299
299
  #
300
300
  if @notifyMethod && !initialUpdate
301
- $vim_log.debug "MiqVimUpdate.addObject: server = #{@server}, mor = (#{objUpdate.obj.vimType}, #{objUpdate.obj})"
301
+ logger.debug "MiqVimUpdate.addObject: server = #{@server}, mor = (#{objUpdate.obj.vimType}, #{objUpdate.obj})"
302
302
  Thread.new do
303
303
  @notifyMethod.call(:server => @server,
304
304
  :username => @username,
@@ -310,9 +310,9 @@ module MiqVimUpdate
310
310
  end
311
311
 
312
312
  rescue => err
313
- $vim_log.warn "MiqVimUpdate::addObject: #{err}"
314
- $vim_log.warn "Clearing cache for: #{pm[:baseName]}"
315
- $vim_log.debug err.backtrace.join("\n")
313
+ logger.warn "MiqVimUpdate::addObject: #{err}"
314
+ logger.warn "Clearing cache for: #{pm[:baseName]}"
315
+ logger.debug err.backtrace.join("\n")
316
316
  dumpCache("#{pm[:baseName]}ByMor")
317
317
 
318
318
  instance_variable_set("#{pm[:baseName]}ByMor", nil)
@@ -325,9 +325,9 @@ module MiqVimUpdate
325
325
  objBaseType = objUpdate.obj.vimBaseType
326
326
 
327
327
  # always log deletions from the inventory.
328
- $vim_log.info "MiqVimUpdate.deleteObject (#{@connId}): #{objType}: #{objUpdate.obj}"
328
+ logger.info "MiqVimUpdate.deleteObject (#{@connId}): #{objType}: #{objUpdate.obj}"
329
329
  return unless (pm = @propMap[objBaseType.to_sym]) # not an object type we cache
330
- $vim_log.info "MiqVimUpdate.deleteObject (#{@connId}): Deleting object: #{objType}: #{objUpdate.obj}"
330
+ logger.info "MiqVimUpdate.deleteObject (#{@connId}): Deleting object: #{objType}: #{objUpdate.obj}"
331
331
 
332
332
  ia = @inventoryHash[objType]
333
333
  ia.delete(objUpdate.obj)
@@ -341,7 +341,7 @@ module MiqVimUpdate
341
341
  # Call the notify callback if enabled, defined and we are past the initial update
342
342
  #
343
343
  if @notifyMethod && !initialUpdate
344
- $vim_log.debug "MiqVimUpdate.deleteObject: server = #{@server}, mor = (#{objUpdate.obj.vimType}, #{objUpdate.obj})"
344
+ logger.debug "MiqVimUpdate.deleteObject: server = #{@server}, mor = (#{objUpdate.obj.vimType}, #{objUpdate.obj})"
345
345
  Thread.new do
346
346
  @notifyMethod.call(:server => @server,
347
347
  :username => @username,
@@ -353,9 +353,9 @@ module MiqVimUpdate
353
353
  end
354
354
 
355
355
  rescue => err
356
- $vim_log.warn "MiqVimUpdate::deleteObject: #{err}"
357
- $vim_log.warn "Clearing cache for: #{pm[:baseName]}"
358
- $vim_log.debug err.backtrace.join("\n")
356
+ logger.warn "MiqVimUpdate::deleteObject: #{err}"
357
+ logger.warn "Clearing cache for: #{pm[:baseName]}"
358
+ logger.debug err.backtrace.join("\n")
359
359
  dumpCache("#{pm[:baseName]}ByMor")
360
360
 
361
361
  instance_variable_set("#{pm[:baseName]}ByMor", nil)
@@ -367,17 +367,17 @@ module MiqVimUpdate
367
367
  changedProps = [] if returnChangedProps
368
368
  changeSet.each do |propChange|
369
369
  if @debugUpdates
370
- $vim_log.debug "\tpropChange name (path): #{propChange.name}"
371
- $vim_log.debug "\tpropChange op: #{propChange.op}"
372
- $vim_log.debug "\tpropChange val (type): #{propChange.val.class}"
370
+ logger.debug "\tpropChange name (path): #{propChange.name}"
371
+ logger.debug "\tpropChange op: #{propChange.op}"
372
+ logger.debug "\tpropChange val (type): #{propChange.val.class}"
373
373
 
374
- $vim_log.debug "\t*** propChange val START:"
374
+ logger.debug "\t*** propChange val START:"
375
375
  oGi = @globalIndent
376
376
  @globalIndent = "\t\t"
377
377
  dumpObj(propChange.val)
378
378
  @globalIndent = oGi
379
- $vim_log.debug "\t*** propChange val END"
380
- $vim_log.debug "\t***"
379
+ logger.debug "\t*** propChange val END"
380
+ logger.debug "\t***"
381
381
  end
382
382
 
383
383
  #
@@ -424,9 +424,9 @@ module MiqVimUpdate
424
424
 
425
425
  def dumpCache(cache)
426
426
  return unless @debugUpdates
427
- $vim_log.debug "**** Dumping #{cache} cache"
427
+ logger.debug "**** Dumping #{cache} cache"
428
428
  dumbObj(instance_variable_get(cache))
429
- $vim_log.debug "**** #{cache} dump end"
429
+ logger.debug "**** #{cache} dump end"
430
430
  end
431
431
  private :dumpCache
432
432
 
@@ -5,9 +5,9 @@ module MiqVimVdlConnectionMod
5
5
  #
6
6
  def vdlConnection
7
7
  require 'VMwareWebService/VixDiskLib/VixDiskLib'
8
- VixDiskLib.init(->(s) { $vim_log.info "VMware(VixDiskLib): #{s}" },
9
- ->(s) { $vim_log.warn "VMware(VixDiskLib): #{s}" },
10
- ->(s) { $vim_log.error "VMware(VixDiskLib): #{s}" })
8
+ VixDiskLib.init(->(s) { logger.info "VMware(VixDiskLib): #{s}" },
9
+ ->(s) { logger.warn "VMware(VixDiskLib): #{s}" },
10
+ ->(s) { logger.error "VMware(VixDiskLib): #{s}" })
11
11
  $log.info "MiqVimVdlConnectionMod.vdlConnection: server - #{@server}"
12
12
  VixDiskLib.connect(:serverName => server,
13
13
  :port => 902,
@@ -17,7 +17,7 @@ module MiqVimVdlConnectionMod
17
17
  end
18
18
 
19
19
  def closeVdlConnection(connection)
20
- $vim_log.info "MiqVimMod.closeVdlConnection: #{connection.serverName}"
20
+ logger.info "MiqVimMod.closeVdlConnection: #{connection.serverName}"
21
21
  connection.disconnect
22
22
  end
23
23
  end # module MiqVimVdlConnectionMod
@@ -31,9 +31,9 @@ module MiqVimVdlVcConnectionMod
31
31
  def vdlVcConnection
32
32
  require 'VMwareWebService/VixDiskLib/VixDiskLib'
33
33
 
34
- VixDiskLib.init(->(s) { $vim_log.info "VMware(VixDiskLib): #{s}" },
35
- ->(s) { $vim_log.warn "VMware(VixDiskLib): #{s}" },
36
- ->(s) { $vim_log.error "VMware(VixDiskLib): #{s}" })
34
+ VixDiskLib.init(->(s) { logger.info "VMware(VixDiskLib): #{s}" },
35
+ ->(s) { logger.warn "VMware(VixDiskLib): #{s}" },
36
+ ->(s) { logger.error "VMware(VixDiskLib): #{s}" })
37
37
 
38
38
  $log.info "MiqVimVdlVcConnectionMod.vdlVcConnection: server - #{invObj.server}"
39
39
  thumb_print = if invObj.isVirtualCenter?