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

Pass status along ipam #1050

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

maiqueb
Copy link
Contributor

@maiqueb maiqueb commented May 27, 2024

This PR bumps the plugins to use CNI 1.2.0 and allows delegating the STATUS verb to IPAM plugins.

This way, other CNI plugins implementing STATUS can delegate the STATUS calls to IPAM CNIs.

@maiqueb maiqueb requested a review from squeed May 27, 2024 16:14
maiqueb added a commit to maiqueb/devconf2024 that referenced this pull request May 29, 2024
We must manually adapt the containernetworking IPAM invoking functions,
since as of today, the PRs adding that support are not merged.

Status is being added in [0], which was extracted from [1], where GC is
added.

[0] - containernetworking/plugins#1050
[1] - containernetworking/plugins#1021

Signed-off-by: Miguel Duarte Barroso <[email protected]>
Copy link
Member

@LionelJouin LionelJouin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked at the Bandwidth tests. Since containernetworking/cni#1039, the behavior of json.Marshall seems to have changed for struct that embeds types.NetConf.

With CNI v1.2.0: https://go.dev/play/p/L4feVRtl5S4
With CNI v1.1.2: https://go.dev/play/p/4RrrgKJUEN3

So, here in bandwidth tests, all parameters are missing when calling ADD.

@squeed
Copy link
Member

squeed commented Jun 3, 2024

@LionelJouin very good point. Do you think this affects more than just tests? I'm not sure if there's anything that embeds types.NetConf that also marshal to disk. But, we probably need to revert containernetworking/cni#1039

@LionelJouin
Copy link
Member

Could be. I created a ticket for it: containernetworking/cni#1096
SBR (flaking) and tuning plugins are also failing, but I haven't checked the reason yet.

Signed-off-by: Miguel Duarte Barroso <[email protected]>
The `skel.PluginMain` functions were deprecated in CNI v1.2.0.

Signed-off-by: Miguel Duarte Barroso <[email protected]>
Signed-off-by: Miguel Duarte Barroso <[email protected]>
Signed-off-by: Miguel Duarte Barroso <[email protected]>
@@ -74,7 +74,7 @@ var _ = Describe("Loopback", func() {
session, err := gexec.Start(command, GinkgoWriter, GinkgoWriter)
Expect(err).NotTo(HaveOccurred())

Eventually(session).Should(gbytes.Say(`{.*}`))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

was this working before?

@squeed
Copy link
Member

squeed commented Jul 15, 2024

Is this ready to merge, or will you be implementing STATUS passthrough in this PR?

@maiqueb
Copy link
Contributor Author

maiqueb commented Jul 15, 2024

Is this ready to merge, or will you be implementing STATUS passthrough in this PR?

@squeed did you mean GC ? This PR does just that (i.e. status passthrough).

I'd rather defer GC to another PR.

@squeed
Copy link
Member

squeed commented Jul 15, 2024

I don't see anything providing an implementation of Status, so this PR lays the groundwork but doesn't, AFAICT, pass STATUS to a delegated plugin.

@maiqueb
Copy link
Contributor Author

maiqueb commented Jul 15, 2024

I don't see anything providing an implementation of Status, so this PR lays the groundwork but doesn't, AFAICT, pass STATUS to a delegated plugin.

I see !

Yeah, let's defer that as well :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants