lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb in boxgrinder-build-0.9.1 vs lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb in boxgrinder-build-0.9.2
- old
+ new
@@ -61,37 +61,35 @@
readme
end
# returns value of cylinders, heads and sector for selected disk size (in GB)
# http://kb.vmware.com/kb/1026254
- def generate_scsi_chs(disk_size)
- if disk_size < 1
+ def generate_scsi_chs
+ disk_size = File.stat(@previous_deliverables.disk).size
+
+ if disk_size < 1073741824
h = 64
s = 32
else
- if disk_size < 2
+ if disk_size < 2147483648
h = 128
s = 32
else
h = 255
s = 63
end
end
- # GB MB KB B
- c = disk_size * 1024 * 1024 * 1024 / (h*s*512)
- total_sectors = disk_size * 1024 * 1024 * 1024 / 512
+ c = disk_size / (h*s*512)
+ total_sectors = disk_size / 512
[c.to_i, h.to_i, s.to_i, total_sectors.to_i]
end
def change_vmdk_values(type)
vmdk_data = File.open("#{File.dirname(__FILE__)}/src/base.vmdk").read
- disk_size = 0.0
- @appliance_config.hardware.partitions.values.each { |part| disk_size += part['size'].to_f }
-
- c, h, s, total_sectors = generate_scsi_chs(disk_size)
+ c, h, s, total_sectors = generate_scsi_chs
is_enterprise = type.eql?("vmfs")
vmdk_data.gsub!(/#NAME#/, @appliance_config.name)
vmdk_data.gsub!(/#TYPE#/, type)