Bug 2038183

Summary: remove activation generator
Product: Red Hat Enterprise Linux 9 Reporter: David Teigland <teigland>
Component: lvm2Assignee: David Teigland <teigland>
lvm2 sub component: Activating existing Logical Volumes QA Contact: cluster-qe <cluster-qe>
Status: CLOSED ERRATA Docs Contact: Kristina Slaveykova <kslaveyk>
Severity: low    
Priority: high CC: abhide, agk, cmarthal, heinzm, jbrassow, kslaveyk, mcsontos, msnitzer, pasik, prajnoha, zkabelac
Version: 9.0Keywords: Triaged
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: lvm2-2.03.15-0.1.20211115git4a1f617.el9 Doc Type: Deprecated Functionality
Doc Text:
.`lvm2-activation-generator` and its generated services removed in RHEL 9.0 The `lvm2-activation-generator` program and its generated services `lvm2-activation`, `lvm2-activation-early`, and `lvm2-activation-net` are removed in RHEL 9.0. The `lvm.conf event_activation` setting, used to activate the services, is no longer functional. The only method for auto activating volume groups is event based activation.
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-05-17 15:56:27 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 David Teigland 2022-01-07 14:45:43 UTC
Description of problem:

Remove the activation generator and its generated services lvm2-activation{-early,-net}, which are enabled by setting event_activation=0.  The lvm.conf event_activation setting will be unused.  Static autoactivation (by a service at a fixed point during startup) will no longer be possible.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 David Teigland 2022-01-18 16:35:37 UTC
I believe that the only documentation we have ever had for this feature is the lvm2-activation-generator(8) man page.

When we remove this feature:
- the lvm2-activation-generator program will go away.
- the lvm2-activation, lvm2-activation-early, lvm2-activation-net services will go away.
- the lvm.conf event_activation setting will no longer have any effect (it was used to enable the services in the previous point and would turn the lvm2-pvscan services into no-ops.)
- event based activation will be the only method for autoactivating VGs.

I recently wrote a new man page describing lvm activation, including the role of this generator.  That man page has not been released anywhere yet, but you can grab it from git:
https://sourceware.org/git/?p=lvm2.git;a=blob;f=man/lvmautoactivation.7_main;h=54dab718bf7af323040f526839875da8ec048f5a;hb=HEAD

Comment 5 David Teigland 2022-01-25 22:44:18 UTC
A devel branch with the commit removing static autoactivation:
https://sourceware.org/git/?p=lvm2.git;a=commit;h=556889f170c6819526f84bc92b74e223ce19b3ea

Comment 9 David Teigland 2022-02-03 16:45:04 UTC
There's a suggestion to modify the change above so that lvm.conf event_activation=0 falls back to using event_activation=1, i.e. 0 and 1 would be the same.

Existing systems with event_activation=0 that update lvm will no longer have static autoactivation services, and may fail to boot (if an LV required by fstab was not activated by the initrd.)  The idea is that we force these systems to use event autoactivation to help them avoid a boot timeout.

A new value event_activation=2 is introduced which takes the role of disabling event autoactivation and is equivalent to the previous event_activation=0.

We don't really know why existing systems may be using event_activation=0 / static autoactivation.  It is not completely safe to assume that these systems will be fine when event autoactivation is suddenly enabled without their choosing.  In past cases, we've seen users set event_activation=0 because it stopped certain VGs from being activated that they did not want activated (and timing of their device attachment made it effective.  This has actually been the most common reason we've seen it used.)  By changing the meaning of 0 to 1, we risk activating VGs that should not be activated on those systems.

So, I think there are risks with current implementation (0=disabled, 1=enabled), or with a change (0=enabled, 1=enabled, 2=disabled).

The risk with the former is that some systems may fail to boot.
The risk with the later is that some LVs may be activated that should not be.

Here is a devel branch commit (not pushed to main) that switches the values to 0=enabled, 1=enabled, 2=disabled.
https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=0ed54d5b361c3438bef89420c2eedd879ba88713

Comment 11 Corey Marthaler 2022-02-17 22:12:55 UTC
Marking this Verified:Tested (SanityOnly) based on the regression test results on the rebased rpm build.

kernel-5.14.0-55.el9    BUILT: Sat Feb  5 12:27:31 AM CET 2022
lvm2-2.03.15-0.1.20211115git4a1f617.el9    BUILT: Tue Feb  8 09:56:52 PM CET 2022
lvm2-libs-2.03.15-0.1.20211115git4a1f617.el9    BUILT: Tue Feb  8 09:56:52 PM CET 2022

Comment 15 Corey Marthaler 2022-02-21 21:31:49 UTC
Marking VERIFIED based on comment #11 run on the latest build.

Comment 21 errata-xmlrpc 2022-05-17 15:56:27 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 (new packages: lvm2), 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-2022:3972

Comment 22 Red Hat Bugzilla 2023-09-15 01:50:55 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 365 days