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

[RFE] Enable multi-platform support for Multus Dynamic Networks Controller CNI image. #264

Closed
ashokpariya0 opened this issue Nov 19, 2024 · 4 comments · Fixed by #267
Closed
Assignees
Labels
enhancement New feature or request

Comments

@ashokpariya0
Copy link
Contributor

Is your feature request related to a problem? Please describe.
The upstream image of the Multus Dynamic Networks Controller CNI (available at this link) currently supports only the amd64 architecture. To extend its support, we should build a multi-platform image that includes support for the s390x and arm64 architecture as well.

Describe the solution you'd like
Enable multi-platform support for building the image of Multus Dynamic Networks Controller CNI.

Describe alternatives you've considered

Additional context

@maiqueb
Copy link
Collaborator

maiqueb commented Nov 19, 2024

I don't have time for this right now.

If the community needs this fixed, the community can implement it.

And I have no clue how we'll test these builds work. This will be required as well.

I'm not closing this issue, but I'll remove myself as an assignee.

@maiqueb maiqueb assigned ashokpariya0 and unassigned maiqueb Nov 19, 2024
@ashokpariya0
Copy link
Contributor Author

@maiqueb With the proposed changes, I successfully built a multi-platform image supporting both amd64 and s390x architectures. I then deployed the Multus Dynamic Networks Controller CNI using the CNAO operator on a Kubernetes cluster running on s390x. I was able to run the E2E tests successfully on the s390x cluster.

Here are the results:
Ran 7 of 7 Specs in 93.268 seconds
SUCCESS! -- 7 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestDynamicNetworksControllerE2E (93.27s)
PASS
ok github.com/k8snetworkplumbingwg/multus-dynamic-networks-controller/e2e 93.281s

Is this sufficient to verify the correctness of the proposed changes? Also, I would appreciate it if you could provide more details regarding the image build process and the testing approach.

@maiqueb
Copy link
Collaborator

maiqueb commented Nov 19, 2024

@maiqueb With the proposed changes, I successfully built a multi-platform image supporting both amd64 and s390x architectures. I then deployed the Multus Dynamic Networks Controller CNI using the CNAO operator on a Kubernetes cluster running on s390x. I was able to run the E2E tests successfully on the s390x cluster.

Here are the results: Ran 7 of 7 Specs in 93.268 seconds SUCCESS! -- 7 Passed | 0 Failed | 0 Pending | 0 Skipped --- PASS: TestDynamicNetworksControllerE2E (93.27s) PASS ok github.com/k8snetworkplumbingwg/multus-dynamic-networks-controller/e2e 93.281s

Is this sufficient to verify the correctness of the proposed changes? Also, I would appreciate it if you could provide more details regarding the image build process and the testing approach.

This is good, but I wonder how can we assure this stays working ?... Can we have a lane on this architecture running on github's CI ? I really don't know.

We could probably just plow through and accept the change - meaning, the only thing we test is that we can build imgs for s390x. We wouldn't know if we can actually run them, or if their behavior is the expected.

@ashokpariya0
Copy link
Contributor Author

@maiqueb I’ve implemented multi-platform build support in PR #267 using GitHub Actions. Could you please review the changes?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment