You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@yunikorn.apache.org by "Chaoran Yu (Jira)" <ji...@apache.org> on 2021/06/08 18:01:00 UTC

[jira] [Assigned] (YUNIKORN-696) Helm chart does not support upgrade

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

Chaoran Yu reassigned YUNIKORN-696:
-----------------------------------

    Assignee: Chaoran Yu

> Helm chart does not support upgrade
> -----------------------------------
>
>                 Key: YUNIKORN-696
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-696
>             Project: Apache YuniKorn
>          Issue Type: Bug
>          Components: release
>            Reporter: Chaoran Yu
>            Assignee: Chaoran Yu
>            Priority: Major
>
> The YuniKorn Helm chart can be successfully installed with _helm install_, but if _helm upgrade_ is used to upgrade an existing installation, then the admission controller pod will be gone. 
> For example, if an existing installation looks like below:
>  
> {code:java}
> $ kubectl get pods
> NAME                                             READY   STATUS    RESTARTS   AGE
> yunikorn-admission-controller-6f6b9b8dff-thv8k   1/1     Running   0          31s
> yunikorn-scheduler-99969db67-bxhmf               2/2     Running   0          34s
> {code}
>  
> Then after some changes are made to the Helm chart (e.g. changing queue configurations) and _helm upgrade_ is executed to make the changes take effect, the end result will be:
>  
> {code:java}
> $ kubectl get pods
> NAME                                  READY   STATUS    RESTARTS   AGE
> yunikorn-scheduler-54dd4b45d7-b9jg4   2/2     Running   0          24s
> {code}
> Note that the scheduler pod has been correctly replaced with a new one, but the admission controller pod is gone (the old admission controller pod has been deleted as expected, but no new pod was spawned).
> Looks like the reason it didn't work was these lifecycle hooks: [https://github.com/apache/incubator-yunikorn-release/blob/v0.10.0/helm-charts/yunikorn/templates/deployment.yaml#L83-L89.] I think _helm upgrade_ first starts a new scheduler pod, runs the postStart hook to create a new admission controller. Then helm deletes the old scheduler pod. After it's gone, helm runs the postStop hook of the old scheduler pod, which caused the unintentional side effect of deleting both the old and new admission controllers, leaving no admission controller around.
> It would be great if this issue can be fixed because _helm upgrade_ is the standard way of upgrading a helm release. It can also completely replace _helm install_ with _helm upgrade --install_ when it comes to a fresh installation
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: issues-help@yunikorn.apache.org