Class: BoxGrinder::RHELPlugin
Instance Attribute Summary
Attributes inherited from BasePlugin
#deliverables, #plugin_info
Instance Method Summary
collapse
#add_repos, #apply_root_password, #build_with_appliance_creator, #change_configuration, #cleanup_after_appliance_creator, #disable_firewall, #execute_appliance_creator, #execute_post, #install_files, #install_repos, #recreate_kernel_image, #recreate_rpm_database, #set_label_for_swap_partitions, #set_motd, #substitute_vars, #use_labels_for_partitions
Methods inherited from BasePlugin
#current_platform, #deliverables_exists?, #init, #initialize, #is_supported_os?, #is_supported_platform?, #merge_plugin_config, #read_plugin_config, #register_deliverable, #register_supported_os, #register_supported_platform, #run, #set_default_config_value, #subtype, #supported_oses, #validate_plugin_config
Methods included from Plugins
#plugin
Instance Method Details
#add_packages(packages, package_array) ⇒ Object
52
53
54
|
# File 'lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb', line 52
def add_packages(packages, package_array)
package_array.each { |package| packages << package unless packages.include?(package) }
end
|
#after_init ⇒ Object
25
26
27
28
|
# File 'lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb', line 25
def after_init
super
register_supported_os('rhel', ['5', '6'])
end
|
#build_rhel(appliance_definition_file, repos = {}) ⇒ Object
30
31
32
33
34
35
36
37
|
# File 'lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb', line 30
def build_rhel(appliance_definition_file, repos = {})
normalize_packages(@appliance_config.packages)
build_with_appliance_creator(appliance_definition_file, repos) do |guestfs, guestfs_helper|
@linux_helper.recreate_kernel_image(guestfs, ['mptspi', 'virtio_pci', 'virtio_blk']) if @appliance_config.os.version == '5' and !@appliance_config.packages.include?('kernel-xen')
end
end
|
#execute(appliance_definition_file) ⇒ Object
56
57
58
|
# File 'lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb', line 56
def execute(appliance_definition_file)
build_rhel(appliance_definition_file)
end
|
#normalize_packages(packages) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb', line 39
def normalize_packages(packages)
add_packages(packages, ['@core', 'curl', 'grub'])
case @appliance_config.os.version
when '5'
packages << 'kernel' unless packages.include?('kernel-xen')
add_packages(packages, ['system-config-securitylevel-tui', 'util-linux', 'setarch', 'sudo'])
when '6'
add_packages(packages, ['kernel', 'system-config-firewall-base'])
end
end
|