Skip to content

Commit 0593626

Browse files
authored
[Bugfix] Allow to remove resources (CPU & Memory) on the managed pods (#1034)
1 parent 54de5c6 commit 0593626

File tree

7 files changed

+23
-18
lines changed

7 files changed

+23
-18
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
- (Bugfix) Ensure Wait actions to be present after AddMember
2727
- (Documentation) Refactor metrics (Part 1)
2828
- (Bugfix) Extend Agency HealthCheck for replace
29+
- (Bugfix) Allow to remove resources (CPU & Memory) on the managed pods
2930

3031
## [1.2.13](https://github.com/arangodb/kube-arangodb/tree/1.2.13) (2022-06-07)
3132
- (Bugfix) Fix arangosync members state inspection

pkg/apis/deployment/v1/deployment_metrics_spec.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ func (s *MetricsSpec) SetDefaultsFrom(source MetricsSpec) {
148148
if s.Authentication.JWTTokenSecretName == nil {
149149
s.Authentication.JWTTokenSecretName = util.NewStringOrNil(source.Authentication.JWTTokenSecretName)
150150
}
151-
setDefaultsFromResourceList(&s.Resources.Limits, source.Resources.Limits)
152-
setDefaultsFromResourceList(&s.Resources.Requests, source.Resources.Requests)
151+
setStorageDefaultsFromResourceList(&s.Resources.Limits, source.Resources.Limits)
152+
setStorageDefaultsFromResourceList(&s.Resources.Requests, source.Resources.Requests)
153153
}
154154

155155
// Validate the given spec

pkg/apis/deployment/v1/lifecycle_spec.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ type LifecycleSpec struct {
3030

3131
// SetDefaultsFrom fills unspecified fields with a value from given source spec.
3232
func (s *LifecycleSpec) SetDefaultsFrom(source LifecycleSpec) {
33-
setDefaultsFromResourceList(&s.Resources.Limits, source.Resources.Limits)
34-
setDefaultsFromResourceList(&s.Resources.Requests, source.Resources.Requests)
33+
setStorageDefaultsFromResourceList(&s.Resources.Limits, source.Resources.Limits)
34+
setStorageDefaultsFromResourceList(&s.Resources.Requests, source.Resources.Requests)
3535
}

pkg/apis/deployment/v1/server_group_spec.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -620,14 +620,16 @@ func (s *ServerGroupSpec) SetDefaults(group ServerGroup, used bool, mode Deploym
620620
}
621621
}
622622

623-
// setDefaultsFromResourceList fills unspecified fields with a value from given source spec.
624-
func setDefaultsFromResourceList(s *core.ResourceList, source core.ResourceList) {
623+
// setStorageDefaultsFromResourceList fills unspecified storage-type fields with a value from given source spec.
624+
func setStorageDefaultsFromResourceList(s *core.ResourceList, source core.ResourceList) {
625625
for k, v := range source {
626626
if *s == nil {
627627
*s = make(core.ResourceList)
628628
}
629629
if _, found := (*s)[k]; !found {
630-
(*s)[k] = v
630+
if k != core.ResourceCPU && k != core.ResourceMemory {
631+
(*s)[k] = v
632+
}
631633
}
632634
}
633635
}
@@ -658,8 +660,8 @@ func (s *ServerGroupSpec) SetDefaultsFrom(source ServerGroupSpec) {
658660
if s.NodeSelector == nil {
659661
s.NodeSelector = source.NodeSelector
660662
}
661-
setDefaultsFromResourceList(&s.Resources.Limits, source.Resources.Limits)
662-
setDefaultsFromResourceList(&s.Resources.Requests, source.Resources.Requests)
663+
setStorageDefaultsFromResourceList(&s.Resources.Limits, source.Resources.Limits)
664+
setStorageDefaultsFromResourceList(&s.Resources.Requests, source.Resources.Requests)
663665
if s.VolumeClaimTemplate == nil {
664666
s.VolumeClaimTemplate = source.VolumeClaimTemplate.DeepCopy()
665667
}

pkg/apis/deployment/v2alpha1/deployment_metrics_spec.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ func (s *MetricsSpec) SetDefaultsFrom(source MetricsSpec) {
148148
if s.Authentication.JWTTokenSecretName == nil {
149149
s.Authentication.JWTTokenSecretName = util.NewStringOrNil(source.Authentication.JWTTokenSecretName)
150150
}
151-
setDefaultsFromResourceList(&s.Resources.Limits, source.Resources.Limits)
152-
setDefaultsFromResourceList(&s.Resources.Requests, source.Resources.Requests)
151+
setStorageDefaultsFromResourceList(&s.Resources.Limits, source.Resources.Limits)
152+
setStorageDefaultsFromResourceList(&s.Resources.Requests, source.Resources.Requests)
153153
}
154154

155155
// Validate the given spec

pkg/apis/deployment/v2alpha1/lifecycle_spec.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ type LifecycleSpec struct {
3030

3131
// SetDefaultsFrom fills unspecified fields with a value from given source spec.
3232
func (s *LifecycleSpec) SetDefaultsFrom(source LifecycleSpec) {
33-
setDefaultsFromResourceList(&s.Resources.Limits, source.Resources.Limits)
34-
setDefaultsFromResourceList(&s.Resources.Requests, source.Resources.Requests)
33+
setStorageDefaultsFromResourceList(&s.Resources.Limits, source.Resources.Limits)
34+
setStorageDefaultsFromResourceList(&s.Resources.Requests, source.Resources.Requests)
3535
}

pkg/apis/deployment/v2alpha1/server_group_spec.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -620,14 +620,16 @@ func (s *ServerGroupSpec) SetDefaults(group ServerGroup, used bool, mode Deploym
620620
}
621621
}
622622

623-
// setDefaultsFromResourceList fills unspecified fields with a value from given source spec.
624-
func setDefaultsFromResourceList(s *core.ResourceList, source core.ResourceList) {
623+
// setStorageDefaultsFromResourceList fills unspecified storage-type fields with a value from given source spec.
624+
func setStorageDefaultsFromResourceList(s *core.ResourceList, source core.ResourceList) {
625625
for k, v := range source {
626626
if *s == nil {
627627
*s = make(core.ResourceList)
628628
}
629629
if _, found := (*s)[k]; !found {
630-
(*s)[k] = v
630+
if k != core.ResourceCPU && k != core.ResourceMemory {
631+
(*s)[k] = v
632+
}
631633
}
632634
}
633635
}
@@ -658,8 +660,8 @@ func (s *ServerGroupSpec) SetDefaultsFrom(source ServerGroupSpec) {
658660
if s.NodeSelector == nil {
659661
s.NodeSelector = source.NodeSelector
660662
}
661-
setDefaultsFromResourceList(&s.Resources.Limits, source.Resources.Limits)
662-
setDefaultsFromResourceList(&s.Resources.Requests, source.Resources.Requests)
663+
setStorageDefaultsFromResourceList(&s.Resources.Limits, source.Resources.Limits)
664+
setStorageDefaultsFromResourceList(&s.Resources.Requests, source.Resources.Requests)
663665
if s.VolumeClaimTemplate == nil {
664666
s.VolumeClaimTemplate = source.VolumeClaimTemplate.DeepCopy()
665667
}

0 commit comments

Comments
 (0)