-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
podman build
continues to use runc
, even if podman run
is configured to use crun
#8893
Comments
That would be a serious bug. |
Strange I can not reproduce. I removed runc from my system and a build with a RUN command worked fine. |
Do you have an example Containerfile where this is happening? |
Do you have BUILDAH_RUNTIME set on your system? |
This fails for me, as expected since the underlying code will not ignore the environment variables.
|
What I've done here is to check-out https://github.com/srcshelton/docker-gentoo-build on a Raspberry Pi running Gentoo (32bit userland, 64bit kernel) , and run I also then had the same issue on an x86 system (x32 userland, 64bit kernel, also Gentoo). At first I thought it was a wrong-architecture problem, then I noticed that the error was in regards to As soon as the current build completes on either system, I'll attempt to reproduce and take logs. |
Nope - I only found out about this after checking whether it was anticipated that |
... although I don't think the error I saw included |
Actually, tell a lie - the non-ARM system that also had this problem effectively isn't a multiarch case: it's an x32 userland on a 64bit kernel, but running a 64bit build of podman. Which appears to make it much less likely that it's a wrong-architecture issue in the first place... |
Here we go:
... this machine was working with both |
I see something similar for podman that was built from the master branch a few days ago. SummaryAbout the softwareI'm trying to run a podman that is installed in my home directory on a CentOS 8.2 computer. There is also a system podman installed that I guess might interfere. Unfortunately I don't have root permissions so system changes are not easy to make. To install Podman in my home directory, I downloaded podman that was buillt from the master branch a few days ago from the GitHub action https://github.com/eriksjolund/build-podman/actions/runs/483013600 The binaries I created the file files.tar that contains command outputs from the experiment. Creating the file files.tar
Analyzing the file files.tar
Ooops, I forgot to include
They should be the system default for CentOS 8.2. Anyway, here they are:
|
The default runtime is found using this tool.
It should look for crun first, followed by runc and kata. If it finds one in it's search path or via PATH, it will use it before falling over to the next OCI Runtime. This code is the same in podman and buildah at least in the Main branch and in podman 3.0-rc1 and buildah-1.19.2. |
You'll notice that, unlike @eriksjolund's output, the logs from my use-case doesn't include the notice about entries missing from containers.conf (since I do have both Hmm - is that actually the problem? My
... and I'm seeing |
Regarding the function
Okay, the function returns
A new experimentI tried once more but this time I set the environment variable
This time
|
Currently we have a weird situation where the user sets the default runtime in his containers.conf for podman but Buildah is still falling back to use crun because it was hard coded as the default for Buildah. We are changing the default to "crun" but this should ONLY be used when the containers.conf load fails, which should never happen. I would like to remove this default, but that would theoretically break the API promise of Buildah. This should fix containers/podman#8893 Signed-off-by: Daniel J Walsh <[email protected]>
Currently we have a weird situation where the user sets the default runtime in his containers.conf for podman but Buildah is still falling back to use crun because it was hard coded as the default for Buildah. We are changing the default to "crun" but this should ONLY be used when the containers.conf load fails, which should never happen. I would like to remove this default, but that would theoretically break the API promise of Buildah. This should fix containers/podman#8893 Signed-off-by: Daniel J Walsh <[email protected]>
Currently we have a weird situation where the user sets the default runtime in his containers.conf for podman but Buildah is still falling back to use crun because it was hard coded as the default for Buildah. We are changing the default to "crun" but this should ONLY be used when the containers.conf load fails, which should never happen. I would like to remove this default, but that would theoretically break the API promise of Buildah. This should fix containers/podman#8893 Signed-off-by: Daniel J Walsh <[email protected]>
Currently we have a weird situation where the user sets the default runtime in his containers.conf for podman but Buildah is still falling back to use crun because it was hard coded as the default for Buildah. We are changing the default to "crun" but this should ONLY be used when the containers.conf load fails, which should never happen. I would like to remove this default, but that would theoretically break the API promise of Buildah. This should fix containers/podman#8893 Signed-off-by: Daniel J Walsh <[email protected]>
Ok I think I found the issue in Buildah. containers/buildah#2926 Should fix this once it is merged. |
Currently we have a weird situation where the user sets the default runtime in his containers.conf for podman but Buildah is still falling back to use crun because it was hard coded as the default for Buildah. We are changing the default to "crun" but this should ONLY be used when the containers.conf load fails, which should never happen. I would like to remove this default, but that would theoretically break the API promise of Buildah. This should fix containers/podman#8893 Signed-off-by: Daniel J Walsh <[email protected]>
Currently we have a weird situation where the user sets the default runtime in his containers.conf for podman but Buildah is still falling back to use crun because it was hard coded as the default for Buildah. We are changing the default to "crun" but this should ONLY be used when the containers.conf load fails, which should never happen. I would like to remove this default, but that would theoretically break the API promise of Buildah. This should fix containers/podman#8893 Signed-off-by: Daniel J Walsh <[email protected]>
Currently we have a weird situation where the user sets the default runtime in his containers.conf for podman but Buildah is still falling back to use runc because it was hard coded as the default for Buildah. I would like to remove this default, but that would theoretically break the API promise of Buildah. This should fix containers/podman#8893 Signed-off-by: Daniel J Walsh <[email protected]>
Currently we have a weird situation where the user sets the default runtime in his containers.conf for podman but Buildah is still falling back to use runc because it was hard coded as the default for Buildah. I would like to remove this default, but that would theoretically break the API promise of Buildah. This should fix containers/podman#8893 Signed-off-by: Daniel J Walsh <[email protected]>
Currently we have a weird situation where the user sets the default runtime in his containers.conf for podman but Buildah is still falling back to use runc because it was hard coded as the default for Buildah. I would like to remove this default, but that would theoretically break the API promise of Buildah. This should fix containers/podman#8893 Signed-off-by: Daniel J Walsh <[email protected]>
Currently we have a weird situation where the user sets the default runtime in his containers.conf for podman but Buildah is still falling back to use runc because it was hard coded as the default for Buildah. I would like to remove this default, but that would theoretically break the API promise of Buildah. This should fix containers/podman#8893 Signed-off-by: Daniel J Walsh <[email protected]>
@rhatdan still here) UPD#1: Setting
UPD#2: Podman v3 is not ready for non-RH OS :) Old issues come back (e.g. #1792) |
The ubuntu issues on Kubic are being worked out. Should be fixed now or soon. 3.0.1 is on it's way as well. |
Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug
Description
My
podman
installations are set to usecrun
, chiefly for improved cgroups2 support. This being the case, there seems little reason to have bothcrun
andrunc
installed at the same time.However, on a fresh install with only
podman
andcrun
, attempting apodman build
fails at the firstRUN
directive (after several container-level directives such asADD
andCOPY
have succeeded) with an error stating that that the commandrunc
cannot be found./etc/containers/containers.conf
specifiesruntime = "crun"
... is there another setting (or another tool which needs to be separately configured) forbuild
operations?If so, and if there is no configuration for the additional tool in any of the existing
/etc/containers/*.conf
files, then shouldpodman
pass-through its configuredruntime
setting to any child tools it launches?(e.g. should
podman
automatically setBUILDAH_RUNTIME
to be equal to the value of theruntime
configuration option in/etc/containers/containers.conf
if this option is set?)N.B. I've realised that this host is defaulting to
cgroupsv1
so I need to fix that... but it feels as if this issue is still worth highlighting?Output of
podman version
:Output of
podman info --debug
:Have you tested with the latest version of Podman and have you checked the Podman Troubleshooting Guide?
Yes
The text was updated successfully, but these errors were encountered: