Skip to content

Commit

Permalink
EVEREST-1354 Fix PXC resources being overwritten (#492)
Browse files Browse the repository at this point in the history
  • Loading branch information
recharte authored Aug 21, 2024
1 parent 6a5b976 commit 8d38aac
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 43 deletions.
9 changes: 6 additions & 3 deletions controllers/providers/pxc/applier.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,24 +89,23 @@ func (p *applier) Engine() error {

if !p.DB.Spec.Engine.Resources.CPU.IsZero() {
pxc.Spec.PXC.PodSpec.Resources.Limits[corev1.ResourceCPU] = p.DB.Spec.Engine.Resources.CPU
pxc.Spec.PXC.PodSpec.Resources.Requests[corev1.ResourceCPU] = p.DB.Spec.Engine.Resources.CPU
}
if !p.DB.Spec.Engine.Resources.Memory.IsZero() {
pxc.Spec.PXC.PodSpec.Resources.Limits[corev1.ResourceMemory] = p.DB.Spec.Engine.Resources.Memory
pxc.Spec.PXC.PodSpec.Resources.Requests[corev1.ResourceMemory] = p.DB.Spec.Engine.Resources.Memory
}

switch p.DB.Spec.Engine.Size() {
case everestv1alpha1.EngineSizeSmall:
pxc.Spec.PXC.PodSpec.LivenessProbes.TimeoutSeconds = 450
pxc.Spec.PXC.PodSpec.ReadinessProbes.TimeoutSeconds = 450
pxc.Spec.PXC.PodSpec.Resources = pxcResourceRequirementsSmall
case everestv1alpha1.EngineSizeMedium:
pxc.Spec.PXC.PodSpec.LivenessProbes.TimeoutSeconds = 451
pxc.Spec.PXC.PodSpec.ReadinessProbes.TimeoutSeconds = 451
pxc.Spec.PXC.PodSpec.Resources = pxcResourceRequirementsMedium
case everestv1alpha1.EngineSizeLarge:
pxc.Spec.PXC.PodSpec.LivenessProbes.TimeoutSeconds = 600
pxc.Spec.PXC.PodSpec.ReadinessProbes.TimeoutSeconds = 600
pxc.Spec.PXC.PodSpec.Resources = pxcResourceRequirementsLarge
}
return nil
}
Expand Down Expand Up @@ -192,6 +191,10 @@ func defaultSpec() pxcv1.PerconaXtraDBClusterSpec {
corev1.ResourceMemory: resource.MustParse("1G"),
corev1.ResourceCPU: resource.MustParse("600m"),
},
Requests: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("1G"),
corev1.ResourceCPU: resource.MustParse("600m"),
},
},
},
},
Expand Down
40 changes: 0 additions & 40 deletions controllers/providers/pxc/mysqld_configs.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ package pxc

import (
goversion "github.com/hashicorp/go-version"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
)

// minVersionForOptimizedConfig is the version below which we will not apply optimized configuration.
Expand Down Expand Up @@ -168,41 +166,3 @@ wsrep_trx_fragment_unit = bytes
wsrep-provider-options = evs.delayed_keep_period=PT560S;evs.stats_report_period=PT1M;gcs.fc_limit=128;gmcast.peer_timeout=PT15S;gmcast.time_wait=PT18S;evs.max_install_timeouts=5;pc.recovery=true;gcache.recover=yes;gcache.size=8989366809;evs.delay_margin=PT30S;evs.user_send_window=1024;evs.inactive_check_period=PT5S;evs.join_retrans_period=PT5S;evs.suspect_timeout=PT60S;gcs.max_packet_size=131072;pc.linger=PT60S;evs.send_window=1024;evs.inactive_timeout=PT120S;pc.announce_timeout=PT60S;
`
)

var ( //nolint:dupl
// A pxcResourceRequirementsSmall is the resource requirements for PXC for small clusters.
pxcResourceRequirementsSmall = corev1.ResourceRequirements{
Requests: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("1.61Gi"),
corev1.ResourceCPU: resource.MustParse("570m"),
},
Limits: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("1.7Gi"),
corev1.ResourceCPU: resource.MustParse("600m"),
},
}

// A pxcResourceRequirementsMedium is the resource requirements for PXC for medium clusters.
pxcResourceRequirementsMedium = corev1.ResourceRequirements{
Requests: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("6.65Gi"),
corev1.ResourceCPU: resource.MustParse("3040m"),
},
Limits: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("7Gi"),
corev1.ResourceCPU: resource.MustParse("3200m"),
},
}

// A pxcResourceRequirementsLarge is the resource requirements for PXC for large clusters.
pxcResourceRequirementsLarge = corev1.ResourceRequirements{
Requests: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("26.6Gi"),
corev1.ResourceCPU: resource.MustParse("3040m"),
},
Limits: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("28Gi"),
corev1.ResourceCPU: resource.MustParse("3200m"),
},
}
)
3 changes: 3 additions & 0 deletions e2e-tests/tests/core/pxc/10-assert.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ spec:
limits:
cpu: 600m
memory: 1G
requests:
cpu: 600m
memory: 1G
serviceType: ClusterIP
sidecarResources: {}
size: 3
Expand Down
3 changes: 3 additions & 0 deletions e2e-tests/tests/core/pxc/30-assert.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ spec:
limits:
cpu: 600m
memory: 1G
requests:
cpu: 600m
memory: 1G
serviceType: ClusterIP
sidecarResources: {}
size: 3
Expand Down
3 changes: 3 additions & 0 deletions e2e-tests/tests/core/pxc/50-assert.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ spec:
limits:
cpu: 600m
memory: 1G
requests:
cpu: 600m
memory: 1G
serviceType: ClusterIP
sidecarResources: {}
size: 1
Expand Down
3 changes: 3 additions & 0 deletions e2e-tests/tests/core/pxc/60-assert.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ spec:
limits:
cpu: 600m
memory: 1G
requests:
cpu: 600m
memory: 1G
serviceType: ClusterIP
sidecarResources: {}
size: 3
Expand Down

0 comments on commit 8d38aac

Please sign in to comment.