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