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.
Four years ago I moved the
setStatus
code to thek8sutil
package in order to update the status also in thecontroller
scope and not only insidecluster
. For this I removed the linec.setSpec(newspec)
and left it to the caller to update Spec struct.However, it was not reflected by all callers which leads to the situation that further
Update
calls during DELETE events (like removing the finalizer) can be blocked becauseresourceVersion
is already higher that it what is stored in c.Spec, in case the status changed (e.g. Running -> UpdateFailed).Instead of implementing extra logic to Delete() this PR attempts to bring back the behavior from 4 years ago to update the spec when updating the status.