Hi Coiby,
I have sent [PATCH] unit tests: adapt check_config to
gen-kdump-conf.sh, which amends the test case.
Could you help to have a review?
Thanks
On Wed, Nov 23, 2022 at 10:15 AM Coiby Xu <coxu(a)redhat.com> wrote:
Hi Pingfan,
Currently, spec/kdumpctl_general_spec.sh has a unit test parse_config on
default kdump.conf. With kdump.conf gone, the test is bypassed. Could
you adjust the unit test so the test can actually be done?
On Tue, Nov 15, 2022 at 12:00:09PM +0800, Pingfan Liu wrote:
>This commit has the same motivation as the commit 677da8a "sysconfig:
>use a simple generator script to maintain".
>
>At present, only the kdump.conf generated for s390x has a slight
>difference from the other arches, where the core_collector asks the
>makedumpfile to use "-c" option to compress dump data by each page using
>zlib, which is more efficient than lzo on s390x.
>
>Signed-off-by: Pingfan Liu <piliu(a)redhat.com>
>Reviewed-by: Philipp Rudo <prudo(a)redhat.com>
>---
> kdump.conf => gen-kdump-conf.sh | 38 +++++++++++++++++++++++++++++++++
> kexec-tools.spec | 5 +++--
> 2 files changed, 41 insertions(+), 2 deletions(-)
> rename kdump.conf => gen-kdump-conf.sh (95%)
> mode change 100644 => 100755
>
>diff --git a/kdump.conf b/gen-kdump-conf.sh
>old mode 100644
>new mode 100755
>similarity index 95%
>rename from kdump.conf
>rename to gen-kdump-conf.sh
>index e598a49..b71257d
>--- a/kdump.conf
>+++ b/gen-kdump-conf.sh
>@@ -1,3 +1,12 @@
>+#!/bin/bash
>+# $1: target arch
>+
>+
>+SED_EXP=""
>+
>+generate()
>+{
>+ sed "$SED_EXP" << EOF
> # This file contains a series of commands to perform (in order) in the kdump
> # kernel after a kernel crash in the crash kernel(1st kernel) has happened.
> #
>@@ -192,3 +201,32 @@ core_collector makedumpfile -l --message-level 7 -d 31
> #dracut_args --omit-drivers "cfg80211 snd" --add-drivers "ext2
ext3"
> #fence_kdump_args -p 7410 -f auto -c 0 -i 10
> #fence_kdump_nodes node1 node2
>+EOF
>+}
>+
>+update_param()
>+{
>+ SED_EXP="${SED_EXP}s/^$1.*$/$1 $2/;"
>+}
>+
>+case "$1" in
>+aarch64)
>+ ;;
>+i386)
>+ ;;
>+ppc64)
>+ ;;
>+ppc64le)
>+ ;;
>+s390x)
>+ update_param core_collector \
>+ "makedumpfile -c --message-level 7 -d 31"
>+ ;;
>+x86_64)
>+ ;;
>+*)
>+ echo "Warning: Unknown architecture '$1', using default
kdump.conf template."
>+ ;;
>+esac
>+
>+generate
>diff --git a/kexec-tools.spec b/kexec-tools.spec
>index bfa7a5b..cc62984 100644
>--- a/kexec-tools.spec
>+++ b/kexec-tools.spec
>@@ -12,8 +12,8 @@ Summary: The kexec/kdump userspace component
> Source0:
http://kernel.org/pub/linux/utils/kernel/kexec/%{name}-%{version}.tar.xz
> Source1: kdumpctl
> Source3: gen-kdump-sysconfig.sh
>+Source4: gen-kdump-conf.sh
> Source7: mkdumprd
>-Source8: kdump.conf
> Source9:
https://github.com/makedumpfile/makedumpfile/archive/%{mkdf_ver}/makedump...
> Source10: kexec-kdump-howto.txt
> Source11: fadump-howto.txt
>@@ -147,6 +147,7 @@ cp %{SOURCE34} .
>
> # Generate sysconfig file
> %{SOURCE3} %{_target_cpu} > kdump.sysconfig
>+%{SOURCE4} %{_target_cpu} > kdump.conf
>
> make
> %ifarch %{ix86} x86_64 ppc64 s390x ppc64le aarch64
>@@ -180,7 +181,7 @@ install -m 644 build/man/man8/kexec.8
$RPM_BUILD_ROOT%{_mandir}/man8/
> install -m 644 build/man/man8/vmcore-dmesg.8 $RPM_BUILD_ROOT%{_mandir}/man8/
>
> install -m 755 %{SOURCE7} $RPM_BUILD_ROOT/usr/sbin/mkdumprd
>-install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/kdump.conf
>+install -m 644 kdump.conf $RPM_BUILD_ROOT%{_sysconfdir}/kdump.conf
> install -m 644 kdump.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/kdump
> install -m 644 kexec/kexec.8 $RPM_BUILD_ROOT%{_mandir}/man8/kexec.8
> install -m 644 %{SOURCE12} $RPM_BUILD_ROOT%{_mandir}/man8/mkdumprd.8
>--
>2.31.1
>
--
Best regards,
Coiby