From 003c03d3a5f13518ffc24bc10a088bd70c9d3b85 Mon Sep 17 00:00:00 2001 From: Michiel Date: Fri, 5 Aug 2022 16:46:22 +0200 Subject: [PATCH] [bitnami/spark] Add Spark Helm Chart tests (#11280) * [bitnami/spark] Add Spark Helm Chart tests Signed-off-by: Michiel --- .vib/spark/cypress/cypress.json | 7 +++++ .../cypress/cypress/integration/spark_spec.js | 6 +++++ .vib/spark/goss/goss.yaml | 5 ++++ .vib/spark/goss/vars.yaml | 3 +++ .vib/spark/vib-publish.json | 27 ++++++++++++++++++- .vib/spark/vib-verify.json | 27 ++++++++++++++++++- 6 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 .vib/spark/cypress/cypress.json create mode 100644 .vib/spark/cypress/cypress/integration/spark_spec.js create mode 100644 .vib/spark/goss/goss.yaml create mode 100644 .vib/spark/goss/vars.yaml diff --git a/.vib/spark/cypress/cypress.json b/.vib/spark/cypress/cypress.json new file mode 100644 index 000000000..b47964e3e --- /dev/null +++ b/.vib/spark/cypress/cypress.json @@ -0,0 +1,7 @@ +{ + "baseUrl": "http://localhost/", + "defaultCommandTimeout": 30000, + "env": { + "expectedWorkers": 2 + } +} diff --git a/.vib/spark/cypress/cypress/integration/spark_spec.js b/.vib/spark/cypress/cypress/integration/spark_spec.js new file mode 100644 index 000000000..52a3b9f85 --- /dev/null +++ b/.vib/spark/cypress/cypress/integration/spark_spec.js @@ -0,0 +1,6 @@ +/// + +it('checks if the amount of workers is correct', () => { + cy.visit('/'); + cy.contains(`Alive Workers: ${Cypress.env('expectedWorkers')}`); +}); diff --git a/.vib/spark/goss/goss.yaml b/.vib/spark/goss/goss.yaml new file mode 100644 index 000000000..44cac9992 --- /dev/null +++ b/.vib/spark/goss/goss.yaml @@ -0,0 +1,5 @@ +command: + spark-submit-app: + exec: spark-submit --class org.apache.spark.examples.SparkPi --master spark://spark-master-svc:{{ .Vars.master.containerPorts.cluster }} --deploy-mode cluster /opt/bitnami/spark/examples/jars/spark*.jar + exit-status: 0 + timeout: 20000 diff --git a/.vib/spark/goss/vars.yaml b/.vib/spark/goss/vars.yaml new file mode 100644 index 000000000..fe11195ca --- /dev/null +++ b/.vib/spark/goss/vars.yaml @@ -0,0 +1,3 @@ +master: + containerPorts: + cluster: 7077 diff --git a/.vib/spark/vib-publish.json b/.vib/spark/vib-publish.json index a6c9f5dd3..d3d696b48 100644 --- a/.vib/spark/vib-publish.json +++ b/.vib/spark/vib-publish.json @@ -22,7 +22,7 @@ "url": "{SHA_ARCHIVE}", "path": "/bitnami/spark" }, - "runtime_parameters": "InNlcnZpY2UiOgogICJ0eXBlIjogIkxvYWRCYWxhbmNlciIKICAicG9ydHMiOgogICAgImh0dHAiOiA4MA==", + "runtime_parameters": "InNlcnZpY2UiOgogICJ0eXBlIjogIkxvYWRCYWxhbmNlciIKICAicG9ydHMiOgogICAgImh0dHAiOiA4MAoid29ya2VyIjoKICAicmVwbGljYUNvdW50IjogMg==", "target_platform": { "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", "size": { @@ -37,6 +37,31 @@ "endpoint": "lb-spark-master-svc-http", "app_protocol": "HTTP" } + }, + { + "action_id": "goss", + "params": { + "resources": { + "path": "/.vib/spark/goss" + }, + "remote": { + "workload": "sts-spark-worker" + }, + "vars_file": "vars.yaml" + } + }, + { + "action_id": "cypress", + "params": { + "resources": { + "path": "/.vib/spark/cypress" + }, + "endpoint": "lb-spark-master-svc-http", + "app_protocol": "HTTP", + "env": { + "expectedWorkers": "2" + } + } } ] }, diff --git a/.vib/spark/vib-verify.json b/.vib/spark/vib-verify.json index e61957f40..f0079d1a0 100644 --- a/.vib/spark/vib-verify.json +++ b/.vib/spark/vib-verify.json @@ -22,7 +22,7 @@ "url": "{SHA_ARCHIVE}", "path": "/bitnami/spark" }, - "runtime_parameters": "InNlcnZpY2UiOgogICJ0eXBlIjogIkxvYWRCYWxhbmNlciIKICAicG9ydHMiOgogICAgImh0dHAiOiA4MA==", + "runtime_parameters": "InNlcnZpY2UiOgogICJ0eXBlIjogIkxvYWRCYWxhbmNlciIKICAicG9ydHMiOgogICAgImh0dHAiOiA4MAoid29ya2VyIjoKICAicmVwbGljYUNvdW50IjogMg==", "target_platform": { "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", "size": { @@ -37,6 +37,31 @@ "endpoint": "lb-spark-master-svc-http", "app_protocol": "HTTP" } + }, + { + "action_id": "goss", + "params": { + "resources": { + "path": "/.vib/spark/goss" + }, + "remote": { + "workload": "sts-spark-worker" + }, + "vars_file": "vars.yaml" + } + }, + { + "action_id": "cypress", + "params": { + "resources": { + "path": "/.vib/spark/cypress" + }, + "endpoint": "lb-spark-master-svc-http", + "app_protocol": "HTTP", + "env": { + "expectedWorkers": "2" + } + } } ] }