-
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 3.4.4 and Fedora 40 filesystem permission problems #21012
Comments
can you show the output of |
From https://github.com/bcl/podman-fedora-action/actions/runs/7224879680/job/19687140051 |
thanks, permissions seem correct. Is there a way to strace the rsync process to see exactly what syscall is failing? Do commands like What capabilities do you have inside the container ( |
Manually changing permissions seems fine.
I'll see if I can strace things... ETA: strace isn't allowed in this environment:
|
The SSSD project is facing a similar issue in its CI. We have an automated system running in Github Actions that generates a set of containers that are used within this CI. The Fedora 40 container generation has been failing for the last 3 weeks. All other versions (i.e. Fedora 39, 38, Debian 12, Ubuntu) are generated correctly. |
Could you try with adding the podman command --cap-add CAP_SYS_PTRACE |
So we are stuck until debean updates and F38 goes away. |
I didn't think github would let that work, but it did: But I can't tell what's going on. It looks like rsync talks to itself over a socket (fd 3 and 4) so that may be making it harder to follow. I don't see any obvious failures trying to change permissions other than the errors being printed. |
I suggest you add the flags |
CAP_SYS_STRACE Means a procesess running with one UID attempted to examine memory of a process running with a different UID. UID==0 examining UID==1000 requires CAP_SYS_PTRACE. |
Ah, there we go - https://github.com/bcl/podman-fedora-action/actions/runs/7277447619/job/19829467928#step:3:750
|
We see the rsync failed error reported specifically with https://github.com/SSSD/sssd-ci-containers/actions/runs/7242610512/job/19728275381
|
I think what is happening is that on Fedora 40 there is a new kernel with the fchmodat2 syscall, while it is not present on older kernels and rsync falls back to different syscalls. Please try disabling seccomp: |
opened a PR to allow |
Ah! That would explain why f39 works. Did a new run with seccomp disabled and rsync is happy: |
thanks for confirming it. I am closing the issue since it was fixed in newer Podman versions where the default error for unknown syscalls was changed to ENOSYS |
To workaround [1] in Github actions environment. Github Actions Runners do not yet have up to date podman version that contains this fix. [1] containers/podman#21012
To workaround [1] in Github actions environment. Github Actions Runners do not yet have up to date podman version that contains this fix. [1] containers/podman#21012
See containers/podman#21012 for the full background. Basically, running build-in-podman as part of the github workflow doesn't work when using Fedora 40 or later because of the new fchmodat2 syscall. Disable seccomp until this works again.
Issue Description
I've been using podman to run the test suite for Lorax and weldr-client for a number of years with no problems until recently.
Everything works fine locally using Fedora 38 and podman 4.7.2, the problem is that I use the same setup in my GitHub actions and with Fedora Rawhide (f40) I've started getting permission denied errors when rsync and tar try to modify files in the container.
Steps to reproduce the issue
I've setup a simplified repo here that demonstrates what I'm seeing:
https://github.com/bcl/podman-fedora-action/actions
it uses rsync to make a copy of the source tree in the container. The failed action run is with rawhide, the passing one is with Fedora 39.
Describe the results you received
You can see it complain about permissions in the output:
If I add
--no-perms
to rsync it runs just fine.Describe the results you expected
I expected no permission errors :)
podman info output
Podman in a container
Yes
Privileged Or Rootless
Rootless
Upstream Latest Release
No
Additional environment details
This is running via GitHub actions on ubuntu-latest (22.04) with podman 3.4.4, I think it's in a container but I really don't know how GitHub runs the action.
Additional information
If I switch the container to use Fedora 39 (as you can see in the passing actions in my example repo) it works fine. So I suspect this is some kind of interaction between podman 3.4.4 on Ubuntu and Fedora Rawhide (40) but I don't know how to track it any further than that.
With rsync I can work around it by passing
--no-perms
but after seeing similar issues with tar in the weldr-client project I figured it might be better to track down what's actually happening.The text was updated successfully, but these errors were encountered: