func (cont *NginxIngressController) init() { mkpath := func(file string) string { return filepath.Join(framework.TestContext.RepoRoot, ingressManifestPath, "nginx", file) } framework.Logf("initializing nginx ingress controller") framework.RunKubectlOrDie("create", "-f", mkpath("rc.yaml"), fmt.Sprintf("--namespace=%v", cont.ns)) rc, err := cont.c.ReplicationControllers(cont.ns).Get("nginx-ingress-controller") ExpectNoError(err) cont.rc = rc framework.Logf("waiting for pods with label %v", rc.Spec.Selector) sel := labels.SelectorFromSet(labels.Set(rc.Spec.Selector)) ExpectNoError(framework.WaitForPodsWithLabelRunning(cont.c, cont.ns, sel)) pods, err := cont.c.Pods(cont.ns).List(api.ListOptions{LabelSelector: sel}) ExpectNoError(err) if len(pods.Items) == 0 { framework.Failf("Failed to find nginx ingress controller pods with selector %v", sel) } cont.pod = &pods.Items[0] cont.externalIP, err = framework.GetHostExternalAddress(cont.c, cont.pod) ExpectNoError(err) framework.Logf("ingress controller running in pod %v on ip %v", cont.pod.Name, cont.externalIP) }
uiNamespace = api.NamespaceSystem serverStartTimeout = 1 * time.Minute ) f := framework.NewDefaultFramework(uiServiceName) It("should check that the kubernetes-dashboard instance is alive", func() { framework.Skipf("UI is disabled") By("Checking whether the kubernetes-dashboard service exists.") err := framework.WaitForService(f.Client, uiNamespace, uiServiceName, true, framework.Poll, framework.ServiceStartTimeout) Expect(err).NotTo(HaveOccurred()) By("Checking to make sure the kubernetes-dashboard pods are running") selector := labels.SelectorFromSet(labels.Set(map[string]string{"k8s-app": uiAppName})) err = framework.WaitForPodsWithLabelRunning(f.Client, uiNamespace, selector) Expect(err).NotTo(HaveOccurred()) By("Checking to make sure we get a response from the kubernetes-dashboard.") err = wait.Poll(framework.Poll, serverStartTimeout, func() (bool, error) { var status int proxyRequest, errProxy := framework.GetServicesProxyRequest(f.Client, f.Client.Get()) if errProxy != nil { framework.Logf("Get services proxy request failed: %v", errProxy) } // Query against the proxy URL for the kube-ui service. err := proxyRequest.Namespace(uiNamespace). Name(uiServiceName). Timeout(framework.SingleCallTimeout). Do(). StatusCode(&status).
By("starting redis bootstrap") framework.RunKubectlOrDie("create", "-f", bootstrapYaml, nsFlag) err := framework.WaitForPodNameRunningInNamespace(c, bootstrapPodName, ns) Expect(err).NotTo(HaveOccurred()) _, err = framework.LookForStringInLog(ns, bootstrapPodName, "master", expectedOnServer, serverStartTimeout) Expect(err).NotTo(HaveOccurred()) _, err = framework.LookForStringInLog(ns, bootstrapPodName, "sentinel", expectedOnSentinel, serverStartTimeout) Expect(err).NotTo(HaveOccurred()) By("setting up services and controllers") framework.RunKubectlOrDie("create", "-f", sentinelServiceYaml, nsFlag) framework.RunKubectlOrDie("create", "-f", sentinelControllerYaml, nsFlag) framework.RunKubectlOrDie("create", "-f", controllerYaml, nsFlag) label := labels.SelectorFromSet(labels.Set(map[string]string{sentinelRC: "true"})) err = framework.WaitForPodsWithLabelRunning(c, ns, label) Expect(err).NotTo(HaveOccurred()) label = labels.SelectorFromSet(labels.Set(map[string]string{"name": redisRC})) err = framework.WaitForPodsWithLabelRunning(c, ns, label) Expect(err).NotTo(HaveOccurred()) By("scaling up the deployment") framework.RunKubectlOrDie("scale", "rc", redisRC, "--replicas=3", nsFlag) framework.RunKubectlOrDie("scale", "rc", sentinelRC, "--replicas=3", nsFlag) framework.WaitForRCToStabilize(c, ns, redisRC, framework.PodReadyBeforeTimeout) framework.WaitForRCToStabilize(c, ns, sentinelRC, framework.PodReadyBeforeTimeout) By("checking up the services") checkAllLogs := func() { selectorKey, selectorValue := "name", redisRC label := labels.SelectorFromSet(labels.Set(map[string]string{selectorKey: selectorValue}))