-
Notifications
You must be signed in to change notification settings - Fork 303
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mark NEG refs from deleted subnet as to-be-deleted state. #2744
base: master
Are you sure you want to change the base?
Conversation
57e4cb4
to
b350244
Compare
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: sawsa307 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Haven't reviewed the tests yet, but first want to understand the implementation and the expected behaviour.
continue | ||
} | ||
|
||
resourceID, err := cloud.ParseResourceURL(origNegRef.SubnetURL) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we do a walk through of what happens when:
- NEG already exists at a GKE version which has no knowledge of MSC and SvcNEG do not have subnet information.
- GKE cluster is upgraded to a GKE version which has all of these changes.
- So for the first time, how will the SvcNEG stats upgrades look like?
Do we have the code in place to update existing SvcNEGs with the subnet information such that it is available here for the first time?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What we are doing here is comparing the subnet of NEGs in NEG CR with the current set of subnets from nodeTopology CRD/subnetConfigs.
After upgrade, before customer adding any subnets:
The SvcNeg will only have NEG refs from the default subnet, and the nodeTopology CRD will only have the default subnet, so we won't find any NEGs that belongs to a subnet that are not in the current set of subnets.
The update of SvcNeg with subnet information is happening in updateInitStatus. We will do ensureNEG for each subnet and zone, and update the NEG CR with the returned NEG from ensure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Still have some questions:
So for the first time after that upgrade, origNegRef.SubnetURL
will be empty right? Which means we will run into this error case below because we'll fail to ParseResourceURL()
. This seems to be a bit destructive, especially if someone also has some NEG transitioning to INACTIVE, which then we'll fail to mark and it will get lost. Is this right? Can we think of any other problems?
Is the answer to simply swap the order of checking Inactive followed by ToBeDeleted. Thinking about this, it seems logical to say we first classify things as Inactive, and out of those Inactive, we then further classify them as ToBeDeleted. If the current ordering was intended to cause some other issues, we may need to think of something else.
/assign @gauravkghildiyal