Object
Add a layer of delta disks (redo logs) in front of every disk on the VM. This is similar to taking a snapshot and makes the VM a valid target for creating a linked clone.
Background: The API for linked clones is quite strange. We can't create a linked straight from any VM. The disks of the VM for which we can create a linked clone need to be read-only and thus VC demands that the VM we are cloning from uses delta-disks. Only then it will allow us to share the base disk.
# File lib/rbvmomi/vim/VirtualMachine.rb, line 34 def add_delta_disk_layer_on_all_disks devices, = self.collect 'config.hardware.device' disks = devices.grep(RbVmomi::VIM::VirtualDisk) # XXX: Should create a single reconfig spec instead of one per disk disks.each do |disk| spec = { :deviceChange => [ { :operation => :remove, :device => disk }, { :operation => :add, :fileOperation => :create, :device => disk.dup.tap { |x| x.backing = x.backing.dup x.backing.fileName = "[#{disk.backing.datastore.name}]" x.backing.parent = disk.backing }, } ] } self.ReconfigVM_Task(:spec => spec).wait_for_completion end end
Retrieve all virtual disk devices. @return [Array] Array of virtual disk devices.
# File lib/rbvmomi/vim/VirtualMachine.rb, line 10 def disks self.config.hardware.device.grep(RbVmomi::VIM::VirtualDisk) end
Get the IP of the guest, but only if it is not stale @return [String] Current IP reported (as per VMware Tools) or nil
# File lib/rbvmomi/vim/VirtualMachine.rb, line 16 def guest_ip g = self.guest if g.ipAddress && (g.toolsStatus == "toolsOk" || g.toolsStatus == "toolsOld") g.ipAddress else nil end end
Generated with the Darkfish Rdoc Generator 2.