-
Notifications
You must be signed in to change notification settings - Fork 50
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
Use OS native runc rather than bundling on RHEL8 #231
base: main
Are you sure you want to change the base?
Conversation
Hi. Any plans to finish this PR ? Do you need some assistance ? |
+1 This came back on my RHEL8. DCO needs author's fix: https://github.com/docker/containerd-packaging/pull/231/checks?check_run_id=2477036864 |
Hello @goeranu , can you please let us know how you manage to install both at the same time, I'm having the same problem on Centos 8 Stream.
|
If you look at the patch, you'll see it removes both the conflict and the obsoletes declaration on runc, in addition to removing the actual binary. That will cause dnf to pull in the OS package runc, which will be used by both podman and containerd. |
Sorry, but I don't get it. So in my case should I remove the containerd package, which removes docker-ce. |
You should just build a containerd package with my patch. If you install that package, you will not get any of the warnings, and things will install nicely. Currently you have the regular containerd package installed, don't you? |
@thaJeztah Sorry to bother you, but have you already had the time to review this ? Red Hat already provides an official runc package so there is no need to embed it inside the containerd.io package. |
In ansible#22 and ansible#23 the podman and docker molecule drivers were added, but the respective binaries are still missing. This commit adds the necesarry dependencies to the execution enviroments bindep.txt. This commit also adds some CLI commands to check we do not remove them inadvertently and output some helpful version information at build time. There is also a workaround to make installing podman and docker simultaneously possible. This is due to a conflict between the packaged version of runc in the containerd.io package from Docker and the CentOS 8 Stream native version packaged for Podman and Skopeo. This can be changed once docker/containerd-packaging#231 is merged and available upstream via the Docker repository. Cudos for the workaround: https://faun.pub/how-to-install-simultaneously-docker-and-podman-on-rhel-8-centos-8-cb67412f321e Signed-off-by: Daniel Ziegenberg <[email protected]>
In ansible#22 and ansible#23 the podman and docker molecule drivers were added, but the respective binaries are still missing. This commit adds the necesarry dependencies to the execution enviroments bindep.txt. This commit also adds some CLI commands to check we do not remove them inadvertently and output some helpful version information at build time. There is also a workaround to make installing podman and docker simultaneously possible. This is due to a conflict between the packaged version of runc in the containerd.io package from Docker and the CentOS 8 Stream native version packaged for Podman and Skopeo. This can be changed once docker/containerd-packaging#231 is merged and available upstream via the Docker repository. Cudos for the workaround: https://faun.pub/how-to-install-simultaneously-docker-and-podman-on-rhel-8-centos-8-cb67412f321e Signed-off-by: Daniel Ziegenberg <[email protected]>
@goeranu Any change to update this PR to address CI reported issues? It would be awesome to get this in. |
Fixing CI issues might be possible... if only external contributor could see the logs of the CI. But for this specific git repo, only Docker employees have access to it. Note, I created a more recent pull request here #272 largely inspired from this one. For me things are in the hands of Docker employees now, there is nothing the external contributors like us can do more than what we already did. |
The RPM does provide on runc for most platforms, but not for RHEL8. It does not work there, since there is native package that provides runc that lives in a module stream. Yum fails to find or install a non-modular package when a module provides the same name. For those with access to RedHat pages, some more information is available here: https://access.redhat.com/solutions/5588101 A problem with simply omitting the "provides" from the package is that it will then come in conflict with the native package. It is for example not possible to install both docker and the native podman in parallel. This patch changes the contanerd.io package on RHEL8 to require the native OS version instead of bundling its own copy. With this, parallel installation of docker and podman is again possible. Signed-off-by: Göran Uddeborg <[email protected]>
Signed-off-by: Göran Uddeborg <[email protected]>
@ssbarnea because of the apparent lack of interest by upstreams I haven't been too keen on updating the PR. But by your request I'v now updated it. Let's see if it gets picked up this time. |
Morning all Just a note that we have the same issue on RHEL9. |
Hi, On my side I use RHEL 9, and I don't have this problem (anymore, it's link to my request to Red Hat to install crun by default when installing podman, instead of runc which is wrongly packaged by the Docker team rather than relying on the runc packages of the underlying distributions). You should make sure you use recent Red Hat repositories/packages, as with the latest podman found on RHEL 9 since couple of months, this problem doesn't appear anymore. Note: I just tried RHEL 8 now, and it still has this problem. On my side I abandonned RHEL 8 so I am no longer impacted by this issue. Cheers, |
For us the conflict is buildah (depends on runc) and docker-ce, as opposed to podman specifically. |
@wibbit I have opened a Red Hat support request just after your last reply, asking them to fix buildah the same way they fixed podman some months ago. They just pushed the change here: https://gitlab.com/redhat/centos-stream/rpms/buildah/-/commit/27fab4ca4e59ad0f0939b494a2972aba918de517 So it will most likely be available in CentOS Stream 9 in couple of weeks. For RHEL 9, podman/containers tools was just upgraded this week, and they only upgrade it every 3 months. So it will be either be fixed in 3 months (mid Februrary 2023) or in 6 months (mid May 2023) based on which buildah version they decide to include during the next update (the release cycle on Red Hat side from commit in the git repo to actual customer availability is rather long). |
Hi, FYI, Red Had has closed by ticket as solved. I didn't check myself, but I assume that now installing buildah on RHEL 9 installes only crun, no more runc, so the problem described here about co-installing podman/buildha with docker shall be ok now on RHEL 9, and most likely will never be fixed on RHEL 8. Cheers, |
So, there exists a solution to this problem for over two years now, and it is not being merged because ??? |
The RPM does provide on runc for most platforms, but not for RHEL8. It
does not work there, since there is native package that provides runc
that lives in a module stream. Yum fails to find or install a non-modular
package when a module provides the same name.
For those with access to RedHat pages, some more information is available
here: https://access.redhat.com/solutions/5588101
A problem with simply omitting the "provides" from the package is that it
will then come in conflict with the native package. It is for example not
possible to install both docker and the native podman in parallel.
This patch changes the contanerd.io package on RHEL8 to require the native
OS version instead of bundling its own copy. With this, parallel installation
of docker and podman is again possible.
Closes #210