-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
invoke: if Result CNIVersion is empty use netconf CNIVersion #896
invoke: if Result CNIVersion is empty use netconf CNIVersion #896
Conversation
6d9b35e
to
40fb57b
Compare
This needs testcases still... |
40fb57b
to
605e654
Compare
605e654
to
5670150
Compare
Now with testcases (which exposed a bug, which I then fixed). |
3b1a18a
to
d6ee597
Compare
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.
LGTM(nb)
Thanks!
ping @squeed @MikeZappa87 ~ |
@dcbw I won’t be able to join the meeting today. What is the work remaining for this? Lmk if you need help, I’m sure someone on the containerd might be able to help to get this to completion :-) |
The CNI Spec requires plugins to return a CNIVersion in the Result that is the same as the CNIVersion of the incoming CNI config. Empty CNIVersions are specified to map to 0.1.0 (since the first CNI spec didn't have versioning) and libcni handles that automatically. Unfortunately some versions of Weave don't do that and depend on a libcni <= 0.8 quirk that used the netconf version if the result version was empty. This is technically a libcni regression, though the plugin itself is violating the specification. Thus for backwards compatibility assume that if the Result CNIVersion is empty, the netconf CNIVersion should be used as the Result version. Fixes: containernetworking#895 Signed-off-by: Dan Williams <[email protected]>
d6ee597
to
55fe94e
Compare
lgtm, feel free to merge on green. |
The CNI Spec requires plugins to return a CNIVersion in the Result
that is the same as the CNIVersion of the incoming CNI config.
Empty CNIVersions are specified to map to 0.1.0 (since the first
CNI spec didn't have versioning) and libcni handles that automatically.
Unfortunately some versions of Weave don't do that and depend on
a libcni <= 0.8 quirk that used the netconf version if the result
version was empty. This is technically a libcni regression, though
the plugin itself is violating the specification.
Thus for backwards compatibility assume that if the Result
CNIVersion is empty, the netconf CNIVersion should be used as
the Result version.
Fixes: #895