Skip to content

Commit 6302d17

Browse files
committed
added submit-command test
1 parent 0134b26 commit 6302d17

File tree

1 file changed

+62
-2
lines changed

1 file changed

+62
-2
lines changed

rust/operator-binary/src/spark_k8s_controller.rs

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,7 @@ pub fn error_policy(_error: &Error, _ctx: Context<Ctx>) -> Action {
292292
#[cfg(test)]
293293
mod tests {
294294
use crate::spark_k8s_controller::pod_template_config_map;
295+
use crate::spark_k8s_controller::spark_job;
295296
use crate::SparkApplication;
296297

297298
#[test]
@@ -305,7 +306,7 @@ kind: SparkApplication
305306
metadata:
306307
name: spark-examples-s3
307308
namespace: default
308-
uid: b4952dc3-d670-11e5-8cd0-68f728db1985
309+
uid: "b4952dc3-d670-11e5-8cd0-68f728db1985"
309310
spec:
310311
version: "1.0"
311312
sparkImage: docker.stackable.tech/stackable/spark-k8s:3.2.1-hadoop3.2-python39-aws1.11.375-stackable0.3.0
@@ -329,7 +330,6 @@ spec:
329330
let spark_image = spark_application.spec.spark_image.as_ref().unwrap();
330331
let pod_template_config_map =
331332
pod_template_config_map(&spark_application, &spark_image).unwrap();
332-
println!("{:#?}", &pod_template_config_map);
333333

334334
assert!(&pod_template_config_map.binary_data.is_none());
335335
assert_eq!(
@@ -345,4 +345,64 @@ spec:
345345
.map(|r| r[0].uid.to_string())
346346
);
347347
}
348+
349+
#[test]
350+
fn test_job() {
351+
// N.B. uid provided explicitly as in previous test
352+
let spark_application = serde_yaml::from_str::<SparkApplication>(
353+
r#"
354+
---
355+
apiVersion: spark.stackable.tech/v1alpha1
356+
kind: SparkApplication
357+
metadata:
358+
name: spark-examples-s3
359+
namespace: default
360+
uid: "b4952dc3-d670-11e5-8cd0-68f728db1985"
361+
spec:
362+
version: "1.0"
363+
sparkImage: docker.stackable.tech/stackable/spark-k8s:3.2.1-hadoop3.2-python39-aws1.11.375-stackable0.3.0
364+
mode: cluster
365+
mainClass: org.apache.spark.examples.SparkPi
366+
mainApplicationFile: s3a://stackable-spark-k8s-jars/jobs/spark-examples_2.12-3.2.1.jar
367+
sparkConf:
368+
"spark.hadoop.fs.s3a.aws.credentials.provider": "org.apache.hadoop.fs.s3a.AnonymousAWSCredentialsProvider"
369+
driver:
370+
cores: 1
371+
coreLimit: "1200m"
372+
memory: "512m"
373+
executor:
374+
cores: 1
375+
instances: 3
376+
memory: "512m"
377+
"#).unwrap();
378+
379+
let spark_image = spark_application.spec.spark_image.as_ref().unwrap();
380+
let job = spark_job(&spark_application, spark_image).unwrap();
381+
let job_containers = &job
382+
.clone()
383+
.spec
384+
.expect("no job spec found!")
385+
.template
386+
.spec
387+
.expect("no template spec found!")
388+
.containers;
389+
assert_eq!(1, job_containers.len());
390+
391+
let job_args = &job_containers[0].args.clone().expect("no job args found!");
392+
assert_eq!(3, job_args.len());
393+
let spark_submit_cmd = &job_args[2];
394+
395+
assert_eq!(
396+
Some("s3a://stackable-spark-k8s-jars/jobs/spark-examples_2.12-3.2.1.jar"),
397+
spark_submit_cmd.split_whitespace().rev().next()
398+
);
399+
400+
assert_eq!(
401+
Some("b4952dc3-d670-11e5-8cd0-68f728db1985".to_string()),
402+
job.clone()
403+
.metadata
404+
.owner_references
405+
.map(|r| r[0].uid.to_string())
406+
);
407+
}
348408
}

0 commit comments

Comments
 (0)