quota: Allow cores to be configured within an enterprise quota. (#23543)

This commit is contained in:
James Rasell
2024-07-11 14:54:25 +01:00
committed by GitHub
parent 81a5eed99b
commit f3de47e63d
4 changed files with 11 additions and 4 deletions

View File

@@ -266,6 +266,7 @@ func parseQuotaResource(result *api.Resources, list *ast.ObjectList) error {
// Check for invalid keys
valid := []string{
"cores",
"cpu",
"memory",
"memory_max",

View File

@@ -119,6 +119,7 @@ description = "Limit the shared default namespace"
limit {
region = "global"
region_limit {
cores = 0
cpu = 2500
memory = 1000
memory_max = 1000
@@ -135,6 +136,7 @@ var defaultJsonQuotaSpec = strings.TrimSpace(`
{
"Region": "global",
"RegionLimit": {
"Cores": 0,
"CPU": 2500,
"MemoryMB": 1000,
"MemoryMaxMB": 1000

View File

@@ -188,7 +188,7 @@ func formatQuotaLimits(spec *api.QuotaSpec, usages map[string]*api.QuotaUsage) s
sort.Sort(api.QuotaLimitSort(spec.Limits))
limits := make([]string, len(spec.Limits)+1)
limits[0] = "Region|CPU Usage|Memory Usage|Memory Max Usage|Variables Usage"
limits[0] = "Region|CPU Usage|Core Usage|Memory Usage|Memory Max Usage|Variables Usage"
i := 0
for _, specLimit := range spec.Limits {
i++
@@ -206,12 +206,13 @@ func formatQuotaLimits(spec *api.QuotaSpec, usages map[string]*api.QuotaUsage) s
used, ok := lookupUsage()
if !ok {
cores := fmt.Sprintf("- / %s", formatQuotaLimitInt(specLimit.RegionLimit.Cores))
cpu := fmt.Sprintf("- / %s", formatQuotaLimitInt(specLimit.RegionLimit.CPU))
memory := fmt.Sprintf("- / %s", formatQuotaLimitInt(specLimit.RegionLimit.MemoryMB))
memoryMax := fmt.Sprintf("- / %s", formatQuotaLimitInt(specLimit.RegionLimit.MemoryMaxMB))
vars := fmt.Sprintf("- / %s", formatQuotaLimitInt(specLimit.VariablesLimit))
limits[i] = fmt.Sprintf("%s|%s|%s|%s|%s", specLimit.Region, cpu, memory, memoryMax, vars)
limits[i] = fmt.Sprintf("%s|%s|%s|%s|%s|%s", specLimit.Region, cpu, cores, memory, memoryMax, vars)
continue
}
@@ -222,12 +223,13 @@ func formatQuotaLimits(spec *api.QuotaSpec, usages map[string]*api.QuotaUsage) s
return *v
}
cores := fmt.Sprintf("%d / %s", orZero(used.RegionLimit.Cores), formatQuotaLimitInt(specLimit.RegionLimit.Cores))
cpu := fmt.Sprintf("%d / %s", orZero(used.RegionLimit.CPU), formatQuotaLimitInt(specLimit.RegionLimit.CPU))
memory := fmt.Sprintf("%d / %s", orZero(used.RegionLimit.MemoryMB), formatQuotaLimitInt(specLimit.RegionLimit.MemoryMB))
memoryMax := fmt.Sprintf("%d / %s", orZero(used.RegionLimit.MemoryMaxMB), formatQuotaLimitInt(specLimit.RegionLimit.MemoryMaxMB))
vars := fmt.Sprintf("%d / %s", orZero(used.VariablesLimit), formatQuotaLimitInt(specLimit.VariablesLimit))
limits[i] = fmt.Sprintf("%s|%s|%s|%s|%s", specLimit.Region, cpu, memory, memoryMax, vars)
limits[i] = fmt.Sprintf("%s|%s|%s|%s|%s|%s", specLimit.Region, cpu, cores, memory, memoryMax, vars)
}
return formatList(limits)