[Backport release-1.1] Fix: health check appRev label bug (#2822)

* Fix: healthscope failed since appRevision is not set && rollout controller amend appRevision to workload since compRev does not have this one

(cherry picked from commit dd67fa976e)

* Fix: test

(cherry picked from commit 97cf2d1bfd)

Co-authored-by: Yin Da <yd219913@alibaba-inc.com>
This commit is contained in:
github-actions[bot]
2021-11-27 13:07:14 +08:00
committed by GitHub
parent 1fafe5f05e
commit e636d7c48c
3 changed files with 22 additions and 4 deletions

View File

@@ -221,13 +221,24 @@ func (h *handler) setWorkloadBaseInfo() {
h.sourceWorkload.SetNamespace(h.rollout.Namespace)
}
var appRev string
if len(h.rollout.GetLabels()) > 0 {
appRev = h.rollout.GetLabels()[oam.LabelAppRevision]
}
h.targetWorkload.SetName(h.compName)
util.AddLabels(h.targetWorkload, map[string]string{oam.LabelAppComponentRevision: h.targetRevName})
util.AddLabels(h.targetWorkload, map[string]string{
oam.LabelAppComponentRevision: h.targetRevName,
oam.LabelAppRevision: appRev,
})
util.AddAnnotations(h.targetWorkload, map[string]string{oam.AnnotationSkipGC: "true"})
if h.sourceWorkload != nil {
h.sourceWorkload.SetName(h.compName)
util.AddLabels(h.sourceWorkload, map[string]string{oam.LabelAppComponentRevision: h.sourceRevName})
util.AddLabels(h.sourceWorkload, map[string]string{
oam.LabelAppComponentRevision: h.sourceRevName,
oam.LabelAppRevision: appRev,
})
}
}

View File

@@ -60,6 +60,7 @@ var _ = Describe("Test rollout related handler func", func() {
srcWorkload.SetAPIVersion("apps/v1")
srcWorkload.SetKind("Deployment")
compName := "comp-test"
appRevName := "app-revision-v2"
h := handler{
reconciler: &reconciler{
Client: k8sClient,
@@ -67,6 +68,9 @@ var _ = Describe("Test rollout related handler func", func() {
rollout: &v1alpha1.Rollout{
ObjectMeta: metav1.ObjectMeta{
Namespace: namespace,
Labels: map[string]string{
oam.LabelAppRevision: appRevName,
},
}},
targetWorkload: tarWorkload,
sourceWorkload: srcWorkload,
@@ -82,10 +86,10 @@ var _ = Describe("Test rollout related handler func", func() {
Expect(h.targetWorkload.GetNamespace()).Should(BeEquivalentTo(namespace))
Expect(h.sourceWorkload.GetNamespace()).Should(BeEquivalentTo(namespace))
tarLabel := h.targetWorkload.GetLabels()
Expect(len(tarLabel)).Should(BeEquivalentTo(2))
Expect(tarLabel[oam.LabelAppRevision]).Should(BeEquivalentTo(appRevName))
Expect(tarLabel[oam.LabelAppComponentRevision]).Should(BeEquivalentTo("comp-test-v2"))
srcLabel := h.sourceWorkload.GetLabels()
Expect(len(srcLabel)).Should(BeEquivalentTo(2))
Expect(srcLabel[oam.LabelAppRevision]).Should(BeEquivalentTo(appRevName))
Expect(srcLabel[oam.LabelAppComponentRevision]).Should(BeEquivalentTo("comp-test-v1"))
Expect(h.assembleWorkload(ctx)).Should(BeNil())