From Fedora Project Wiki

Description

Verify that a Stratis layout created in the Cockpit Storage editor embedded in the Anaconda WebUI installer can be used for installation, including / on Stratis.

Background and the generic WebUI procedure are described in the Fedora change page and a Fedora Magazine article.

This page contains the baseline test case and several variants. Run the baseline first, then any variants you want to cover; each variant only lists what it changes compared to the baseline.

Setup

Boot a Fedora 45 (or later) WebUI-enabled ISO in a virtual machine with a single disk of at least 16 GB (vda). The image must include stratisd, stratis-cli and stratisd-dracut. No pre-partitioning is required. Variants that need more disks say so in their own section.

How to test

Follow the How To Test -> WebUI section of the change page to launch the storage editor and create the boot partitions (/boot/efi, /boot), the fedorapool Stratis pool and the root (/) and home (/home) filesystems. Then continue with the QA-specific checks:

  1. Click Return to installation and confirm. Verify that the Check storage dialog reports no errors and that Use configured storage is selected.
  2. Proceed to the Review screen and check that the Stratis device is shown with the correct filesystems for / and /home.
  3. Click Install, wait for the payload to finish and reboot.
  4. Run findmnt / /home and stratis filesystem list.

Expected Results

  1. The Use configured storage scenario is selected and storage validation passes.
  2. The Review screen shows the Stratis device (for example vda3, Stratis) with the correct Stratis filesystem for / and /home. A filesystem created without an explicit size is thin-provisioned and defaults to the Stratis 1 TiB virtual size, shown as about 1.10 TB; this is expected.
  3. The installation completes without errors.
  4. The installed system boots successfully, including the root-on-Stratis case, which is the primary goal of the change.
  5. findmnt / /home shows both mount points on the pool (for example /dev/stratis/fedorapool/root and /dev/stratis/fedorapool/home) and stratis filesystem list lists the pool with the filesystems online.
  6. Known bug to report, not an expected result: on some Fedora 45 composes the install completes but the system hangs in early boot forever on dev-stratis-<pool>-root.device because the pool is not activated in the initramfs. The change explicitly targets bootable root-on-Stratis, so if you hit this, capture the boot output, file a bug against anaconda / stratisd-dracut, and add the bug link to the test day row.



Encrypted pool

This is a variant of the baseline test case above. Read the baseline instructions first.

The Stratis pool is encrypted with a passphrase, so this also verifies that Cockpit Storage hands the passphrase to the installer and the pool is unlocked automatically.

How to test (differences)

  1. In the Create Stratis pool dialog, check Encrypt data with a passphrase and set a passphrase before clicking Create.
  2. After clicking Return to installation, do not expect an unlock prompt: the installer unlocks the pool with the passphrase stored by Cockpit Storage.
  3. (Optional) On the pool page, open the Encryption tokens card and try adding, changing and removing a passphrase (V2 pools support multiple tokens).

Finish the baseline steps afterwards.

Expected Results (differences)

  1. The Review screen marks the root device as encrypted and validation passes without a manual unlock.
  2. After reboot the pool is unlocked automatically and findmnt / resolves to /dev/stratis/fedorapool/root.

Notes

  • The passphrase is kept only in the browser session storage and is used by the Check storage dialog when returning to the installation.
  • The Encrypt data with a Tang keyserver option is intentionally not offered inside the installer.

Multiple filesystems

This is a variant of the baseline test case above. Read the baseline instructions first.

This variant exercises the Stratis filesystem management features of the Cockpit Storage editor (explicit sizes and limits, snapshots, rename and delete) on top of the common pool.

How to test (differences)

Follow the baseline procedure to create the pool and the root filesystem, then additionally:

  1. Create a data filesystem on the same pool with Set initial size (for example 5 GiB) and Limit size (for example 10 GiB) enabled, and no mount point. Verify the Virtual size and Virtual size limit on its page.
  2. From the data filesystem dropdown choose Snapshot, name it data-snapshot and create it without a mount point.
  3. Rename data to data-renamed using the edit link next to Name.
  4. Delete data-snapshot using its dropdown Delete action.

Finish the baseline steps afterwards.

Expected Results (additions)

  1. The explicit initial virtual size and the size limit are honoured and shown on the filesystem page.
  2. A snapshot can be created and deleted, and a filesystem can be renamed.
  3. stratis filesystem list shows the expected filesystems and findmnt / resolves to /dev/stratis/fedorapool/root.

Notes

  • A filesystem that is mounted in the installer cannot be deleted; delete or unmount it first.
  • Snapshots are thin and consume space only for changed data.

Multiple devices

This is a variant of the baseline test case above. Read the baseline instructions first.

The pool spans block devices on two disks instead of one. Optionally also exercises the Add block devices action.

Setup (differences)

Use two disks of at least 16 GB each (vda and vdb) and select both as installation targets.

How to test (differences)

  1. After creating the boot partitions on vda, create the pool and check the block devices for the vda free space and the whole vdb disk.
  2. Verify that the pool card lists block devices from both disks.
  3. (Optional) From the pool card click Add block devices, choose the Data (or Cache) tier and add another available device; verify the pool usage grows.

Finish the baseline steps afterwards and run stratis blockdev list fedorapool.

Expected Results (differences)

  1. The pool is created from block devices on both disks and validation passes with both disks selected.
  2. The Review screen shows the root device with both member partitions and the Stratis label.
  3. stratis blockdev list fedorapool shows all member block devices.

Notes

  • Devices can be added to a pool but not removed; a pool must be deleted to release them.
  • Multi-device Stratis pools add capacity only, they are not redundant.

Whole disk

This is a variant of the baseline test case above. Read the baseline instructions first.

The pool member is a whole, unpartitioned disk instead of free space turned into a partition. This covers Cockpit Storage's whole block device path, which is also used when a pool sits on an LVM logical volume or MDRAID device.

Setup (differences)

Use two disks (vda for the boot partitions and vdb for the pool) and select both as installation targets.

How to test (differences)

  1. Create the boot partitions on vda only.
  2. Create the pool and check the Block devices entry for the whole vdb disk (listed as VD vdb / /dev/vdb, not a partition).
  3. Verify that no partition was created on vdb for the pool.

Finish the baseline steps afterwards and run stratis blockdev list fedorapool.

Expected Results (differences)

  1. The pool can be created with a whole disk as its member and no partition is created on vdb.
  2. The Review screen shows the root device on vdb labelled Stratis.

Notes

  • A disk used as a whole for a pool cannot be shared with other partitions.

Multiple pools

This is a variant of the baseline test case above. Read the baseline instructions first.

Two independent Stratis pools are created on a single disk and each is used for a different mount point.

How to test (differences)

Follow the baseline procedure up to (and including) the boot partitions, then:

  1. Create two raw partitions from the remaining space (for example vda3 and vda4).
  2. Create the first pool fedorapool on vda3 with a root filesystem mounted at /.
  3. Create a second pool secondpool on vda4 with a home filesystem mounted at /home.

Finish the baseline steps afterwards and run stratis pool list and findmnt / /home.

Expected Results (differences)

  1. Two independent Stratis pools can be created on the same disk, each owning only its own partition.
  2. The Review screen shows / on vda3 and /home on vda4, both labelled Stratis.
  3. Both mount points resolve to their respective pools (/dev/stratis/fedorapool/root and /dev/stratis/secondpool/home).

Notes

  • Splitting the disk into more pools means each pool has its own thin-provisioned space and can be managed independently.
  • All pools on the disk must fit into the disk's physical space.

References