Skip to content
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

Kube-router with graceful restart does not advertise external addresses #1486

Closed
rkojedzinszky opened this issue May 22, 2023 · 8 comments
Closed

Comments

@rkojedzinszky
Copy link
Contributor

What happened?
Enabled graceful restart feature (--bgp-graceful-restart)

What did you expect to happen?
I expected that when bgp session comes up, service externalIPs get advertised immediately.

How can we reproduce the behavior you experienced?
Steps to reproduce the behavior:

  1. Enable --bgp-graceful-restart and --advertise-external-ip
  2. Configure an external bgp speaker with graceful restart enabled too, with ipv4 only configuration
  3. Create a service with externalIPs addresses
  4. Observe that session comes up, but takes 6 minutes to prefixes appear on external speaker

** System Information (please complete the following information):**

  • Kube-Router Version: v1.5.4
  • Kube-Router Parameters:
       - --run-router=true
       - --run-firewall=true
       - --run-service-proxy=true
       - --advertise-pod-cidr=false
       - --advertise-external-ip
       - --kubeconfig=/var/lib/kube-router/kubeconfig
       - --iptables-sync-period=24h
       - --ipvs-sync-period=24h
       - --routes-sync-period=24h
       - --auto-mtu=false
       - --bgp-graceful-restart
  • Kubernetes Version (kubectl version) : v1.26
  • Cloud Type: bare metal
  • Kubernetes Deployment Type: kubeadm
  • Kube-Router Deployment Type: daemonset
  • Cluster Size: 10 nodes

Additional context
I still assume that is a bug in GoBGP, already opened an issue there, howewer there's no response. osrg/gobgp#2596. At the end, the final product is kube-router itself which behaves wrong.

@aauren
Copy link
Collaborator

aauren commented Jun 11, 2023

@rkojedzinszky - I took a look at the thread again, but still don't see anything that kube-router can do here to fix it.

I'm not willing to maintain a fork of GoBGP. Neither can we revert to the previous functionality because it was wrong and it will cause a break in functionality for other users.

If you have an alternative that doesn't involve reverting to the previous functionality and is within the code base control of kube-router, let me know here and we can talk through the use case to see if it would make sense for you to submit a PR with the functionality.

In the meantime, I pinged the primary maintainer of GoBGP on your issue. I have found him to be responsive when I bubble things up to him directly so we can see if that gets us any forward movement on your issue upstream.

@rkojedzinszky
Copy link
Contributor Author

@aauren Thanks for handling it. I totally agree, kube-router behaves right, no modification should be done to it. I hope as a GoBGP user we can get more support from GoBGP team to handle this. Unfortunately earlier I was unable to reach attention, my issue has no replies. Thanks for pushing it!

@vasiliev-a-a
Copy link

Hello. May be it is too late, but is not the --bgp-graceful-restart-deferral-time controls the time lag between GoBGP starts up and begins to advertise? It defaults 6m, as it stated in the docs.

@rkojedzinszky
Copy link
Contributor Author

@vasiliev-a-a That was discussed already in #1389 (comment)

@rkojedzinszky
Copy link
Contributor Author

@aauren do you have updates on this? I know it is out of kube-router's scope, howewer at the end, as a user, I am facing with an issue that kube-router configured to support graceful-restart, and configured with an external router without GR may end up in prefixes not being advertised at all, manual intervention is needed to solve such a case.

Thanks,

@aauren
Copy link
Collaborator

aauren commented Sep 4, 2023

Unfortunately, I don't have any updates on it. Its probably best to just keep following along with the upstream bug. Either that or get into the code for GoBGP and submit an PR.

@github-actions
Copy link

github-actions bot commented Oct 5, 2023

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.

@github-actions github-actions bot added the Stale label Oct 5, 2023
@github-actions
Copy link

This issue was closed because it has been stale for 5 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Oct 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants