From Fedora Project Wiki

Description

This tests whether an existing Fedora CoreOS instance running on the stable stream can switch to the next stream.

Setup

  1. Have access to a (or install a new) FCOS instance running the stable stream.

How to test

  1. Verify that your FCOS system is running on stable:
    $ sudo rpm-ostree status
    State: idle
    Deployments:
    ●  ostree-remote-registry:fedora:quay.io/fedora/fedora-coreos:stable
                       Digest: sha256:0e3ff7caac94fcbb7b1bec701afbf5171401e77a5973a2df3792fb1ede9dfc29
                      Version: 41.20250302.3.2 (2025-03-17T22:11:15Z)
    

    The black circle ● shows the currently booted tree (if you see multiple deployments available). The current image should show quay.io/fedora/fedora-coreos:stable. The rest of the lines may differ from the above output.

  2. Follow the Update Streams documentation to switch your system to the next stream.
    • A package difference should be displayed during the switch operation for you to review.
  3. Reboot
  4. Verify that your system is now running on the next stream:
    $ sudo rpm-ostree status
    State: idle
    AutomaticUpdatesDriver: Zincati
      DriverState: active; periodically polling for updates (last checked Mon 2025-03-31 10:33:51 UTC)
    Deployments:
    ● ostree-remote-registry:fedora:quay.io/fedora/fedora-coreos:next
                       Digest: sha256:1e1cc2c9984ad2a6a04fe3bcf89f5b1bc130ebd6caa52995ca0c21f082c47dc7
                      Version: 42.20250316.1.0 (2025-03-18T00:28:29Z)
    
      ostree-remote-registry:fedora:quay.io/fedora/fedora-coreos:stable
                       Digest: sha256:0e3ff7caac94fcbb7b1bec701afbf5171401e77a5973a2df3792fb1ede9dfc29
                      Version: 41.20250302.3.2 (2025-03-17T22:11:15Z)
    

    The current image should show ostree-remote-registry:fedora:quay.io/fedora/fedora-coreos:next. The rest of the lines may differ from the above output.

Expected Results

  1. The system successfully reboots and runs on the next stream.
  2. The system is functional (you can connect the same way as before, your services are running as before).
  3. The linked documentation is clear, all steps are understandable, and nothing important is missing from it.

Optional

  1. Before switching to the next stream, try for example creating containers or configuring a service and verify that the changes are successfully carried over after switching.
  2. After switching to the next stream, attempt both a temporary and a permanent manual rollback. After each rollback, verify that your system booted with the correct filesystem tree using sudo rpm-ostree status.
  3. There is another test case you can follow which uses the same "switch stream" preparation already done here. So you'd only need to follow the final bootloader-related steps to complete it.