Skip to content

Commit

Permalink
Refactor cpu limit as nullable field
Browse files Browse the repository at this point in the history
  • Loading branch information
deadlycoconuts committed May 24, 2024
1 parent 6af3304 commit 2a60787
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 10 deletions.
19 changes: 11 additions & 8 deletions api/turing/cluster/servicebuilder/service_builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -405,15 +405,18 @@ func (sb *clusterSvcBuilder) getTopologySpreadConstraints() ([]corev1.TopologySp
}

func (sb *clusterSvcBuilder) getCPULimit(resourceRequest *models.ResourceRequest) *resource.Quantity {
if resourceRequest != nil && resourceRequest.CPULimit.IsZero() {
if sb.knativeServiceConfig.UserContainerCPULimitRequestFactor != 0 {
cpuLimit := cluster.ComputeResource(resourceRequest.CPURequest,
sb.knativeServiceConfig.UserContainerCPULimitRequestFactor)
return &cpuLimit
if resourceRequest != nil {
if resourceRequest.CPULimit == nil || resourceRequest.CPULimit.IsZero() {
if sb.knativeServiceConfig.UserContainerCPULimitRequestFactor != 0 {
cpuLimit := cluster.ComputeResource(resourceRequest.CPURequest,
sb.knativeServiceConfig.UserContainerCPULimitRequestFactor)
return &cpuLimit
}
return nil
}
return nil
return resourceRequest.CPULimit
}
return &resourceRequest.CPULimit
return nil
}

func (sb *clusterSvcBuilder) getMemoryLimit(resourceRequest *models.ResourceRequest) *resource.Quantity {
Expand All @@ -427,7 +430,7 @@ func (sb *clusterSvcBuilder) getMemoryLimit(resourceRequest *models.ResourceRequ

func (sb *clusterSvcBuilder) getEnvVars(resourceRequest *models.ResourceRequest,
userEnvVars *models.EnvVars) (newEnvVars []corev1.EnvVar) {
if resourceRequest != nil && resourceRequest.CPULimit.IsZero() &&
if resourceRequest != nil && resourceRequest.CPULimit != nil && resourceRequest.CPULimit.IsZero() &&
sb.knativeServiceConfig.UserContainerCPULimitRequestFactor == 0 {
newEnvVars = append(newEnvVars, sb.knativeServiceConfig.DefaultEnvVarsWithoutCPULimits...)
}
Expand Down
2 changes: 1 addition & 1 deletion api/turing/models/resource_request.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ type ResourceRequest struct {
// CPU request of inference service
CPURequest resource.Quantity `json:"cpu_request"`
// CPU limit of inference service
CPULimit resource.Quantity `json:"cpu_limit"`
CPULimit *resource.Quantity `json:"cpu_limit,omitempty"`
// Memory request of inference service
MemoryRequest resource.Quantity `json:"memory_request"`
}
Expand Down
1 change: 0 additions & 1 deletion api/turing/models/resource_request_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ func TestResourceRequestValue(t *testing.T) {
"min_replica": 1,
"max_replica": 2,
"cpu_request": "500m",
"cpu_limit":"0",
"memory_request": "1Gi"
}
`, string(byteValue))
Expand Down

0 comments on commit 2a60787

Please sign in to comment.