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

Weiwei Yang resolved YUNIKORN-696.
----------------------------------
    Resolution: Fixed

> 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
>              Labels: pull-request-available
>             Fix For: 0.11
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to