From 6b13d571aa64a8f02e4c640bb8d7034dc330b859 Mon Sep 17 00:00:00 2001 From: Isitha Subasinghe Date: Tue, 8 Nov 2022 17:25:51 +1100 Subject: [PATCH] fix: use correct node name as args to PodName Signed-off-by: Isitha Subasinghe --- cmd/argo/commands/common/get.go | 2 +- cmd/argo/commands/common/get_test.go | 30 +++++++++------------------- 2 files changed, 10 insertions(+), 22 deletions(-) diff --git a/cmd/argo/commands/common/get.go b/cmd/argo/commands/common/get.go index 47405f0014b2..129282d4fb6e 100644 --- a/cmd/argo/commands/common/get.go +++ b/cmd/argo/commands/common/get.go @@ -479,7 +479,7 @@ func printNode(w *tabwriter.Writer, node wfv1.NodeStatus, wfName, nodePrefix str var args []interface{} duration := humanize.RelativeDurationShort(node.StartedAt.Time, node.FinishedAt.Time) if node.Type == wfv1.NodeTypePod { - podName := util.PodName(wfName, nodeName, templateName, node.ID, podNameVersion) + podName := util.PodName(wfName, node.Name, templateName, node.ID, podNameVersion) args = []interface{}{nodePrefix, nodeName, templateName, podName, duration, node.Message, ""} } else { args = []interface{}{nodePrefix, nodeName, templateName, "", "", node.Message, ""} diff --git a/cmd/argo/commands/common/get_test.go b/cmd/argo/commands/common/get_test.go index 42652d5bec98..b95ba14485b6 100644 --- a/cmd/argo/commands/common/get_test.go +++ b/cmd/argo/commands/common/get_test.go @@ -3,7 +3,6 @@ package common import ( "bytes" "fmt" - "hash/fnv" "testing" "text/tabwriter" "time" @@ -16,9 +15,7 @@ import ( "github.com/argoproj/argo-workflows/v3/workflow/util" ) -var ( - workflowName string = "testWF" -) +var workflowName string = "testWF" func init() { // these values get used as part of determining node name and would normally be set as part of @@ -72,12 +69,9 @@ func TestPrintNode(t *testing.T) { FinishedAt: timestamp, Message: nodeMessage, } - node.HostNodeName = kubernetesNodeName // derive expected pod name: - h := fnv.New32a() - _, _ = h.Write([]byte(fmt.Sprintf("%s %s", JobStatusIconMap[wfv1.NodeRunning], nodeName))) - expectedPodName := fmt.Sprintf("%s-%s-%v", workflowName, node.TemplateName, h.Sum32()) + expectedPodName := util.PodName(workflowName, nodeName, nodeTemplateName, nodeID, util.GetPodNameVersion()) testPrintNodeImpl(t, fmt.Sprintf("%s %s\t%s\t%s\t%s\t%s\t%s\n", JobStatusIconMap[wfv1.NodeRunning], nodeName, "", expectedPodName, "0s", nodeMessage, ""), node, getArgs) // Compatibility test @@ -108,7 +102,7 @@ func TestPrintNode(t *testing.T) { } node.TemplateName = nodeTemplateName - expectedPodName = fmt.Sprintf("%s-%s-%v", workflowName, node.TemplateName, h.Sum32()) + expectedPodName = util.PodName(workflowName, nodeName, nodeTemplateName, nodeID, util.GetPodNameVersion()) testPrintNodeImpl(t, fmt.Sprintf("%s %s\t%s\t%s\t%s\t%s\t%s\n", JobStatusIconMap[wfv1.NodeRunning], nodeName, nodeTemplateName, expectedPodName, "0s", nodeMessage, ""), node, getArgs) node.Type = wfv1.NodeTypeSuspend @@ -119,7 +113,7 @@ func TestPrintNode(t *testing.T) { Template: nodeTemplateRefName, } templateName := fmt.Sprintf("%s/%s", node.TemplateRef.Name, node.TemplateRef.Template) - expectedPodName = fmt.Sprintf("%s-%s-%v", workflowName, templateName, h.Sum32()) + expectedPodName = util.PodName(workflowName, nodeName, templateName, nodeID, util.GetPodNameVersion()) testPrintNodeImpl(t, fmt.Sprintf("%s %s\t%s/%s\t%s\t%s\t%s\t%s\n", NodeTypeIconMap[wfv1.NodeTypeSuspend], nodeName, nodeTemplateRefName, nodeTemplateRefName, "", "", nodeMessage, ""), node, getArgs) getArgs.Output = "wide" @@ -397,20 +391,14 @@ status: output := PrintWorkflowHelper(&wf, GetFlags{}) // derive expected pod name: - h := fnv.New32a() - _, _ = h.Write([]byte(fmt.Sprintf("%s %s", JobStatusIconMap[wfv1.NodeSucceeded], "sleep(9:nine)"))) - expectedPodName := fmt.Sprintf("many-items-z26lj-sleep-%v", h.Sum32()) - assert.Contains(t, output, fmt.Sprintf("sleep(9:nine) sleep %s 19s", expectedPodName)) + expectedPodName := util.PodName(wf.GetObjectMeta().GetName(), "many-items-z26lj[0].sleep(9:nine)", "sleep", "many-items-z26lj-2619926859", util.GetPodNameVersion()) + assert.Contains(t, output, fmt.Sprintf("sleep(9:nine) sleep %s 19s", expectedPodName)) - h.Reset() - _, _ = h.Write([]byte(fmt.Sprintf("%s %s", JobStatusIconMap[wfv1.NodeSucceeded], "sleep(10:ten)"))) - expectedPodName = fmt.Sprintf("many-items-z26lj-sleep-%v", h.Sum32()) + expectedPodName = util.PodName(wf.GetObjectMeta().GetName(), "many-items-z26lj[0].sleep(10:ten)", "sleep", "many-items-z26lj-1052882686", util.GetPodNameVersion()) assert.Contains(t, output, fmt.Sprintf("sleep(10:ten) sleep %s 23s", expectedPodName)) - h.Reset() - _, _ = h.Write([]byte(fmt.Sprintf("%s %s", JobStatusIconMap[wfv1.NodeSucceeded], "sleep(11:eleven)"))) - expectedPodName = fmt.Sprintf("many-items-z26lj-sleep-%v", h.Sum32()) - assert.Contains(t, output, fmt.Sprintf("sleep(11:eleven) sleep %s 22s", expectedPodName)) + expectedPodName = util.PodName(wf.GetObjectMeta().GetName(), "many-items-z26lj[0].sleep(11:eleven)", "sleep", "many-items-z26lj-3011405271", util.GetPodNameVersion()) + assert.Contains(t, output, fmt.Sprintf("sleep(11:eleven) sleep %s 22s", expectedPodName)) }) }