Workaround to get managed subnets working again #437
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.
Towards giantswarm/roadmap#1932 and giantswarm/roadmap#1832
We decided that we want to revert the buggy upstream change. I did that in separate commits, so it should be easy to see where the changes come from. On top, I added a unit test which covers all AWS API calls throughout full reconciliation of a
AWSCluster
with managed VPC and subnets. My suggestion for reviewers is to look at commits oldest-to-newest. Note how my unit test found a few issues such as not writing latest information back to memory – those points are fixed and reconciliation should now run smoother, in one run.After the workaround, we will invest time into the larger upstream issue kubernetes-sigs#4026 where a networking rewrite draft shall be written before getting into implementation. The outcome should be the same: managed subnets working again. That might look different from the solution in this PR, such as introducing new
AWS*
CRs or versions, but I assume that we don't diverge a lot with this workaround, and that it will be easy to migrate to a fixed upstream version in the future.P.S. I want to merge, not squash, these commits. Otherwise we cannot see anymore which parts are reverts of upstream commits vs. what I added.