func (config *NetworkingTestConfig) createService(serviceSpec *api.Service) *api.Service { _, err := config.getServiceClient().Create(serviceSpec) Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to create %s service: %v", serviceSpec.Name, err)) err = framework.WaitForService(config.f.Client, config.Namespace, serviceSpec.Name, true, 5*time.Second, 45*time.Second) Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("error while waiting for service:%s err: %v", serviceSpec.Name, err)) createdService, err := config.getServiceClient().Get(serviceSpec.Name) Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("Failed to create %s service: %v", serviceSpec.Name, err)) return createdService }
var _ = framework.KubeDescribe("Kubernetes Dashboard", func() { const ( uiServiceName = "kubernetes-dashboard" uiAppName = uiServiceName 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.
}) }) framework.KubeDescribe("Cassandra", func() { It("should create and scale cassandra", func() { mkpath := func(file string) string { return filepath.Join(framework.TestContext.RepoRoot, "examples/storage/cassandra", file) } serviceYaml := mkpath("cassandra-service.yaml") controllerYaml := mkpath("cassandra-controller.yaml") nsFlag := fmt.Sprintf("--namespace=%v", ns) By("Starting the cassandra service") framework.RunKubectlOrDie("create", "-f", serviceYaml, nsFlag) framework.Logf("wait for service") err := framework.WaitForService(c, ns, "cassandra", true, framework.Poll, framework.ServiceRespondingTimeout) Expect(err).NotTo(HaveOccurred()) // Create an RC with n nodes in it. Each node will then be verified. By("Creating a Cassandra RC") framework.RunKubectlOrDie("create", "-f", controllerYaml, nsFlag) label := labels.SelectorFromSet(labels.Set(map[string]string{"app": "cassandra"})) err = framework.WaitForPodsWithLabelRunning(c, ns, label) Expect(err).NotTo(HaveOccurred()) forEachPod("app", "cassandra", func(pod api.Pod) { framework.Logf("Verifying pod %v ", pod.Name) _, err = framework.LookForStringInLog(ns, pod.Name, "cassandra", "Listening for thrift clients", serverStartTimeout) Expect(err).NotTo(HaveOccurred()) _, err = framework.LookForStringInLog(ns, pod.Name, "cassandra", "Handshaking version", serverStartTimeout) Expect(err).NotTo(HaveOccurred()) })
func waitForServiceInAddonTest(c *client.Client, addonNamespace, name string, exist bool) { framework.ExpectNoError(framework.WaitForService(c, addonNamespace, name, exist, addonTestPollInterval, addonTestPollTimeout)) }
namespaces[i], err = f.CreateNamespace(fmt.Sprintf("dnsexample%d", i), nil) Expect(err).NotTo(HaveOccurred()) } for _, ns := range namespaces { framework.RunKubectlOrDie("create", "-f", backendRcYaml, getNsCmdFlag(ns)) } for _, ns := range namespaces { framework.RunKubectlOrDie("create", "-f", backendSvcYaml, getNsCmdFlag(ns)) } // wait for objects for _, ns := range namespaces { framework.WaitForRCPodsRunning(c, ns.Name, backendRcName) framework.WaitForService(c, ns.Name, backendSvcName, true, framework.Poll, framework.ServiceStartTimeout) } // it is not enough that pods are running because they may be set to running, but // the application itself may have not been initialized. Just query the application. for _, ns := range namespaces { label := labels.SelectorFromSet(labels.Set(map[string]string{"name": backendRcName})) options := api.ListOptions{LabelSelector: label} pods, err := c.Pods(ns.Name).List(options) Expect(err).NotTo(HaveOccurred()) err = framework.PodsResponding(c, ns.Name, backendPodName, false, pods) Expect(err).NotTo(HaveOccurred(), "waiting for all pods to respond") framework.Logf("found %d backend pods responding in namespace %s", len(pods.Items), ns.Name) err = framework.ServiceResponding(c, ns.Name, backendSvcName) Expect(err).NotTo(HaveOccurred(), "waiting for the service to respond") }