Add HELM_FORCE_UPDATE and --helm-force flag#6214
Conversation
HELM_FORCE_UPDATE and --helm-force flag
Signed-off-by: krzysztofczyz-da <krzysztof.czyz@digitalasset.com>
Signed-off-by: krzysztofczyz-da <krzysztof.czyz@digitalasset.com>
5db3163 to
d324390
Compare
Signed-off-by: krzysztofczyz-da <krzysztof.czyz@digitalasset.com>
|
Thanks!
Hmm so my understanding is that since we chain this after Pulumi, a Helm upgrade is (still) only triggered is something actually changed in the Pulumi state. And then you'd get a restart, true, but AFAICT we almost always get a restart when we change things even without force... I'd say let's just test it by merging and if it causes problems we can revert before it reaches MainNet. I.e., default the config thing to true.
So the main need is actually the long-running clusters (CILR, DevNet, TestNet, MainNet). These are managed by the operator, so AFAIU we'd need to deploy the operator once to enable this "feature"... and then it's enabled for all help operations.
We're trying to reduce the number of weird env vars; can we add this to the And let's do a CI scratchnet test before merging, maybe an upgrade test as this actually changes many things that are already deployed. |
There was a problem hiding this comment.
I actually don't think we need that extra cncluster feature tbh; assuming you add this to config.yaml, the "edit config.yaml and rerun" is a quite established flow by now.
|
I also suggest doing a basic "does it do what it should" test if you haven't already. If you're quick, you could just kubectl edit some deployment while the CI upgrade test is running (but before the upgrade step) to add some extra env var, and then confirm that the operator removed your manual changes again on the upgrade step. |
Fixes #4940
I think it makes sense to have a flag to switch this on and off as Helm's
--forceshould not be used normally (as replace can nuke your apps' availablity, particulary damaging if done for a slow starting app). Because of this current implementation addsHELM_FORCE_UPDATEenv var which isfalseby default and--helm-forceflag to cncluster which conditionally turns it totrue- I assume most use cases will be applied from localhost.