From Fedora Project Wiki

Description

Optional / advanced. This is an open-ended kickstart test case: instead of using prepared example kickstarts, write your own Stratis storage configuration based on the documentation and try it out.

Background and example kickstarts (automatic partitioning with autopart --type=stratis and manual partitioning with stratispool / stratisfs) are described in the Fedora change page.

The change under test (Changes/StratisAnacondaSupport for Fedora 45) adds these commands and makes Stratis a bootable, installer-supported solution, including for the root filesystem.

Setup

  1. Prepare a Fedora 45 (or later) GTK-based dedicated installer image (Everything netinst, Server DVD/netinst). (Kickstart installs can't be tested with a WebUI live image).
    • The image must include stratisd, stratis-cli and stratisd-dracut, and pykickstart must be F45 or newer. This should be the case for latest Fedora 45 images.
  2. The machine needs to have one or two disks.

How to test

  1. Read the kickstart documentation for the Stratis commands:
  2. Write your own kickstart file with a Stratis storage layout of your choice, for example:
    • an encrypted pool: stratispool mypool stratis.01 --encrypted --passphrase=<pw>
    • a different filesystem layout, e.g. /var or a separate data filesystem on Stratis
    • autopart --type=stratis combined with additional %packages
  3. Validate it with ksvalidator <file> and confirm the Stratis commands are recognized.
  4. Make the kickstart file available to the installer over HTTP.
  5. Boot the ISO with inst.ks=<url> where <url> points to the kickstart file and finish the installation.
  6. Reboot and verify the layout with findmnt and stratis filesystem list.

Notes on the commands (pykickstart F45):

  • stratispool <name> <blockdevs...> [--encrypted] [--passphrase=...] [--overprovisioning] [--useexisting]
  • stratisfs <mntpoint> --name=<name> --poolname=<pool> [--size=<MiB>] [--grow] [--maxsize=<MiB>] [--useexisting]
  • --grow requires a non-overprovisioned pool. --maxsize requires --grow.
  • The reserved-name partitions referenced by stratispool must use the stratis.<NN> prefix (matching raid., pv., btrfs. for the other device types) or storage configuration fails.

Expected Results

  1. Anaconda processes your kickstart without parse errors.
  2. The requested Stratis layout is created and storage is not marked incomplete on the Review screen.
  3. The installation completes and the system reboots.
  4. The installed system boots successfully and findmnt / stratis filesystem list show the expected layout (/ and any other filesystems on Stratis).

Known issues

  • 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.
  • Keep requested stratisfs sizes within the pool: the pool needs headroom for metadata and thin-provisioning overhead. Requesting more than the pool can hold fails validation.
  • If reusing the same disk across multiple kickstart runs, add a %pre script running wipefs -a /dev/vda before zerombr/clearpart — a leftover Stratis pool from a previous install can otherwise confuse storage configuration on the next run.

Reference