From 14eb60160cbdf0dbda6fbe75a4772d4733d1f940 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 21 Feb 2024 18:30:48 -0500 Subject: [PATCH] fix: avoid setting empty cpu/memory requests --- plugins/scheduler-k3s/functions.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/plugins/scheduler-k3s/functions.go b/plugins/scheduler-k3s/functions.go index 11c681e0d..e2756cf23 100644 --- a/plugins/scheduler-k3s/functions.go +++ b/plugins/scheduler-k3s/functions.go @@ -850,7 +850,9 @@ func getProcessResources(appName string, processType string) (ProcessResourcesMa if err != nil { return ProcessResourcesMap{}, fmt.Errorf("Error parsing cpu limit: %w", err) } - processResources.Limits.CPU = quantity.String() + if quantity.MilliValue() != 0 { + processResources.Limits.CPU = quantity.String() + } } nvidiaGpuLimit, err := common.PlugnTriggerOutputAsString("resource-get-property", []string{appName, processType, "limit", "nvidia-gpu"}...) if err == nil && nvidiaGpuLimit != "" && nvidiaGpuLimit != "0" { @@ -869,7 +871,9 @@ func getProcessResources(appName string, processType string) (ProcessResourcesMa if err != nil { return ProcessResourcesMap{}, fmt.Errorf("Error parsing memory limit: %w", err) } - processResources.Limits.Memory = quantity + if quantity != "0Mi" { + processResources.Limits.Memory = quantity + } } result, err = common.CallPlugnTrigger(common.PlugnTriggerInput{ @@ -881,7 +885,9 @@ func getProcessResources(appName string, processType string) (ProcessResourcesMa if err != nil { return ProcessResourcesMap{}, fmt.Errorf("Error parsing cpu request: %w", err) } - processResources.Requests.CPU = quantity.String() + if quantity.MilliValue() != 0 { + processResources.Requests.CPU = quantity.String() + } } result, err = common.CallPlugnTrigger(common.PlugnTriggerInput{ Trigger: "resource-get-property", @@ -892,7 +898,9 @@ func getProcessResources(appName string, processType string) (ProcessResourcesMa if err != nil { return ProcessResourcesMap{}, fmt.Errorf("Error parsing memory request: %w", err) } - processResources.Requests.Memory = quantity + if quantity != "0Mi" { + processResources.Requests.Memory = quantity + } } return processResources, nil