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