From c7f9c0d1fa93f68c7e2530d1314fefef93fca6ba Mon Sep 17 00:00:00 2001 From: Micah Beeman Date: Fri, 8 Oct 2021 11:10:09 -0500 Subject: [PATCH 1/4] Unskip TestGetPodByNode to test its flakiness Signed-off-by: Micah Beeman --- workflow/controller/operator_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/workflow/controller/operator_test.go b/workflow/controller/operator_test.go index 860677125089..57252ad0ea09 100644 --- a/workflow/controller/operator_test.go +++ b/workflow/controller/operator_test.go @@ -3519,7 +3519,6 @@ func getEvents(controller *WorkflowController, num int) []string { } func TestGetPodByNode(t *testing.T) { - t.Skip("See https://github.com/argoproj/argo-workflows/issues/6458") workflowText := ` metadata: name: dag-events From b8db8b092179b352166f5b269d11afdbda802c1f Mon Sep 17 00:00:00 2001 From: Micah Beeman Date: Thu, 14 Oct 2021 12:37:21 -0500 Subject: [PATCH 2/4] Set POD_NAMES to v1 to use nodeID for pod name Signed-off-by: Micah Beeman --- workflow/controller/operator_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/workflow/controller/operator_test.go b/workflow/controller/operator_test.go index 57252ad0ea09..4a6d427e8216 100644 --- a/workflow/controller/operator_test.go +++ b/workflow/controller/operator_test.go @@ -3519,6 +3519,7 @@ func getEvents(controller *WorkflowController, num int) []string { } func TestGetPodByNode(t *testing.T) { + os.Setenv("POD_NAMES", "v1") workflowText := ` metadata: name: dag-events From d630bc08fa59d948f1d5725c589e141e8327a442 Mon Sep 17 00:00:00 2001 From: Micah Beeman Date: Thu, 14 Oct 2021 13:22:13 -0500 Subject: [PATCH 3/4] Fix flakiness Signed-off-by: Micah Beeman --- workflow/controller/operator_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/workflow/controller/operator_test.go b/workflow/controller/operator_test.go index 4a6d427e8216..deb1d4c7495c 100644 --- a/workflow/controller/operator_test.go +++ b/workflow/controller/operator_test.go @@ -3543,6 +3543,7 @@ spec: woc := newWorkflowOperationCtx(wf, controller) createRunningPods(ctx, woc) woc.operate(ctx) + time.Sleep(time.Second) // Parent dag node has no pod parentNode := woc.wf.GetNodeByName("dag-events") pod, err := woc.getPodByNode(parentNode) From 08c30e714446e1cf79d8104beeabf7132fce4e8d Mon Sep 17 00:00:00 2001 From: Micah Beeman Date: Thu, 14 Oct 2021 14:55:02 -0500 Subject: [PATCH 4/4] Fix getPodByNode by using the correct pod name Signed-off-by: Micah Beeman --- workflow/controller/operator.go | 3 ++- workflow/controller/operator_test.go | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/controller/operator.go b/workflow/controller/operator.go index ca6ec63a7474..f471921b9865 100644 --- a/workflow/controller/operator.go +++ b/workflow/controller/operator.go @@ -2190,7 +2190,8 @@ func (woc *wfOperationCtx) getPodByNode(node *wfv1.NodeStatus) (*apiv1.Pod, erro if node.Type != wfv1.NodeTypePod { return nil, fmt.Errorf("Expected node type %s, got %s", wfv1.NodeTypePod, node.Type) } - return woc.controller.getPod(woc.wf.GetNamespace(), node.ID) + podName := wfutil.PodName(woc.wf.Name, node.Name, node.TemplateName, node.ID) + return woc.controller.getPod(woc.wf.GetNamespace(), podName) } func (woc *wfOperationCtx) recordNodePhaseEvent(node *wfv1.NodeStatus) { diff --git a/workflow/controller/operator_test.go b/workflow/controller/operator_test.go index deb1d4c7495c..d7538a1c2b41 100644 --- a/workflow/controller/operator_test.go +++ b/workflow/controller/operator_test.go @@ -3519,7 +3519,6 @@ func getEvents(controller *WorkflowController, num int) []string { } func TestGetPodByNode(t *testing.T) { - os.Setenv("POD_NAMES", "v1") workflowText := ` metadata: name: dag-events