vmware_web_service 2.0.3 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
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?