-
Notifications
You must be signed in to change notification settings - Fork 148
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
bump netlink&cni&golang version and support add ecmp route #227
bump netlink&cni&golang version and support add ecmp route #227
Conversation
hi @cyclinder , can you provide a little more context about this change? |
a25bffe
to
3bf95a0
Compare
Hi @zeeke , I have just updated the context of this change, please review it. Thanks! |
I think this change makes sense :) , could it be merged into the master branch if appropriate? |
@cyclinder thanks for explaining. nit: is the bump to go1.19 strictly needed? if not, can you at least split it in a different commit? other than that, Thanks |
@zeeke Yeah, bumping to go1.19 is strictly needed. and I could raise another PR to bump to go1.19,After waiting for #PR 228 to merge to master brach, This PR is ready to merged, WDYT? |
Pull Request Test Coverage Report for Build 3204643668Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
@Eoghan1232 please, have a look at this. |
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.
overall lgtm, once we clean up the pr to be in line with #228
we can look to merge both
5d826e0
to
48a742c
Compare
Hi @Eoghan1232 Can you take a look ? thanks |
lgtm! |
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.
Greeting !
while i have no objections with the changes introduced. its a bit unclear to me what fixed ecmp route issue you described.
also updating commit message with a bit more info on the fix would be great !
go.mod
Outdated
github.com/onsi/ginkgo v1.16.4 | ||
github.com/onsi/gomega v1.17.0 | ||
github.com/stretchr/testify v1.5.1 | ||
github.com/vishvananda/netlink v1.2.0-beta |
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.
is netlink version bump needed ? if so do you know what was added/fixed ?
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.
Yes, In the latest release of netlink
, they have added the RouteAddEcmp function, which is the most important part.
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.
OK here is what i found:
support for calling RouteAddEcmp
was added to containernetworking/plugins
in v1.0.0 in this commit
in sriov-cni code we call ConfigureInterface
from containernetworking plugins ipam package.
so we need to bump containernetworking/plugins verison.
in v1.1.1 an older version of netlink is used
which apparently is good enough, as bumping netlink version here will not affect the netlink version set in plugins go.mod (we are using go modules to build so each package provides its own dependencies)
still, i do not think netlink version should be bumped as there is no reason to bump it.
am i missing anything ?
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.
ah i see latest PR update now uses netlink v1.1.1 and not 1.2.0 so disregard my comment RE netlink version :)
update cni/cni-plugins to v1.1.2/v1.1.1, and netlink/ginkgo/gomega are sub-dependencies of cni/cni-plugins, they will be upgraded together as well. Signed-off-by: cyclinder <qifeng.guo@daocloud.io>
48a742c
to
02fe350
Compare
Thanks @adrianchiris Do you have plans to publish a new release? |
ATM, release is on an "on-demand" basis. can you open an issue requesting a new release ? |
Yes! I could open an issue for this, I think it's meaningful. |
Support add ECMP default route:
When I add a
sriov-cni
NIC to the pod by using multus( The first NIC in the pod is assigned bycalico
). I want the default route for the second NIC (net1) to be created correctly, but there is actually only one default route for calico.This should actually have two default routes:
In the
calico + macvlan
scenario, where two default routes are created. I checked the source code ofsriov-cni
and found that the version of CNI it references is too old to cause this problem.github.com/containernetworking/cni: v0.8.1
github.com/containernetworking/cni: v1.1.1
In summary, I solved this problem by upgrading CNI to
v1.1.1
, and I tested it in my local environment, It works well. As an add-on, we also have to upgrade thenetlink
andgolang
versions.That's all this PR is doing.
Signed-off-by: cyclinder qifeng.guo@daocloud.io