3f8281 rewrite reset_crashkernel to support fadump and to used by RPM scriptlet

2 files Authored by Coiby Xu 2 years ago, Committed by liutgnu 2 years ago,
    rewrite reset_crashkernel to support fadump and to used by RPM scriptlet
    
    Resolves: bz1895258
    Upstream: Fedora
    Conflict: None
    
    commit 140da74a340f872b2579fc75b50a36fe7015c0ba
    Author: Coiby Xu <coxu@redhat.com>
    Date:   Wed Dec 1 13:39:40 2021 +0800
    
        rewrite reset_crashkernel to support fadump and to used by RPM scriptlet
    
        Rewrite kdumpctl reset-crashkernel KERNEL_PATH as
        kdumpctl reset-crashkernel [--fadump=[on|off|nocma]]  [--kernel=path_to_kernel] [--reboot]
    
        This interface would reset a specific kernel to the default crashkernel value
        given the kernel path. And it also supports grubby's syntax so there are the
        following special cases,
         - if --kernel not specified,
            - use KDUMP_KERNELVER if it's defined in /etc/sysconfig/kdump
            - otherwise use current running kernel, i.e. `uname -r`
         - if --kernel=DEFAULT, the default boot kernel is chosen
         - if --kernel=ALL, all kernels would have its crashkernel reset to the
           default value and the /etc/default/grub is updated as well
    
        --fadump=[on|off|nocma] toggles fadump on/off for the kernel provided
        in KERNEL_PATH. If --fadump is omitted, the dump mode is determined by
        parsing the kernel command line for the kernel(s) to update.
    
        CoreOS/Atomic/Silverblue needs to be treated as a special case because,
         - "rpm-ostree kargs" is used to manage kernel command line parameters
            so --kernel doesn't make sense and there is no need to find current
            running kernel
         - "rpm-ostree kargs" itself would prompt the user to reboot the system
           after modify the kernel command line parameter
         - POWER is not supported so we can assume the dump mode is always kdump
    
        This interface will also be called by kexec-tools RPM scriptlets [1]
        to reset crashkernel.
    
        Note the support of crashkenrel.default is dropped.
    
        [1] https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/
    
        Reviewed-by: Pingfan Liu <piliu@redhat.com>
        Reviewed-by: Philipp Rudo <prudo@redhat.com>
        Signed-off-by: Coiby Xu <coxu@redhat.com>
    
    Signed-off-by: Coiby Xu <coxu@redhat.com>
    
        
file modified
+179 -22
file modified
+12 -7