Skip to content

Conversation

@ancorgs
Copy link
Contributor

@ancorgs ancorgs commented May 23, 2025

This pull request adapts Agama to some historical behavior of YaST, but (hopefully) in a more structured and explicit way.

Historical background

YaST considers some software RAIDs to be bootable and, thus, it:

  • offers them as an option in the Guided Setup
  • considers them as candidates for the initial proposal

The criteria used by YaST is kind of arbitrary, based on some heuristic imposed by SUSE partners and refined over time. See this explanation.

To not break the existing use cases, we should keep the ability in Agama to install on those RAIDs. That’s relevant for:

  1. The initial proposal
  2. The web UI
  3. The selection of the implicit boot device (when is omitted in the configuration)

But we also need the option to manipulate other RAID devices that are not considered to be candidates for a normal installation (ie. bootable). For example, to be able to select them at the web UI with any purpose.

Implementation

This pull request:

  • Sets the basis for all scenarios by providing a clear way to distinguish different types of RAIDs (and drives).
  • Improves the situation at 3 (ie. when resolving the omitted boot device)

To address the first goal, System now offers four methods available_drives, candidate_drives, available_md_raids and candidate_md_raids. Check the documentation for the exact meaning.

To address the latter goal, this introduces the ability to automatically determine the boot device if the storage configuration omits boot.device but specifies the root partition must be located at a bootable (candidate) RAID.

Dependencies

This PR depends on yast/yast-storage-ng#1411

@ancorgs ancorgs force-pushed the boot_from_candidate_raid branch from 52ef353 to 6056f90 Compare May 23, 2025 15:38
Copy link
Contributor

@joseivanlopez joseivanlopez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, add a changelog entry.

@joseivanlopez
Copy link
Contributor

Please, add a changelog entry.

As agreed in IRC, this is part of a bigger change. A changelog entry will be added later.

Copy link
Contributor

@joseivanlopez joseivanlopez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ancorgs ancorgs merged commit ffc1232 into agama-project:master May 26, 2025
7 of 10 checks passed
@coveralls
Copy link

Coverage Status

coverage: 62.873% (+0.04%) from 62.836%
when pulling 64e497a on ancorgs:boot_from_candidate_raid
into a6dc630 on agama-project:master.

@imobachgs imobachgs mentioned this pull request May 26, 2025
imobachgs added a commit that referenced this pull request May 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants