diff --git a/test/e2e/framework/util.go b/test/e2e/framework/util.go index 8320c0519d1..d9e64d7c4e9 100644 --- a/test/e2e/framework/util.go +++ b/test/e2e/framework/util.go @@ -3419,8 +3419,8 @@ func IssueSSHCommandWithResult(cmd, provider string, node *v1.Node) (*SSHResult, LogSSHResult(result) if result.Code != 0 || err != nil { - return nil, fmt.Errorf("failed running %q: %v (exit code %d)", - cmd, err, result.Code) + return nil, fmt.Errorf("failed running %q: %v (exit code %d, stderr %v)", + cmd, err, result.Code, result.Stderr) } return &result, nil diff --git a/test/e2e/network/kube_proxy.go b/test/e2e/network/kube_proxy.go index 01a69f90f8e..9cf7acf0399 100644 --- a/test/e2e/network/kube_proxy.go +++ b/test/e2e/network/kube_proxy.go @@ -77,6 +77,16 @@ var _ = SIGDescribe("Network", func() { zero := int64(0) + // Some distributions (Ubuntu 16.04 etc.) don't support the proc file. + _, err := framework.IssueSSHCommandWithResult( + "ls /proc/net/nf_conntrack", + framework.TestContext.Provider, + clientNodeInfo.node) + if err != nil && strings.Contains(err.Error(), "No such file or directory") { + framework.Skipf("The node %s does not support /proc/net/nf_conntrack", clientNodeInfo.name) + } + framework.ExpectNoError(err) + clientPodSpec := &v1.Pod{ ObjectMeta: metav1.ObjectMeta{ Name: "e2e-net-client",