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
- 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-cliandstratisd-dracut, and pykickstart must be F45 or newer. This should be the case for latest Fedora 45 images.
- The image must include
- The machine needs to have one or two disks.
How to test
- Read the kickstart documentation for the Stratis commands:
- pykickstart documentation
- the change page How To Test → Kickstart section
- 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.
/varor a separatedatafilesystem on Stratis autopart --type=stratiscombined with additional%packages
- an encrypted pool:
- Validate it with
ksvalidator <file>and confirm the Stratis commands are recognized. - Make the kickstart file available to the installer over HTTP.
- Boot the ISO with
inst.ks=<url>where<url>points to the kickstart file and finish the installation. - Reboot and verify the layout with
findmntandstratis 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]--growrequires a non-overprovisioned pool.--maxsizerequires--grow.- The reserved-name partitions referenced by
stratispoolmust use thestratis.<NN>prefix (matchingraid.,pv.,btrfs.for the other device types) or storage configuration fails.
Expected Results
- Anaconda processes your kickstart without parse errors.
- The requested Stratis layout is created and storage is not marked incomplete on the Review screen.
- The installation completes and the system reboots.
- The installed system boots successfully and
findmnt/stratis filesystem listshow 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.devicebecause 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 againstanaconda/stratisd-dracut, and add the bug link to the test day row. - Keep requested
stratisfssizes 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
%prescript runningwipefs -a /dev/vdabeforezerombr/clearpart— a leftover Stratis pool from a previous install can otherwise confuse storage configuration on the next run.
Reference
- Change page for F45: Changes/StratisAnacondaSupport
- Pykickstart documentation
