Merge pull request #78 from V-Paranoiaque/fix/disksize-cloudinit

Fix Cloud-init resizing
This commit is contained in:
Grant Gongaware 2019-08-16 10:22:38 -07:00 committed by GitHub
commit baf8df69f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -777,11 +777,24 @@ func prepareDiskSize(
func diskSizeGB(dcSize interface{}) float64 {
var diskSize float64
// TODO support other units M/G/K
switch dcSize.(type) {
case string:
diskSizeGB := dcSize.(string)
diskSize, _ = strconv.ParseFloat(strings.Trim(diskSizeGB, "G"), 64)
diskString := strings.ToUpper(dcSize.(string))
re := regexp.MustCompile("([0-9]+)([A-Z]*)")
diskArray := re.FindStringSubmatch(diskString)
diskSize, _ = strconv.ParseFloat(diskArray[1], 64)
if len(diskArray) >= 3 {
switch diskArray[2] {
case "G", "GB":
//Nothing to do
case "M", "MB":
diskSize /= 1000
case "K", "KB":
diskSize /= 1000000
}
}
case float64:
diskSize = dcSize.(float64)
}