-
Notifications
You must be signed in to change notification settings - Fork 524
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: handle cases when merged resource re-appears before being destroyed
The sequence of events to reproduce the problem: * some resource was merged as final representation with ID `x` * underlying source resource gets destroyed * merge controller marks final resource `x` for teardown and waits for the finalizers to be empty * another source resource appears which gets merged to same final `x` * as `x` is in the teardown phase, spec controller will ignore it * merge controller doesn't see the problem as well, as `x` spec is correct, but the phase is wrong (which merge controller ignores) This pulls in COSI fix to return an error if a resource in teardown phase is modified. This way merge controller knows that the resource `x` is in the teardown phase, so it should be first fully torn down, and then new representation should be re-created as new resource with same ID `x`. Regression unit-tests included (they don't reproduce the sequence of events always reliably, but they do with 10% probability). Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
- Loading branch information
Showing
9 changed files
with
350 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.