c5aa46 Introduce vmcore creation notification to kdump

Authored and Committed by liutgnu 2 months ago
    Introduce vmcore creation notification to kdump
    
    Upstream: fedora
    Resolves: RHEL-32060
    Conflict: Yes, there are several conflicts. 1) Upstream have moved
              dracut-kdump.sh into kdump-utils/dracut/99kdumpbase/kdump.sh,
              so the targeting files are changed. 2) There are several
              patchsets([1] [2]) which not backported to rhel9, so some
              formating conflicts encountered. But there is no functional
              change been made for the patch backporting.
    
    [1]: https://github.com/rhkdump/kdump-utils/pull/18/commits
    [2]: https://github.com/rhkdump/kdump-utils/pull/33/commits
    
    commit 88525ebf5e43cc86aea66dc75ec83db58233883b
    Author: Tao Liu <ltao@redhat.com>
    Date:   Thu Sep 5 15:49:07 2024 +1200
    
        Introduce vmcore creation notification to kdump
    
        Motivation
        ==========
    
        People may forget to recheck to ensure kdump works, which as a result, a
        possibility of no vmcores generated after a real system crash. It is
        unexpected for kdump.
    
        It is highly recommended people to recheck kdump after any system
        modification, such as:
    
        a. after kernel patching or whole yum update, as it might break something
           on which kdump is dependent, maybe due to introduction of any new bug etc.
        b. after any change at hardware level, maybe storage, networking,
           firmware upgrading etc.
        c. after implementing any new application, like which involves 3rd party modules
           etc.
    
        Though these exceed the range of kdump, however a simple vmcore creation
        status notification is good to have for now.
    
        Design
        ======
    
        Kdump currently will check any relating files/fs/drivers modified before
        determine if initrd should rebuild when (re)start. A rebuild is an
        indicator of such modification, and kdump need to be rechecked. This will
        clear the vmcore creation status specified in $VMCORE_CREATION_STATUS.
    
        Vmcore creation check will happen at "kdumpctl (re)start/status", and will
        report the creation success/fail status to users. A "success" status indicates
        previously there has been a vmcore successfully generated based on the current
        env, so it is more likely a vmcore will be generated later when real crash
        happens; A "fail" status indicates previously there was no vmcore
        generated, or has been a vmcore creation failed based on current env. User
        should check the 2nd kernel log or the kexec-dmesg.log for the failing reason.
    
        $VMCORE_CREATION_STATUS is used for recording the vmcore creation status of
        the current env. The format will be like:
    
           success 1718682002
    
        Which means, there has been a vmcore generated successfully at this
        timestamp for the current env.
    
        Usage
        =====
    
        [root@localhost ~]# kdumpctl restart
        kdump: kexec: unloaded kdump kernel
        kdump: Stopping kdump: [OK]
        kdump: kexec: loaded kdump kernel
        kdump: Starting kdump: [OK]
        kdump: Notice: No vmcore creation test performed!
    
        [root@localhost ~]# kdumpctl test
    
        [root@localhost ~]# kdumpctl status
        kdump: Kdump is operational
        kdump: Notice: Last successful vmcore creation on Tue Jun 18 16:39:10 CST 2024
    
        [root@localhost ~]# kdumpctl restart
        kdump: kexec: unloaded kdump kernel
        kdump: Stopping kdump: [OK]
        kdump: kexec: loaded kdump kernel
        kdump: Starting kdump: [OK]
        kdump: Notice: Last successful vmcore creation on Tue Jun 18 16:39:10 CST 2024
    
        The notification for kdumpctl (re)start/status can be disabled by
        setting VMCORE_CREATION_NOTIFICATION in /etc/sysconfig/kdump
    
        Signed-off-by: Tao Liu <ltao@redhat.com>
    
    Signed-off-by: Tao Liu <ltao@redhat.com>
    
        
file modified
+12 -1
file modified
+1 -0
file modified
+33 -0
file modified
+4 -0
file modified
+4 -0
file modified
+4 -0
file modified
+4 -0
file modified
+4 -0
file modified
+4 -0
file modified
+4 -0
file modified
+66 -1
file modified
+10 -0
file modified
+14 -2