Fedora 39 IoT Edition: systemctl enable rpm-ostreed-automatic.timer - disabled after reboot

Dear Community,

I followed Updates and Rollbacks :: Fedora Docs to enable automatic updates for Fedora 39 IoT Edition (aarch64). Unfortunately, after systemctl reboot the rpm-ostreed-automatic.timer is disabled again.

Enabling the timer works as expected:

# systemctl enable rpm-ostreed-automatic.timer --now 
Created symlink /etc/systemd/system/timers.target.wants/rpm-ostreed-automatic.timer → /usr/lib/systemd/system/rpm-ostreed-automatic.timer.
# systemctl status rpm-ostreed-automatic.timer 
● rpm-ostreed-automatic.timer - rpm-ostree Automatic Update Trigger
     Loaded: loaded (/usr/lib/systemd/system/rpm-ostreed-automatic.timer; enabled; preset: disabled)
     Active: active (waiting) since Mon 2024-01-08 12:56:21 UTC; 1h 59min ago
    Trigger: Tue 2024-01-09 12:56:49 UTC; 22h left
   Triggers: ● rpm-ostreed-automatic.service
       Docs: man:rpm-ostree(1)
             man:rpm-ostreed.conf(5)

Unfortunately, after issuing shutdown -r now or systemctl shutdown the status of this timer is again disabled:

# systemctl status rpm-ostreed-automatic.timer 
○ rpm-ostreed-automatic.timer - rpm-ostree Automatic Update Trigger
     Loaded: loaded (/usr/lib/systemd/system/rpm-ostreed-automatic.timer; disabled; preset: disabled)
     Active: inactive (dead)
    Trigger: n/a
   Triggers: ● rpm-ostreed-automatic.service
       Docs: man:rpm-ostree(1)
             man:rpm-ostreed.conf(5)

The symlink /etc/systemd/system/timers.target.wants/rpm-ostreed-automatic.timer is gone after reboot.

Any help is highly appreciated to understand what is necessary to make systemctl enable persistent, i.e., to keep the timer enabled after reboot.

Thanks and kind regards,

wurstsemmel

P.S.: On a side note, I tried to disable zezere_ignition.timer, which is enabled by default, but after reboot this timer is enabled again. In this case the timer is not persistently disabled.

Can you post the contents of your /etc/rpm-ostreed.conf?

Sure.

# cat /etc/rpm-ostreed.conf
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# For option meanings, see rpm-ostreed.conf(5).

[Daemon]
AutomaticUpdatePolicy=stage
#IdleExitTimeout=60
#LockLayering=false

And rpm-ostree status:

# rpm-ostree status
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: inactive
Deployments:
● fedora-iot:fedora/stable/aarch64/iot
                  Version: 39.20240105.0 (2024-01-05T14:26:16Z)
               BaseCommit: 17af0fc3acb46b2ecf936c12a0e45a598033b11271dd1df002d06d9926a913eb
             GPGSignature: Valid signature by E8F23996F23218640CB44CBE75CF5AC418B8E74C
          LayeredPackages: podman-compose podman-docker

  fedora-iot:fedora/stable/aarch64/iot
                  Version: 39.20240105.0 (2024-01-05T14:26:16Z)
                   Commit: 17af0fc3acb46b2ecf936c12a0e45a598033b11271dd1df002d06d9926a913eb
             GPGSignature: Valid signature by E8F23996F23218640CB44CBE75CF5AC418B8E74C

Maybe this additional information helps:

  • reload rpm-ostreed did not work:
# systemctl reload rpm-ostreed
rpm-ostreed.service is not active, cannot reload.
# rpm-ostree reload
# systemctl reload rpm-ostreed
Job for rpm-ostreed.service failed.
See "systemctl status rpm-ostreed.service" and "journalctl -xeu rpm-ostreed.service" for details.
  • systemctl enable rpm-ostreed-automatic.timer enables the timer persistently on Fedora 39 Workstation (x86_64, bare metal), Fedora 39 IoT Edition (x86_64, VM) and Fedora 39 Silverblue (x86_64, VM).

  • I re-installed Fedora 39 IoT Edition on my Raspberry Pi 4 (aarch64) according to https://www.redhat.com/sysadmin/fedora-iot-raspberry-pi but the issue persists.

Is it possible that my issue is related to aarch64? Should I file a bug in bugzilla? Against which component? Systemd?

Hi,
I’m experiencing the same issue on my Raspberry pi 3 model B with Fedora IoT 39.

$ rpm-ostree status 
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: inactive
Deployments:
● fedora-iot:fedora/stable/aarch64/iot
                  Version: 39.20240118.0 (2024-01-18T19:48:11Z)
               BaseCommit: 338b002649a68cc1fab163db11be0aaa1be9d299a3c61c99deba5b4780109047
             GPGSignature: Valid signature by E8F23996F23218640CB44CBE75CF5AC418B8E74C
          LayeredPackages: cronie docker-compose podman-compose podman-docker sshfs wireguard-tools

  fedora-iot:fedora/stable/aarch64/iot
                  Version: 39.20240111.0 (2024-01-11T13:09:23Z)
               BaseCommit: 09416ceb2a5754d8f7ee0705fc164fe517c1fef1d5eef15167258a6095955999
             GPGSignature: Valid signature by E8F23996F23218640CB44CBE75CF5AC418B8E74C
          LayeredPackages: cronie docker-compose podman-compose podman-docker sshfs wireguard-tools
$ systemctl status rpm-ostreed-automatic.timer 
○ rpm-ostreed-automatic.timer - rpm-ostree Automatic Update Trigger
     Loaded: loaded (/usr/lib/systemd/system/rpm-ostreed-automatic.timer; disabled; preset: disabled)
     Active: inactive (dead)
    Trigger: n/a
   Triggers: ● rpm-ostreed-automatic.service
       Docs: man:rpm-ostree(1)
             man:rpm-ostreed.conf(5)

This isn’t limited to just the rpm-ostreed automatic timer, but for any systemd service that I enable. I setup a custom systemd service for a HA podman container and enabled that, and similarly it’s disabled on reboot.

I haven’t test the x86 versions of fedora IoT 39, so I don’t have the data to compare.
Happy to share any more info that could be helpful or help debug this.

Thank you for confirming the behaviour. I filed a bug and referenced this discussion: 2259451 – Fedora 39 IoT Edition (aarch64): systemctl enable is not persistent, i.e. lost after reboot

Please consider to CC my bug report.