-
Notifications
You must be signed in to change notification settings - Fork 349
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use blivet's "device ID" as a unique device identifier #5435
base: master
Are you sure you want to change the base?
Use blivet's "device ID" as a unique device identifier #5435
Conversation
Hello @vojtechtrefny! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:
Comment last updated at 2024-07-12 13:14:41 UTC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me code wise, but I'm afraid I can't really judge the full context of this change in regards to Blivet & Web UI. :P
804ac0b
to
8dba5f2
Compare
If I create biosboot partition, boot partition and btrfs volume with a subvolume in terminal:
Then rescan the storage, go to mount points assignment, assign the partitions with reformatting I get failure in:
I think it happens because the recreated subvolume is not found here: It used to work (at least got past this point as I checked) but I am not 100% sure my use case makes sense. (Maybe the issue is that the volume is recreated as well because the only subvolume is destroyed so the uuids are new?) |
Yes, the issue here seems that if the volume is destroyed together with the subvolume and then recreated, finding the subvolume by device_id containing uuid of the former subvolume fails. I don't hit the issue if the volume contains 2 subvolumes and I reformat one of them in mount point assignment. I'll update the webui tests for this PR, add a test for this specific case. |
@rvykydal I've added a new commit that should fix this issue. |
Thank you, I have just a few nitpicks. |
pyanaconda/modules/storage/partitioning/manual/manual_partitioning.py
Outdated
Show resolved
Hide resolved
pyanaconda/modules/storage/partitioning/manual/manual_partitioning.py
Outdated
Show resolved
Hide resolved
537b079
to
ffd316a
Compare
ffd316a
to
98db250
Compare
This PR is stale because it has been open 60 days with no activity. |
98db250
to
3270ab2
Compare
3270ab2
to
2f1b9a3
Compare
3b6955b
to
c107e89
Compare
c107e89
to
d1befbc
Compare
This is mostly finished now. I plan to do some more manual testing to be sure everything works, but other than that I don't plan to make more changes. If you wish to help with testing, you can find updates image for rawhide with all the changes (and latest blivet which also has some fixes) is available here. |
Anaconda currently uses name to identify devices internally which causes a lot of problems because multiple devices can share the same name. To fix this blivet introduced a new "device ID" which is unique even for devices with the same name (for technologies that support multiple devices with the same name and for devices sharing the same name but using a different storage technology).
We can't use the device factory in the manual partitioning because when it removes the last subvolume it also removes the volume which want to keep untouched when just recreating the subvolume.
We want to show device name (or description) in the reclaim space dialog but use the unique device ID internally.
d1befbc
to
651f24c
Compare
This should cover all places where name was used as device identifier in the storage, advanced storage and custom spokes.
651f24c
to
922df8c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be mark in the specfile tha tthis current anaconda-core is incomptatible with the current version of the Web UI package?
@@ -26,78 +28,78 @@ | |||
</object> | |||
<object class="GtkAdjustment" id="resizeAdjustment"> | |||
<property name="upper">100</property> | |||
<property name="step_increment">1</property> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes are unrelated. I guess these are autogenerated. Is there a reason for storing these here?
Anaconda currently uses name to identify devices internally which causes a lot of problems because multiple devices can share the same name. To fix this blivet introduced a new "device ID" which is unique even for devices with the same name (for technologies that support multiple devices with the same name and for devices sharing the same name but using a different storage technology).
This is not yet finished, but it should be usable for testing and further development on the WebUI side. The blivet change (storaged-project/blivet#1182) is merged but not yet released. Unit tests should be passing on this, I also tried running manual installation with mount point assignment in TUI and also running (most of) kickstart tests and everything seems to be working so far. The Gtk custom partitioning is not yet adjusted to this change but is somewhat working if you ignore the weird "names" displayed in the UI.