-
Notifications
You must be signed in to change notification settings - Fork 81
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
Delete routing table gracefully #74
Comments
what does 'more graceful' mean? i don't follow your request at all |
Hi @hopkiw, thank you for follow up this issue, Because of forwarded ip in routing table will be deleted before shutdown-script, My opinion is, if google want to delete forwarded ip in routing table before shutdown-script, Thanks. |
We don't delete routes unless they've been removed from the metadata server. Does pressing the 'power button' cause routes to be deleted from the metadata server? I will attempt to reproduce this. The guest agent does not have any way to issue RST to destination of existing socket connections owned by other processes on the system. |
We found this behavior will happen with the following setups.
You will see forwarded IP(ILB's IP) will be deleted before 'power button' event. If you test press the 'power button' directly on an instance this issue will not happen. |
Is there any workaround to improve this behavior? |
MIG scale down sends the usual instances.terminate signal; the guest agent shuts down first, prior to running shutdown scripts. so i ran a shutdown script that shows the routes still existed after the shutdown of the guest agent. |
Thank you for the investigation, one thing I want to confirm is did you setup a L4 ILB in front of your MIG instance with connection draining enabled? |
* new package build workflow * change msg to request
We observed connection time out in our client-side when scaling in or performing a rolling update of MIGs,
The workflow is,
Client -> ILB -> MIGs instance.
Before ACPI G2 soft off signal received[1], the forward ip(IP of ILB) was already deleted in routing table. This caused these long connections will be a timeout.
[1]
Related source code,
https://github.com/GoogleCloudPlatform/guest-agent/blob/master/google_guest_agent/addresses.go#L407
Is there any way to perform this more graceful? Any advice will very helpful.
The text was updated successfully, but these errors were encountered: