Bug 2238542

Summary: blivet-gui on Workstation Live doesn't show existing btrfs subvolumes (anaconda part)
Product: [Fedora] Fedora Reporter: Vojtech Trefny <vtrefny>
Component: anacondaAssignee: Vojtech Trefny <vtrefny>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 39CC: anaconda-maint, awilliam, extras-qa, gmarr, kparal, mkolman, robatino, vslavik, vtrefny, w
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: AcceptedBlocker
Fixed In Version: anaconda-40.5-1.fc40 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 2238292 Environment:
Last Closed: 2023-09-19 14:14:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2238292    
Bug Blocks: 2187792    

Description Vojtech Trefny 2023-09-12 11:58:26 UTC
+++ This bug was initially created as a clone of Bug #2238292 +++

Description of problem:
When I run blivet-gui on Workstation Live as part of the anaconda webui, I don't see any btrfs subvolumes, under any btrfs volume. In comparison, when I launch blivet-gui from KDE Live or netinst, I see btrfs subvolumes.

This is of course a problem. I can't delete a subvolume to save space. I can't create a new subvolume. If I try to create a new subvolume which name happens to already exist, I get an error message and blivet-gui exits (can be re-launched).

Fortunately, I can use the existing subvolumes in Anaconda webui in the mount point mapping screen. However, any adjustment is just not possible because of blivet-gui not showing them.

Note: Blivet-gui shows a subvolume immediately after you create a new one (either under a new btrfs volume or an existing one). But if you "Reload Storage" or you quit blivet-gui and start it again, it disappears.


Version-Release number of selected component (if applicable):
Fedora-Workstation-Live-x86_64-39-20230910.n.0.iso - doesn't work
Fedora-KDE-Live-x86_64-39-20230910.n.0.iso - works
Fedora-Everything-netinst-x86_64-39-20230910.n.0.iso - works
blivet-data-3.8.1-1.fc39.noarch
python3-blivet-3.8.1-1.fc39.noarch
blivet-gui-runtime-2.4.2-2.fc39.noarch

How reproducible:
always

Steps to Reproduce:
1. create a btrfs volume with just subvolumes, or just have some existing Workstation installation on your disk
2. boot Workstation Live, run blivet-gui from anaconda
3. see that btrfs volumes have no subvolumes listed
4. compare to e.g. netinst, they show up there

--- Additional comment from Kamil Páral on 2023-09-11 09:21:22 UTC ---



--- Additional comment from Kamil Páral on 2023-09-11 09:21:30 UTC ---



--- Additional comment from Kamil Páral on 2023-09-11 09:21:40 UTC ---



--- Additional comment from Kamil Páral on 2023-09-11 09:22:35 UTC ---



--- Additional comment from Kamil Páral on 2023-09-11 09:22:40 UTC ---



--- Additional comment from Kamil Páral on 2023-09-11 09:22:46 UTC ---



--- Additional comment from Kamil Páral on 2023-09-11 09:24:22 UTC ---

Proposing for a blocker discussion:
https://fedoraproject.org/wiki/Fedora_39_Beta_Release_Criteria#Custom_partitioning
"Correctly interpret, and modify as described below, any disk with a valid ms-dos or gpt disk label and partition table containing ext4 partitions, LVM and/or btrfs volumes, and/or software RAID arrays at RAID levels 0, 1 and 5 containing ext4 partitions"

--- Additional comment from Vojtech Trefny on 2023-09-11 11:15:18 UTC ---

This is somewhat intentional. We cannot get list of btrfs subvolumes without mounting the device and in general we don't want to "randomly" mount devices in blivet-gui. This isn't a problem when running in Anaconda, because Anaconda mounts everything anyway, but with the WebUI blivet-gui is just started as a standalone application and nobody tells it that it's ok to mount devices in this special situation. To fix this, we'd probably need a new command line option for blivet-gui adjusting its behaviour when being started from Anaconda.

--- Additional comment from Kamil Páral on 2023-09-11 11:35:06 UTC ---

So if I understand you correctly, it is intentional when launching blivet-gui standalone, but it is *not* intentional when launching blivet-gui from anaconda - it's just a use case that nobody thought of, correct? Because I either need an auto-mount or some button to mount/discover it manually to be able to manage those subvolumes.

--- Additional comment from Geoffrey Marr on 2023-09-11 18:09:07 UTC ---

Discussed during the 2023-09-11 blocker review meeting: [0]

The decision to classify this bug as an "AcceptedBlocker (Beta)" was made as it violates the following criterion:

"The installer must be able to: Correctly interpret, and modify as described below, any disk ... containing ... btrfs volumes".

[0] https://meetbot.fedoraproject.org/fedora-blocker-review/2023-09-11/f39-blocker-review.2023-09-11-16.00.txt

Comment 1 Vojtech Trefny 2023-09-12 12:08:05 UTC
upstream PRs:
  - Anaconda: https://github.com/rhinstaller/anaconda/pull/5164
  - blivet-gui: https://github.com/storaged-project/blivet-gui/pull/412

Comment 2 Adam Williamson (Red Hat non-Fedora) 2023-09-12 21:51:37 UTC
As webUI has been deferred to F40 and this bug is specific to the webUI flow (in the GTK UI, blivet-gui is launched in its installer mode where this is not an issue), it is clearly no longer a blocker.

Comment 3 Adam Williamson (Red Hat non-Fedora) 2023-09-12 22:07:00 UTC
actually, the logical thing to do is to defer the blocker status to F40, I guess.

Comment 4 Kamil Páral 2023-09-21 10:32:37 UTC
I tested with Fedora-Workstation-Live-x86_64-Rawhide-20230920.n.0.iso and btrfs subvolumes now correctly show up in blivet-gui launched from anaconda webUI. Thanks.