// setup includes setupCore and also sets up services func (config *NetworkingTestConfig) setup(selector map[string]string) { config.setupCore(selector) By("Getting node addresses") framework.ExpectNoError(framework.WaitForAllNodesSchedulable(config.f.Client)) nodeList := framework.GetReadySchedulableNodesOrDie(config.f.Client) config.ExternalAddrs = framework.NodeAddresses(nodeList, api.NodeExternalIP) if len(config.ExternalAddrs) < 2 { // fall back to legacy IPs config.ExternalAddrs = framework.NodeAddresses(nodeList, api.NodeLegacyHostIP) } Expect(len(config.ExternalAddrs)).To(BeNumerically(">=", 2), fmt.Sprintf("At least two nodes necessary with an external or LegacyHostIP")) config.Nodes = nodeList.Items By("Creating the service on top of the pods in kubernetes") config.createNodePortService(selector) for _, p := range config.NodePortService.Spec.Ports { switch p.Protocol { case api.ProtocolUDP: config.NodeUdpPort = int(p.NodePort) case api.ProtocolTCP: config.NodeHttpPort = int(p.NodePort) default: continue } } config.ClusterIP = config.NodePortService.Spec.ClusterIP config.NodeIP = config.ExternalAddrs[0] }
func (config *KubeProxyTestConfig) setup() { By("creating a selector") selectorName := "selector-" + string(util.NewUUID()) serviceSelector := map[string]string{ selectorName: "true", } By("Getting node addresses") framework.ExpectNoError(framework.WaitForAllNodesSchedulable(config.f.Client)) nodeList := framework.GetReadySchedulableNodesOrDie(config.f.Client) config.externalAddrs = framework.NodeAddresses(nodeList, api.NodeExternalIP) if len(config.externalAddrs) < 2 { // fall back to legacy IPs config.externalAddrs = framework.NodeAddresses(nodeList, api.NodeLegacyHostIP) } Expect(len(config.externalAddrs)).To(BeNumerically(">=", 2), fmt.Sprintf("At least two nodes necessary with an external or LegacyHostIP")) config.nodes = nodeList.Items if enableLoadBalancerTest { By("Creating the LoadBalancer Service on top of the pods in kubernetes") config.createLoadBalancerService(serviceSelector) } By("Creating the service pods in kubernetes") podName := "netserver" config.endpointPods = config.createNetProxyPods(podName, serviceSelector) By("Creating the service on top of the pods in kubernetes") config.createNodePortService(serviceSelector) By("Creating test pods") config.createTestPods() }
func (config *NetworkingTestConfig) setup() { By("creating a selector") selectorName := "selector-" + string(uuid.NewUUID()) serviceSelector := map[string]string{ selectorName: "true", } By("Getting node addresses") framework.ExpectNoError(framework.WaitForAllNodesSchedulable(config.f.Client)) nodeList := framework.GetReadySchedulableNodesOrDie(config.f.Client) config.externalAddrs = framework.NodeAddresses(nodeList, api.NodeExternalIP) if len(config.externalAddrs) < 2 { // fall back to legacy IPs config.externalAddrs = framework.NodeAddresses(nodeList, api.NodeLegacyHostIP) } Expect(len(config.externalAddrs)).To(BeNumerically(">=", 2), fmt.Sprintf("At least two nodes necessary with an external or LegacyHostIP")) config.nodes = nodeList.Items By("Creating the service pods in kubernetes") podName := "netserver" config.endpointPods = config.createNetProxyPods(podName, serviceSelector) By("Creating the service on top of the pods in kubernetes") config.createNodePortService(serviceSelector) By("Creating test pods") config.createTestPods() for _, p := range config.nodePortService.Spec.Ports { switch p.Protocol { case api.ProtocolUDP: config.nodeUdpPort = int(p.NodePort) case api.ProtocolTCP: config.nodeHttpPort = int(p.NodePort) default: continue } } epCount := len(config.endpointPods) config.maxTries = epCount*epCount + testTries config.clusterIP = config.nodePortService.Spec.ClusterIP config.nodeIP = config.externalAddrs[0] }
nodes := framework.GetReadySchedulableNodesOrDie(cs) if len(nodes.Items) <= 0 { framework.Failf("Expect at least 1 node, got: %v", len(nodes.Items)) } nodeTags := framework.GetInstanceTags(cloudConfig, nodes.Items[0].Name) Expect(len(nodeTags.Items)).Should(Equal(1)) By("Checking if e2e firewall rules are correct") for _, expFw := range framework.GetE2eFirewalls(cloudConfig.MasterName, masterTags.Items[0], nodeTags.Items[0], cloudConfig.Network) { fw, err := gceCloud.GetFirewall(expFw.Name) Expect(err).NotTo(HaveOccurred()) Expect(framework.VerifyFirewallRule(fw, expFw, cloudConfig.Network, false)).NotTo(HaveOccurred()) } By("Checking well known ports on master and nodes are not exposed externally") nodeAddrs := framework.NodeAddresses(nodes, v1.NodeExternalIP) Expect(len(nodeAddrs)).NotTo(BeZero()) masterAddr := framework.GetMasterAddress(cs) flag, _ := testNotReachableHTTPTimeout(masterAddr, ports.ControllerManagerPort, firewallTestTcpTimeout) Expect(flag).To(BeTrue()) flag, _ = testNotReachableHTTPTimeout(masterAddr, ports.SchedulerPort, firewallTestTcpTimeout) Expect(flag).To(BeTrue()) flag, _ = testNotReachableHTTPTimeout(nodeAddrs[0], ports.KubeletPort, firewallTestTcpTimeout) Expect(flag).To(BeTrue()) flag, _ = testNotReachableHTTPTimeout(nodeAddrs[0], ports.KubeletReadOnlyPort, firewallTestTcpTimeout) Expect(flag).To(BeTrue()) flag, _ = testNotReachableHTTPTimeout(nodeAddrs[0], ports.ProxyStatusPort, firewallTestTcpTimeout) Expect(flag).To(BeTrue()) }) })