Skip to content

Commit

Permalink
Merge pull request #19 from akalenyu/labels-not-upgraded-workloads
Browse files Browse the repository at this point in the history
Address labels not updating after upgrade
  • Loading branch information
Jakub Dzon authored Oct 28, 2021
2 parents 64585ea + 7319c68 commit 1987210
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
11 changes: 11 additions & 0 deletions pkg/sdk/reconciler/reconciler.go
Original file line number Diff line number Diff line change
Expand Up @@ -782,4 +782,15 @@ func (r *Reconciler) setRecommendedLabels(cr client.Object, obj metav1.Object) {
for k, v := range labels {
sdk.SetLabel(k, v, obj)
}

// Actual workload templates need special care, otherwise we just update the top level labels
switch typedObj := obj.(type) {
case *appsv1.Deployment:
if typedObj.Spec.Template.GetLabels() == nil {
typedObj.Spec.Template.SetLabels(make(map[string]string))
}
for k, v := range labels {
typedObj.Spec.Template.GetLabels()[k] = v
}
}
}
4 changes: 4 additions & 0 deletions pkg/sdk/reconciler/reconciler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -682,6 +682,10 @@ var _ = Describe("Reconciler", func() {
storedObj, err := getObject(args.client, r)
Expect(err).ToNot(HaveOccurred())
Expect(storedObj.GetLabels()[sdk.AppKubernetesVersionLabel]).Should(Equal(newVersion))
switch typedObj := storedObj.(type) {
case *appsv1.Deployment:
Expect(typedObj.Spec.Template.GetLabels()[sdk.AppKubernetesVersionLabel]).Should(Equal(newVersion))
}
}
})
})
Expand Down

0 comments on commit 1987210

Please sign in to comment.