fix: (helm) - prevent sync from deleting all release records if Helm failed to transition state properly during upgrade#4358
fix: (helm) - prevent sync from deleting all release records if Helm failed to transition state properly during upgrade#4358mikeshng wants to merge 1 commit intooperator-framework:masterfrom mikeshng:fix-helm-sync
Conversation
…failed to transition state properly during upgrade Signed-off-by: Mike Ng <ming@redhat.com>
|
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
|
Stale issues rot after 30d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle rotten |
|
Rotten issues close after 30d of inactivity. Reopen the issue by commenting /close |
|
@openshift-bot: Closed this PR. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Signed-off-by: Mike Ng ming@redhat.com
Description of the change:
If the 2nd last release record is
supersededwhich indicates that a upgrade has been successfully performed, but the last release is stillpending-upgradewhich indicates that there Helm did not transition the status properly, then transition the last release record todeployedstatus.Motivation for the change:
Due to Helm upgrade release status transition not being an atomic update, see helm/helm#9113
it's possible that the Helm release records are left in the following state after an upgrade:
original release's status is
supersededupgraded release's status is stuck at
pending-upgradeIf this is the case, then Helm operator will proceed to remove both of these release records in the Manager's
Syncfunction.This change is to fix the Helm storage to move the last release into
deployedstatus to prevent all the release records from being deleted.Checklist
If the pull request includes user-facing changes, extra documentation is required:
changelog/fragments(seechangelog/fragments/00-template.yaml)bug fix
website/content/en/docs