diff --git a/workflow/controller/operator.go b/workflow/controller/operator.go index b6763caefe13..7ae9f757db52 100644 --- a/workflow/controller/operator.go +++ b/workflow/controller/operator.go @@ -1223,7 +1223,7 @@ func (woc *wfOperationCtx) podReconciliation(ctx context.Context) (error, bool) node.Daemoned = nil woc.updated = true } - woc.markNodePhase(node.Name, wfv1.NodeError, "pod deleted") + woc.markNodeError(node.Name, errors.New("", "pod deleted")) // Set pod's child(container) error if pod deleted for _, childNodeID := range node.Children { childNode, err := woc.wf.Status.Nodes.Get(childNodeID) diff --git a/workflow/controller/operator_test.go b/workflow/controller/operator_test.go index c799a2b5e522..247d6cd3ddaf 100644 --- a/workflow/controller/operator_test.go +++ b/workflow/controller/operator_test.go @@ -10843,8 +10843,8 @@ spec: podGC: strategy: OnPodCompletion` -// TestContainerSetDoesNotStopContainerWhenPodRemoved test whether a workflow has ContainerSet error when pod removed. -func TestContainerSetDoesNotStopContainerWhenPodRemoved(t *testing.T) { +// TestContainerSetDeleteContainerWhenPodDeleted test whether a workflow has ContainerSet error when pod deleted. +func TestContainerSetDeleteContainerWhenPodDeleted(t *testing.T) { _ = os.Setenv("RECENTLY_STARTED_POD_DURATION", "0") cancel, controller := newController() defer cancel() @@ -10890,4 +10890,5 @@ func TestContainerSetDoesNotStopContainerWhenPodRemoved(t *testing.T) { assert.Equal(t, "container deleted", node.Message) } } + _ = os.Unsetenv("RECENTLY_STARTED_POD_DURATION") }