gillespeiffer-db opened a new pull request, #56774:
URL: https://github.com/apache/spark/pull/56774
### What changes were proposed in this pull request?
This PR adopts the `io.fabric8:kubernetes-client-bom` Bill of Materials
(BOM) to manage the versions of the Fabric8 Kubernetes client artifacts,
instead of pinning each artifact's version individually.
Concretely:
1. Import `io.fabric8:kubernetes-client-bom` (at the existing
`${kubernetes-client.version}`) in the root `pom.xml` `<dependencyManagement>`
section, right after the `grpc-bom` import.
2. Remove the now-redundant
`<version>${kubernetes-client.version}</version>` pins from the five
`io.fabric8` dependency declarations:
- `resource-managers/kubernetes/core/pom.xml`: `volcano-model`,
`volcano-client`, `kubernetes-client`
- `resource-managers/kubernetes/integration-tests/pom.xml`:
`kubernetes-client`, `volcano-client`
3. Mirror the BOM in `project/SparkBuild.scala`'s `DependencyOverrides`,
exactly like the existing `jackson-bom` and `grpc-bom` entries, because the
sbt-pom-reader does not process import-scope BOMs.
### Why are the changes needed?
This collapses five individually-pinned version references into a single BOM
import. It is easier to maintain and guarantees that every Fabric8 artifact
(the Kubernetes client and the Volcano model/client) stays aligned to one
coherent, BOM-curated set of versions.
It follows the same pattern Spark already uses for other client libraries:
`jackson-bom` (#52668), `jjwt-bom` (#56155), and `grpc-bom` (SPARK-57663).
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
This is a no-op refactor with respect to resolved dependency versions: the
imported BOM manages all of the affected artifacts at the same
`${kubernetes-client.version}` (currently `7.7.0`) that was previously pinned
explicitly. This was verified by comparing the `io.fabric8` dependency tree
before and after the change:
```
build/mvn -Pkubernetes,kubernetes-integration-tests,volcano \
-pl
resource-managers/kubernetes/core,resource-managers/kubernetes/integration-tests
-am \
dependency:tree -Dincludes=io.fabric8
```
The `io.fabric8` dependency tree is identical before and after for both the
`spark-kubernetes` and `spark-kubernetes-integration-tests` modules (all
artifacts remain at `7.7.0`).
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Opus 4.8)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]