You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Move docker image management and test entrypoint to Maven (#31)
* Use an nginx server for remote jars tests.
* Moves all integration test setup logic to Maven and scripts.
The Kubernetes integration tests now always expect an image to be
pre-built, so we no longer build images with Scala code. Maven's
pre-integration-test invokes a single script to bootstrap the
environment with the built images, etc. In the transition we try to keep
as much of the same semantics as possible.
* Update documentation
* Remove unnecessary .gitignore entries
* Use $IMAGE_TAG instead of $TAG
* Don't write image tag file twice
* Remove using nginx file server
* Remove some lines
* Split building Spark for dev environment from build reactor
* Small docs fix
* Docs formatting fix
* Spark TGZ can be empty instead of N/A, throw an error if not provided.
* Remove extraneous --skip-building-docker-images flag.
* Switch back to using the N/A placeholder
* Remove extraneous code
* Remove maven args because they don't work
* Fix scripts
* Don't get Maven if it's already there
* Put quotes everywhere
* Minor formatting
* Hard set Minikube binary location.
* Run Minikube from bash -c
The simplest way to run the integration tests is to install and run Minikube, then run the following:
12
+
13
+
dev/dev-run-integration-tests.sh
14
+
15
+
The minimum tested version of Minikube is 0.23.0. The kube-dns addon must be enabled. Minikube should
16
+
run with a minimum of 3 CPUs and 4G of memory:
17
+
18
+
minikube start --cpus 3 --memory 4096
19
+
20
+
You can download Minikube [here](https://github.com/kubernetes/minikube/releases).
21
+
22
+
# Integration test customization
23
+
24
+
Configuration of the integration test runtime is done through passing different arguments to the test script. The main useful options are outlined below.
25
+
26
+
## Use a non-local cluster
27
+
28
+
To use your own cluster running in the cloud, set the following:
29
+
30
+
*`--deploy-mode cloud` to indicate that the test is connecting to a remote cluster instead of Minikube,
31
+
*`--spark-master <master-url>` - set `<master-url>` to the externally accessible Kubernetes cluster URL,
32
+
*`--image-repo <repo>` - set `<repo>` to a write-accessible Docker image repository that provides the images for your cluster. The framework assumes your local Docker client can push to this repository.
0 commit comments