| Class | BoxGrinder::VirtualBoxPlugin |
| In: |
lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb
lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb |
| Parent: | BasePlugin |
# File lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb, line 24
24: def after_init
25: register_deliverable(:disk => "#{@appliance_config.name}.vmdk")
26: end
# File lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb, line 24
24: def after_init
25: register_deliverable(:disk => "#{@appliance_config.name}.vmdk")
26: end
# File lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb, line 47
47: def build_virtualbox
48: @log.debug "Building VirtualBox image."
49:
50: @log.debug "Using qemu-img to convert the image..."
51: @image_helper.convert_disk(@previous_deliverables.disk, :vmdk, @deliverables.disk)
52: @log.debug "Conversion done."
53:
54: @log.debug "VirtualBox image was built."
55: end
# File lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb, line 47
47: def build_virtualbox
48: @log.debug "Building VirtualBox image."
49:
50: @log.debug "Using qemu-img to convert the image..."
51: @image_helper.convert_disk(@previous_deliverables.disk, :vmdk, @deliverables.disk)
52: @log.debug "Conversion done."
53:
54: @log.debug "VirtualBox image was built."
55: end
# File lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb, line 63
63: def customize(guestfs_helper)
64: @log.debug "Executing post commands from appliance definition..."
65: @appliance_config.post['virtualbox'].each do |cmd|
66: guestfs_helper.sh(cmd, :arch => @appliance_config.hardware.arch)
67: end
68: @log.debug "Post commands from appliance definition file executed."
69: end
# File lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb, line 63
63: def customize(guestfs_helper)
64: @log.debug "Executing post commands from appliance definition..."
65: @appliance_config.post['virtualbox'].each do |cmd|
66: guestfs_helper.sh(cmd, :arch => @appliance_config.hardware.arch)
67: end
68: @log.debug "Post commands from appliance definition file executed."
69: end
# File lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb, line 28
28: def execute
29: @log.info "Converting image to VirtualBox format..."
30:
31: build_virtualbox
32:
33: if is_os_old? or !@appliance_config.post['virtualbox'].nil?
34: @image_helper.customize([@deliverables.disk]) do |guestfs, guestfs_helper|
35: recreate_kernel(guestfs) if is_os_old?
36: customize(guestfs_helper) unless @appliance_config.post['virtualbox'].nil?
37: end
38: end
39:
40: @log.info "Image converted to VirtualBox format."
41: end
# File lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb, line 28
28: def execute
29: @log.info "Converting image to VirtualBox format..."
30:
31: build_virtualbox
32:
33: if is_os_old? or !@appliance_config.post['virtualbox'].nil?
34: @image_helper.customize([@deliverables.disk]) do |guestfs, guestfs_helper|
35: recreate_kernel(guestfs) if is_os_old?
36: customize(guestfs_helper) unless @appliance_config.post['virtualbox'].nil?
37: end
38: end
39:
40: @log.info "Image converted to VirtualBox format."
41: end
# File lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb, line 43
43: def is_os_old?
44: (@appliance_config.os.name == 'centos' or @appliance_config.os.name == 'rhel') and @appliance_config.os.version == '5'
45: end
# File lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb, line 43
43: def is_os_old?
44: (@appliance_config.os.name == 'centos' or @appliance_config.os.name == 'rhel') and @appliance_config.os.version == '5'
45: end
# File lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb, line 57
57: def recreate_kernel(guestfs)
58: @log.info "Recreating kernel to include require modules..."
59: LinuxHelper.new(:log => @log).recreate_kernel_image(guestfs, ['ahci'])
60: @log.info "Kernel recreated."
61: end