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

Mit Desai updated YUNIKORN-3075:
--------------------------------
    Description: 
We have noticed that when the Kubernetes cluster is upgraded to version 1.30, 
the installed version of YuniKorn continues to run without any issues. However, 
after the upgrade, if the admission controller has to be redeployed, the 
webhooks will be recreated, which could potentially cause problems.

At Visa, we use a modified version of the webhook that includes a namespaced 
scope for scheduling YuniKorn pods in specific namespaces. When the admission 
controller recreates the webhooks after redeployment, the code built on Go 1.29 
fails to successfully create the webhooks with the namespaced scope. This issue 
is silently ignored, and the webhooks are created with a cluster-level scope 
instead. As a result, all applications in our clusters started being scheduled 
by YuniKorn, even in namespaces where they should not be scheduled.

{*}Steps to Reproduce{*}:
 # YuniKorn v1.5.2 running on k8s 1.29 (Webhooks code modified to add 
Namespaced scope)
 # Upgrade a Kubernetes cluster to version 1.30.
 # Redeploy the admission controller.
 # Observe the scope of the created webhooks.

{*}Expected Behavior{*}: The webhooks should be created with a namespaced scope 
as configured in our modified version of the webhook.

{*}Actual Behavior{*}: The webhooks are created with a cluster-level scope, 
causing all applications to be scheduled by YuniKorn across all namespaces.

{*}Impact{*}: This issue causes all applications in our clusters to be 
scheduled by YuniKorn, even in namespaces where they should not be scheduled, 
potentially leading to resource management issues and unintended behavior.

{*}Environment Details{*}:
 * Kubernetes version: 1.30
 * YuniKorn version: 1.5.2
 * Go version: 1.29
 * Modified webhook configuration with namespaced scope

  was:
We have noticed that when the kubernetes cluster is upgraded to 1.30, Installed 
version of YuniKorn does not get affected. It runs without any issues.

However, after the upgrade, if the admission controller has to be redeployed, 
the webhooks will be recreated and this could potentially cause problems.

At Visa, we use a modified version of the webhook where we also have a 
namespaed scope to schedule yunikorn pods in specific namespaces. When the 
admission controller created the webhooks after redeployment, the code built on 
go 1.29 was not able to successfully create the webhooks with namespaced scope.

This issue was silently ignored and the webhooks were created with the cluster 
level scope. So all the applications in our clusters started to get scheduled 
by YuniKorn where they should not have.


> YuniKorn (1.5.2) Webhooks fail after admission controller redeployment 
> k8s-1.30
> -------------------------------------------------------------------------------
>
>                 Key: YUNIKORN-3075
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-3075
>             Project: Apache YuniKorn
>          Issue Type: Bug
>          Components: shim - kubernetes
>    Affects Versions: 1.5.2
>            Reporter: Mit Desai
>            Priority: Major
>
> We have noticed that when the Kubernetes cluster is upgraded to version 1.30, 
> the installed version of YuniKorn continues to run without any issues. 
> However, after the upgrade, if the admission controller has to be redeployed, 
> the webhooks will be recreated, which could potentially cause problems.
> At Visa, we use a modified version of the webhook that includes a namespaced 
> scope for scheduling YuniKorn pods in specific namespaces. When the admission 
> controller recreates the webhooks after redeployment, the code built on Go 
> 1.29 fails to successfully create the webhooks with the namespaced scope. 
> This issue is silently ignored, and the webhooks are created with a 
> cluster-level scope instead. As a result, all applications in our clusters 
> started being scheduled by YuniKorn, even in namespaces where they should not 
> be scheduled.
> {*}Steps to Reproduce{*}:
>  # YuniKorn v1.5.2 running on k8s 1.29 (Webhooks code modified to add 
> Namespaced scope)
>  # Upgrade a Kubernetes cluster to version 1.30.
>  # Redeploy the admission controller.
>  # Observe the scope of the created webhooks.
> {*}Expected Behavior{*}: The webhooks should be created with a namespaced 
> scope as configured in our modified version of the webhook.
> {*}Actual Behavior{*}: The webhooks are created with a cluster-level scope, 
> causing all applications to be scheduled by YuniKorn across all namespaces.
> {*}Impact{*}: This issue causes all applications in our clusters to be 
> scheduled by YuniKorn, even in namespaces where they should not be scheduled, 
> potentially leading to resource management issues and unintended behavior.
> {*}Environment Details{*}:
>  * Kubernetes version: 1.30
>  * YuniKorn version: 1.5.2
>  * Go version: 1.29
>  * Modified webhook configuration with namespaced scope



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