Only add finalizers after status updates #609
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Make updating a resource's status more consistent for all secret controllers, by factoring out the Status.Update() calls to controller methods, and always setting the lastGeneraton from the reconciled object.
The root cause of #608 seems to be API schema differences when going directly from v0.2.0 to v0.5.0. In v0.5.0 we added finalizers the VPS, VSS, and HCPVSA controllers. Finalizers were being added before the object's status was updated, unfortunately that would result in a error that would prevent the secret from ever being synced, and the object's status from ever being updated. The workaround is documented here: #608 (comment)
The solution is to add the finalizer after the status update. All controllers that have finalizers have been updated accordingly.