mirror of https://github.com/k3s-io/k3s
[examples] [e2e] Fix spark example e2e tests: labels, forEach, json->yaml
parent
be9dfcaec4
commit
782b268f02
|
@ -3,7 +3,7 @@ apiVersion: v1
|
||||||
metadata:
|
metadata:
|
||||||
name: spark-worker-controller
|
name: spark-worker-controller
|
||||||
spec:
|
spec:
|
||||||
replicas: 3
|
replicas: 2
|
||||||
selector:
|
selector:
|
||||||
component: spark-worker
|
component: spark-worker
|
||||||
template:
|
template:
|
||||||
|
@ -20,3 +20,4 @@ spec:
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 100m
|
cpu: 100m
|
||||||
|
|
||||||
|
|
|
@ -156,34 +156,48 @@ var _ = Describe("[Feature:Example]", func() {
|
||||||
mkpath := func(file string) string {
|
mkpath := func(file string) string {
|
||||||
return filepath.Join(testContext.RepoRoot, "examples", "spark", file)
|
return filepath.Join(testContext.RepoRoot, "examples", "spark", file)
|
||||||
}
|
}
|
||||||
serviceJson := mkpath("spark-master-service.json")
|
|
||||||
masterJson := mkpath("spark-master.json")
|
// TODO: Add Zepplin and Web UI to this example.
|
||||||
driverJson := mkpath("spark-driver.json")
|
serviceYaml := mkpath("spark-master-service.yaml")
|
||||||
workerControllerJson := mkpath("spark-worker-controller.json")
|
masterYaml := mkpath("spark-master-controller.yaml")
|
||||||
|
workerControllerYaml := mkpath("spark-worker-controller.yaml")
|
||||||
nsFlag := fmt.Sprintf("--namespace=%v", ns)
|
nsFlag := fmt.Sprintf("--namespace=%v", ns)
|
||||||
|
|
||||||
By("starting master")
|
master := func() {
|
||||||
runKubectlOrDie("create", "-f", serviceJson, nsFlag)
|
By("starting master")
|
||||||
runKubectlOrDie("create", "-f", masterJson, nsFlag)
|
runKubectlOrDie("create", "-f", serviceYaml, nsFlag)
|
||||||
runKubectlOrDie("create", "-f", driverJson, nsFlag)
|
runKubectlOrDie("create", "-f", masterYaml, nsFlag)
|
||||||
err := waitForPodRunningInNamespace(c, "spark-master", ns)
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
_, err = lookForStringInLog(ns, "spark-master", "spark-master", "Starting Spark master at", serverStartTimeout)
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
_, err = lookForStringInLog(ns, "spark-driver", "spark-driver", "Use kubectl exec", serverStartTimeout)
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
|
|
||||||
By("waiting for master endpoint")
|
Logf("Now polling for Master startup...")
|
||||||
err = waitForEndpoint(c, ns, "spark-master")
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
|
|
||||||
By("starting workers")
|
// Only one master pod: But its a natural way to look up pod names.
|
||||||
runKubectlOrDie("create", "-f", workerControllerJson, nsFlag)
|
forEachPod(c, ns, "component", "spark-master", func(pod api.Pod) {
|
||||||
ScaleRC(c, ns, "spark-worker-controller", 2, true)
|
Logf("Now waiting for master to startup in %v", pod.Name)
|
||||||
forEachPod(c, ns, "name", "spark-worker", func(pod api.Pod) {
|
_, err := lookForStringInLog(ns, pod.Name, "spark-master", "Starting Spark master at", serverStartTimeout)
|
||||||
_, err := lookForStringInLog(ns, pod.Name, "spark-worker", "Successfully registered with master", serverStartTimeout)
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
})
|
||||||
|
|
||||||
|
By("waiting for master endpoint")
|
||||||
|
err := waitForEndpoint(c, ns, "spark-master")
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
})
|
}
|
||||||
|
worker := func() {
|
||||||
|
By("starting workers")
|
||||||
|
Logf("Now starting Workers")
|
||||||
|
runKubectlOrDie("create", "-f", workerControllerYaml, nsFlag)
|
||||||
|
|
||||||
|
// For now, scaling is orthogonal to the core test.
|
||||||
|
// ScaleRC(c, ns, "spark-worker-controller", 2, true)
|
||||||
|
|
||||||
|
Logf("Now polling for worker startup...")
|
||||||
|
forEachPod(c, ns, "component", "spark-worker", func(pod api.Pod) {
|
||||||
|
_, err := lookForStringInLog(ns, pod.Name, "spark-worker", "Successfully registered with master", serverStartTimeout)
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// Run the worker verification after we turn up the master.
|
||||||
|
defer worker()
|
||||||
|
master()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue