spiegel_podman/pkg/machine
Paul Holzinger 114bb1efa7
machine/wsl: fix config mount logic
The current systemd service to mount /etc/containers is not working
right. The Before=podman.socket causes a ordering conflict which causes
the socket to be disabled and thus all podman remote connections fail.

The problem is the unit is wanted by the default.target while the socket
is wanted by sockets.target which can be before the default.target is
triggered. That means that the Before= line cannot be fulfilled and
sometimes systemd thus seems to not start the socket. It is unclear to
me why this is racy as it is sometimes also works.

This was reported by Vladimir Lazar from the PD team, our CI did not
caught this as we use rootless machines by default and the problem only
happens for the rootful socket so we do not see connection failures.
To fix this add at least one rootful socket check.

We do however have a different CI flake that was also caused by the
incorrect mount dependencies. The mount could happen after sshd or other
programs run. So to fix this we must hook the podman-mnt-config.service
into the local-fs.target which runs much earlier and is used for all the
mounts.

Fixes: #29003

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-07-02 14:01:43 +02:00
..
apple Propagate SIGTERM to the VM process during machine start on macOS 2026-06-24 18:52:12 +02:00
applehv machine: share virtiofs systemd unit generation 2026-06-02 14:47:08 +02:00
certificates Import local certificates to machines on macOS and Linux 2026-05-01 00:42:52 +02:00
compression fix: duplicated words in decompress.go log message and annotations.go comment 2026-05-14 05:08:45 +00:00
connection RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
define use constant for timesync port and update mac_env.sh to print krunkit version 2026-05-20 12:56:50 +05:30
e2e machine/wsl: fix config mount logic 2026-07-02 14:01:43 +02:00
env RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
hyperv Fix cleanup callbacks registration in machines Start() function 2026-06-24 18:52:15 +02:00
ignition machine: move marker file to /etc/podman-machine 2026-05-11 15:58:03 +02:00
libkrun machine: share virtiofs systemd unit generation 2026-06-02 14:47:08 +02:00
lock RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
ocipull RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
os Convert if/else to switch for transport name comparison 2026-06-12 10:12:49 +02:00
ports RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
provider RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
proxyenv machine: escape % as %% in proxy values written to systemd unit conf 2026-06-06 12:04:48 +08:00
qemu machine: share virtiofs systemd unit generation 2026-06-02 14:47:08 +02:00
shim Fix cleanup callbacks registration in machines Start() function 2026-06-24 18:52:15 +02:00
sockets RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
stdpull RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
vmconfigs Hyperv machine init/rm: skip win registry operations when possible 2026-04-29 23:00:29 +02:00
windows cleanup: run go fix on pkg/machine for windows 2026-04-29 13:56:01 +05:30
wsl machine/wsl: fix config mount logic 2026-07-02 14:01:43 +02:00
cleanup.go Fix cleanup callbacks registration in machines Start() function 2026-06-24 18:52:15 +02:00
config.go RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
config_test.go RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
gvproxy.go RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
gvproxy_unix.go Reap completed gvproxy process if machine start fails on Unix 2026-06-24 18:52:15 +02:00
gvproxy_windows.go RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
keys.go fileperms: newer Go 1.13+ octal literal format 2025-10-16 14:11:29 -04:00
machine_common.go RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
machine_unix.go lint: reenable revive unused-parameter check 2025-10-01 10:42:08 -04:00
machine_unsupported.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
machine_windows.go cleanup: run go fix on pkg/machine for windows 2026-04-29 13:56:01 +05:30
machine_windows_test.go chore(machine): remove unused EvalSymlinksOrClean function and tests 2026-01-28 02:42:45 +08:00
qemuprovider.go podman5 machine reconfig 1 2024-02-07 08:17:43 -06:00
ssh.go Extract function LocalhostSSHCopy to make it visible from other packages too 2026-04-01 14:12:30 +02:00
ssh_unix.go lint: reenable revive unused-parameter check 2025-10-01 10:42:08 -04:00
ssh_windows.go machine: implement http proxy logic for all providers 2024-02-22 11:23:45 +01:00
update.go RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
volume_systemd.go machine: fix virtiofs mount targets on FCOS 2026-06-16 22:52:33 +09:00
volume_systemd_test.go machine: fix virtiofs mount targets on FCOS 2026-06-16 22:52:33 +09:00
volumes.go RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00