class PackerFiles::Debian::Server
Public Class Methods
new() { |self| ... }
click to toggle source
Constructor. Yield self for further initialization
# File lib/PackerFiles/OS/Debian/Server.rb, line 41 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/Debian/Server.rb, line 28 def self.preseed_accessors [Core::Locale, Core::Keyboard, Core::TimeZone, Core::User, Core::Disk, Core::Network, Core::Packages, Apt ] end
Public Instance Methods
boot_command()
click to toggle source
Boot Command Override
# File lib/PackerFiles/OS/Debian/Server.rb, line 111 def boot_command file = PackerFiles.DirPath('Debian/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/Debian/Server.rb, line 64 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/Debian/Server.rb, line 160 def disable_root_for_user file = PackerFiles.DirPath('Debian/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/Debian/Server.rb, line 152 def enable_root_for_user file = PackerFiles.DirPath('Debian/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/Debian/Server.rb, line 46 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, self.Apt objects.each do |obj| obj.normalize end # Call a hook function to customize preseed generation by # derived classes. preseed_write_hook(objects) end
guest_os_type()
click to toggle source
Guest OS Type override
# File lib/PackerFiles/OS/Debian/Server.rb, line 127 def guest_os_type return "Debian_64" if (self.CDImage.arch == "amd64") return "Debian" 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/Debian/Server.rb, line 76 def kvm_converter_hook(gen) Virtual::KVMConverter.new(self, gen).value end
preseed_file()
click to toggle source
Name of the preseed file
# File lib/PackerFiles/OS/Debian/Server.rb, line 103 def preseed_file rel = self.CDImage.release arch = self.CDImage.arch name = "preseed-debian-server-#{rel}-#{arch}.cfg" File.join(http_dir, name) end
preseed_write_hook(objects)
click to toggle source
Hook for writing into preseed file.
# File lib/PackerFiles/OS/Debian/Server.rb, line 87 def preseed_write_hook(objects) # Preseed file by evaluating templates @ Debian folder. preseed = Preseed.new(preseed_file) # Convert objects into Preseed configuration. objects.each do |obj| preseed.convert obj, 'Debian/Templates' end # Generate fastest debian mirrors preseed.eval_file 'Debian/Templates/Mirrors_erb.rb', {'obj' => Mirrors.new} end
run_command_as_root()
click to toggle source
Run any given command as root
# File lib/PackerFiles/OS/Debian/Server.rb, line 144 def run_command_as_root file = PackerFiles.DirPath('Debian/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/Debian/Server.rb, line 119 def shutdown_command file = PackerFiles.DirPath('Debian/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/Debian/Server.rb, line 70 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/Debian/Server.rb, line 82 def vmware_converter_hook(gen) Virtual::VMWareConverter.new(self, gen).value end
vmware_guest_os_flavor()
click to toggle source
VMWare guest os flavor
# File lib/PackerFiles/OS/Debian/Server.rb, line 139 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/Debian/Server.rb, line 133 def vmware_guest_os_type return "other26xlinux-64" if (self.CDImage.arch == "amd64") return "other26xlinux" end