diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/memoize.rb b/src/vmm_mad/remotes/lib/vcenter_driver/memoize.rb index 5f5dca0ec6..2ee3242e49 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/memoize.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/memoize.rb @@ -53,6 +53,15 @@ module Memoize @memoize[property] = current_item end + def clear(property) + @memoize = {} if !defined?(@memoize) + @memoize.clear[property] if @memoize[property] + end + + def clear_all + @memoize = {} + end + def []=(property, value) @memoize = {} if !defined?(@memoize) diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb index 6d32c7430b..50e22aff7e 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb @@ -2236,6 +2236,7 @@ class VirtualMachine < VCenterDriver::Template end def has_snapshots? + self.clear('rootSnapshot') self['rootSnapshot'] && !self['rootSnapshot'].empty? end