class Sahara::Session::VMWare
Public Class Methods
new(machine)
click to toggle source
# File lib/sahara/session/vmware.rb, line 5 def initialize(machine) @machine=machine @vmx_path=@machine.provider.driver.vmx_path @vmwarecmd=@machine.provider.driver.instance_variable_get(:@vmrun_path).to_s.gsub(" ", "\\ ") @sandboxname="sahara-sandbox" if @machine.provider.driver.class.to_s != "HashiCorp::VagrantVMwarefusion::Driver::Fusion" raise Sahara::Errors::ProviderNotSupported end end
Public Instance Methods
commit()
click to toggle source
# File lib/sahara/session/vmware.rb, line 33 def commit `#{@vmwarecmd} -T ws deleteSnapshot "#{@vmx_path}" "#{@sandboxname}"` `#{@vmwarecmd} -T ws snapshot "#{@vmx_path}" "#{@sandboxname}"` end
is_snapshot_mode_on?()
click to toggle source
# File lib/sahara/session/vmware.rb, line 20 def is_snapshot_mode_on? snapshots=self.list_snapshots return snapshots.include?(@sandboxname) end
is_vm_created?()
click to toggle source
# File lib/sahara/session/vmware.rb, line 52 def is_vm_created? return !@machine.id.nil? end
list_snapshots()
click to toggle source
# File lib/sahara/session/vmware.rb, line 15 def list_snapshots output = `#{@vmwarecmd} listSnapshots "#{@vmx_path}"` output.rstrip.split(/\r?\n/).map {|line| line.chomp } end
off()
click to toggle source
# File lib/sahara/session/vmware.rb, line 25 def off `#{@vmwarecmd} -T ws deleteSnapshot "#{@vmx_path}" "#{@sandboxname}"` end
on()
click to toggle source
# File lib/sahara/session/vmware.rb, line 29 def on `#{@vmwarecmd} -T ws snapshot "#{@vmx_path}" "#{@sandboxname}"` end
rollback()
click to toggle source
# File lib/sahara/session/vmware.rb, line 38 def rollback `#{@vmwarecmd} -T ws revertToSnapshot "#{@vmx_path}" "#{@sandboxname}" ` sleep 2 gui_boot = @machine.provider_config.gui if gui_boot boot_mode = "gui" else boot_mode = "nogui" end # restore boot mode `#{@vmwarecmd} -T ws start "#{@vmx_path}" #{boot_mode} ` end