Replies: 2 comments 6 replies
-
This looks like the rootless user namespace, held open by a catatonit pause process. However, I'm not sure why the bindings require it. @giuseppe Does this look like a bug to you? I don't see a reason why an API client needs to join the rootless user namespace. |
Beta Was this translation helpful? Give feedback.
6 replies
-
I think we have to rewrite pkg/rootless. It should never be used in the binding or remote client. It should not matter if the client runs rootless or as root. Only he server is the source of truth. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
While working on the Podman-awareness of my Linux namespaces+container discovery tool I've noticed one podman-related unit test to behave weird: when the tests run they always run as uid 0, even if the unit test has been started was under my own user uid 1000.
Please note that my code base imports podman v3, not v4!
The user namespaces in my system are as in this screenshot (please excuse me for touting my own lxkns horn):
The user namespaces relevant to us here are:
Only lately I've noticed a strange behavior of my podman-related test https://github.com/thediveo/lxkns/blob/master/decorator/podman/decorator_test.go: when run as effective uid != 0 then this test should be skipped. However, running this test
go test -v -tags podman ./decorator/podman
doesn't skip the test but instead makes it fail when trying to connect to the system podman service atunix:///run/podman/podman.sock
. After some head scratching I've put the following code into my test:Now, running the test again as an ordinary user:
The unit test is run inside user:[...2717] and that's the "catatonit" user namespace 🤯
How comes? Can someone please explain to me why importing podman v3 code and before even calling some binding functions sends my applications into a different user namespace? I've noticed that at the time my initializer runs, podman code has already switched into the different user namespace.
I tried to reproduce this behavior with just an empty
main()
and dash-importing podman v3 packages, but without any success.However, the same behavior can also be reproduced with the smaller sealwatcher module. Here,
go test -v ./podman
as a non-user triggers the same problem.Beta Was this translation helpful? Give feedback.
All reactions