[ 
https://issues.apache.org/jira/browse/SPARK-59518?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yang Jie updated SPARK-59518:
-----------------------------
    Description: 
{{ExecutorKubernetesCredentialsFeatureStep}} treats 
{{spark.kubernetes.authenticate.executor.serviceAccountName=""}} as set: an 
empty value shadows a non-empty 
{{spark.kubernetes.authenticate.driver.serviceAccountName}} and is written into 
both {{serviceAccount}} and {{serviceAccountName}} on the executor pod, leaving 
it on the namespace default.

The configuration's own doc says the driver account is the fallback "if this 
parameter is not setup", and the template side of SPARK-58910 counts an empty 
value as unset, matching Kubernetes' {{SetDefaults_PodSpec}}. So the same 
notion of "unset" is read two ways in one step.

Aligning the write path means {{.filter(_.nonEmpty)}} on both {{lazy val}}s in 
that step. It is a small user-visible change: an empty executor value would 
fall back to the driver account instead of writing an empty one, so it is filed 
separately from SPARK-58910 rather than folded into a fix headed for the 
maintenance branches.

> An empty spark.kubernetes.authenticate.executor.serviceAccountName is written 
> to the executor pod instead of falling back to the driver account
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-59518
>                 URL: https://issues.apache.org/jira/browse/SPARK-59518
>             Project: Spark
>          Issue Type: Bug
>          Components: Kubernetes
>    Affects Versions: 5.0.0
>            Reporter: Yang Jie
>            Priority: Major
>
> {{ExecutorKubernetesCredentialsFeatureStep}} treats 
> {{spark.kubernetes.authenticate.executor.serviceAccountName=""}} as set: an 
> empty value shadows a non-empty 
> {{spark.kubernetes.authenticate.driver.serviceAccountName}} and is written 
> into both {{serviceAccount}} and {{serviceAccountName}} on the executor pod, 
> leaving it on the namespace default.
> The configuration's own doc says the driver account is the fallback "if this 
> parameter is not setup", and the template side of SPARK-58910 counts an empty 
> value as unset, matching Kubernetes' {{SetDefaults_PodSpec}}. So the same 
> notion of "unset" is read two ways in one step.
> Aligning the write path means {{.filter(_.nonEmpty)}} on both {{lazy val}}s 
> in that step. It is a small user-visible change: an empty executor value 
> would fall back to the driver account instead of writing an empty one, so it 
> is filed separately from SPARK-58910 rather than folded into a fix headed for 
> the maintenance branches.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to