mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-02 08:17:26 +00:00
e2e: Better error reporting in firewall test
Clearly report the particular ip/port that failed.
This commit is contained in:
parent
0400871df9
commit
c136a99bf2
@ -4941,7 +4941,7 @@ func getMaster(c clientset.Interface) Address {
|
|||||||
func GetAllMasterAddresses(c clientset.Interface) []string {
|
func GetAllMasterAddresses(c clientset.Interface) []string {
|
||||||
master := getMaster(c)
|
master := getMaster(c)
|
||||||
|
|
||||||
var ips sets.String
|
ips := sets.NewString()
|
||||||
switch TestContext.Provider {
|
switch TestContext.Provider {
|
||||||
case "gce", "gke":
|
case "gce", "gke":
|
||||||
if master.externalIP != "" {
|
if master.externalIP != "" {
|
||||||
|
@ -18,6 +18,7 @@ package network
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"time"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
@ -172,19 +173,27 @@ var _ = SIGDescribe("Firewall rule", func() {
|
|||||||
|
|
||||||
By("Checking well known ports on master and nodes are not exposed externally")
|
By("Checking well known ports on master and nodes are not exposed externally")
|
||||||
nodeAddrs := framework.NodeAddresses(nodes, v1.NodeExternalIP)
|
nodeAddrs := framework.NodeAddresses(nodes, v1.NodeExternalIP)
|
||||||
Expect(len(nodeAddrs)).NotTo(BeZero())
|
if len(nodeAddrs) == 0 {
|
||||||
masterAddresses := framework.GetAllMasterAddresses(cs)
|
framework.Failf("did not find any node addresses")
|
||||||
for _, masterAddr := range masterAddresses {
|
|
||||||
flag, _ := framework.TestNotReachableHTTPTimeout(masterAddr, ports.InsecureKubeControllerManagerPort, gce.FirewallTestTcpTimeout)
|
|
||||||
Expect(flag).To(BeTrue())
|
|
||||||
flag, _ = framework.TestNotReachableHTTPTimeout(masterAddr, ports.SchedulerPort, gce.FirewallTestTcpTimeout)
|
|
||||||
Expect(flag).To(BeTrue())
|
|
||||||
flag, _ = framework.TestNotReachableHTTPTimeout(nodeAddrs[0], ports.KubeletPort, gce.FirewallTestTcpTimeout)
|
|
||||||
Expect(flag).To(BeTrue())
|
|
||||||
flag, _ = framework.TestNotReachableHTTPTimeout(nodeAddrs[0], ports.KubeletReadOnlyPort, gce.FirewallTestTcpTimeout)
|
|
||||||
Expect(flag).To(BeTrue())
|
|
||||||
flag, _ = framework.TestNotReachableHTTPTimeout(nodeAddrs[0], ports.ProxyStatusPort, gce.FirewallTestTcpTimeout)
|
|
||||||
Expect(flag).To(BeTrue())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
masterAddresses := framework.GetAllMasterAddresses(cs)
|
||||||
|
for _, masterAddress := range masterAddresses {
|
||||||
|
assertNotReachableHTTPTimeout(masterAddress, ports.InsecureKubeControllerManagerPort, gce.FirewallTestTcpTimeout)
|
||||||
|
assertNotReachableHTTPTimeout(masterAddress, ports.SchedulerPort, gce.FirewallTestTcpTimeout)
|
||||||
|
}
|
||||||
|
assertNotReachableHTTPTimeout(nodeAddrs[0], ports.KubeletPort, gce.FirewallTestTcpTimeout)
|
||||||
|
assertNotReachableHTTPTimeout(nodeAddrs[0], ports.KubeletReadOnlyPort, gce.FirewallTestTcpTimeout)
|
||||||
|
assertNotReachableHTTPTimeout(nodeAddrs[0], ports.ProxyStatusPort, gce.FirewallTestTcpTimeout)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
func assertNotReachableHTTPTimeout(ip string, port int, timeout time.Duration) {
|
||||||
|
unreachable, err := framework.TestNotReachableHTTPTimeout(ip, port, timeout)
|
||||||
|
if err != nil {
|
||||||
|
framework.Failf("Unexpected error checking for reachability of %s:%d: %v", ip, port, err)
|
||||||
|
}
|
||||||
|
if !unreachable {
|
||||||
|
framework.Failf("Was unexpectedly able to reach %s:%d", ip, port)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user