Bug 1843869

Summary: boom: fix --backup image reference counting
Product: Red Hat Enterprise Linux 8 Reporter: Bryn M. Reeves <bmr>
Component: boom-bootAssignee: LVM and device-mapper development team <lvm-team>
Status: CLOSED ERRATA QA Contact: cluster-qe <cluster-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.3CC: agk, bmr, cmarthal, jbrassow, mcsontos, rbednar, rhandlin
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: boom-boot-1.2-2.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 01:57:39 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-06-04 10:52:11 UTC
Description of problem:
The boom cache uses a reference count scheme to determine if a cache or backup image is in use: images are automatically removed once all entries that reference them have been deleted.

There are two related bugs in the reference counting in boom-1.1: foreign boot entries (e.g. system managed BLS entries) should not contribute to the use count, since they are outside of the boom image caching mechanism, and a side-effect of the original implementation of --backup in the boom.command module causes a spurious warning message to be emitted when backing up an image that is already used by another boot entry:

# boom create --backup --title "TEST" --rootlv rhel/root
WARNING - Uncaching path '/initramfs-4.18.0-167.el8.x86_64.img' used by 1 boot entries
WARNING - Uncaching path '/vmlinuz-4.18.0-167.el8.x86_64' used by 2 boot entries
Created entry with boot_id a3ca19c:
  title TEST
  machine-id b49e623f993c4fd7b200c5e350f9cacc
  version 4.18.0-167.el8.x86_64
  linux /vmlinuz-4.18.0-167.el8.x86_64.boom0
  initrd /initramfs-4.18.0-167.el8.x86_64.img.boom0
  options root=/dev/rhel/root ro rd.lvm.lv=rhel/root rhgb quiet
  grub_users $grub_users
  grub_arg --unrestricted
  grub_class kernel

The warning is seen whenever a system managed boot entry for the backup image exists (since these entries incorrectly contribute to the use count in boom-1.1).

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

How reproducible:
100%

Steps to Reproduce:
1. boom create --backup --title test --rootlv ...

Actual results:
Warning message emitted.

Expected results:
No warnings.

Additional info:

Comment 1 Bryn M. Reeves 2020-06-24 14:50:01 UTC
Fixed upstream in boom-1.2.

Comment 5 Roman Bednář 2020-09-16 12:50:21 UTC
Verified, boom no longer emits warning when system managed BLS entries are present.

BEFORE FIX:

# kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuz

# boom create --backup --title test --rootlv rhel_virt-157/root
WARNING - Boom grub2 integration is disabled in '/boot/../etc/default/boom'
WARNING - Uncaching path '/vmlinuz-4.18.0-236.el8.x86_64' used by 1 boot entries
Created entry with boot_id ea0604f:
  title test
  machine-id dd5d79a5c09d4161a912a671ea395d25
  version 4.18.0-236.el8.x86_64
  linux /vmlinuz-4.18.0-236.el8.x86_64.boom0
  initrd /initramfs-4.18.0-236.el8.x86_64.img.boom0
  options root=/dev/rhel_virt-157/root ro rd.lvm.lv=rhel_virt-157/root

# rpm -qa | grep boom
boom-boot-conf-1.1-2.el8.noarch
boom-boot-1.1-2.el8.noarch
boom-boot-grub2-1.1-2.el8.noarch
python3-boom-1.1-2.el8.noarch

AFTER FIX:

# boom create --backup --title test --rootlv rhel_virt-157/root
WARNING - Boom grub2 integration is disabled in '/boot/../etc/default/boom'
Created entry with boot_id a68b617:
  title test
  machine-id dd5d79a5c09d4161a912a671ea395d25
  version 4.18.0-236.el8.x86_64
  linux /vmlinuz-4.18.0-236.el8.x86_64.boom0
  initrd /initramfs-4.18.0-236.el8.x86_64.img.boom0
  options root=/dev/rhel_virt-157/root ro rd.lvm.lv=rhel_virt-157/root rhgb quiet
  grub_users $grub_users
  grub_arg --unrestricted
  grub_class kernel

# rpm -qa | grep boom
python3-boom-1.2-2.el8.noarch
boom-boot-1.2-2.el8.noarch
boom-boot-grub2-1.2-2.el8.noarch
boom-boot-conf-1.2-2.el8.noarch

Comment 8 errata-xmlrpc 2020-11-04 01:57:39 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-2020:4532