From 2beaae780dde506e2e383978aaac8616cf158bb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A9=E5=85=83?= Date: Wed, 2 Sep 2020 10:29:31 +0800 Subject: [PATCH] add CurrentWorkingRevision flag in workload status MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 天元 --- apis/core/v1alpha2/core_types.go | 3 +++ .../crds/core.oam.dev_applicationconfigurations.yaml | 4 ++++ .../applicationconfiguration/applicationconfiguration.go | 5 +++-- test/e2e-test/component_version_test.go | 2 ++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/apis/core/v1alpha2/core_types.go b/apis/core/v1alpha2/core_types.go index fd2467a2..9da788ef 100644 --- a/apis/core/v1alpha2/core_types.go +++ b/apis/core/v1alpha2/core_types.go @@ -364,6 +364,9 @@ type WorkloadStatus struct { // if it needs a single place to summarize the entire status of the workload Status string `json:"status,omitempty"` + // HistoryWorkingRevision is a flag showing if it's history revision but still working + HistoryWorkingRevision bool `json:"currentWorkingRevision,omitempty"` + // ComponentName that produced this workload. ComponentName string `json:"componentName,omitempty"` diff --git a/charts/oam-kubernetes-runtime/crds/core.oam.dev_applicationconfigurations.yaml b/charts/oam-kubernetes-runtime/crds/core.oam.dev_applicationconfigurations.yaml index 7496e852..a9580035 100644 --- a/charts/oam-kubernetes-runtime/crds/core.oam.dev_applicationconfigurations.yaml +++ b/charts/oam-kubernetes-runtime/crds/core.oam.dev_applicationconfigurations.yaml @@ -385,6 +385,10 @@ spec: componentRevisionName: description: ComponentRevisionName of current component type: string + currentWorkingRevision: + description: HistoryWorkingRevision is a flag showing if it's + history revision but still working + type: boolean scopes: description: Scopes associated with this workload. items: diff --git a/pkg/controller/v1alpha2/applicationconfiguration/applicationconfiguration.go b/pkg/controller/v1alpha2/applicationconfiguration/applicationconfiguration.go index aa44e123..91d25467 100644 --- a/pkg/controller/v1alpha2/applicationconfiguration/applicationconfiguration.go +++ b/pkg/controller/v1alpha2/applicationconfiguration/applicationconfiguration.go @@ -333,8 +333,9 @@ func (r *OAMApplicationReconciler) updateStatus(ctx context.Context, ac *v1alpha // These workload exists means the component is under progress of rollout // Trait will not work for these remaining workload revisionStatus = append(revisionStatus, v1alpha2.WorkloadStatus{ - ComponentName: w.ComponentName, - ComponentRevisionName: v.GetName(), + ComponentName: w.ComponentName, + ComponentRevisionName: v.GetName(), + HistoryWorkingRevision: true, Reference: v1alpha1.TypedReference{ APIVersion: v.GetAPIVersion(), Kind: v.GetKind(), diff --git a/test/e2e-test/component_version_test.go b/test/e2e-test/component_version_test.go index 8af4cdee..fd056fad 100644 --- a/test/e2e-test/component_version_test.go +++ b/test/e2e-test/component_version_test.go @@ -390,7 +390,9 @@ var _ = Describe("Versioning mechanism of components", func() { Expect(len(appconfig.Status.Workloads)).Should(BeEquivalentTo(2)) Expect(appconfig.Status.Workloads[0].ComponentRevisionName).Should(BeEquivalentTo(revisionNameV2)) + Expect(appconfig.Status.Workloads[0].HistoryWorkingRevision).Should(BeEquivalentTo(false)) Expect(appconfig.Status.Workloads[1].ComponentRevisionName).Should(BeEquivalentTo(revisionNameV1)) + Expect(appconfig.Status.Workloads[1].HistoryWorkingRevision).Should(BeEquivalentTo(true)) //Clean k8sClient.Delete(ctx, &appconfig)