diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b48fd647..d8329aed1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Fix Upgrade procedure to safely evict pods during upgrade - Fix Panics in Deployments without authentication - Fix ChaosMonkey mode +- Allow append on empty annotations ## [1.0.8](https://github.com/arangodb/kube-arangodb/tree/1.0.8) (2020-09-10) - Fix Volume rotation on AKS diff --git a/pkg/util/collection/map.go b/pkg/util/collection/map.go index b8b644a23..cef8da796 100644 --- a/pkg/util/collection/map.go +++ b/pkg/util/collection/map.go @@ -160,6 +160,9 @@ func getFieldPatch(mode api.LabelsMode, section string, expected map[string]stri case api.LabelsDisabledMode: break case api.LabelsAppendMode: + if len(actual) == 0 { + return patch.NewPatch(patch.ItemReplace(patch.NewPath("metadata", section), expected)) + } for e, v := range expected { if a, ok := actual[e]; !ok { p.ItemAdd(patch.NewPath("metadata", section, e), v) @@ -168,6 +171,9 @@ func getFieldPatch(mode api.LabelsMode, section string, expected map[string]stri } } case api.LabelsReplaceMode: + if len(actual) == 0 { + return patch.NewPatch(patch.ItemReplace(patch.NewPath("metadata", section), expected)) + } for e, v := range expected { if a, ok := actual[e]; !ok { p.ItemAdd(patch.NewPath("metadata", section, e), v)