fix(kernel-config): count BTRFS_FS as a bootable root filesystem in the kernel_missing_boot_config advisory

Open Beginner friendly
#3,582 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
python
Domain
backend, testing

Research direction

Read src/kdive/kernel_config/requirements.py around the ROOTFS_MOUNT clause and src/kdive/kernel_config/gate.py for the advisory wording. Update the root filesystem requirement and remediation text to include BTRFS_FS, then review tests/kernel_config/test_gate.py and tests/kernel_config/test_support.py, replacing the BTRFS_FS unsupported sentinel with a genuinely unsupported symbol such as F2FS_FS. Done when BTRFS_FS with VIRTIO_BLK avoids the advisory and a config without ext4, XFS, or btrfs still warns naming all three.

Written by the indexing model from the issue text.

Description

area:build-install effort:S priority:P3 risk:daytime-only status:ready type:bug

Problem

runs.complete_build returns a non-fatal kernel_missing_boot_config advisory when the uploaded effective_config has neither EXT4_FS nor XFS_FS. kdive now provisions and boots btrfs-root Fedora cloud bases (a fixture kernel with CONFIG_BTRFS_FS=y mounts that root: PR #3560), so a btrfs-only kernel draws a false advisory telling the agent to rebuild with ext4 or XFS.

Evidence

Line numbers are from current main; they have moved since the PR #3560 review.

  • src/kdive/kernel_config/requirements.py:340: the ROOTFS_MOUNT clause is {"EXT4_FS", "XFS_FS"} (the comment block at :332-339 and the summary text at ~:318-327 describe only ext4/XFS).
  • src/kdive/kernel_config/gate.py: _ROOTFS_REMEDIATION (:62) names "EXT4_FS or XFS_FS"; the docstring of the advisory function (:167) documents the OR-group as the whole predicate.
  • tests/kernel_config/test_gate.py:161-166 asserts a BTRFS_FS-only config warns with missing == [EXT4_FS, VIRTIO_BLK, XFS_FS], calling btrfs "a filesystem kdive never boots from".
  • tests/kernel_config/test_support.py:62-64 and :191 use BTRFS_FS as the "no supported root filesystem" sentinel.
  • docs/operating/external-build-upload.md:90-96 documents the either/or.
  • Contradicting behaviour: src/kdive/images/planes/provenance_probes.py:217-305 supports btrfs roots (rootflags=subvol=), and docs/operating/providers/local-libvirt.md:175-177 says a non-EL host can build a btrfs image.

Expected

A config carrying BTRFS_FS=y plus VIRTIO_BLK=y completes without the advisory; a config with none of ext4/XFS/btrfs still warns, naming all three.

Proposed approach

Add BTRFS_FS to the OR-group in requirements.py, update _ROOTFS_REMEDIATION and the docs sentence, and replace the tests' btrfs sentinel with a symbol that is genuinely unsupported (e.g. F2FS_FS). Check the RHEL-family clause near requirements.py:417 separately: it legitimately requires XFS for those images and should not change.

Provenance

Follow-up from campaign 4c2c8dc9e59d-7f9a87f5-2251-458a-bb30-04fbb2d4b05c. Source: PR #3560 review exit payload.

Dominant language
Python
Stars
0
Forks
0
Avg merge
9h 13m
Merged PRs (30d)
197

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from randomparity/kdive

All issues in randomparity/kdive

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.