-
Notifications
You must be signed in to change notification settings - Fork 62
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
feat: add route-controller to linode ccm #184
Conversation
Hitting linode/linodego#462 with linodego. It doesn't affect the PR as the interface also gets deleted when a node is deleted and we don't need DeleteRoute() call to always work, but it would be nice if linodego is fixed. |
7e5f575
to
2b413b0
Compare
2b413b0
to
82794ed
Compare
rc.routes = make(map[int][]linodego.InstanceConfig, len(instances)) | ||
|
||
mtx := sync.Mutex{} | ||
g := new(errgroup.Group) |
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.
Right last thing to note, we may want to limit the number of go routines we can create or do some sort of throttling or the API team might be unhappy with us.
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.
It looks like we can do this by setting g.SetLimit(<some number>)
. Not sure what a good number is to start with. Should we set it to something like 100?
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.
We're going to merge this PR and address this in followup PRs. I've created #188 to address it.
Co-authored-by: Ashley Dumaine <[email protected]>
What type of PR is this?
/kind feature
What this PR does / why we need it:
Cloud-controller-manager provides interfaces to implement functionality of managing routes in cluster. For k8s clusters provisioned within VPC, we need to automatically add/remove podCIDRs allocated to nodes to the linode's interface configs so that the traffic can be routed within the VPC. This PR implements the Routes interfaces.
This PR also makes sure that if a node is a part of VPC, then VPC ip is shown as the node internal ip.
Key points:
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes # #183
Special notes for your reviewer:
TODO:
Add unittests
General:
Pull Request Guidelines: