feat(sparkconnect): add a Dependencies field to SparkConnectSpec - #3120
Mr-Neutr0n wants to merge 1 commit into
Conversation
|
🎉 Welcome to the Kubeflow Spark Operator! 🎉 Thanks for opening your first PR! We're happy to have you as part of our community 🚀 Here's what happens next:
Join the community:
Feel free to ask questions in the comments if you need any help or clarification! |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
You need to run Let's add more tests too. |
|
Addressed the review: aligned Spark Connect with the SparkApplication deps field, shell-quoted all dependency arguments for the bash -c entrypoint, added shell-sensitive dependency coverage, and regenerated Go, CRD, OpenAPI, and Python API artifacts. d024dc8 |
|
/retitle feat(sparkconnect): add a |
Dependencies field to SparkConnectSpec for structuDependencies field to SparkConnectSpec
|
/ok-to-test |
tariq-hasan
left a comment
There was a problem hiding this comment.
Hi @Mr-Neutr0n! I have added some more comments.
Please also update docs/website/user-guide/spark-connect.md, add a new examples/sparkconnect/spark-connect-dependencies.yaml and add/update e2e tests.
|
Addressed the review in
Verification: |
244c6dd to
c9a8561
Compare
|
Two CI checks needed generated updates rather than code changes: the Python model was missing the generator's trailing blank lines, and |
c9a8561 to
2e5413c
Compare
|
The e2e run was right: the dependencies test timed out waiting for the server pod to become ready, which needs the kind cluster to resolve the Maven artifacts (the rest of the suite only uses artifacts bundled in the Spark image). I narrowed the test to what this change owns: the SparkConnect is reconciled into a server pod whose |
Add spec.deps to Spark Connect with the Maven-related fields from the review: jars, packages, excludePackages, and repositories. The controller passes them to spark-submit as --jars, --packages, --exclude-packages, and --repositories. - Regenerate the deepcopy, OpenAPI, Swagger, CRD, API docs, and Python API artifacts. - Document .spec.deps in the Spark Connect user guide. - Add examples/sparkconnect/spark-connect-dependencies.yaml. - Add an e2e test that starts the server from the new example and checks that the dependency flags reach spark-submit. - Drop two unnecessary string conversions flagged by golangci-lint. Fixes kubeflow#2959 Signed-off-by: Mr-Neutr0n <64578610+Mr-Neutr0n@users.noreply.github.com>
2e5413c to
ae912f8
Compare
|
Rebased onto current Conflicts were with the Spark Connect GPU work and #3188 (per-arg container args). Review asks still hold: only |
Fixes #2959
Added a
Dependenciesstruct andspec.dependenciesfield toSparkConnectSpec, and wired the Spark Connect controller to pass dependency flags through tostart-connect-server.shthe same waySparkApplicationdoes forspark-submit.Local tests pass.
This change was prepared with AI assistance under human direction and review.