diff --git a/pkg/appfile/parser.go b/pkg/appfile/parser.go index 8a42bc6e3..547d4cf95 100644 --- a/pkg/appfile/parser.go +++ b/pkg/appfile/parser.go @@ -78,6 +78,9 @@ func (p *Parser) GenerateAppFile(ctx context.Context, app *v1beta1.Application) appName := app.Name appfile := p.newAppfile(appName, ns, app) + if app.Status.LatestRevision != nil { + appfile.AppRevisionName = app.Status.LatestRevision.Name + } var wds []*Workload for _, comp := range app.Spec.Components { diff --git a/pkg/controller/standard.oam.dev/v1alpha1/rollout/handler.go b/pkg/controller/standard.oam.dev/v1alpha1/rollout/handler.go index b6bbbc2c0..c32f1c900 100644 --- a/pkg/controller/standard.oam.dev/v1alpha1/rollout/handler.go +++ b/pkg/controller/standard.oam.dev/v1alpha1/rollout/handler.go @@ -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, + }) } }