From 363ad4c3b35918f0a5225d769112234d71b164e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Andr=C3=A9?= Date: Wed, 26 Jan 2022 11:09:59 +0100 Subject: [PATCH] Ensure the execHostnameTest() compares hostnames We do not have guarantee that the agnhost's `/hostname` endpoint returns a hostname and not an FQDN. We also do not have guarantee a hostname gets passed to the execHostnameTest() function for comparison. So make sure we're comparing hostnames in execHostnameTest(). --- test/e2e/network/util.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/e2e/network/util.go b/test/e2e/network/util.go index 50ab6361c4b..0818627ca3f 100644 --- a/test/e2e/network/util.go +++ b/test/e2e/network/util.go @@ -143,6 +143,8 @@ func execSourceIPTest(sourcePod v1.Pod, targetAddr string) (string, string) { // execHostnameTest executes curl to access "/hostname" endpoint on target address // from given Pod to check the hostname of the target destination. +// It also converts FQDNs to hostnames, so if an FQDN is passed as +// targetHostname only the hostname part will be considered for comparison. func execHostnameTest(sourcePod v1.Pod, targetAddr, targetHostname string) { var ( err error @@ -166,8 +168,12 @@ func execHostnameTest(sourcePod v1.Pod, targetAddr, targetHostname string) { break } + // Ensure we're comparing hostnames and not FQDNs + targetHostname = strings.Split(targetHostname, ".")[0] + hostname := strings.TrimSpace(strings.Split(stdout, ".")[0]) + framework.ExpectNoError(err) - framework.ExpectEqual(strings.TrimSpace(stdout), targetHostname) + framework.ExpectEqual(hostname, targetHostname) } // createSecondNodePortService creates a service with the same selector as config.NodePortService and same HTTP Port