RamonZhou opened a new pull request, #58502:
URL: https://github.com/apache/spark/pull/58502

   ### What changes were proposed in this pull request?
   
   Pass `container-runtime: docker` to both `medyagh/setup-minikube` steps in
   `.github/workflows/build_and_test.yml` -- the `k8s-integration-tests` job 
and the
   `oidc-e2e` job -- so the Minikube node's container runtime is chosen 
explicitly instead of
   inherited from the Minikube default.
   
   ### Why are the changes needed?
   
   The K8s integration test job currently fails for every PR, during image 
construction.
   
   [Minikube 
1.39.0](https://github.com/kubernetes/minikube/releases/tag/v1.39.0) changed the
   default container runtime from Docker to containerd
   
([kubernetes/minikube#23562](https://github.com/kubernetes/minikube/pull/23562)).
 Both jobs
   pin `setup-minikube` by SHA but leave `minikube-version` at the action's 
default of
   `latest`, so CI picked up 1.39.0 as soon as it was released and the node now 
comes up on
   containerd:
   
   ```
   * minikube v1.39.0 on Ubuntu 24.04
   * Automatically selected the docker driver.
   * Preparing Kubernetes v1.37.0 on containerd 2.3.4 ...
       Container Runtime Version:  containerd://2.3.4
   ```
   
   Both jobs then build images through `eval $(minikube docker-env)`, which now 
points at
   containerd's Docker shim rather than a real Docker daemon:
   
   ```
   ! Using the docker-env command with the containerd runtime is a highly 
experimental
     feature, please provide feedback or contribute to make it better
   ```
   
   That shim does not implement enough of the Docker API for buildx. Because 
the pointed-at
   endpoint is not a usable Docker daemon, buildx falls back to the 
`docker-container` driver,
   and bootstrapping BuildKit inside it fails:
   
   ```
   #0 building with "default" instance using docker-container driver
   #1 [internal] booting buildkit
   #1 pulling image moby/buildkit:buildx-stable-1 2.7s done
   #1 ERROR: failed to inspect pulled image moby/buildkit:buildx-stable-1: 
Error response from daemon: 404 page not found
   ERROR: failed to build: failed to inspect pulled image 
moby/buildkit:buildx-stable-1: Error response from daemon: 404 page not found
   [error] (kubernetes-integration-tests / dockerImgs) 
java.lang.IllegalStateException: Process ... exited with code 1
   ```
   
   Minikube 1.38.1 still defaults to the Docker runtime and passes; 1.39.0 
fails consistently.
   
   `container-runtime: docker` is the fix rather than pinning 
`minikube-version`, because it
   addresses the cause and does not freeze CI on an aging Minikube. The Docker 
runtime remains
   fully supported in 1.39.0 -- that release ships cri-dockerd v0.4.3 and 
includes a
   cri-dockerd fix specifically for Kubernetes v1.36+
   
([kubernetes/minikube#22921](https://github.com/kubernetes/minikube/pull/22921))
 -- so
   `docker` stays a valid choice for the Kubernetes versions these two jobs use 
(1.37.0 and
   1.36.0). Runners are x86_64, which cri-dockerd supports.
   
   Fixing only `k8s-integration-tests` would leave `oidc-e2e` broken, since it 
builds its
   image the same way; both steps are updated.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No. This is a CI-only change.
   
   ### How was this patch tested?
   
   By CI in this PR. This change touches only `.github`, which 
`dev/is-changed.py` maps to the
   `root` module, so both `k8s-integration-tests` and `oidc-e2e` run here and 
exercise the
   image build path that was failing.
   
   ### Was this patch authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Opus 5)
   


-- 
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]

Reply via email to