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