Skip to content

Template containers break Quadlet run status display #751

@joshbrooks

Description

@joshbrooks

Bug description

When a quadlet uses a template file, the Status of all quadlets is not displayed correctly. I believe it's because we don't distinguish well between a "template" and an instance of it. Templates should be filtered out from the list of "quadlet services" I think

In Podman Desktop version 1.20.1
Given a user with a local connection and a sleep@.container quadlet file. Podman thinks sleep@.service is a real entity, when it's not

The log files indicate that we're running a failing command on systemctl

main ↪️ [quadlet] [QuadletService] systemctlVersion systemd 257 (257.7-1.fc42) +PAM +AUDIT +SELINUX -APPARMOR +IMA +IPE +SMACK +SECCOMP -GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF +XKBCOMMON +UTMP +SYSVINIT +LIBARCHIVE
main ↪️ [quadlet] [QuadletService] found quadlet version 5.5.2 for connection Podman of provider podman
main ↪️ [quadlet] [SystemdService] running --user,is-active,--output=json,containme.service,sleep@.service

Manually running that same command

❯ systemctl --user is-active --output=json containme.service sleep@.service
active
Failed to retrieve unit state: Unit name sleep@.service is neither a valid invocation ID nor unit name.
  • If I move the sleep@.container to sleep.container the quadlet list functions correctly.
  • Attempting to create sleep@.container through the Podman Desktop UI raises an error: "Something went wrong while getting is-active of services, required the state of 3 services got 2 values."

Operating system

Fedora 42 Silverblue

Installation Method

Installer from website/GitHub releases

Version

1.20.0

Steps to reproduce

Create a sleep@.container file:

[Unit]
Description=A templated sleepy container

[Container]
Image=quay.io/fedora/fedora
Exec=sleep %i

[Service]
# Restart service when sleep finishes
Restart=always

[Install]
WantedBy=multi-user.target
DefaultInstance=100

Reload then check what the quadlets list shows

Relevant log output

Additional context

No response

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status

✔️ Done

Relationships

None yet

Development

No branches or pull requests

Issue actions