Merge pull request #21639 from jayunit100/cassandra-example-fix

Fix broken cassandra test: Up to date containers + RC of 2 nodes with…
This commit is contained in:
Fabio Yeon 2016-02-26 15:48:02 -08:00
commit 09dd0f1809
3 changed files with 17 additions and 8 deletions

View File

@ -196,7 +196,9 @@ metadata:
app: cassandra app: cassandra
name: cassandra name: cassandra
spec: spec:
replicas: 1 replicas: 2
selector:
app: cassandra
template: template:
metadata: metadata:
labels: labels:

View File

@ -5,7 +5,9 @@ metadata:
app: cassandra app: cassandra
name: cassandra name: cassandra
spec: spec:
replicas: 1 replicas: 2
selector:
app: cassandra
template: template:
metadata: metadata:
labels: labels:

View File

@ -210,31 +210,36 @@ var _ = Describe("[Feature:Example]", func() {
controllerYaml := mkpath("cassandra-controller.yaml") controllerYaml := mkpath("cassandra-controller.yaml")
nsFlag := fmt.Sprintf("--namespace=%v", ns) nsFlag := fmt.Sprintf("--namespace=%v", ns)
By("starting service and pod") By("Starting the cassandra service and pod")
runKubectlOrDie("create", "-f", serviceYaml, nsFlag) runKubectlOrDie("create", "-f", serviceYaml, nsFlag)
runKubectlOrDie("create", "-f", podYaml, nsFlag) runKubectlOrDie("create", "-f", podYaml, nsFlag)
Logf("waiting for first cassandra pod")
err := waitForPodRunningInNamespace(c, "cassandra", ns) err := waitForPodRunningInNamespace(c, "cassandra", ns)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
Logf("waiting for thrift listener online")
_, err = lookForStringInLog(ns, "cassandra", "cassandra", "Listening for thrift clients", serverStartTimeout) _, err = lookForStringInLog(ns, "cassandra", "cassandra", "Listening for thrift clients", serverStartTimeout)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
Logf("wait for service")
err = waitForEndpoint(c, ns, "cassandra") err = waitForEndpoint(c, ns, "cassandra")
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
By("create and scale rc") // Create an RC with n nodes in it. Each node will then be verified.
By("Creating a Cassandra RC")
runKubectlOrDie("create", "-f", controllerYaml, nsFlag) runKubectlOrDie("create", "-f", controllerYaml, nsFlag)
err = ScaleRC(c, ns, "cassandra", 2, true) forEachPod(c, ns, "app", "cassandra", func(pod api.Pod) {
Expect(err).NotTo(HaveOccurred()) Logf("Verifying pod %v ", pod.Name)
forEachPod(c, ns, "name", "cassandra", func(pod api.Pod) {
_, err = lookForStringInLog(ns, pod.Name, "cassandra", "Listening for thrift clients", serverStartTimeout) _, err = lookForStringInLog(ns, pod.Name, "cassandra", "Listening for thrift clients", serverStartTimeout)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
_, err = lookForStringInLog(ns, pod.Name, "cassandra", "Handshaking version", serverStartTimeout) _, err = lookForStringInLog(ns, pod.Name, "cassandra", "Handshaking version", serverStartTimeout)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
}) })
By("Finding each node in the nodetool status lines")
output := runKubectlOrDie("exec", "cassandra", nsFlag, "--", "nodetool", "status") output := runKubectlOrDie("exec", "cassandra", nsFlag, "--", "nodetool", "status")
forEachPod(c, ns, "name", "cassandra", func(pod api.Pod) { forEachPod(c, ns, "app", "cassandra", func(pod api.Pod) {
if !strings.Contains(output, pod.Status.PodIP) { if !strings.Contains(output, pod.Status.PodIP) {
Failf("Pod ip %s not found in nodetool status", pod.Status.PodIP) Failf("Pod ip %s not found in nodetool status", pod.Status.PodIP)
} }