Class: PackerFiles::Ubuntu::Server

Inherits:
Debian::Server show all
Defined in:
lib/PackerFiles/OS/Ubuntu/Server.rb

Direct Known Subclasses

Desktop

Instance Attribute Summary

Attributes inherited from Builder

#OutDir

Instance Method Summary collapse

Methods inherited from Debian::Server

#disable_root_for_user, #enable_root_for_user, #generate_hook, #kvm_converter_hook, preseed_accessors, #run_command_as_root, #shutdown_command, #vbox_converter_hook, #vmware_converter_hook, #vmware_guest_os_flavor

Methods inherited from Builder

#Generate, #http_dir, #name, #packer_json_file, versions

Methods inherited from PackerFiles::Utils::TypeAccessor

proc_from, type_accessor, type_accessors

Constructor Details

#initializeServer

Constructor. Yield self for further initialization



14
15
16
# File 'lib/PackerFiles/OS/Ubuntu/Server.rb', line 14

def initialize
   super
end

Instance Method Details

#boot_commandObject

Boot Command Override



57
58
59
60
61
62
# File 'lib/PackerFiles/OS/Ubuntu/Server.rb', line 57

def boot_command
   file  = PackerFiles.DirPath('Ubuntu/Templates/boot_command_erb.rb')
	hash  = { 'obj' => self, 'network' => self.Network }
   value = PackerFiles.evaluate_erb(file.first, hash)
	value.split("\n")
end

#cd_image_hookObject

Hook function called before normalizing CD Image



19
20
21
# File 'lib/PackerFiles/OS/Ubuntu/Server.rb', line 19

def cd_image_hook
	self.CDImage.impl = Ubuntu::CD.new
end

#guest_os_typeObject

Guest OS Type override



65
66
67
68
# File 'lib/PackerFiles/OS/Ubuntu/Server.rb', line 65

def guest_os_type
	return "Ubuntu_64" if (self.CDImage.arch == "amd64")
	return "Ubuntu"
end

#preseed_fileObject

Name of the preseed file



49
50
51
52
53
54
# File 'lib/PackerFiles/OS/Ubuntu/Server.rb', line 49

def preseed_file
   rel  = self.CDImage.release
   arch = self.CDImage.arch
   name = "preseed-ubuntu-server-#{rel}-#{arch}.cfg"
	File.join(http_dir, name)
end

#preseed_write_hook(objects) ⇒ Object

Hook for writing into preseed file.



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/PackerFiles/OS/Ubuntu/Server.rb', line 24

def preseed_write_hook(objects)

	# Preseed file by evaluating templates @ Debian folder.
	preseed = Debian::Preseed.new(preseed_file)

   # Convert objects into Preseed configuration.
   objects.each do |obj|
	   if obj.is_a? Debian::Apt
  preseed.convert obj, 'Ubuntu/Templates'
	   else
  preseed.convert obj, 'Debian/Templates'
	   end
   end

	# Generate fastest debian mirrors
	preseed.eval_file 'Debian/Templates/Mirrors_erb.rb', 
{'obj' => Ubuntu::Mirrors.new}

   # Return the preseed object for further customization 
   # by derived classes.
	return preseed

end

#vmware_guest_os_typeObject

VMWare Guest OS Type override



71
72
73
74
# File 'lib/PackerFiles/OS/Ubuntu/Server.rb', line 71

def vmware_guest_os_type
	return "ubuntu-64" if (self.CDImage.arch == "amd64")
	return "ubuntu"
end