BeforeEach(func() { framework.SkipUnlessProviderIs("gce") c = f.ClientSet ns = f.Namespace.Name framework.ExpectNoError(framework.WaitForMasters(framework.TestContext.CloudConfig.MasterName, c, 1, 10*time.Minute)) additionalReplicaZones = make([]string, 0) existingRCs = make([]string, 0) }) AfterEach(func() { // Clean-up additional worker nodes if the test execution was broken. for _, zone := range additionalNodesZones { removeWorkerNodes(zone) } framework.ExpectNoError(framework.AllNodesReady(c, 5*time.Minute)) // Clean-up additional master replicas if the test execution was broken. for _, zone := range additionalReplicaZones { removeMasterReplica(zone) } framework.ExpectNoError(framework.WaitForMasters(framework.TestContext.CloudConfig.MasterName, c, 1, 10*time.Minute)) }) type Action int const ( None Action = iota AddReplica RemoveReplica AddNodes RemoveNodes
framework.Failf("Failed to query for node: %v", err) } Expect(len(nodes.Items)).To(Equal(1)) var addr string for _, a := range nodes.Items[0].Status.Addresses { if a.Type == v1.NodeInternalIP { addr = a.Address } } Expect(len(addr)).NotTo(Equal("")) }) It("starts static pods on every node in the mesos cluster", func() { client := f.ClientSet framework.ExpectNoError(framework.AllNodesReady(client, wait.ForeverTestTimeout), "all nodes ready") nodelist := framework.GetReadySchedulableNodesOrDie(client) const ns = "static-pods" numpods := int32(len(nodelist.Items)) framework.ExpectNoError(framework.WaitForPodsRunningReady(client, ns, numpods, wait.ForeverTestTimeout, map[string]string{}, false), fmt.Sprintf("number of static pods in namespace %s is %d", ns, numpods)) }) It("schedules pods annotated with roles on correct slaves", func() { // launch a pod to find a node which can launch a pod. We intentionally do // not just take the node list and choose the first of them. Depending on the // cluster and the scheduler it might be that a "normal" pod cannot be // scheduled onto it. By("Trying to launch a pod with a label to get a node which can launch it.") podName := "with-label"
rc, err := c.ReplicationControllers(ns).Get(RCName) if err == nil && rc.Spec.Replicas != 0 { By("Cleaning up the replication controller") err := framework.DeleteRCAndPods(c, ns, RCName) framework.ExpectNoError(err) } }) f := framework.NewDefaultFramework("sched-pred") BeforeEach(func() { c = f.Client ns = f.Namespace.Name nodeList = &api.NodeList{} framework.AllNodesReady(c, time.Minute) masterNodes, nodeList = framework.GetMasterAndWorkerNodesOrDie(c) err := framework.CheckTestingNSDeletedExcept(c, ns) framework.ExpectNoError(err) // Every test case in this suite assumes that cluster add-on pods stay stable and // cannot be run in parallel with any other test that touches Nodes or Pods. // It is so because we need to have precise control on what's running in the cluster. systemPods, err := framework.GetPodsInNamespace(c, ns, ignoreLabels) Expect(err).NotTo(HaveOccurred()) systemPodsNo = 0 for _, pod := range systemPods { if !masterNodes.Has(pod.Spec.NodeName) && pod.DeletionTimestamp == nil { systemPodsNo++ }