dongjoon-hyun opened a new pull request, #931:
URL: https://github.com/apache/spark-kubernetes-operator/pull/931

   ### What changes were proposed in this pull request?
   
   This PR aims to grant `deletecollection` on `pods`, `services`, `configmaps` 
and `persistentvolumeclaims` to the Spark workload ClusterRole and Roles of the 
Helm chart, with Helm test assertions and a migration guide item.
   
   ### Why are the changes needed?
   
   SPARK-57942 replaced the wildcard RBAC verbs with an explicit verb list 
without `deletecollection` in 
[1.0.0](https://github.com/apache/spark-kubernetes-operator/releases/tag/1.0.0) 
(2026-07-23). However, Spark drivers delete the resources of their application 
by label selector, which K8s RBAC authorizes as `deletecollection`. So every 
driver logs errors like the following when it stops, and leaves the resources 
until the driver pod is deleted.
   
   ```
   io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: 
DELETE at: 
https://kubernetes.default.svc/api/v1/namespaces/default/services?labelSelector=spark-app-selector%3Dpi-before-0.
 Message: services is forbidden: User "system:serviceaccount:default:spark" 
cannot deletecollection resource "services" in API group "" in the namespace 
"default". ...
   ```
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. This fixes a regression of 1.0.0.
   
   ### How was this patch tested?
   
   Pass the CIs with the new Helm test assertions. I also verified manually on 
Minikube with the operator `1.0.0` and Spark `4.2.0` that the driver logs no 
error and deletes its resources when it stops.
   
   ### Was this patch authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Opus 5.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