From b71a8a353ac5a9357819b9a5bb55b4671feb8b05 Mon Sep 17 00:00:00 2001 From: Tianxin Dong Date: Tue, 10 Jan 2023 16:46:21 +0800 Subject: [PATCH] Fix: fix vela debug cli to find id for step (#5294) Signed-off-by: FogDong Signed-off-by: FogDong --- references/cli/debug.go | 19 ++++++++++++++++++- references/cli/workflow.go | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/references/cli/debug.go b/references/cli/debug.go index 831f05190..a1674c49e 100644 --- a/references/cli/debug.go +++ b/references/cli/debug.go @@ -143,8 +143,10 @@ func (d *debugOpts) debugWorkflow(ctx context.Context, wargs *WorkflowArgs, cli if err != nil { return fmt.Errorf("failed to select workflow step: %w", err) } - d.step = unwrapStepName(step) + d.step = unwrapStepID(step, wargs.WorkflowInstance) d.errMsg = d.errMap[d.step] + } else { + d.step = unwrapStepID(d.step, wargs.WorkflowInstance) } // debug workflow steps @@ -261,6 +263,21 @@ func unwrapStepName(step string) string { } } +func unwrapStepID(step string, instance *wfTypes.WorkflowInstance) string { + step = unwrapStepName(step) + for _, status := range instance.Status.Steps { + if status.Name == step { + return status.ID + } + for _, sub := range status.SubStepsStatus { + if sub.Name == step { + return sub.ID + } + } + } + return step +} + func (d *debugOpts) getDebugRawValue(ctx context.Context, cli client.Client, pd *packages.PackageDiscover, instance *wfTypes.WorkflowInstance) (*value.Value, string, error) { debugCM := &corev1.ConfigMap{} if err := cli.Get(ctx, client.ObjectKey{Name: debug.GenerateContextName(instance.Name, d.step, string(instance.UID)), Namespace: instance.Namespace}, debugCM); err != nil { diff --git a/references/cli/workflow.go b/references/cli/workflow.go index 2619d4891..8d1880fa2 100644 --- a/references/cli/workflow.go +++ b/references/cli/workflow.go @@ -454,7 +454,7 @@ func (w *WorkflowArgs) selectWorkflowStep(msg string) error { if err != nil { return fmt.Errorf("failed to select step %s: %w", unwrapStepName(w.StepName), err) } - w.StepName = unwrapStepName(stepName) + w.StepName = unwrapStepID(stepName, w.WorkflowInstance) return nil }