Open jack-avery opened 3 weeks ago
I have a feeling this may be a result of podman kube play --replace ...
(default ExecStart for .kube Quadlets it seems) not properly removing the old pod for replacement? Above in the logs it shows it doesn't remove any pod, but likely intended to, judging by the logs that it was stopping and removing pods.
We only support the latest upstrema version so please test with podman 5.2.5 or one of the 5.3 rc's. It is possible that such problems have already been fixed.
I will take a look at trying it with upstream tomorrow.
Tried installing upstream. A very naive installation, as Ubuntu doesn't have upstream, there are no installation instructions, and I don't have a spare computer to install Fedora onto purely to test this.
User socket is present but refuses to connect:
$ podman info
[...]
Error: unable to connect to Podman socket: Get "http://d/v5.2.5/libpod/_ping": dial unix /run/user/1001/podman/podman.sock: connect: connection refused
jack@srv609913:/run/user/1001/podman$ ls -l
total 0
srw-rw---- 1 jack jack 0 Nov 5 23:47 podman.sock
Giving up on this for now, I'll just make a workaround. If it works I'll drop my solution here. Thanks.
Edit: Apparently podman-remote
is a thing. I completely overlooked this. Built from source and can connect to socket now. Will try this again.
Tested with 5.3.0-dev (c0e24c6b60cfae21ab441b40c7ea3d622d09027d), issue persists with exact same behavior. Edited original issue report.
creating runtime spec for service container: loading seccomp profile () failed: seccomp not enabled
That sounds like a totally unrelated thing. How did you build podman? You must set the seccomp build tag as any normal container will default to using a seccomp profile
I was never made aware seccomp was not enabled by default. Time to go hunting documentation to figure out how to enable this and rebuild it. I will once again do this tomorrow after university.
make binaries
should set all the proper build tags by default depending on your environment I think.
I think our docs are a bit of date, https://podman.io/docs/installation#build-tags. As long as the proper libraries are installed the Makefile should added the right tags by default and most users would not need to use BUILDTAGS
Ahh that's how. OK. I'll shove my keys on my laptop and try this during downtime at uni and report results (est. 12hrs from now). Fingers crossed
I've rebuilt with seccomp
and this has now produced a new error. Instead of complaining about the pod existing, it now complains that the pod does not exist. Additionally none of my containers are starting now. This could be an issue with how I built it: make clean && make BUILDTAGS="seccomp systemd"
. Has the spec for Quadlets changed between the downstream in Ubuntu 24.04 and dev?
Something is definitely very wrong here. Restarting again is giving entirely different errors now:
journalctl --user -xu ansible-tf2network_dev
Nov 06 22:01:09 srv609913 conmon[1410]: conmon 4dba44e57436a915c9c7 <nwarn>: runtime stderr: unknown version specified
Nov 06 22:01:09 srv609913 conmon[1410]: conmon 4dba44e57436a915c9c7 <error>: Failed to create container: exit status 1
Nov 06 22:01:09 srv609913 ansible-tf2network_dev[1320]: Error: OCI runtime error: crun: unknown version specified
Nov 06 22:01:09 srv609913 systemd[1049]: ansible-tf2network_dev.service: Main process exited, code=exited, status=125/n/a
The below is a standard .container file which is created using this Ansible play:
journalctl --user -xu dev_relay
Nov 06 22:01:09 srv609913 podman[1276]: 2024-11-06 22:01:09.171031146 +0000 UTC m=+0.149235182 image pull f0697f3b155a506f272260a666edc10fe7f8ab88d08603c91a27d29edcf79142 docker.io/library/rust:1.74-slim-book>
Nov 06 22:01:09 srv609913 podman[1276]: 2024-11-06 22:01:09.235759735 +0000 UTC m=+0.213963751 container create 1a07a444a63af583af1e3a379c7b4cf19ef8e8d7d85cfb5d23635c1be73c7c74 (image=docker.io/library/rust:1>
Nov 06 22:01:09 srv609913 pasta[1343]: Usage: /usr/bin/pasta [OPTION]... [COMMAND] [ARGS]...
[ snip -- output of pasta --help, probably ]
Nov 06 22:01:09 srv609913 pasta[1351]: Couldn't get any nameserver address
Nov 06 22:01:09 srv609913 conmon[1370]: conmon 1a07a444a63af583af1e <nwarn>: runtime stderr: unknown version specified
Nov 06 22:01:09 srv609913 conmon[1370]: conmon 1a07a444a63af583af1e <error>: Failed to create container: exit status 1
Nov 06 22:01:09 srv609913 podman[1276]: 2024-11-06 22:01:09.572790769 +0000 UTC m=+0.550994785 container remove 1a07a444a63af583af1e3a379c7b4cf19ef8e8d7d85cfb5d23635c1be73c7c74 (image=docker.io/library/rust:1>
Nov 06 22:01:09 srv609913 dev_relay[1276]: Error: OCI runtime error: crun: unknown version specified
Nov 06 22:01:09 srv609913 systemd[1049]: dev_relay.service: Main process exited, code=exited, status=126/n/a
yeah there a lot of other changes, you need a newer crun and pasta, maybe more
I'm going to go ahead and say I'm not able to test this further, probably. I'm not the sole owner of the box, and I'm not sure how much more I can change before affecting the containers ran by the other person. Sorry for this.
Issue Description
My Kube Quadlet acts funny on a reboot. The Quadlet fails to start, complaining that the pod it is meant to create does not exist.
Steps to reproduce the issue
Steps to reproduce the issue
~/.config/containers/sytemd/testkube.kube
pointing to the .yamlsystemctl --user status testkube
andpodman ps -a
and see that nothing is open.Describe the results you received
systemctl --user status ansible-tf2network_dev
:This only shows as failed as I tried shoving
RemainAfterExit=yes
in the Quadlet file hoping it would fix this, it didn't. Runningsystemctl --user start ansible-tf2network_dev
works immediately after and the containers stay open as expected.journalctl --user -xu ansible-tf2network_dev
:Describe the results you expected
The Quadlet starts correctly.
podman info output
Podman in a container
No
Privileged Or Rootless
Rootless
Upstream Latest Release
Yes (? built from c0e24c6b60cfae21ab441b40c7ea3d622d09027d)
Additional environment details
Ubuntu 24.04 LTS VPS
Additional information
The kube file and quadlet file are visible in this folder. They're Jinja2 templates, but they should be straight-forward.