-
Notifications
You must be signed in to change notification settings - Fork 51
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
Enable multi-architecture support, specifically for s390x, in CNAO and the associated CNIs. #1916
Comments
@ashokpariya0 could you please elaborate on the motivation for supporting s390x arch? |
We are enabling s390x (IBM Z system) support in all(most) kubevirt ecosystem components. Already kubevirt (virt-operator), supports s390x and now we are working on additional components like cnao, cdi(almost done), ssp, etc. |
Checked again, wrt auto bumper, i think in this specific case we dont need to update bumper scripts as this parameter is part of CNAO and not part of the components. What about all the other images, some of them arent multiarch right ? Also please consider that kube-rbac-proxy need to be changed on https://github.com/k8snetworkplumbingwg/kubemacpool so if KMP is installed standalone or via CNAO it will be the same WRT the proposed image, it seems safe to use it as https://github.com/brancz/kube-rbac-proxy is the one Wdyt about fixing it / opening an issue on @phoracek agree ? anything i missed ? |
@oshoval Thank you for your feedback.
Yes, you are right. We have noticed that most of the CNI images do not support multiple architectures, and we are in the process of identifying the necessary changes. Our initial focus is to get the CNAO operator running on the s390x architecture(for this we need to change kube-rbac-proxy image), and then we will address the other CNI images one by one, as you suggested. We are committed to actively contributing to this effort.
Okay, Noted.
Yes, That is correct.
Sure, I will create the issue and follow up on it. |
Thank you
Just to make sure, i meant other components that CNAO deploys, do we talk about the same?
|
Yes. |
Amazing thank you |
Please keep in mind for changes that are done, that we will also need ARM, so best if changes can be done in a robust manner (or at least strives to) |
Regarding kubemacpool:- Image is multi arch supported However I see runtime issue with image as manager binary present inside kubemacpool-cert-manager init container is not compatible with s390x. |
Thanks a lot, we are here whatever needed |
Hi @zhlhahaha |
Might worth please to consider a gist about how to emulate s390x so whoever need to sanity check / develop it can |
Sure, Thanks! |
Let me take a look, thanks for reminding @oshoval |
@oshoval I created an issue on GitHub to enable multi-architecture image support for quay.io/openshift/origin-kube-rbac-proxy. You can find the issue here: Issue #113 |
Hi, we dont release on each PR, just once there is a need, if you need it we can release |
@oshoval @phoracek could you please direct me to the GitHub repository where the image below is being prepared? |
hack/components/bump-linux-bridge.sh |
Thanks, @oshoval , for the quick reply! I got my answer. |
you mean who build quay.io/openshift/origin-operator-registry:4.2.0 ? |
Thanks |
Sure |
@oshoval Regarding multiplatform support, it's not ideal yet, but we can begin by adding support for AMD64 and s390x architectures. I've already completed testing for these, so once multiplatform support is integrated for CNAO-supported CNIs and the release is finalized, we’ll just need to update the image digest. Currently, the Multus CNI already supports multiplatform, so we can directly proceed with testing that.
Yes, this is a good suggestions, and I can submit the PR for it. |
Added in PR: #1928 |
@RamLavi @phoracek @oshoval ,
For your kind visibility, these are the PRs: For Multus Dynamic:k8snetworkplumbingwg/multus-dynamic-networks-controller#267 For Linux Bridge:Bridge-Marker: kubevirt/bridge-marker#77 For KubeMacPool: |
Thanks for all your contribution. |
There are also those PRs by @jschintag Thanks |
From my point of view we must hold until #1923 (comment) is addressed fully also i am going to try CNAO locally, i might have an older fedora and will need time to make sure it runs locally (or that i need to upgrade which will take time) |
about #1916 (comment) (for completeness you might want to benchmark with and without on worst case, and if it is neglectable we can theoretically consider it, but i don't think it make sense to force it) |
I've noticed that multi-platform builds are much faster with Docker Buildx since it builds in parallel, whereas with Podman, it takes more time (although I can see ways to optimize that). Additionally, could we consider adding a GitHub Action to offload the builds to a CI/CD system for better performance in multi-platform scenarios? |
Hi, about git actions not atm please, won't have time to work on that, lets first do the minimum first |
All your PRs that aren't merged yet, so will be easier to track, Thanks a lot for your effort
EDIT
|
We miss macvtap in case you would like to address it please as well |
Sure Noted, I will work on that. |
awesome thanks |
I submitted s390x support PR for OVS CNI: k8snetworkplumbingwg/ovs-cni#337 |
Thanks Lets please also run locally docker / podman on the repos to make sure it does work for both for multi arch / cross etc if help is needed lets sync on slack, thanks |
Thanks @oshoval
|
Awesome, thanks a lot |
Hi, I didn't manage yet to have a system end to end that compiles and push everything in every combinations, |
/cc @jschintag |
@oshoval We're here to assist whenever you need extra hands with multi-arch or any related concerns. Just let us know, and we'll do our best to help! |
Thank you very much for all the effort and co-op |
No Problem, thank you @oshoval for your time and help in this. |
Can you please check that CNAO release jobs themselves support and will use "all" flag ? |
Sure, could you please direct me to the Prow jobs responsible for the release? |
please look on post submit of cnao under project infra or on git actions |
Done, PR link: #1956 |
Is your feature request related to a problem? Please describe:
The origin-kube-rbac-proxy image(quay.io/openshift/origin-kube-rbac-proxy@sha256:e2def4213ec0657e72eb790ae8a115511d5b8f164a62d3568d2f1bff189917e8) used by CNAO operator is not compatible with the s390x architecture.
Describe the solution you'd like:
use multi arch supported image for kube-rbac-proxy.
origin-kube-rbac-proxy image should be compatible with s390x architecture as well.
Describe alternatives you've considered:
We can use quay.io/brancz/kube-rbac-proxy@sha256:e6a323504999b2a4d2a6bf94f8580a050378eba0900fd31335cf9df5787d9a9b
for kube-rbac-proxy image as this image is compatible with amd64, arm, arm64, ppc64le and s390x architecture.
Please check :
(https://quay.io/repository/brancz/kube-rbac-proxy/manifest/sha256:e6a323504999b2a4d2a6bf94f8580a050378eba0900fd31335cf9df5787d9a9b)
The text was updated successfully, but these errors were encountered: