-
Notifications
You must be signed in to change notification settings - Fork 0
[Question/Bug] OCI Runtime Error w/ systemd-podman, "bpf_prog_query(BPF_CGROUP_DEVICE) failed: function not implemented" #3
Comments
I no longer own a UDM after switching to UDM-SE, for which I cannot test. Can you please try running a container with |
Neither of those options change the result. Both tries it continues failing to configure cgroups.
However I've been continuing to dig around and found this specific comment on an issue in unifios-utilities: unifi-utilities/unifios-utilities#300 (comment) they had enabled certain options in the kernel using
however this looks to require downloading and compiling a custom kernel The mystery, then, is how the host-level podman is able to create containers just fine |
If you try to trace the error from runc source code:
Now in the link number 3 for the stack above, you will see this function // We cannot ignore an eBPF load error if any rule if is a block rule or it
// doesn't permit all access modes.
//
// NOTE: This will sometimes trigger in cases where access modes are split
// between different rules but to handle this correctly would require
// using ".../libcontainer/cgroup/devices".Emulator.
for _, dev := range r.Devices {
if !dev.Allow || !isRWM(dev.Permissions) {
return false
}
} |
Does this mean we need to mount /sys/fs/cgroup as rw in the systemd-podman container? right now it's bind-mounted read-only edit: ok mounting rw also has done nothing so idk what else to try |
Not sure. Free feel to try it and see if it make any difference. I'm not really familiar with eBPF in podman/runc. I think it is more important to figure out where this eBPF rule is coming from, might be worth asking for help at: Ubiquiti's custom kernel is really a pain to work with that |
Update: I may have found a magic bullet: https://raw.githubusercontent.com/tianon/cgroupfs-mount/master/cgroupfs-mount Following these steps:
this works!! It mounts extra cgroup controllers and seems to satisfy podman enough to run containers again I think I can put this into a systemd unit and have it ran on startup by unifi-systemd @ntkme |
@jtcressy Nice find. Would you able to isolate which commands from that script is necessary and I’d happy to add it. |
@ntkme UDM-SE seems to have the same issue now as well with v3 firmware. Any idea how to resolve it? I running the script mentioned above but that didn't help either. |
Have you encountered this issue before? I am currently on unifi OS v1.12.22 trying to run the wpa_supplicant container through unifi-systemd. I've never been able to get it to start these containers because of the following error:
Is there an undocumented dependency on a newer kernel than what is shipped by default? For reference, output of
uname -a
on my udm pro:The systemd-podman container runs just fine with the original host-level podman so there's something wrong with the newer podman build that is not agreeing with my hardware.
host podman:
vs systemd-podman (via
unifi-systemd shell
):The text was updated successfully, but these errors were encountered: