-
Notifications
You must be signed in to change notification settings - Fork 5
WIP: Add support for running with a remote Armada server #83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
These changes are to allow running an armada-spark client against a remote (i.e. non-localhost) Armada cluster server. Signed-off-by: Rich Scott <[email protected]>
Also, fixes in TestOrchestrator for running against a remote Armada instance, and run the tests directly, instead of using a Docker container on the client. Signed-off-by: Rich Scott <[email protected]>
It will soon be used by ArmadaClientApplication. Signed-off-by: Rich Scott <[email protected]>
Signed-off-by: Rich Scott <[email protected]>
…artup tasks Signed-off-by: Rich Scott <[email protected]>
…rver. Signed-off-by: Rich Scott <[email protected]>
| of `kubectl config view`. These files can be left in this directory. | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should e2e/*crt be in .gitignore?
scripts/dev-e2e.sh
Outdated
|
|
||
| TMPDIR="$scripts/.tmp" "$AOHOME/bin/tooling/kind" load docker-image "$IMAGE_NAME" --name armada 2>&1 \ | ||
| | log_group "Loading Docker image $IMAGE_NAME into Armada cluster"; | ||
| if [ "$ARMADA_MASTER" = "localhost" ] ; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ARMADA_MASTER is never just "localhost" is it?
usually something like: "armada://localhost:30002"
| Seq(armadactlCmd) ++ subCommand.split(" ") ++ Seq("--armadaUrl", armadaUrl) | ||
| // armadactl command expects the server address to be of the form | ||
| // <hostname-or-IP>:<port> with no pseudo-protocol prefix | ||
| var armadactlUrl = armadaUrl.replaceFirst("^armada://", "") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
val
| package org.apache.spark.deploy.armada.e2e | ||
|
|
||
| import io.fabric8.kubernetes.api.model.Pod | ||
| import org.apache.spark.deploy.armada.K8sClient |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this used?
| val dockerCommand = buildDockerCommand( | ||
| val runTestCommand = buildRunTestCommand( | ||
| config.imageName, | ||
| volumeMounts, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why was this removed?
| lookoutUrl: String, | ||
| pythonScript: Option[String] | ||
| ): Seq[String] = { | ||
| val sparkRepoCopy = ".spark-3.5.5" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hardcoded?
|
|
||
| val classPathEntries: Seq[String] = Seq( | ||
| ".", | ||
| s"${sparkRepoCopy}/assembly/target/scala-2.13/jars/*", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hard coded versions?
|
Running with: no longer seems to work: |
Signed-off-by: Rich Scott <[email protected]>
Signed-off-by: Rich Scott <[email protected]>
Signed-off-by: Rich Scott <[email protected]>
Signed-off-by: Rich Scott <[email protected]>
Signed-off-by: Rich Scott <[email protected]>
Signed-off-by: Rich Scott <[email protected]>
Get the first external interface IP address and use in Kind configuration for allowing external K8S/Armada API access. Add protective quotes around TLS vars in dev-e2e.sh, per shellcheck. Use `realpath` for getting reliable full pathnames. Signed-off-by: Rich Scott <[email protected]>
Use better pattern checks for verifying if Armada master is localhost; remove quote wrapper around tls_args, so Maven doesn't error on a "" target. Signed-off-by: Rich Scott <[email protected]>
Signed-off-by: Rich Scott <[email protected]>
Signed-off-by: Rich Scott <[email protected]>
Signed-off-by: Rich Scott <[email protected]>
Signed-off-by: Rich Scott <[email protected]>
Signed-off-by: Rich Scott <[email protected]>
Signed-off-by: Rich Scott <[email protected]>
These changes add support for running a Spark client against a remote Armada server (as opposed to both being on localhost). This has been developed and tested on a macOS system as the Spark client with an Ubuntu Linux server running Armada (on top of a
kindk8s cluster).See updates to the
README.mdfor the steps to use this.Change Details:
README.mddetailing on how to get the cert files, defineARMADA_MASTERinscripts/config.sh, etc..spark-3.5.5).Changes to have
submitArmadaSpark.shwork with a possibly-remote Armada server, just as thedev-e2e.shlogic, are not yet included in this PR, but will be coming soon.