zeppelin
zeppelin copied to clipboard
[ZEPPELIN-5449] Zeppelin currently cannot do the CI under k8s environment
What is this PR for?
Zeppelin uses GitHub Action to complete Continuous integration (CI). Specifically, it has three workflows: core.yaml, frontend.yaml and rat.yaml. However, It is currently not possible to verify the functions of zeppelin in the k8s environment in these workflows.
This PR utilizes Minikube as the k8s environment for CI testing. Specifically, it defines a new GitHub Action workflow: k8s_ci_tests.yaml. It contains following key steps:
- start Minikube (i.e., a single-node Kubernetes cluster) on the GitHub-hosted VM.
- build Zeppelin and output the distribution tar.gz
- download Spark and build image
- build zeppelin image from the distribution tar.gz (Dockerfile is in
scripts/docker/zeppelin/build-from-distribution/Dockerfile) - mvn testing
mvn test -DskipRat -Dtest=K8sMinikubeTestBasic,K8sMinikubeTestPySpark,K8sMinikubeTestSparkR -pl :launcher-k8s-standard -BIt starts and tests multiple interpreters (shell, python, spark, pyspark, sparkr, sparksql) in the Minikube cluster.
What type of PR is it?
[Improvement]
Todos
- [ ] - Task
What is the Jira issue?
How should this be tested?
- CI passed and manually tested
Screenshots (if appropriate)
Questions:
- Does the licenses files need update? No
- Is there breaking changes for older versions? No
- Does this needs documentation? No
Hi, @zjffdu Thanks for the comments. I've made the following changes:
- Move the test classes into module
zeppelin-interpreter-integration - Reuse the
org.apache.zeppelin.integration.MiniZeppelinbut add a parameter to set theZeppelinConfiguration. - Reuse the properties file about log4j.
ping
@rickchengx Could you rebase this PR ?
@zjffdu Sorry for the late response, I was busy with my school things. I have rebased my PR.
Thanks @rickchengx