class PackerFiles::CentOS::Server
Public Class Methods
new() { |self| ... }
click to toggle source
Constructor. Yield self for further initialization
# File lib/PackerFiles/OS/CentOS/Server.rb, line 39 def initialize yield self if block_given? end
preseed_accessors()
click to toggle source
List of type accessors used by this class that also gets converted to a preseed
# File lib/PackerFiles/OS/CentOS/Server.rb, line 26 def self.preseed_accessors [Core::Locale, Core::Keyboard, Core::TimeZone, Core::User, Core::Disk, Core::Network, Core::Packages ] end
Public Instance Methods
boot_command()
click to toggle source
Boot Command Override
# File lib/PackerFiles/OS/CentOS/Server.rb, line 112 def boot_command file = PackerFiles.DirPath('CentOS/Templates/boot_command_erb.rb') hash = { 'obj' => self, 'network' => self.Network } value = PackerFiles.evaluate_erb(file.first, hash) value.split("\n") end
cd_image_hook()
click to toggle source
Hook function called before normalizing CD
Image
# File lib/PackerFiles/OS/CentOS/Server.rb, line 62 def cd_image_hook self.CDImage.impl = CD.new end
disable_root_for_user()
click to toggle source
Disable root user command w/o a password
# File lib/PackerFiles/OS/CentOS/Server.rb, line 161 def disable_root_for_user file = PackerFiles.DirPath('CentOS/Templates/disable_root_erb.rb') hash = { 'obj' => self } value = PackerFiles.evaluate_erb(file.first, hash) value.chop end
enable_root_for_user()
click to toggle source
Enable root user command w/o a password
# File lib/PackerFiles/OS/CentOS/Server.rb, line 153 def enable_root_for_user file = PackerFiles.DirPath('CentOS/Templates/enable_root_erb.rb') hash = { 'obj' => self } value = PackerFiles.evaluate_erb(file.first, hash) value.chop end
generate_hook()
click to toggle source
hook function for generation
# File lib/PackerFiles/OS/CentOS/Server.rb, line 44 def generate_hook # Construct objects that needs to be converted by using accessors. # The tracker type_accessors tracks the mapping b/w Type names and # method calls. objects = [] objects.push self.Locale, self.Keyboard, self.TimeZone, self.User objects.push self.Disk, self.Network, self.Packages objects.each do |obj| obj.normalize end # Call a hook function to customize kickstart generation by # derived classes. kickstart_write_hook(objects) end
guest_os_type()
click to toggle source
Guest OS Type override
# File lib/PackerFiles/OS/CentOS/Server.rb, line 128 def guest_os_type return "RedHat_64" if (self.CDImage.arch == "x86_64") return "RedHat" end
kickstart_file()
click to toggle source
Name of the preseed file
# File lib/PackerFiles/OS/CentOS/Server.rb, line 104 def kickstart_file rel = self.CDImage.release arch = self.CDImage.arch name = "kickstart-centos-server-#{rel}-#{arch}.cfg" File.join(http_dir, name) end
kickstart_write_hook(objects)
click to toggle source
Hook for writing into preseed file.
# File lib/PackerFiles/OS/CentOS/Server.rb, line 85 def kickstart_write_hook(objects) # Preseed file by evaluating templates @ Debian folder. kickstart = Kickstart.new(kickstart_file) # Evaluate Head kickstart.eval_file('CentOS/Templates/Base_erb.rb', {}) # Convert objects into Preseed configuration. objects.each do |obj| kickstart.convert obj, 'CentOS/Templates' end # Evaluate tail kickstart.eval_file('CentOS/Templates/Tail_erb.rb', {'obj' => self}) end
kvm_converter_hook(gen)
click to toggle source
Hook function called for converting this object into a hash for KVM
# File lib/PackerFiles/OS/CentOS/Server.rb, line 74 def kvm_converter_hook(gen) Virtual::KVMConverter.new(self, gen).value end
run_command_as_root()
click to toggle source
Run any given command as root
# File lib/PackerFiles/OS/CentOS/Server.rb, line 145 def run_command_as_root file = PackerFiles.DirPath('CentOS/Templates/command_as_root_erb.rb') hash = { 'obj' => self } value = PackerFiles.evaluate_erb(file.first, hash) value.chop end
shutdown_command()
click to toggle source
Shutdown command Override
# File lib/PackerFiles/OS/CentOS/Server.rb, line 120 def shutdown_command file = PackerFiles.DirPath('CentOS/Templates/shutdown_command_erb.rb') hash = { 'obj' => self.User } value = PackerFiles.evaluate_erb(file.first, hash) value.chop end
vbox_converter_hook(gen)
click to toggle source
Hook function called for converting this object into a hash for VirtualBox
# File lib/PackerFiles/OS/CentOS/Server.rb, line 68 def vbox_converter_hook(gen) Virtual::VirtualBoxConverter.new(self, gen).value end
vmware_converter_hook(gen)
click to toggle source
Hook function called for converting this object into a hash for VMWare
# File lib/PackerFiles/OS/CentOS/Server.rb, line 80 def vmware_converter_hook(gen) Virtual::VMWareConverter.new(self, gen).value end
vmware_guest_os_flavor()
click to toggle source
VMWare Guest Flavor override
# File lib/PackerFiles/OS/CentOS/Server.rb, line 140 def vmware_guest_os_flavor return "linux" end
vmware_guest_os_type()
click to toggle source
VMWare Guest OS Type override
# File lib/PackerFiles/OS/CentOS/Server.rb, line 134 def vmware_guest_os_type return "rhel4-64" if (self.CDImage.arch == "x86_64") return "rhel4" end