vmware_web_service 2.1.1 → 3.0.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/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,6 +1,9 @@ | |
| 1 1 | 
             
            require 'date'
         | 
| 2 | 
            +
            require 'VMwareWebService/logging'
         | 
| 2 3 |  | 
| 3 4 | 
             
            class MiqVimPerfHistory
         | 
| 5 | 
            +
              include VMwareWebService::Logging
         | 
| 6 | 
            +
             | 
| 4 7 | 
             
              attr_reader :invObj
         | 
| 5 8 |  | 
| 6 9 | 
             
              def initialize(invObj)
         | 
| @@ -95,9 +98,9 @@ class MiqVimPerfHistory | |
| 95 98 | 
             
              end
         | 
| 96 99 |  | 
| 97 100 | 
             
              def queryProviderSummary(mor)
         | 
| 98 | 
            -
                 | 
| 101 | 
            +
                logger.info "MiqVimPerfHistory(#{@invObj.server}, #{@invObj.username}).queryProviderSummary: calling queryPerfProviderSummary"
         | 
| 99 102 | 
             
                psum = @invObj.queryPerfProviderSummary(@perfManager, mor)
         | 
| 100 | 
            -
                 | 
| 103 | 
            +
                logger.info "MiqVimPerfHistory(#{@invObj.server}, #{@invObj.username}).queryProviderSummary: returned from queryPerfProviderSummary"
         | 
| 101 104 | 
             
                (psum)
         | 
| 102 105 | 
             
              end
         | 
| 103 106 |  | 
| @@ -108,9 +111,9 @@ class MiqVimPerfHistory | |
| 108 111 | 
             
                  beginTime  = ah[:beginTime] || nil
         | 
| 109 112 | 
             
                  endTime    = ah[:endTime] || nil
         | 
| 110 113 | 
             
                end
         | 
| 111 | 
            -
                 | 
| 114 | 
            +
                logger.info "MiqVimPerfHistory(#{@invObj.server}, #{@invObj.username}).availMetricsForEntity: calling queryAvailablePerfMetric"
         | 
| 112 115 | 
             
                pmids = @invObj.queryAvailablePerfMetric(@perfManager, mor, beginTime, endTime, intervalId)
         | 
| 113 | 
            -
                 | 
| 116 | 
            +
                logger.info "MiqVimPerfHistory(#{@invObj.server}, #{@invObj.username}).availMetricsForEntity: returned from queryAvailablePerfMetric"
         | 
| 114 117 | 
             
                (pmids)
         | 
| 115 118 | 
             
              end
         | 
| 116 119 |  | 
| @@ -121,9 +124,9 @@ class MiqVimPerfHistory | |
| 121 124 | 
             
                ah[:entity]     = entnty
         | 
| 122 125 | 
             
                pqs             = getPerfQuerySpec(ah)
         | 
| 123 126 |  | 
| 124 | 
            -
                 | 
| 127 | 
            +
                logger.info "MiqVimPerfHistory(#{@invObj.server}, #{@invObj.username}).queryPerf: calling queryPerf"
         | 
| 125 128 | 
             
                umPem = @invObj.queryPerf(@perfManager, pqs)[0]
         | 
| 126 | 
            -
                 | 
| 129 | 
            +
                logger.info "MiqVimPerfHistory(#{@invObj.server}, #{@invObj.username}).queryPerf: returned from queryPerf"
         | 
| 127 130 |  | 
| 128 131 | 
             
                #
         | 
| 129 132 | 
             
                # Construct an array of (timestamp, value) pairs.
         | 
| @@ -151,9 +154,9 @@ class MiqVimPerfHistory | |
| 151 154 | 
             
                  aa.each { |ah| pqsa << getPerfQuerySpec(ah) }
         | 
| 152 155 | 
             
                end
         | 
| 153 156 |  | 
| 154 | 
            -
                 | 
| 157 | 
            +
                logger.info "MiqVimPerfHistory(#{@invObj.server}, #{@invObj.username}).queryPerfMulti: calling queryPerf"
         | 
| 155 158 | 
             
                pema = @invObj.queryPerf(@perfManager, querySpec)
         | 
| 156 | 
            -
                 | 
| 159 | 
            +
                logger.info "MiqVimPerfHistory(#{@invObj.server}, #{@invObj.username}).queryPerfMulti: returned from queryPerf"
         | 
| 157 160 |  | 
| 158 161 | 
             
                return(nil) unless pema
         | 
| 159 162 |  | 
| @@ -165,9 +168,9 @@ class MiqVimPerfHistory | |
| 165 168 | 
             
                ah[:entity]     = entnty
         | 
| 166 169 | 
             
                pqs             = getPerfQuerySpec(ah)
         | 
| 167 170 |  | 
| 168 | 
            -
                 | 
| 171 | 
            +
                logger.info "MiqVimPerfHistory(#{@invObj.server}, #{@invObj.username}).queryPerfComposite: calling queryPerfComposite"
         | 
| 169 172 | 
             
                umPem = @invObj.queryPerfComposite(@perfManager, pqs)
         | 
| 170 | 
            -
                 | 
| 173 | 
            +
                logger.info "MiqVimPerfHistory(#{@invObj.server}, #{@invObj.username}).queryPerfComposite: returned from queryPerfComposite"
         | 
| 171 174 |  | 
| 172 175 | 
             
                umPem['childEntity'] = [umPem['childEntity']] if umPem['childEntity'].kind_of? Hash
         | 
| 173 176 |  | 
| @@ -27,9 +27,9 @@ module MiqVimUpdate | |
| 27 27 |  | 
| 28 28 | 
             
                while truncated
         | 
| 29 29 | 
             
                  begin
         | 
| 30 | 
            -
                     | 
| 30 | 
            +
                    logger.info "#{log_prefix}: call to waitForUpdates...Starting"
         | 
| 31 31 | 
             
                    updateSet = waitForUpdatesEx(@umPropCol, version, wait_options)
         | 
| 32 | 
            -
                     | 
| 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 | 
            -
                     | 
| 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 | 
            -
                   | 
| 61 | 
            +
                  logger.info "#{log_prefix}: call to waitForUpdates...Starting (version = #{version})"
         | 
| 62 62 | 
             
                  updateSet = waitForUpdatesEx(@umPropCol, version, :max_wait => @maxWait)
         | 
| 63 | 
            -
                   | 
| 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 | 
            -
                       | 
| 73 | 
            +
                      logger.info "#{log_prefix}: applying update...Starting (version = #{version})"
         | 
| 74 74 | 
             
                      @cacheLock.synchronize(:EX) do
         | 
| 75 75 | 
             
                        updateObject(objUpdate)
         | 
| 76 76 | 
             
                      end
         | 
| 77 | 
            -
                       | 
| 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 | 
            -
                   | 
| 85 | 
            +
                  logger.info "#{log_prefix}: call to waitForUpdates...Timeout (version = #{version})"
         | 
| 86 86 | 
             
                  retry if isAlive?
         | 
| 87 | 
            -
                   | 
| 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 | 
            -
                 | 
| 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 | 
            -
                     | 
| 119 | 
            +
                    logger.info "#{log_prefix}: waitForUpdates canceled"
         | 
| 120 120 | 
             
                  else
         | 
| 121 | 
            -
                     | 
| 122 | 
            -
                     | 
| 123 | 
            -
                     | 
| 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 | 
            -
                     | 
| 128 | 
            +
                    logger.info "#{log_prefix}: calling destroyPropertyFilter...Starting"
         | 
| 129 129 | 
             
                    destroyPropertyFilter(@filterSpecRef)
         | 
| 130 | 
            -
                     | 
| 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 | 
            -
                 | 
| 140 | 
            +
                logger.info "#{log_prefix}: for address=<#{@server}>, username=<#{@username}>...Starting"
         | 
| 141 141 | 
             
                @monitor = false
         | 
| 142 142 | 
             
                if @umPropCol
         | 
| 143 143 | 
             
                  if isAlive?
         | 
| 144 | 
            -
                     | 
| 144 | 
            +
                    logger.info "#{log_prefix}: calling cancelWaitForUpdates...Starting"
         | 
| 145 145 | 
             
                    cancelWaitForUpdates(@umPropCol)
         | 
| 146 | 
            -
                     | 
| 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 | 
            -
                 | 
| 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 | 
            -
                   | 
| 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 | 
            -
                   | 
| 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 | 
            -
                 | 
| 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 | 
            -
                   | 
| 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 | 
            -
                     | 
| 238 | 
            -
                     | 
| 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 | 
            -
                   | 
| 255 | 
            -
                   | 
| 256 | 
            -
                   | 
| 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 | 
            -
                 | 
| 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 | 
            -
                 | 
| 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 | 
            -
                     | 
| 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 | 
            -
                     | 
| 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 | 
            -
                   | 
| 314 | 
            -
                   | 
| 315 | 
            -
                   | 
| 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 | 
            -
                 | 
| 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 | 
            -
                 | 
| 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 | 
            -
                     | 
| 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 | 
            -
                   | 
| 357 | 
            -
                   | 
| 358 | 
            -
                   | 
| 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 | 
            -
                     | 
| 371 | 
            -
                     | 
| 372 | 
            -
                     | 
| 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 | 
            -
                     | 
| 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 | 
            -
                     | 
| 380 | 
            -
                     | 
| 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 | 
            -
                 | 
| 427 | 
            +
                logger.debug "**** Dumping #{cache} cache"
         | 
| 428 428 | 
             
                dumbObj(instance_variable_get(cache))
         | 
| 429 | 
            -
                 | 
| 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) {  | 
| 9 | 
            -
                                ->(s) {  | 
| 10 | 
            -
                                ->(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 | 
            -
                 | 
| 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) {  | 
| 35 | 
            -
                                ->(s) {  | 
| 36 | 
            -
                                ->(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?
         | 
| @@ -1,17 +1,18 @@ | |
| 1 1 | 
             
            require 'sync'
         | 
| 2 2 |  | 
| 3 | 
            -
            require 'enumerator'
         | 
| 4 3 | 
             
            require "ostruct"
         | 
| 5 4 |  | 
| 6 5 | 
             
            require 'more_core_extensions/core_ext/hash'
         | 
| 7 6 | 
             
            require 'active_support/core_ext/object/try'
         | 
| 8 7 |  | 
| 9 8 | 
             
            require 'VMwareWebService/exception'
         | 
| 9 | 
            +
            require 'VMwareWebService/logging'
         | 
| 10 10 | 
             
            require 'VMwareWebService/MiqVimVdlMod'
         | 
| 11 11 | 
             
            require 'VMwareWebService/esx_thumb_print'
         | 
| 12 12 | 
             
            require 'VMwareWebService/vcenter_thumb_print'
         | 
| 13 13 |  | 
| 14 14 | 
             
            class MiqVimVm
         | 
| 15 | 
            +
              include VMwareWebService::Logging
         | 
| 15 16 | 
             
              include MiqVimVdlVcConnectionMod
         | 
| 16 17 |  | 
| 17 18 | 
             
              EVM_SNAPSHOT_NAME         = "EvmSnapshot".freeze # TODO: externalize - not VIM specific
         | 
| @@ -92,53 +93,53 @@ class MiqVimVm | |
| 92 93 | 
             
              #######################
         | 
| 93 94 |  | 
| 94 95 | 
             
              def start(wait = true)
         | 
| 95 | 
            -
                 | 
| 96 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).start: calling powerOnVM_Task"
         | 
| 96 97 | 
             
                taskMor = @invObj.powerOnVM_Task(@vmMor)
         | 
| 97 | 
            -
                 | 
| 98 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).start: returned from powerOnVM_Task"
         | 
| 98 99 | 
             
                return taskMor unless wait
         | 
| 99 100 | 
             
                waitForTask(taskMor)
         | 
| 100 101 | 
             
              end # def start
         | 
| 101 102 |  | 
| 102 103 | 
             
              def stop(wait = true)
         | 
| 103 | 
            -
                 | 
| 104 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).stop: calling powerOffVM_Task"
         | 
| 104 105 | 
             
                taskMor = @invObj.powerOffVM_Task(@vmMor)
         | 
| 105 | 
            -
                 | 
| 106 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).stop: returned from powerOffVM_Task"
         | 
| 106 107 | 
             
                return taskMor unless wait
         | 
| 107 108 | 
             
                waitForTask(taskMor)
         | 
| 108 109 | 
             
              end # def stop
         | 
| 109 110 |  | 
| 110 111 | 
             
              def suspend(wait = true)
         | 
| 111 | 
            -
                 | 
| 112 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).suspend: calling suspendVM_Task"
         | 
| 112 113 | 
             
                taskMor = @invObj.suspendVM_Task(@vmMor)
         | 
| 113 | 
            -
                 | 
| 114 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).suspend: returned from suspendVM_Task"
         | 
| 114 115 | 
             
                return taskMor unless wait
         | 
| 115 116 | 
             
                waitForTask(taskMor)
         | 
| 116 117 | 
             
              end # def suspend
         | 
| 117 118 |  | 
| 118 119 | 
             
              def reset(wait = true)
         | 
| 119 | 
            -
                 | 
| 120 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).reset: calling resetVM_Task"
         | 
| 120 121 | 
             
                taskMor = @invObj.resetVM_Task(@vmMor)
         | 
| 121 | 
            -
                 | 
| 122 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).reset: returned from resetVM_Task"
         | 
| 122 123 | 
             
                return taskMor unless wait
         | 
| 123 124 | 
             
                waitForTask(taskMor)
         | 
| 124 125 | 
             
              end
         | 
| 125 126 |  | 
| 126 127 | 
             
              def rebootGuest
         | 
| 127 | 
            -
                 | 
| 128 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).rebootGuest: calling rebootGuest"
         | 
| 128 129 | 
             
                @invObj.rebootGuest(@vmMor)
         | 
| 129 | 
            -
                 | 
| 130 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).rebootGuest: returned from rebootGuest"
         | 
| 130 131 | 
             
              end
         | 
| 131 132 |  | 
| 132 133 | 
             
              def shutdownGuest
         | 
| 133 | 
            -
                 | 
| 134 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).shutdownGuest: calling shutdownGuest"
         | 
| 134 135 | 
             
                @invObj.shutdownGuest(@vmMor)
         | 
| 135 | 
            -
                 | 
| 136 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).shutdownGuest: returned from shutdownGuest"
         | 
| 136 137 | 
             
              end
         | 
| 137 138 |  | 
| 138 139 | 
             
              def standbyGuest
         | 
| 139 | 
            -
                 | 
| 140 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).standbyGuest: calling standbyGuest"
         | 
| 140 141 | 
             
                @invObj.standbyGuest(@vmMor)
         | 
| 141 | 
            -
                 | 
| 142 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).standbyGuest: returned from standbyGuest"
         | 
| 142 143 | 
             
              end
         | 
| 143 144 |  | 
| 144 145 | 
             
              def powerState
         | 
| @@ -168,18 +169,18 @@ class MiqVimVm | |
| 168 169 | 
             
              ############################
         | 
| 169 170 |  | 
| 170 171 | 
             
              def markAsTemplate
         | 
| 171 | 
            -
                 | 
| 172 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).markAsTemplate: calling markAsTemplate"
         | 
| 172 173 | 
             
                @invObj.markAsTemplate(@vmMor)
         | 
| 173 | 
            -
                 | 
| 174 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).markAsTemplate: returned from markAsTemplate"
         | 
| 174 175 | 
             
              end
         | 
| 175 176 |  | 
| 176 177 | 
             
              def markAsVm(pool, host = nil)
         | 
| 177 178 | 
             
                hmor = nil
         | 
| 178 179 | 
             
                hmor = (host.kind_of?(Hash) ? host['MOR'] : host) if host
         | 
| 179 180 | 
             
                pmor = (pool.kind_of?(Hash) ? pool['MOR'] : pool)
         | 
| 180 | 
            -
                 | 
| 181 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).markAsVm: calling markAsVirtualMachine"
         | 
| 181 182 | 
             
                @invObj.markAsVirtualMachine(@vmMor, pmor, hmor)
         | 
| 182 | 
            -
                 | 
| 183 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).markAsVm: returned from markAsVirtualMachine"
         | 
| 183 184 | 
             
              end
         | 
| 184 185 |  | 
| 185 186 | 
             
              def template?
         | 
| @@ -194,18 +195,18 @@ class MiqVimVm | |
| 194 195 | 
             
                hmor = (host.kind_of?(Hash) ? host['MOR'] : host)
         | 
| 195 196 | 
             
                pool = (pool.kind_of?(Hash) ? pool['MOR'] : pool) if pool
         | 
| 196 197 |  | 
| 197 | 
            -
                 | 
| 198 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).migrate: calling migrateVM_Task, vm=<#{@vmMor.inspect}>, host=<#{hmor.inspect}>, pool=<#{pool.inspect}>, priority=<#{priority.inspect}>, state=<#{state.inspect}>"
         | 
| 198 199 | 
             
                taskMor = @invObj.migrateVM_Task(@vmMor, pool, hmor, priority, state)
         | 
| 199 | 
            -
                 | 
| 200 | 
            -
                 | 
| 200 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).migrate: returned from migrateVM_Task"
         | 
| 201 | 
            +
                logger.debug "MiqVimVm::migrate: taskMor = #{taskMor}"
         | 
| 201 202 | 
             
                waitForTask(taskMor)
         | 
| 202 203 | 
             
              end
         | 
| 203 204 |  | 
| 204 205 | 
             
              def renameVM(newName)
         | 
| 205 | 
            -
                 | 
| 206 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).renameVM: calling rename_Task, vm=<#{@vmMor.inspect}>, newName=<#{newName}>"
         | 
| 206 207 | 
             
                task_mor = @invObj.rename_Task(@vmMor, newName)
         | 
| 207 | 
            -
                 | 
| 208 | 
            -
                 | 
| 208 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).renameVM: returned from rename_Task"
         | 
| 209 | 
            +
                logger.debug "MiqVimVm::renameVM: taskMor = #{task_mor}"
         | 
| 209 210 | 
             
                waitForTask(task_mor)
         | 
| 210 211 | 
             
              end
         | 
| 211 212 |  | 
| @@ -223,26 +224,26 @@ class MiqVimVm | |
| 223 224 | 
             
                  rsl.transform    = transform      if transform
         | 
| 224 225 | 
             
                end
         | 
| 225 226 |  | 
| 226 | 
            -
                 | 
| 227 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).relocate: calling relocateVM_Task, vm=<#{@vmMor.inspect}>, host=<#{hmor.inspect}>, pool=<#{pool.inspect}>, datastore=<#{dsmor.inspect}>, priority=<#{priority.inspect}>"
         | 
| 227 228 | 
             
                taskMor = @invObj.relocateVM_Task(@vmMor, rspec, priority)
         | 
| 228 | 
            -
                 | 
| 229 | 
            -
                 | 
| 229 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).relocate: returned from relocateVM_Task"
         | 
| 230 | 
            +
                logger.debug "MiqVimVm::relocate: taskMor = #{taskMor}"
         | 
| 230 231 | 
             
                waitForTask(taskMor)
         | 
| 231 232 | 
             
              end
         | 
| 232 233 |  | 
| 233 234 | 
             
              def cloneVM_raw(folder, name, spec, wait = true)
         | 
| 234 | 
            -
                 | 
| 235 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).cloneVM_raw: calling cloneVM_Task"
         | 
| 235 236 | 
             
                taskMor = @invObj.cloneVM_Task(@vmMor, folder, name, spec)
         | 
| 236 | 
            -
                 | 
| 237 | 
            -
                 | 
| 237 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).cloneVM_raw: returned from cloneVM_Task"
         | 
| 238 | 
            +
                logger.debug "MiqVimVm::cloneVM_raw: taskMor = #{taskMor}"
         | 
| 238 239 |  | 
| 239 240 | 
             
                if wait
         | 
| 240 241 | 
             
                  rv = waitForTask(taskMor)
         | 
| 241 | 
            -
                   | 
| 242 | 
            +
                  logger.debug "MiqVimVm::cloneVM_raw: rv = #{rv}"
         | 
| 242 243 | 
             
                  return rv
         | 
| 243 244 | 
             
                end
         | 
| 244 245 |  | 
| 245 | 
            -
                 | 
| 246 | 
            +
                logger.debug "MiqVimVm::cloneVM_raw - no wait: taskMor = #{taskMor}"
         | 
| 246 247 | 
             
                taskMor
         | 
| 247 248 | 
             
              end
         | 
| 248 249 |  | 
| @@ -288,15 +289,15 @@ class MiqVimVm | |
| 288 289 | 
             
              # end
         | 
| 289 290 |  | 
| 290 291 | 
             
              def unregister
         | 
| 291 | 
            -
                 | 
| 292 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).unregister: calling unregisterVM"
         | 
| 292 293 | 
             
                @invObj.unregisterVM(@vmMor)
         | 
| 293 | 
            -
                 | 
| 294 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).unregister: returned from unregisterVM"
         | 
| 294 295 | 
             
              end
         | 
| 295 296 |  | 
| 296 297 | 
             
              def destroy
         | 
| 297 | 
            -
                 | 
| 298 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).destroy: calling destroy_Task"
         | 
| 298 299 | 
             
                taskMor = @invObj.destroy_Task(@vmMor)
         | 
| 299 | 
            -
                 | 
| 300 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).destroy: returned from destroy_Task"
         | 
| 300 301 | 
             
                waitForTask(taskMor)
         | 
| 301 302 | 
             
              end
         | 
| 302 303 |  | 
| @@ -378,33 +379,33 @@ class MiqVimVm | |
| 378 379 | 
             
              end
         | 
| 379 380 |  | 
| 380 381 | 
             
              def createSnapshot(name, desc, memory, quiesce, wait = true, free_space_percent = 100)
         | 
| 381 | 
            -
                 | 
| 382 | 
            +
                logger.debug "MiqVimVm::createSnapshot(#{name}, #{desc}, #{memory}, #{quiesce})"
         | 
| 382 383 | 
             
                cs = connectionState
         | 
| 383 384 | 
             
                raise "MiqVimVm(#{@invObj.server}, #{@invObj.username}).createSnapshot: VM is not connected, connectionState = #{cs}" if cs != "connected"
         | 
| 384 385 | 
             
                snapshot_free_space_check('create', free_space_percent)
         | 
| 385 | 
            -
                 | 
| 386 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).createSnapshot: calling createSnapshot_Task"
         | 
| 386 387 | 
             
                taskMor = @invObj.createSnapshot_Task(@vmMor, name, desc, memory, quiesce)
         | 
| 387 | 
            -
                 | 
| 388 | 
            -
                 | 
| 388 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).createSnapshot: returned from createSnapshot_Task"
         | 
| 389 | 
            +
                logger.debug "MiqVimVm::createSnapshot: taskMor = #{taskMor}"
         | 
| 389 390 |  | 
| 390 391 | 
             
                if wait
         | 
| 391 392 | 
             
                  snMor = waitForTask(taskMor)
         | 
| 392 | 
            -
                   | 
| 393 | 
            +
                  logger.warn "MiqVimVm::createSnapshot: snMor = #{snMor}"
         | 
| 393 394 | 
             
                  return snMor
         | 
| 394 395 | 
             
                end
         | 
| 395 396 |  | 
| 396 | 
            -
                 | 
| 397 | 
            +
                logger.debug "MiqVimVm::createSnapshot - no wait: taskMor = #{taskMor}"
         | 
| 397 398 | 
             
                taskMor
         | 
| 398 399 | 
             
              end # def createSnapshot
         | 
| 399 400 |  | 
| 400 401 | 
             
              def removeSnapshot(snMor, subTree = "false", wait = true, free_space_percent = 100)
         | 
| 401 | 
            -
                 | 
| 402 | 
            +
                logger.warn "MiqVimVm::removeSnapshot(#{snMor}, #{subTree})"
         | 
| 402 403 | 
             
                snMor = getSnapMor(snMor)
         | 
| 403 404 | 
             
                snapshot_free_space_check('remove', free_space_percent)
         | 
| 404 | 
            -
                 | 
| 405 | 
            +
                logger.warn "MiqVimVm(#{@invObj.server}, #{@invObj.username}).removeSnapshot: calling removeSnapshot_Task: snMor [#{snMor}] subtree [#{subTree}]"
         | 
| 405 406 | 
             
                taskMor = @invObj.removeSnapshot_Task(snMor, subTree)
         | 
| 406 | 
            -
                 | 
| 407 | 
            -
                 | 
| 407 | 
            +
                logger.warn "MiqVimVm(#{@invObj.server}, #{@invObj.username}).removeSnapshot: returned from removeSnapshot_Task: snMor [#{snMor}]"
         | 
| 408 | 
            +
                logger.debug "MiqVimVm::removeSnapshot: taskMor = #{taskMor}"
         | 
| 408 409 | 
             
                return taskMor unless wait
         | 
| 409 410 | 
             
                waitForTask(taskMor)
         | 
| 410 411 | 
             
              end # def removeSnapshot
         | 
| @@ -422,40 +423,40 @@ class MiqVimVm | |
| 422 423 | 
             
              end # def removeSnapshotByDescription
         | 
| 423 424 |  | 
| 424 425 | 
             
              def removeAllSnapshots(free_space_percent = 100)
         | 
| 425 | 
            -
                 | 
| 426 | 
            -
                 | 
| 426 | 
            +
                logger.debug "MiqVimVm::removeAllSnapshots"
         | 
| 427 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).removeAllSnapshots: calling removeAllSnapshots_Task"
         | 
| 427 428 | 
             
                snapshot_free_space_check('remove_all', free_space_percent)
         | 
| 428 429 | 
             
                taskMor = @invObj.removeAllSnapshots_Task(@vmMor)
         | 
| 429 | 
            -
                 | 
| 430 | 
            -
                 | 
| 430 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).removeAllSnapshots: returned from removeAllSnapshots_Task"
         | 
| 431 | 
            +
                logger.debug "MiqVimVm::removeAllSnapshots: taskMor = #{taskMor}"
         | 
| 431 432 | 
             
                waitForTask(taskMor)
         | 
| 432 433 | 
             
              end # def removeAllSnapshots
         | 
| 433 434 |  | 
| 434 435 | 
             
              def revertToSnapshot(snMor)
         | 
| 435 | 
            -
                 | 
| 436 | 
            +
                logger.debug "MiqVimVm::revertToSnapshot(#{snMor})"
         | 
| 436 437 | 
             
                snMor = getSnapMor(snMor)
         | 
| 437 | 
            -
                 | 
| 438 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).revertToSnapshot: calling revertToSnapshot_Task"
         | 
| 438 439 | 
             
                taskMor = @invObj.revertToSnapshot_Task(snMor)
         | 
| 439 | 
            -
                 | 
| 440 | 
            -
                 | 
| 440 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).revertToSnapshot: returned from revertToSnapshot_Task"
         | 
| 441 | 
            +
                logger.debug "MiqVimVm::revertToSnapshot: taskMor = #{taskMor}"
         | 
| 441 442 | 
             
                waitForTask(taskMor)
         | 
| 442 443 | 
             
              end # def revertToSnapshot
         | 
| 443 444 |  | 
| 444 445 | 
             
              def revertToCurrentSnapshot
         | 
| 445 | 
            -
                 | 
| 446 | 
            -
                 | 
| 446 | 
            +
                logger.debug "MiqVimVm::revertToCurrentSnapshot"
         | 
| 447 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).revertToCurrentSnapshot: calling revertToCurrentSnapshot_Task"
         | 
| 447 448 | 
             
                taskMor = @invObj.revertToCurrentSnapshot_Task(@vmMor)
         | 
| 448 | 
            -
                 | 
| 449 | 
            -
                 | 
| 449 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).revertToCurrentSnapshot: returned from revertToCurrentSnapshot_Task"
         | 
| 450 | 
            +
                logger.debug "MiqVimVm::revertToCurrentSnapshot: taskMor = #{taskMor}"
         | 
| 450 451 | 
             
                waitForTask(taskMor)
         | 
| 451 452 | 
             
              end # def revertToCurrentSnapshot
         | 
| 452 453 |  | 
| 453 454 | 
             
              def renameSnapshot(snMor, name, desc)
         | 
| 454 | 
            -
                 | 
| 455 | 
            +
                logger.debug "MiqVimVm::renameSnapshot(#{snMor}, #{name}, #{desc})"
         | 
| 455 456 | 
             
                snMor = getSnapMor(snMor)
         | 
| 456 | 
            -
                 | 
| 457 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).renameSnapshot: calling renameSnapshot"
         | 
| 457 458 | 
             
                @invObj.renameSnapshot(snMor, name, desc)
         | 
| 458 | 
            -
                 | 
| 459 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).renameSnapshot: returned from renameSnapshot"
         | 
| 459 460 | 
             
              end # def renameSnapshot
         | 
| 460 461 |  | 
| 461 462 | 
             
              def snapshot_free_space_check(action, free_space_percent = 100)
         | 
| @@ -509,13 +510,13 @@ class MiqVimVm | |
| 509 510 |  | 
| 510 511 | 
             
              def getSnapMor(snMor)
         | 
| 511 512 | 
             
                unless snMor.respond_to?(:vimType)
         | 
| 512 | 
            -
                   | 
| 513 | 
            +
                  logger.debug "MiqVimVm::getSnapMor converting #{snMor} to MOR"
         | 
| 513 514 | 
             
                  @cacheLock.synchronize(:SH) do
         | 
| 514 515 | 
             
                    raise "getSnapMor: VM #{@dsPath} has no snapshots" unless (sni = snapshotInfo_locked(true))
         | 
| 515 516 | 
             
                    raise "getSnapMor: snapshot #{snMor} not found" unless (snObj = sni['ssMorHash'][snMor])
         | 
| 516 517 | 
             
                    snMor = snObj['snapshot']
         | 
| 517 518 | 
             
                  end
         | 
| 518 | 
            -
                   | 
| 519 | 
            +
                  logger.debug "MiqVimVm::getSnapMor new MOR: #{snMor}"
         | 
| 519 520 | 
             
                end
         | 
| 520 521 | 
             
                (snMor)
         | 
| 521 522 | 
             
              end # def getSnapMor
         | 
| @@ -610,9 +611,9 @@ class MiqVimVm | |
| 610 611 | 
             
              end # def getCfg
         | 
| 611 612 |  | 
| 612 613 | 
             
              def reconfig(vmConfigSpec)
         | 
| 613 | 
            -
                 | 
| 614 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).reconfig: calling reconfigVM_Task"
         | 
| 614 615 | 
             
                taskMor = @invObj.reconfigVM_Task(@vmMor, vmConfigSpec)
         | 
| 615 | 
            -
                 | 
| 616 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).reconfig: returned from reconfigVM_Task"
         | 
| 616 617 | 
             
                waitForTask(taskMor)
         | 
| 617 618 | 
             
              end
         | 
| 618 619 |  | 
| @@ -631,9 +632,9 @@ class MiqVimVm | |
| 631 632 |  | 
| 632 633 | 
             
              def setMemory(memMB)
         | 
| 633 634 | 
             
                vmConfigSpec = VimHash.new("VirtualMachineConfigSpec") { |cs| cs.memoryMB = memMB }
         | 
| 634 | 
            -
                 | 
| 635 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).setMemory: calling reconfigVM_Task"
         | 
| 635 636 | 
             
                taskMor = @invObj.reconfigVM_Task(@vmMor, vmConfigSpec)
         | 
| 636 | 
            -
                 | 
| 637 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).setMemory: returned from reconfigVM_Task"
         | 
| 637 638 | 
             
                waitForTask(taskMor)
         | 
| 638 639 | 
             
              end
         | 
| 639 640 |  | 
| @@ -643,9 +644,9 @@ class MiqVimVm | |
| 643 644 |  | 
| 644 645 | 
             
              def setNumCPUs(numCPUs)
         | 
| 645 646 | 
             
                vmConfigSpec = VimHash.new("VirtualMachineConfigSpec") { |cs| cs.numCPUs = numCPUs }
         | 
| 646 | 
            -
                 | 
| 647 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).setNumCPUs: calling reconfigVM_Task"
         | 
| 647 648 | 
             
                taskMor = @invObj.reconfigVM_Task(@vmMor, vmConfigSpec)
         | 
| 648 | 
            -
                 | 
| 649 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).setNumCPUs: returned from reconfigVM_Task"
         | 
| 649 650 | 
             
                waitForTask(taskMor)
         | 
| 650 651 | 
             
              end
         | 
| 651 652 |  | 
| @@ -667,9 +668,9 @@ class MiqVimVm | |
| 667 668 | 
             
                  end
         | 
| 668 669 | 
             
                end
         | 
| 669 670 |  | 
| 670 | 
            -
                 | 
| 671 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).connectDevice: calling reconfigVM_Task"
         | 
| 671 672 | 
             
                taskMor = @invObj.reconfigVM_Task(@vmMor, vmConfigSpec)
         | 
| 672 | 
            -
                 | 
| 673 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).connectDevice: returned from reconfigVM_Task"
         | 
| 673 674 | 
             
                waitForTask(taskMor)
         | 
| 674 675 | 
             
              end # def connectDevice
         | 
| 675 676 |  | 
| @@ -705,9 +706,9 @@ class MiqVimVm | |
| 705 706 | 
             
                  end
         | 
| 706 707 | 
             
                end
         | 
| 707 708 |  | 
| 708 | 
            -
                 | 
| 709 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).attachIsoToCd: calling reconfigVM_Task"
         | 
| 709 710 | 
             
                taskMor = @invObj.reconfigVM_Task(@vmMor, vmConfigSpec)
         | 
| 710 | 
            -
                 | 
| 711 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).attachIsoToCd: returned from reconfigVM_Task"
         | 
| 711 712 | 
             
                waitForTask(taskMor)
         | 
| 712 713 | 
             
              end
         | 
| 713 714 |  | 
| @@ -723,9 +724,9 @@ class MiqVimVm | |
| 723 724 | 
             
                  end
         | 
| 724 725 | 
             
                end
         | 
| 725 726 |  | 
| 726 | 
            -
                 | 
| 727 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).resetCd: calling reconfigVM_Task"
         | 
| 727 728 | 
             
                taskMor = @invObj.reconfigVM_Task(@vmMor, vmConfigSpec)
         | 
| 728 | 
            -
                 | 
| 729 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).resetCd: returned from reconfigVM_Task"
         | 
| 729 730 | 
             
                waitForTask(taskMor)
         | 
| 730 731 | 
             
              end
         | 
| 731 732 |  | 
| @@ -803,9 +804,9 @@ class MiqVimVm | |
| 803 804 | 
             
                  end
         | 
| 804 805 | 
             
                end
         | 
| 805 806 |  | 
| 806 | 
            -
                 | 
| 807 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).addDisk: calling reconfigVM_Task"
         | 
| 807 808 | 
             
                taskMor = @invObj.reconfigVM_Task(@vmMor, vmConfigSpec)
         | 
| 808 | 
            -
                 | 
| 809 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).addDisk: returned from reconfigVM_Task"
         | 
| 809 810 | 
             
                waitForTask(taskMor)
         | 
| 810 811 | 
             
              end # def addDisk
         | 
| 811 812 |  | 
| @@ -820,8 +821,8 @@ class MiqVimVm | |
| 820 821 | 
             
                raise "removeDiskByFile: false setting for deleteBacking not yet supported" if deleteBacking == false
         | 
| 821 822 | 
             
                controllerKey, key = getDeviceKeysByBacking(backingFile)
         | 
| 822 823 | 
             
                raise "removeDiskByFile: no virtual device associated with: #{backingFile}" unless key
         | 
| 823 | 
            -
                 | 
| 824 | 
            -
                 | 
| 824 | 
            +
                logger.debug "MiqVimVm::MiqVimVm: backingFile = #{backingFile}"
         | 
| 825 | 
            +
                logger.debug "MiqVimVm::MiqVimVm: controllerKey = #{controllerKey}, key = #{key}"
         | 
| 825 826 |  | 
| 826 827 | 
             
                vmConfigSpec = VimHash.new("VirtualMachineConfigSpec") do |vmcs|
         | 
| 827 828 | 
             
                  vmcs.deviceChange = VimArray.new("ArrayOfVirtualDeviceConfigSpec") do |vmcs_vca|
         | 
| @@ -859,9 +860,9 @@ class MiqVimVm | |
| 859 860 | 
             
                  end
         | 
| 860 861 | 
             
                end
         | 
| 861 862 |  | 
| 862 | 
            -
                 | 
| 863 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).removeDiskByFile: calling reconfigVM_Task"
         | 
| 863 864 | 
             
                taskMor = @invObj.reconfigVM_Task(@vmMor, vmConfigSpec)
         | 
| 864 | 
            -
                 | 
| 865 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).removeDiskByFile: returned from reconfigVM_Task"
         | 
| 865 866 | 
             
                waitForTask(taskMor)
         | 
| 866 867 | 
             
              end # def removeDiskByFile
         | 
| 867 868 |  | 
| @@ -869,7 +870,7 @@ class MiqVimVm | |
| 869 870 | 
             
                disk = getDeviceByBacking(backingFile)
         | 
| 870 871 | 
             
                raise "resizeDisk: no virtual device associated with: #{backingFile}" unless disk
         | 
| 871 872 | 
             
                raise "resizeDisk: cannot reduce the size of a disk" unless newSizeInKb >= Integer(disk.capacityInKB)
         | 
| 872 | 
            -
                 | 
| 873 | 
            +
                logger.debug "MiqVimVm::resizeDisk: backingFile = #{backingFile} current size = #{device.capacityInKB} newSize = #{newSizeInKb} KB"
         | 
| 873 874 |  | 
| 874 875 | 
             
                vmConfigSpec = VimHash.new("VirtualMachineConfigSpec") do |vmcs|
         | 
| 875 876 | 
             
                  vmcs.deviceChange = VimArray.new("ArrayOfVirtualDeviceConfigSpec") do |vmcs_vca|
         | 
| @@ -887,9 +888,9 @@ class MiqVimVm | |
| 887 888 | 
             
                  end
         | 
| 888 889 | 
             
                end
         | 
| 889 890 |  | 
| 890 | 
            -
                 | 
| 891 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).resizeDisk: calling reconfigVM_Task"
         | 
| 891 892 | 
             
                taskMor = @invObj.reconfigVM_Task(@vmMor, vmConfigSpec)
         | 
| 892 | 
            -
                 | 
| 893 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).resizeDisk: returned from reconfigVM_Task"
         | 
| 893 894 | 
             
                waitForTask(taskMor)
         | 
| 894 895 | 
             
              end
         | 
| 895 896 |  | 
| @@ -1041,9 +1042,9 @@ class MiqVimVm | |
| 1041 1042 | 
             
                  else
         | 
| 1042 1043 | 
             
                    aSpec = @miqAlarmSpecDisabled
         | 
| 1043 1044 | 
             
                  end
         | 
| 1044 | 
            -
                   | 
| 1045 | 
            +
                  logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).addMiqAlarm_locked: calling createAlarm"
         | 
| 1045 1046 | 
             
                  alarmMor = @invObj.createAlarm(alarmManager, @vmMor, aSpec)
         | 
| 1046 | 
            -
                   | 
| 1047 | 
            +
                  logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).addMiqAlarm_locked: returned from createAlarm"
         | 
| 1047 1048 | 
             
                  @miqAlarmMor = alarmMor
         | 
| 1048 1049 | 
             
                ensure
         | 
| 1049 1050 | 
             
                  @cacheLock.sync_unlock if unlock
         | 
| @@ -1074,9 +1075,9 @@ class MiqVimVm | |
| 1074 1075 | 
             
                begin
         | 
| 1075 1076 | 
             
                  @cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
         | 
| 1076 1077 |  | 
| 1077 | 
            -
                   | 
| 1078 | 
            +
                  logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).getMiqAlarm_locked: calling getAlarm"
         | 
| 1078 1079 | 
             
                  alarms = @invObj.getAlarm(@sic.alarmManager, @vmMor)
         | 
| 1079 | 
            -
                   | 
| 1080 | 
            +
                  logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).getMiqAlarm_locked: returned from getAlarm"
         | 
| 1080 1081 | 
             
                  alarms.each do |aMor|
         | 
| 1081 1082 | 
             
                    ap = @invObj.getMoProp(aMor, "info.name")
         | 
| 1082 1083 | 
             
                    next unless ap['info']['name'][MIQ_ALARM_PFX]
         | 
| @@ -1105,27 +1106,27 @@ class MiqVimVm | |
| 1105 1106 | 
             
              def disableMiqAlarm
         | 
| 1106 1107 | 
             
                @cacheLock.synchronize(:SH) do
         | 
| 1107 1108 | 
             
                  raise "disableMiqAlarm: MiqAlarm not configured for VM #{@dsPath}" unless (aMor = getMiqAlarm_locked)
         | 
| 1108 | 
            -
                   | 
| 1109 | 
            +
                  logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).disableMiqAlarm: calling reconfigureAlarm"
         | 
| 1109 1110 | 
             
                  @invObj.reconfigureAlarm(aMor, @miqAlarmSpecDisabled)
         | 
| 1110 | 
            -
                   | 
| 1111 | 
            +
                  logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).disableMiqAlarm: returned from reconfigureAlarm"
         | 
| 1111 1112 | 
             
                end
         | 
| 1112 1113 | 
             
              end
         | 
| 1113 1114 |  | 
| 1114 1115 | 
             
              def enableMiqAlarm
         | 
| 1115 1116 | 
             
                @cacheLock.synchronize(:SH) do
         | 
| 1116 1117 | 
             
                  raise "enableMiqAlarm: MiqAlarm not configured for VM #{@dsPath}" unless (aMor = getMiqAlarm_locked)
         | 
| 1117 | 
            -
                   | 
| 1118 | 
            +
                  logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).enableMiqAlarm: calling reconfigureAlarm"
         | 
| 1118 1119 | 
             
                  @invObj.reconfigureAlarm(aMor, @miqAlarmSpecEnabled)
         | 
| 1119 | 
            -
                   | 
| 1120 | 
            +
                  logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).enableMiqAlarm: returned from reconfigureAlarm"
         | 
| 1120 1121 | 
             
                end
         | 
| 1121 1122 | 
             
              end
         | 
| 1122 1123 |  | 
| 1123 1124 | 
             
              def removeMiqAlarm
         | 
| 1124 1125 | 
             
                @cacheLock.synchronize(:SH) do
         | 
| 1125 1126 | 
             
                  return unless (aMor = getMiqAlarm_locked)
         | 
| 1126 | 
            -
                   | 
| 1127 | 
            +
                  logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).removeMiqAlarm: calling removeAlarm"
         | 
| 1127 1128 | 
             
                  @invObj.removeAlarm(aMor)
         | 
| 1128 | 
            -
                   | 
| 1129 | 
            +
                  logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).removeMiqAlarm: returned from removeAlarm"
         | 
| 1129 1130 | 
             
                  @miqAlarmMor = nil
         | 
| 1130 1131 | 
             
                end
         | 
| 1131 1132 | 
             
              end
         | 
| @@ -1177,9 +1178,9 @@ class MiqVimVm | |
| 1177 1178 | 
             
                  end
         | 
| 1178 1179 | 
             
                end
         | 
| 1179 1180 |  | 
| 1180 | 
            -
                 | 
| 1181 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).setExtraConfigAttributes: calling reconfigVM_Task"
         | 
| 1181 1182 | 
             
                taskMor = @invObj.reconfigVM_Task(@vmMor, vmConfigSpec)
         | 
| 1182 | 
            -
                 | 
| 1183 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).setExtraConfigAttributes: returned from reconfigVM_Task"
         | 
| 1183 1184 | 
             
                waitForTask(taskMor)
         | 
| 1184 1185 |  | 
| 1185 1186 | 
             
                @extraConfig = nil
         | 
| @@ -1287,16 +1288,16 @@ class MiqVimVm | |
| 1287 1288 | 
             
              end
         | 
| 1288 1289 |  | 
| 1289 1290 | 
             
              def acquireMksTicket
         | 
| 1290 | 
            -
                 | 
| 1291 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).acquireMksTicket: calling acquireMksTicket"
         | 
| 1291 1292 | 
             
                rv = @invObj.acquireMksTicket(@vmMor)
         | 
| 1292 | 
            -
                 | 
| 1293 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).acquireMksTicket: returned from acquireMksTicket"
         | 
| 1293 1294 | 
             
                (rv)
         | 
| 1294 1295 | 
             
              end # def acquireMksTicket
         | 
| 1295 1296 |  | 
| 1296 1297 | 
             
              def acquireTicket(ticketType)
         | 
| 1297 | 
            -
                 | 
| 1298 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).acquireTicket: calling acquireTicket"
         | 
| 1298 1299 | 
             
                rv = @invObj.acquireTicket(@vmMor, ticketType)
         | 
| 1299 | 
            -
                 | 
| 1300 | 
            +
                logger.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).acquireTicket: returned from acquireTicket"
         | 
| 1300 1301 | 
             
                (rv)
         | 
| 1301 1302 | 
             
              end # def acquireTicket
         | 
| 1302 1303 |  |