Bug 1908409

Summary: Rebase boom-boot to new upstream release
Product: Red Hat Enterprise Linux 8 Reporter: Bryn M. Reeves <bmr>
Component: boom-bootAssignee: Bryn M. Reeves <bmr>
Status: CLOSED ERRATA QA Contact: cluster-qe <cluster-qe>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.3CC: agk, bmr, cmarthal, jbrassow, mcsontos
Target Milestone: rcKeywords: Rebase, Triaged
Target Release: 8.4   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: boom-boot-1.3-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-18 15:10:19 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:

Description Bryn M. Reeves 2020-12-16 16:06:06 UTC
Description of problem:
The boom project is preparing to release boom-1.3. This is a relatively small release including a number of significant bug fixes and several minor new features.

Version-Release number of selected component (if applicable):
boom-boot-1.2-2.el8


Additional info:

Boom 1.3 Release Notes (draft)
------------------------------

Bug fixes

 - Several fixes to options modifications using --add-opts and --del-opts
   - Fix precedence of --add/del-opts when editing and cloning entries
   - Preserve order of edited options when reading and writing entries
 - clone_entry and edit_entry are now simpler and more consistent
 
Feature enhancements

 - Improved logging of option modifications during create/edit/clone
 
 - The default Python interpreter for the boom command is now /usr/bin/python

 - All system BLS entries (including the rescue entry) can now be read and displayed
   - Ordering of optional Red Hat specific BLS keys now matches system entries
   - Handle missing machine_id key in Red Hat system BLS entries
   - Empty key are now allowed in boot entries
   - Boot loader variables are now optionally expanded when cloning system entries


Most changes are already covered by the upstream test suite.

Comment 7 Corey Marthaler 2021-02-17 19:17:25 UTC
Sanity regression tests passed. Marking Verified (SanityOnly).

boom-boot-1.3-1.el8    BUILT: Sat Jan 30 02:31:18 CST 2021


SCENARIO - [boom_sanity]
Create a snapshot and perform some boom sanity only checks as this wont be an actual bootable snapshot
Installing package boom-boot on hayes-01...
Package boom-boot installed on node hayes-01.
Making origin volume
lvcreate --yes -L 300M snapper -n origin
Making snapshot of origin volume
lvcreate --yes -s /dev/snapper/origin -c 128 -n boom_snap -L 100M

Check 0 a. Verify a new profile can be created (this is basically a dup of the above cmd)
boom profile create --from-host --uname-pattern Linux
Check 0 b. Verify a new profile can be created automatically from just current host heuristic
boom profile create --from-host
Check 0 c. Verify a new profile can be created
boom profile create --from-host --uname-pattern el8

Check 1. Verify boom not configured for grub yet warning (Bug 1542952)
Boom already configured for grub. Skipping check.

Generating grub configuration file ...
done

Check 2 a. Verify version numbers not matching an OS profile provide a helpful warning (Bug 1771584#c5)
boom create --title nomatchversion --rootlv snapper/boom_snap --version 2.5.0
Check 2 b. Verify fake OS profiles are properly identified (Bug 1540266)
boom create --profile fake_profile --title title --version 3.10-272.el7 --rootlv snapper/boom_snap
WARNING - Boom grub2 integration is disabled in '/boot/../etc/default/boom'

Check 3. Verify --rootlv and --root-device variations are both accepted (Bug 1543188)
--rootlv: boom create --title 1 --rootlv /dev/snapper/boom_snap
boom list 9cbbc08
BootID  Version                  Name                     RootDevice            
9cbbc08 4.18.0-287.el8.x86_64    Red Hat Enterprise Linux /dev/snapper/boom_snap
boom entry show 9cbbc08
Boot Entry (boot_id=9cbbc08)
  title 1
  machine-id 02b079f3d054487fb8c1268adcd18a3f
  version 4.18.0-287.el8.x86_64
  linux /vmlinuz-4.18.0-287.el8.x86_64
  initrd /initramfs-4.18.0-287.el8.x86_64.img
  options root=/dev/snapper/boom_snap ro rd.lvm.lv=snapper/boom_snap rhgb quiet
  grub_users $grub_users
  grub_arg --unrestricted
  grub_class kernel
boom delete 9cbbc08

--root-lv: boom create --title 2 --root-lv /dev/snapper/boom_snap
boom list 75461dd
BootID  Version                  Name                     RootDevice            
75461dd 4.18.0-287.el8.x86_64    Red Hat Enterprise Linux /dev/snapper/boom_snap
boom entry show 75461dd
Boot Entry (boot_id=75461dd)
  title 2
  machine-id 02b079f3d054487fb8c1268adcd18a3f
  version 4.18.0-287.el8.x86_64
  linux /vmlinuz-4.18.0-287.el8.x86_64
  initrd /initramfs-4.18.0-287.el8.x86_64.img
  options root=/dev/snapper/boom_snap ro rd.lvm.lv=snapper/boom_snap rhgb quiet
  grub_users $grub_users
  grub_arg --unrestricted
  grub_class kernel
boom delete 75461dd

--rootdevice: boom create --title 3 --rootdevice /dev/snapper/boom_snap
boom list c5b97d8
BootID  Version                  Name                     RootDevice            
c5b97d8 4.18.0-287.el8.x86_64    Red Hat Enterprise Linux /dev/snapper/boom_snap
boom entry show c5b97d8
Boot Entry (boot_id=c5b97d8)
  title 3
  machine-id 02b079f3d054487fb8c1268adcd18a3f
  version 4.18.0-287.el8.x86_64
  linux /vmlinuz-4.18.0-287.el8.x86_64
  initrd /initramfs-4.18.0-287.el8.x86_64.img
  options root=/dev/snapper/boom_snap ro rd.lvm.lv=snapper/boom_snap rhgb quiet
  grub_users $grub_users
  grub_arg --unrestricted
  grub_class kernel
boom delete c5b97d8

--root-device: boom create --title 4 --root-device /dev/snapper/boom_snap
boom list 7bd69c8
BootID  Version                  Name                     RootDevice            
7bd69c8 4.18.0-287.el8.x86_64    Red Hat Enterprise Linux /dev/snapper/boom_snap
boom entry show 7bd69c8
Boot Entry (boot_id=7bd69c8)
  title 4
  machine-id 02b079f3d054487fb8c1268adcd18a3f
  version 4.18.0-287.el8.x86_64
  linux /vmlinuz-4.18.0-287.el8.x86_64
  initrd /initramfs-4.18.0-287.el8.x86_64.img
  options root=/dev/snapper/boom_snap ro rd.lvm.lv=snapper/boom_snap rhgb quiet
  grub_users $grub_users
  grub_arg --unrestricted
  grub_class kernel
boom delete 7bd69c8

Check 4. Verify --root-lv and --root-device verify the lv/device exists (Bug 1543186)
boom create --title no-lv --root-lv snapper/nonlv
WARNING - Boom grub2 integration is disabled in '/boot/../etc/default/boom'
boom create --title no-dev --root-device /dev/sdxyz
WARNING - Boom grub2 integration is disabled in '/boot/../etc/default/boom'
boom create --title 5 --no-dev --root-lv snapper/nonlv
WARNING - Boom grub2 integration is disabled in '/boot/../etc/default/boom'
boom delete c3c9132

Check 5. Verify proper use of user providing --rootlv /dev/* format (Bug 1544914)
boom create --title 6 --rootlv /dev/snapper/boom_snap
WARNING - Boom grub2 integration is disabled in '/boot/../etc/default/boom'
Created entry with boot_id 56d75a7:
  title 6
  machine-id 02b079f3d054487fb8c1268adcd18a3f
  version 4.18.0-287.el8.x86_64
  linux /vmlinuz-4.18.0-287.el8.x86_64
  initrd /initramfs-4.18.0-287.el8.x86_64.img
  options root=/dev/snapper/boom_snap ro rd.lvm.lv=snapper/boom_snap rhgb quiet
  grub_users $grub_users
  grub_arg --unrestricted
  grub_class kernel
boom delete 56d75a7

Check 6. Verify proper rd.lvm.lv entry w/ --root-device option (Also listed in Bug 1544914)
boom create --title 7 --root-device /dev/snapper/boom_snap
WARNING - Boom grub2 integration is disabled in '/boot/../etc/default/boom'
Created entry with boot_id f3e7ee6:
  title 7
  machine-id 02b079f3d054487fb8c1268adcd18a3f
  version 4.18.0-287.el8.x86_64
  linux /vmlinuz-4.18.0-287.el8.x86_64
  initrd /initramfs-4.18.0-287.el8.x86_64.img
  options root=/dev/snapper/boom_snap ro rd.lvm.lv=snapper/boom_snap rhgb quiet
  grub_users $grub_users
  grub_arg --unrestricted
  grub_class kernel
regression check for bug 1840488
boom remove f3e7ee6
boom delete f3e7ee6

Check 7. Verify --grub-arg, grub-class, grub-users, and grub-id specified arguments (r7 rfe 1777364 / r8 rfe 1848123)
--grub-arg: boom create --title 10 --grub-arg 664 --root-lv /dev/snapper/boom_snap
boom list 6076a87 --expand-variables
BootID  Version                  Name                     RootDevice            
6076a87 4.18.0-287.el8.x86_64    Red Hat Enterprise Linux /dev/snapper/boom_snap
grub val not found in expanded list output (possible regression of bug 1840337)
boom entry show 6076a87
Boot Entry (boot_id=6076a87)
  title 10
  machine-id 02b079f3d054487fb8c1268adcd18a3f
  version 4.18.0-287.el8.x86_64
  linux /vmlinuz-4.18.0-287.el8.x86_64
  initrd /initramfs-4.18.0-287.el8.x86_64.img
  options root=/dev/snapper/boom_snap ro rd.lvm.lv=snapper/boom_snap rhgb quiet
  grub_users $grub_users
  grub_arg 664
  grub_class kernel
boom delete 6076a87

--grub-class: boom create --title 11 --grub-class 997 --root-lv /dev/snapper/boom_snap
boom list 4a503c3 --expand-variables
BootID  Version                  Name                     RootDevice            
4a503c3 4.18.0-287.el8.x86_64    Red Hat Enterprise Linux /dev/snapper/boom_snap
grub val not found in expanded list output (possible regression of bug 1840337)
boom entry show 4a503c3
Boot Entry (boot_id=4a503c3)
  title 11
  machine-id 02b079f3d054487fb8c1268adcd18a3f
  version 4.18.0-287.el8.x86_64
  linux /vmlinuz-4.18.0-287.el8.x86_64
  initrd /initramfs-4.18.0-287.el8.x86_64.img
  options root=/dev/snapper/boom_snap ro rd.lvm.lv=snapper/boom_snap rhgb quiet
  grub_users $grub_users
  grub_arg --unrestricted
  grub_class 997
boom delete 4a503c3

--grub-users: boom create --title 12 --grub-users 758 --root-lv /dev/snapper/boom_snap
boom list d2f7173 --expand-variables
BootID  Version                  Name                     RootDevice            
d2f7173 4.18.0-287.el8.x86_64    Red Hat Enterprise Linux /dev/snapper/boom_snap
grub val not found in expanded list output (possible regression of bug 1840337)
boom entry show d2f7173
Boot Entry (boot_id=d2f7173)
  title 12
  machine-id 02b079f3d054487fb8c1268adcd18a3f
  version 4.18.0-287.el8.x86_64
  linux /vmlinuz-4.18.0-287.el8.x86_64
  initrd /initramfs-4.18.0-287.el8.x86_64.img
  options root=/dev/snapper/boom_snap ro rd.lvm.lv=snapper/boom_snap rhgb quiet
  grub_users 758
  grub_arg --unrestricted
  grub_class kernel
boom delete d2f7173

Removing volume snapper/boom_snap
Removing origin snapper/origin

Comment 8 Corey Marthaler 2021-03-03 17:50:28 UTC
Also ran an 8.4 snap boot attempt for verification:

[root@host-084 ~]# lvs -a -o +devices
  LV              VG            Attr       LSize   Pool   Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices        
  [lvol0_pmspare] rhel_host-084 ewi-------   8.00m                                                       /dev/vda2(0)   
  pool00          rhel_host-084 twi-aotz--  <4.78g               76.67  33.45                            pool00_tdata(0)
  [pool00_tdata]  rhel_host-084 Twi-ao----  <4.78g                                                       /dev/vda2(2)   
  [pool00_tmeta]  rhel_host-084 ewi-ao----   8.00m                                                       /dev/vda2(1225)
  root            rhel_host-084 Vwi-aotz--  <4.78g pool00        76.67                                                  
  swap            rhel_host-084 -wi-ao---- 820.00m                                                       /dev/vda2(1227)

[root@host-084 ~]# lvcreate --yes -ay -k n -s /dev/rhel_host-084/root -n root_snap
  WARNING: Sum of all thin volume sizes (9.55 GiB) exceeds the size of thin pool rhel_host-084/pool00 and the size of whole volume group (<7.00 GiB).
  WARNING: You have not turned on protection against thin pools running out of space.
  WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full.
  Logical volume "root_snap" created.

[root@host-084 ~]# lvs -a -o +devices
  LV              VG            Attr       LSize   Pool   Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices        
  [lvol0_pmspare] rhel_host-084 ewi-------   8.00m                                                       /dev/vda2(0)   
  pool00          rhel_host-084 twi-aotz--  <4.78g               76.68  33.59                            pool00_tdata(0)
  [pool00_tdata]  rhel_host-084 Twi-ao----  <4.78g                                                       /dev/vda2(2)   
  [pool00_tmeta]  rhel_host-084 ewi-ao----   8.00m                                                       /dev/vda2(1225)
  root            rhel_host-084 Vwi-aotz--  <4.78g pool00        76.67                                                  
  root_snap       rhel_host-084 Vwi-a-tz--  <4.78g pool00 root   76.67                                                  
  swap            rhel_host-084 -wi-ao---- 820.00m                                                       /dev/vda2(1227)

[root@host-084 ~]# mount | grep root
/dev/mapper/rhel_host--084-root on / type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=64k,sunit=128,swidth=128,noquota)
[root@host-084 ~]# boom create --title root_snap --root-device /dev/rhel_host-084/root_snap
WARNING - Boom grub2 integration is disabled in '/boot/../etc/default/boom'
Created entry with boot_id bd44049:
  title root_snap
  machine-id fd56e7293a24478599960151915fe1e4
  version 4.18.0-291.el8.x86_64
  linux /vmlinuz-4.18.0-291.el8.x86_64
  initrd /initramfs-4.18.0-291.el8.x86_64.img
  options root=/dev/rhel_host-084/root_snap ro rd.lvm.lv=rhel_host-084/root_snap rhgb quiet
  grub_users $grub_users
  grub_arg --unrestricted
  grub_class kernel
[root@host-084 ~]# grub2-mkconfig > /boot/grub2/grub.cfg
Generating grub configuration file ...
done
[root@host-084 ~]# boom list
BootID  Version                  Name                     RootDevice                     
80af26b 4.18.0-291.el8.x86_64    Red Hat Enterprise Linux /dev/mapper/rhel_host--084-root
bd44049 4.18.0-291.el8.x86_64    Red Hat Enterprise Linux /dev/rhel_host-084/root_snap   

[root@host-084 ~]# reboot
Connection to host-084 closed by remote host.

      root_snap                                                                 
      Red Hat Enterprise Linux (4.18.0-291.el8.x86_64) 8.4 (Ootpa)             
      Red Hat Enterprise Linux (0-rescue-fd56e7293a24478599960151915fe1e4) 8.4>

[root@host-084 ~]# mount | grep root
/dev/mapper/rhel_host--084-root_snap on / type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=64k,sunit=128,swidth=128,noquota)

Comment 10 errata-xmlrpc 2021-05-18 15:10:19 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (boom-boot bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:1724