Skip to content

Commit c136a99

Browse files
committed
e2e: Better error reporting in firewall test
Clearly report the particular ip/port that failed.
1 parent 0400871 commit c136a99

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed

test/e2e/framework/util.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4941,7 +4941,7 @@ func getMaster(c clientset.Interface) Address {
49414941
func GetAllMasterAddresses(c clientset.Interface) []string {
49424942
master := getMaster(c)
49434943

4944-
var ips sets.String
4944+
ips := sets.NewString()
49454945
switch TestContext.Provider {
49464946
case "gce", "gke":
49474947
if master.externalIP != "" {

test/e2e/network/firewall.go

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package network
1818

1919
import (
2020
"fmt"
21+
"time"
2122

2223
"k8s.io/api/core/v1"
2324
"k8s.io/apimachinery/pkg/util/sets"
@@ -172,19 +173,27 @@ var _ = SIGDescribe("Firewall rule", func() {
172173

173174
By("Checking well known ports on master and nodes are not exposed externally")
174175
nodeAddrs := framework.NodeAddresses(nodes, v1.NodeExternalIP)
175-
Expect(len(nodeAddrs)).NotTo(BeZero())
176+
if len(nodeAddrs) == 0 {
177+
framework.Failf("did not find any node addresses")
178+
}
179+
176180
masterAddresses := framework.GetAllMasterAddresses(cs)
177-
for _, masterAddr := range masterAddresses {
178-
flag, _ := framework.TestNotReachableHTTPTimeout(masterAddr, ports.InsecureKubeControllerManagerPort, gce.FirewallTestTcpTimeout)
179-
Expect(flag).To(BeTrue())
180-
flag, _ = framework.TestNotReachableHTTPTimeout(masterAddr, ports.SchedulerPort, gce.FirewallTestTcpTimeout)
181-
Expect(flag).To(BeTrue())
182-
flag, _ = framework.TestNotReachableHTTPTimeout(nodeAddrs[0], ports.KubeletPort, gce.FirewallTestTcpTimeout)
183-
Expect(flag).To(BeTrue())
184-
flag, _ = framework.TestNotReachableHTTPTimeout(nodeAddrs[0], ports.KubeletReadOnlyPort, gce.FirewallTestTcpTimeout)
185-
Expect(flag).To(BeTrue())
186-
flag, _ = framework.TestNotReachableHTTPTimeout(nodeAddrs[0], ports.ProxyStatusPort, gce.FirewallTestTcpTimeout)
187-
Expect(flag).To(BeTrue())
181+
for _, masterAddress := range masterAddresses {
182+
assertNotReachableHTTPTimeout(masterAddress, ports.InsecureKubeControllerManagerPort, gce.FirewallTestTcpTimeout)
183+
assertNotReachableHTTPTimeout(masterAddress, ports.SchedulerPort, gce.FirewallTestTcpTimeout)
188184
}
185+
assertNotReachableHTTPTimeout(nodeAddrs[0], ports.KubeletPort, gce.FirewallTestTcpTimeout)
186+
assertNotReachableHTTPTimeout(nodeAddrs[0], ports.KubeletReadOnlyPort, gce.FirewallTestTcpTimeout)
187+
assertNotReachableHTTPTimeout(nodeAddrs[0], ports.ProxyStatusPort, gce.FirewallTestTcpTimeout)
189188
})
190189
})
190+
191+
func assertNotReachableHTTPTimeout(ip string, port int, timeout time.Duration) {
192+
unreachable, err := framework.TestNotReachableHTTPTimeout(ip, port, timeout)
193+
if err != nil {
194+
framework.Failf("Unexpected error checking for reachability of %s:%d: %v", ip, port, err)
195+
}
196+
if !unreachable {
197+
framework.Failf("Was unexpectedly able to reach %s:%d", ip, port)
198+
}
199+
}

0 commit comments

Comments
 (0)