Bug 1159595

Summary: [y2-bootloader] Installed vms use a path-id for suspend instead of uuid.
Product: [openSUSE] openSUSE Distribution Reporter: William Brown <william.brown>
Component: YaST2Assignee: YaST Team <yast-internal>
Status: CONFIRMED --- QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None CC: ancor, jreidinger, william.brown
Version: Leap 15.1Flags: jsrain: needinfo? (william.brown)
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://trello.com/c/8T149v5G
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description William Brown 2019-12-19 23:45:38 UTC
When the system is installed with default partitioning (no changes), which should use UUID's, suspend to disk in /etc/default/grub is configured with swap by a path-id instead.

This can lead to VM's that are unable to boot when their swap partition changes location (IE changing from virtio to scsi) or a hardware machine that changes pci paths in some way (relocation of a disk controller or disk controller replacement due to RMA etc).

This causes machines to be unbootable because the resume=/dev/disk/path-id can never be resolved and has an infinite timeout. The machine then must be forced off and the resolution steps are unclear

Work around is to add noresume at boot, and to edit /etc/default/grub post install to remove the resume option. 

See also: https://bugzilla.suse.com/show_bug.cgi?id=1159236
Comment 1 Jiri Srain 2019-12-20 07:24:19 UTC
While this should not be any hard to reproduce, any chance you could provide the installer logs?
Comment 2 Ancor Gonzalez Sosa 2020-01-02 10:58:56 UTC
Josef, why do we use path ids in bootloader?
Comment 3 Josef Reidinger 2020-01-02 11:35:37 UTC
(In reply to Ancor Gonzalez Sosa from comment #2)
> Josef, why do we use path ids in bootloader?

Issue is that uuid is not known in time when bootloader proposal is created. So in needs to be done later during write, but of course it overwrite user modifications.

See my workaround for one L3 - https://github.com/yast/yast-bootloader/pull/564/files

if we decide we want to do it, then I can merge it and forward to newer code streams.