fix resource handling
This commit is contained in:
parent
4b859af2c3
commit
0d55e2e60c
|
|
@ -683,12 +683,17 @@ func (c *Cluster) enforceMinResourceLimits(spec *acidv1.PostgresSpec) error {
|
||||||
err error
|
err error
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if spec.Resources == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// setting limits too low can cause unnecessary evictions / OOM kills
|
// setting limits too low can cause unnecessary evictions / OOM kills
|
||||||
minCPULimit := c.OpConfig.MinCPULimit
|
minCPULimit := c.OpConfig.MinCPULimit
|
||||||
minMemoryLimit := c.OpConfig.MinMemoryLimit
|
minMemoryLimit := c.OpConfig.MinMemoryLimit
|
||||||
|
|
||||||
cpuLimit := spec.Resources.ResourceLimits.CPU
|
cpuLimit := spec.Resources.ResourceLimits.CPU
|
||||||
if cpuLimit != "" {
|
if cpuLimit != "" {
|
||||||
|
cpuLimit := spec.Resources.ResourceLimits.CPU
|
||||||
isSmaller, err = util.IsSmallerQuantity(cpuLimit, minCPULimit)
|
isSmaller, err = util.IsSmallerQuantity(cpuLimit, minCPULimit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("could not compare defined CPU limit %s with configured minimum value %s: %v", cpuLimit, minCPULimit, err)
|
return fmt.Errorf("could not compare defined CPU limit %s with configured minimum value %s: %v", cpuLimit, minCPULimit, err)
|
||||||
|
|
|
||||||
|
|
@ -1007,14 +1007,14 @@ func (c *Cluster) generateStatefulSet(spec *acidv1.PostgresSpec) (*appsv1.Statef
|
||||||
|
|
||||||
// controller adjusts the default memory request at operator startup
|
// controller adjusts the default memory request at operator startup
|
||||||
|
|
||||||
request := spec.Resources.ResourceRequests.Memory
|
var request, limit string
|
||||||
if request == "" {
|
|
||||||
request = c.OpConfig.Resources.DefaultMemoryRequest
|
|
||||||
}
|
|
||||||
|
|
||||||
limit := spec.Resources.ResourceLimits.Memory
|
if spec.Resources == nil {
|
||||||
if limit == "" {
|
request = c.OpConfig.Resources.DefaultMemoryRequest
|
||||||
limit = c.OpConfig.Resources.DefaultMemoryLimit
|
limit = c.OpConfig.Resources.DefaultMemoryLimit
|
||||||
|
} else {
|
||||||
|
request = spec.Resources.ResourceRequests.Memory
|
||||||
|
limit = spec.Resources.ResourceRequests.Memory
|
||||||
}
|
}
|
||||||
|
|
||||||
isSmaller, err := util.IsSmallerQuantity(request, limit)
|
isSmaller, err := util.IsSmallerQuantity(request, limit)
|
||||||
|
|
@ -1034,14 +1034,14 @@ func (c *Cluster) generateStatefulSet(spec *acidv1.PostgresSpec) (*appsv1.Statef
|
||||||
for _, sidecar := range spec.Sidecars {
|
for _, sidecar := range spec.Sidecars {
|
||||||
|
|
||||||
// TODO #413
|
// TODO #413
|
||||||
sidecarRequest := sidecar.Resources.ResourceRequests.Memory
|
var sidecarRequest, sidecarLimit string
|
||||||
if request == "" {
|
|
||||||
request = c.OpConfig.Resources.DefaultMemoryRequest
|
|
||||||
}
|
|
||||||
|
|
||||||
sidecarLimit := sidecar.Resources.ResourceLimits.Memory
|
if sidecar.Resources == nil {
|
||||||
if limit == "" {
|
sidecarRequest = c.OpConfig.Resources.DefaultMemoryRequest
|
||||||
limit = c.OpConfig.Resources.DefaultMemoryLimit
|
sidecarLimit = c.OpConfig.Resources.DefaultMemoryLimit
|
||||||
|
} else {
|
||||||
|
sidecarRequest = sidecar.Resources.ResourceRequests.Memory
|
||||||
|
sidecarLimit = sidecar.Resources.ResourceRequests.Memory
|
||||||
}
|
}
|
||||||
|
|
||||||
isSmaller, err := util.IsSmallerQuantity(sidecarRequest, sidecarLimit)
|
isSmaller, err := util.IsSmallerQuantity(sidecarRequest, sidecarLimit)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue