Open SohamChakraborty opened 7 months ago
@SohamChakraborty I think you need to load fuse kernel module, see: https://github.com/containers/podman/blob/main/troubleshooting.md#24-podman-container-images-fail-with-fuse-device-not-found-when-run for more details.
@SohamChakraborty I think you need to load fuse kernel module, see: https://github.com/containers/podman/blob/main/troubleshooting.md#24-podman-container-images-fail-with-fuse-device-not-found-when-run for more details.
We did that @flouthoc . Granted we did not do that before the Jenkins job ran. Because I didn't know in which node the jenkins pod will be scheduled. So I waited for the job to run and then SSH-ed to the node where it was running and installed it. Not sure whether that might influence it. But I can definitely say that by the time buildah tried to build the image (when it actually needs fuse), the kernel module was present.
From the description of the issue:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
fuse-overlayfs
0 upgraded, 1 newly installed, 0 to remove and 59 not upgraded.
Need to get 38.7 kB of archives.
After this operation, 112 kB of additional disk space will be used.
Get:1 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu focal/universe amd64 fuse-overlayfs amd64 0.7.6-1 [38.7 kB]
Fetched 38.7 kB in 0s (631 kB/s)
Selecting previously unselected package fuse-overlayfs.
(Reading database ... 90825 files and directories currently installed.)
Preparing to unpack .../fuse-overlayfs_0.7.6-1_amd64.deb ...
Unpacking fuse-overlayfs (0.7.6-1) ...
Setting up fuse-overlayfs (0.7.6-1) ...
Processing triggers for man-db (2.9.1-1) ...
# modprobe fuse
# modinfo fuse
name: fuse
filename: (builtin)
alias: devname:fuse
alias: char-major-10-229
alias: fs-fuseblk
alias: fs-fuse
license: GPL
file: fs/fuse/fuse
description: Filesystem in Userspace
author: Miklos Szeredi <miklos@szeredi.hu>
alias: fs-fusectl
parm: max_user_bgreq:Global limit for the maximum number of backgrounded requests an unprivileged user can set (uint)
parm: max_user_congthresh:Global limit for the maximum congestion threshold an unprivileged user can set (uint)
# ll /dev/fuse
crw-rw-rw- 1 root root 10, 229 Mar 29 07:05 /dev/fuse
If this is an SELinux system, it could be SELinux blocking the automatic loading of the kernel module. Can you cause the module to be loaded on boot via /etc/modules-load.d/
This is not an SELinux system (as much as I hate to admit it) :)
# getenforce
Command 'getenforce' not found, but can be installed with:
apt install selinux-utils
# sestatus
Command 'sestatus' not found, but can be installed with:
apt install policycoreutils
# apt install selinux-utils
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
selinux-utils
0 upgraded, 1 newly installed, 0 to remove and 177 not upgraded.
Need to get 122 kB of archives.
After this operation, 642 kB of additional disk space will be used.
Get:1 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu focal/universe amd64 selinux-utils amd64 3.0-1build2 [122 kB]
Fetched 122 kB in 0s (2058 kB/s)
Selecting previously unselected package selinux-utils.
(Reading database ... 62029 files and directories currently installed.)
Preparing to unpack .../selinux-utils_3.0-1build2_amd64.deb ...
Unpacking selinux-utils (3.0-1build2) ...
Setting up selinux-utils (3.0-1build2) ...
Processing triggers for man-db (2.9.1-1) ...
# getenforce
Disabled
#
I think what I can try is to:
Anything else? Any other suggestions?
A friendly reminder that this issue had no activity for 30 days.
Is the /dev/fuse
device being shared with the pod, both the device node and the device major/minor being present in its device control group's list of allowed devices, or the equivalent? Alternately, since the node appears to be running kernel 5.15, is the kernel's overlayfs a viable option?
A friendly reminder that this issue had no activity for 30 days.
BUG REPORT INFORMATION
Description Thank you for this project. We are able to overcome some long standing problems with buildah :)
On to the problem:
buildah fails to mount new container with error message:
Steps to reproduce the issue: We are evaluating buildah to replace docker in our Jenkins pipeline because of the docker socket problem. We were evaluating kaniko before and it required us to change our Dockerfiles among other problems. So we are evaluating buildah and made very good progress until this final roadblock (we hope).
.jenkins/agents.yaml
has this spec for the buildah container:privielged: true
everything works normally. No problems at all. So we already have a solution but we would prefer to not use that.unconfined
profile thanks to @rhatdan's suggestion on other issue reports.fuse-overlayfs
mount problem. To circumvent this, while the build was running, I went ahead and SSH-ed into the node where Jenkins pod was running and installedfuse-overlayfs
. See details:Describe the results you received: Receiving error:
Describe the results you expected: Builds to go through
Output of
rpm -q buildah
orapt list buildah
:Output of
buildah version
:*Output of `cat /etc/release`:**
Output of
uname -a
:Output of
cat /etc/containers/storage.conf
: