lib/instalatron.rb in instalatron-0.1.2 vs lib/instalatron.rb in instalatron-0.1.3
- old
+ new
@@ -2,11 +2,11 @@
require 'yaml'
require 'virtualbox'
module Instalatron
- VERSION = '0.1.2'
+ VERSION = '0.1.3'
def self.destroy_vm(vm_name)
`VBoxManage controlvm '#{vm_name}' poweroff > /dev/null 2>&1`
# dumb
sleep 1
@@ -21,10 +21,14 @@
end
os_type = params[:os_type] || 'RedHat_64'
vboxcmd = params[:vboxcmd] || 'VBoxManage'
vm_memory = params[:vm_memory] || 512
vm_cpus = params[:vm_cpus] || 1
+ if params[:headless].nil?
+ params[:headless] = false
+ end
+ headless = params[:headless] ? 'headless':'gui'
# listing os types
# VirtualBox::Global.global.lib.virtualbox.guest_os_types.each do |os|
# puts os.id
# end
@@ -65,11 +69,11 @@
# Attach disk
`#{vboxcmd} storageattach '#{vm_name}' --storagectl 'SATA Controller' --port 0 --device 0 --type hdd --medium '#{disk_file}' >/dev/null 2>&1`
`#{vboxcmd} storageattach '#{vm_name}' --storagectl 'IDE Controller' --type dvddrive --port 1 --device 0 --medium '#{full_iso_file}' >/dev/null 2>&1`
- vm.start
+ vm.start headless
end
def self.command_window(seq, vm_name, key_press_delay = 0)
if seq.is_a? String
seq = [seq]
@@ -77,10 +81,10 @@
seq.each do |str|
keycodes = string_to_keycode str
keycodes.split.each do |k|
`VBoxManage controlvm #{vm_name} keyboardputscancode '#{k}' >/dev/null 2>&1`
end
- #sleep key_press_delay
+ sleep key_press_delay.to_i
end
end
def self.grab_screenshot(vm_name, dest_file = nil)
if dest_file.nil?