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 -B
It 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.MiniZeppelin
but 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