From 5f68bca131024ed5a5b791f3194f98e3304e5b16 Mon Sep 17 00:00:00 2001 From: Ilya Lesikov Date: Fri, 15 Jul 2022 18:30:30 +0300 Subject: [PATCH] feat: improved Generic progress status Signed-off-by: Ilya Lesikov --- pkg/tracker/indicators/indicators.go | 2 +- pkg/tracker/resid/resource_id.go | 4 ++++ .../rollout/multitrack/multitrack_display.go | 14 ++++++++------ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/pkg/tracker/indicators/indicators.go b/pkg/tracker/indicators/indicators.go index b647df1..a936512 100644 --- a/pkg/tracker/indicators/indicators.go +++ b/pkg/tracker/indicators/indicators.go @@ -75,7 +75,7 @@ func (indicator *StringEqualConditionIndicator) FormatTableElem(prevIndicator *S func (indicator *StringEqualConditionIndicator) formatValue(withTargetValue bool) string { if withTargetValue { - return fmt.Sprintf("%s / %s", indicator.Value, indicator.TargetValue) + return fmt.Sprintf("%s (%s)", indicator.Value, indicator.TargetValue) } else { return fmt.Sprintf("%s", indicator.Value) } diff --git a/pkg/tracker/resid/resource_id.go b/pkg/tracker/resid/resource_id.go index ec1791e..744d7f8 100644 --- a/pkg/tracker/resid/resource_id.go +++ b/pkg/tracker/resid/resource_id.go @@ -51,6 +51,10 @@ func (r *ResourceID) GroupVersionKindNameString() string { return strings.Join([]string{r.GroupVersionKindString(), r.Name}, "/") } +func (r *ResourceID) KindNameString() string { + return strings.Join([]string{r.GroupVersionKind.Kind, r.Name}, "/") +} + func (r *ResourceID) GroupVersionKindNamespaceString() string { var resultElems []string diff --git a/pkg/trackers/rollout/multitrack/multitrack_display.go b/pkg/trackers/rollout/multitrack/multitrack_display.go index 8cbef09..0184d18 100644 --- a/pkg/trackers/rollout/multitrack/multitrack_display.go +++ b/pkg/trackers/rollout/multitrack/multitrack_display.go @@ -575,9 +575,9 @@ func (mt *multitracker) displayDeploymentsStatusProgress() { } func (mt *multitracker) displayGenericsStatusProgress() { - t := utils.NewTable([]float64{.40, .20, .20, .20}...) + t := utils.NewTable([]float64{.43, .14, .43}...) t.SetWidth(logboek.Context(context.Background()).Streams().ContentWidth() - 1) - t.Header("RESOURCE", "NAMESPACE", "CONDITION", "CURRENT / DESIRED CONDITION") + t.Header("RESOURCE", "NAMESPACE", "CONDITION: CURRENT (DESIRED)") for _, resource := range mt.GenericResources { var namespace string @@ -589,7 +589,7 @@ func (mt *multitracker) displayGenericsStatusProgress() { lastStatus := resource.State.LastStatus() if lastStatus == nil { - resourceCaption := formatGenericResourceCaption(resource.Spec.ResourceID.GroupVersionKindNameString(), resource.Spec.FailMode, false, false, true) + resourceCaption := formatGenericResourceCaption(resource.Spec.ResourceID.KindNameString(), resource.Spec.FailMode, false, false, true) t.Row(resourceCaption, namespace, "-", "-") continue } @@ -607,7 +607,7 @@ func (mt *multitracker) displayGenericsStatusProgress() { showProgress = true } - resourceCaption := formatGenericResourceCaption(resource.Spec.ResourceID.GroupVersionKindNameString(), resource.Spec.FailMode, lastStatus.IsReady(), lastStatus.IsFailed(), true) + resourceCaption := formatGenericResourceCaption(resource.Spec.ResourceID.KindNameString(), resource.Spec.FailMode, lastStatus.IsReady(), lastStatus.IsFailed(), true) var lastPrintedStatusIndicator *indicators.StringEqualConditionIndicator if lastPrintedStatus != nil { @@ -638,10 +638,12 @@ func (mt *multitracker) displayGenericsStatusProgress() { humanConditionPath = "-" } + condition := fmt.Sprintf("%s: %s", humanConditionPath, currentAndDesiredState) + if lastStatus.IsFailed() && lastStatus.FailureReason() != "" { - t.Row(resourceCaption, namespace, humanConditionPath, currentAndDesiredState, formatResourceError(disableWarningColors, lastStatus.FailureReason())) + t.Row(resourceCaption, namespace, condition, formatResourceError(disableWarningColors, lastStatus.FailureReason())) } else { - t.Row(resourceCaption, namespace, humanConditionPath, currentAndDesiredState) + t.Row(resourceCaption, namespace, condition) } resource.State.SetLastPrintedStatus(lastStatus)