aboutsummaryrefslogtreecommitdiff
path: root/resource-managers/mesos/src/test/scala/org/apache/spark/scheduler/cluster/mesos/MesosCoarseGrainedSchedulerBackendSuite.scala
diff options
context:
space:
mode:
Diffstat (limited to 'resource-managers/mesos/src/test/scala/org/apache/spark/scheduler/cluster/mesos/MesosCoarseGrainedSchedulerBackendSuite.scala')
-rw-r--r--resource-managers/mesos/src/test/scala/org/apache/spark/scheduler/cluster/mesos/MesosCoarseGrainedSchedulerBackendSuite.scala46
1 files changed, 46 insertions, 0 deletions
diff --git a/resource-managers/mesos/src/test/scala/org/apache/spark/scheduler/cluster/mesos/MesosCoarseGrainedSchedulerBackendSuite.scala b/resource-managers/mesos/src/test/scala/org/apache/spark/scheduler/cluster/mesos/MesosCoarseGrainedSchedulerBackendSuite.scala
index eb83926ae4..c040f05d93 100644
--- a/resource-managers/mesos/src/test/scala/org/apache/spark/scheduler/cluster/mesos/MesosCoarseGrainedSchedulerBackendSuite.scala
+++ b/resource-managers/mesos/src/test/scala/org/apache/spark/scheduler/cluster/mesos/MesosCoarseGrainedSchedulerBackendSuite.scala
@@ -475,6 +475,52 @@ class MesosCoarseGrainedSchedulerBackendSuite extends SparkFunSuite
assert(launchedTasks.head.getName == "test-mesos-dynamic-alloc 0")
}
+ test("mesos sets configurable labels on tasks") {
+ val taskLabelsString = "mesos:test,label:test"
+ setBackend(Map(
+ "spark.mesos.task.labels" -> taskLabelsString
+ ))
+
+ // Build up the labels
+ val taskLabels = Protos.Labels.newBuilder()
+ .addLabels(Protos.Label.newBuilder()
+ .setKey("mesos").setValue("test").build())
+ .addLabels(Protos.Label.newBuilder()
+ .setKey("label").setValue("test").build())
+ .build()
+
+ val offers = List(Resources(backend.executorMemory(sc), 1))
+ offerResources(offers)
+ val launchedTasks = verifyTaskLaunched(driver, "o1")
+
+ val labels = launchedTasks.head.getLabels
+
+ assert(launchedTasks.head.getLabels.equals(taskLabels))
+ }
+
+ test("mesos ignored invalid labels and sets configurable labels on tasks") {
+ val taskLabelsString = "mesos:test,label:test,incorrect:label:here"
+ setBackend(Map(
+ "spark.mesos.task.labels" -> taskLabelsString
+ ))
+
+ // Build up the labels
+ val taskLabels = Protos.Labels.newBuilder()
+ .addLabels(Protos.Label.newBuilder()
+ .setKey("mesos").setValue("test").build())
+ .addLabels(Protos.Label.newBuilder()
+ .setKey("label").setValue("test").build())
+ .build()
+
+ val offers = List(Resources(backend.executorMemory(sc), 1))
+ offerResources(offers)
+ val launchedTasks = verifyTaskLaunched(driver, "o1")
+
+ val labels = launchedTasks.head.getLabels
+
+ assert(launchedTasks.head.getLabels.equals(taskLabels))
+ }
+
test("mesos supports spark.mesos.network.name") {
setBackend(Map(
"spark.mesos.network.name" -> "test-network-name"