Class | BoxGrinder::ApplianceConfig |
In: |
lib/boxgrinder-core/models/appliance-config.rb
lib/boxgrinder-core/models/appliance-config.rb |
Parent: | Object |
appliances | [RW] | |
appliances | [RW] | |
default_repos | [RW] | |
default_repos | [RW] | |
files | [R] | |
files | [R] | |
hardware | [R] | |
hardware | [R] | |
name | [RW] | |
name | [RW] | |
os | [R] | |
os | [R] | |
packages | [RW] | |
packages | [RW] | |
path | [R] | |
path | [R] | |
post | [R] | |
post | [R] | |
release | [RW] | |
release | [RW] | |
repos | [RW] | |
repos | [RW] | |
summary | [RW] | |
summary | [RW] | |
variables | [R] | |
variables | [R] | |
version | [RW] | |
version | [RW] |
# File lib/boxgrinder-core/models/appliance-config.rb, line 24 24: def initialize 25: @name = nil 26: @summary = nil 27: 28: @variables = {} 29: 30: @os = OpenCascade.new 31: 32: @os.name = nil 33: @os.version = nil 34: @os.password = nil 35: @os.pae = true 36: 37: @hardware = OpenCascade.new 38: 39: @hardware.cpus = 1 40: @hardware.memory = 256 41: @hardware.network = 'NAT' 42: @hardware.partitions = {"/" => {'size' => 1}} 43: 44: @default_repos = true 45: 46: @post = {} 47: @files = {} 48: 49: @packages = [] 50: @appliances = [] 51: @repos = [] 52: 53: @version = 1 54: @release = 0 55: end
# File lib/boxgrinder-core/models/appliance-config.rb, line 24 24: def initialize 25: @name = nil 26: @summary = nil 27: 28: @variables = {} 29: 30: @os = OpenCascade.new 31: 32: @os.name = nil 33: @os.version = nil 34: @os.password = nil 35: @os.pae = true 36: 37: @hardware = OpenCascade.new 38: 39: @hardware.cpus = 1 40: @hardware.memory = 256 41: @hardware.network = 'NAT' 42: @hardware.partitions = {"/" => {'size' => 1}} 43: 44: @default_repos = true 45: 46: @post = {} 47: @files = {} 48: 49: @packages = [] 50: @appliances = [] 51: @repos = [] 52: 53: @version = 1 54: @release = 0 55: end
# File lib/boxgrinder-core/models/appliance-config.rb, line 127 127: def clone 128: Marshal::load(Marshal.dump(self)) 129: end
# File lib/boxgrinder-core/models/appliance-config.rb, line 127 127: def clone 128: Marshal::load(Marshal.dump(self)) 129: end
Returns default filesystem type for current OS
# File lib/boxgrinder-core/models/appliance-config.rb, line 98 98: def default_filesystem_type 99: fs = 'ext4' 100: 101: # Since RHEL 5.6 the default filesystem is ext4 102: # 103: # case @os.name 104: # when 'rhel', 'centos' 105: # case @os.version 106: # when '5' 107: # fs = 'ext3' 108: # end 109: # end 110: 111: fs 112: end
Returns default filesystem type for current OS
# File lib/boxgrinder-core/models/appliance-config.rb, line 98 98: def default_filesystem_type 99: fs = 'ext4' 100: 101: # Since RHEL 5.6 the default filesystem is ext4 102: # 103: # case @os.name 104: # when 'rhel', 'centos' 105: # case @os.version 106: # when '5' 107: # fs = 'ext3' 108: # end 109: # end 110: 111: fs 112: end
# File lib/boxgrinder-core/models/appliance-config.rb, line 119 119: def eql?(other) 120: hash.eql?(other.hash) 121: end
# File lib/boxgrinder-core/models/appliance-config.rb, line 119 119: def eql?(other) 120: hash.eql?(other.hash) 121: end
used to checking if configuration differs from previous in appliance-kickstart
# File lib/boxgrinder-core/models/appliance-config.rb, line 115 115: def hash 116: "#{@name}-#{@summary}-#{@version}-#{@release}-#{@os.name}-#{@os.version}-#{@os.password}-#{@hardware.cpus}-#{@hardware.memory}-#{@hardware.partitions}-#{@appliances}".hash 117: end
used to checking if configuration differs from previous in appliance-kickstart
# File lib/boxgrinder-core/models/appliance-config.rb, line 115 115: def hash 116: "#{@name}-#{@summary}-#{@version}-#{@release}-#{@os.name}-#{@os.version}-#{@os.password}-#{@hardware.cpus}-#{@hardware.memory}-#{@hardware.partitions}-#{@appliances}".hash 117: end
# File lib/boxgrinder-core/models/appliance-config.rb, line 73 73: def init 74: init_arch 75: initialize_paths 76: self 77: end
# File lib/boxgrinder-core/models/appliance-config.rb, line 73 73: def init 74: init_arch 75: initialize_paths 76: self 77: end
# File lib/boxgrinder-core/models/appliance-config.rb, line 79 79: def init_arch 80: @hardware.arch = `uname -m`.chomp.strip 81: @hardware.base_arch = is64bit? ? "x86_64" : "i386" 82: self 83: end
# File lib/boxgrinder-core/models/appliance-config.rb, line 79 79: def init_arch 80: @hardware.arch = `uname -m`.chomp.strip 81: @hardware.base_arch = is64bit? ? "x86_64" : "i386" 82: self 83: end
# File lib/boxgrinder-core/models/appliance-config.rb, line 85 85: def initialize_paths 86: @path = OpenCascade.new 87: 88: @path.os = "#{@os.name}/#{@os.version}" 89: @path.version = "#{@version}.#{@release}" 90: @path.main = "#{@hardware.arch}/#{@path.os}" 91: @path.appliance = "appliances/#{@path.main}/#{@name}/#{@path.version}" 92: @path.build = "build/#{@path.appliance}" 93: 94: self 95: end
# File lib/boxgrinder-core/models/appliance-config.rb, line 85 85: def initialize_paths 86: @path = OpenCascade.new 87: 88: @path.os = "#{@os.name}/#{@os.version}" 89: @path.version = "#{@version}.#{@release}" 90: @path.main = "#{@hardware.arch}/#{@path.os}" 91: @path.appliance = "appliances/#{@path.main}/#{@name}/#{@path.version}" 92: @path.build = "build/#{@path.appliance}" 93: 94: self 95: end
# File lib/boxgrinder-core/models/appliance-config.rb, line 123 123: def is64bit? 124: @hardware.arch.eql?("x86_64") 125: end