diff --git a/modules/api/pkg/api/v2/convert.go b/modules/api/pkg/api/v2/convert.go index 373bea5a6c..83d4de9ec3 100644 --- a/modules/api/pkg/api/v2/convert.go +++ b/modules/api/pkg/api/v2/convert.go @@ -35,14 +35,14 @@ func ConvertToAPIQuota(resourceDetails kubermaticv1.ResourceDetails) Quota { // Get memory and storage denoted in GB if resourceDetails.Memory != nil && !resourceDetails.Memory.IsZero() { - memory := float64(resourceDetails.Memory.Value()) / math.Pow10(int(resource.Giga)) + memory := float64(resourceDetails.Memory.Value()) / math.Pow(1024, 3) // round to 2 decimal places memory = math.Round(memory*100) / 100 quota.Memory = &memory } - + // if resourceDetails.Storage != nil && !resourceDetails.Storage.IsZero() { - storage := float64(resourceDetails.Storage.Value()) / math.Pow10(int(resource.Giga)) + storage := float64(resourceDetails.Storage.Value()) / math.Pow(1024, 3) // round to 2 decimal places storage = math.Round(storage*100) / 100 quota.Storage = &storage @@ -64,7 +64,7 @@ func ConvertToCRDQuota(quota Quota) (kubermaticv1.ResourceDetails, error) { } if quota.Memory != nil { - mem, err = resource.ParseQuantity(fmt.Sprintf("%fG", *quota.Memory)) + mem, err = resource.ParseQuantity(fmt.Sprintf("%fGi", *quota.Memory)) if err != nil { return kubermaticv1.ResourceDetails{}, fmt.Errorf("error parsing quota Memory %w", err) } @@ -72,7 +72,7 @@ func ConvertToCRDQuota(quota Quota) (kubermaticv1.ResourceDetails, error) { } if quota.Storage != nil { - storage, err = resource.ParseQuantity(fmt.Sprintf("%fG", *quota.Storage)) + storage, err = resource.ParseQuantity(fmt.Sprintf("%fGi", *quota.Storage)) if err != nil { return kubermaticv1.ResourceDetails{}, fmt.Errorf("error parsing quota Memory %w", err) } diff --git a/modules/api/pkg/ee/resource-quota/handler.go b/modules/api/pkg/ee/resource-quota/handler.go index ea84505edd..f1fe3ab4f5 100644 --- a/modules/api/pkg/ee/resource-quota/handler.go +++ b/modules/api/pkg/ee/resource-quota/handler.go @@ -450,10 +450,10 @@ func MapProviderNodeTmplToResourceDetails(provider ProviderNodeTemplate, replica func getAlibabaResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider.NodeCapacity) error { nc.WithCPUCount(provider.AlibabaInstanceType.CPUCoreCount) - if err := nc.WithMemory(int(provider.AlibabaInstanceType.MemorySize), "G"); err != nil { + if err := nc.WithMemory(int(provider.AlibabaInstanceType.MemorySize), "Gi"); err != nil { return err } - if err := nc.WithStorage(provider.DiskSizeGB, "G"); err != nil { + if err := nc.WithStorage(provider.DiskSizeGB, "Gi"); err != nil { return err } return nil @@ -462,7 +462,7 @@ func getAlibabaResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprov func getAnexiaResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider.NodeCapacity) error { nc.WithCPUCount(provider.AnexiaNodeSpec.CPUs) - if err := nc.WithMemory(int(provider.AnexiaNodeSpec.Memory), "M"); err != nil { + if err := nc.WithMemory(int(provider.AnexiaNodeSpec.Memory), "Mi"); err != nil { return err } @@ -475,7 +475,7 @@ func getAnexiaResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovi } } - if err := nc.WithStorage(int(diskSize), "G"); err != nil { + if err := nc.WithStorage(int(diskSize), "Gi"); err != nil { return err } return nil @@ -484,10 +484,10 @@ func getAnexiaResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovi func getAWSResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider.NodeCapacity) error { nc.WithCPUCount(provider.AWSSize.VCPUs) - if err := nc.WithMemory(int(provider.AWSSize.Memory), "G"); err != nil { + if err := nc.WithMemory(int(provider.AWSSize.Memory), "Gi"); err != nil { return err } - if err := nc.WithStorage(provider.DiskSizeGB, "G"); err != nil { + if err := nc.WithStorage(provider.DiskSizeGB, "Gi"); err != nil { return err } return nil @@ -496,11 +496,11 @@ func getAWSResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider func getAzureResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider.NodeCapacity) error { nc.WithCPUCount(int(provider.AzureSize.NumberOfCores)) - if err := nc.WithMemory(int(provider.AzureSize.MemoryInMB), "M"); err != nil { + if err := nc.WithMemory(int(provider.AzureSize.MemoryInMB), "Mi"); err != nil { return err } - if err := nc.WithStorage(int(provider.AzureSize.ResourceDiskSizeInMB+provider.AzureSize.OsDiskSizeInMB), "M"); err != nil { + if err := nc.WithStorage(int(provider.AzureSize.ResourceDiskSizeInMB+provider.AzureSize.OsDiskSizeInMB), "Mi"); err != nil { return err } return nil @@ -509,10 +509,10 @@ func getAzureResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovid func getDOResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider.NodeCapacity) error { nc.WithCPUCount(provider.DOSize.VCPUs) - if err := nc.WithMemory(provider.DOSize.Memory, "M"); err != nil { + if err := nc.WithMemory(provider.DOSize.Memory, "Mi"); err != nil { return err } - if err := nc.WithStorage(provider.DOSize.Disk, "G"); err != nil { + if err := nc.WithStorage(provider.DOSize.Disk, "Gi"); err != nil { return err } return nil @@ -521,10 +521,10 @@ func getDOResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider. func getGCPResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider.NodeCapacity) error { nc.WithCPUCount(int(provider.GCPSize.VCPUs)) - if err := nc.WithMemory(int(provider.GCPSize.Memory), "M"); err != nil { + if err := nc.WithMemory(int(provider.GCPSize.Memory), "Mi"); err != nil { return err } - if err := nc.WithStorage(provider.DiskSizeGB, "G"); err != nil { + if err := nc.WithStorage(provider.DiskSizeGB, "Gi"); err != nil { return err } return nil @@ -533,10 +533,10 @@ func getGCPResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider func getHetznerResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider.NodeCapacity) error { nc.WithCPUCount(provider.HetznerSize.Cores) - if err := nc.WithMemory(int(provider.HetznerSize.Memory), "G"); err != nil { + if err := nc.WithMemory(int(provider.HetznerSize.Memory), "Gi"); err != nil { return err } - if err := nc.WithStorage(provider.HetznerSize.Disk, "G"); err != nil { + if err := nc.WithStorage(provider.HetznerSize.Disk, "Gi"); err != nil { return err } return nil @@ -586,12 +586,12 @@ func getKubevirtResourceDetails(provider ProviderNodeTemplate, nc *kubermaticpro func getNutanixResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider.NodeCapacity) error { nc.WithCPUCount(int(provider.NutanixNodeSpec.CPUs)) - if err := nc.WithMemory(int(provider.NutanixNodeSpec.MemoryMB), "M"); err != nil { + if err := nc.WithMemory(int(provider.NutanixNodeSpec.MemoryMB), "Mi"); err != nil { return err } if provider.NutanixNodeSpec.DiskSize != nil { - if err := nc.WithStorage(int(*provider.NutanixNodeSpec.DiskSize), "G"); err != nil { + if err := nc.WithStorage(int(*provider.NutanixNodeSpec.DiskSize), "Gi"); err != nil { return err } } else { @@ -603,17 +603,17 @@ func getNutanixResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprov func getOpenstackResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider.NodeCapacity) error { nc.WithCPUCount(provider.OpenstackSize.VCPUs) - if err := nc.WithMemory(provider.OpenstackSize.Memory, "M"); err != nil { + if err := nc.WithMemory(provider.OpenstackSize.Memory, "Mi"); err != nil { return err } if provider.DiskSizeGB == 0 { - if err := nc.WithStorage(provider.OpenstackSize.Disk, "G"); err != nil { + if err := nc.WithStorage(provider.OpenstackSize.Disk, "Gi"); err != nil { return err } } else { // Setting custom disk size - if err := nc.WithStorage(provider.DiskSizeGB, "G"); err != nil { + if err := nc.WithStorage(provider.DiskSizeGB, "Gi"); err != nil { return err } } @@ -624,12 +624,12 @@ func getOpenstackResourceDetails(provider ProviderNodeTemplate, nc *kubermaticpr func getVSphereResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider.NodeCapacity) error { nc.WithCPUCount(provider.VSphereNodeSpec.CPUs) - if err := nc.WithMemory(provider.VSphereNodeSpec.Memory, "M"); err != nil { + if err := nc.WithMemory(provider.VSphereNodeSpec.Memory, "Mi"); err != nil { return err } if provider.VSphereNodeSpec.DiskSizeGB != nil { - if err := nc.WithStorage(int(*provider.VSphereNodeSpec.DiskSizeGB), "G"); err != nil { + if err := nc.WithStorage(int(*provider.VSphereNodeSpec.DiskSizeGB), "Gi"); err != nil { return err } } else { @@ -641,12 +641,12 @@ func getVSphereResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprov func getVMCloudDirectorResourceDetails(provider ProviderNodeTemplate, nc *kubermaticprovider.NodeCapacity) error { nc.WithCPUCount(provider.VMDirectorNodeSpec.CPUCores * provider.VMDirectorNodeSpec.CPUs) - if err := nc.WithMemory(provider.VMDirectorNodeSpec.MemoryMB, "M"); err != nil { + if err := nc.WithMemory(provider.VMDirectorNodeSpec.MemoryMB, "Mi"); err != nil { return err } if provider.VMDirectorNodeSpec.DiskSizeGB != nil { - if err := nc.WithStorage(int(*provider.VMDirectorNodeSpec.DiskSizeGB), "G"); err != nil { + if err := nc.WithStorage(int(*provider.VMDirectorNodeSpec.DiskSizeGB), "Gi"); err != nil { return err } } else {