Chaoran Yu created YUNIKORN-696:
-----------------------------------
Summary: 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
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]