Deactivate kdump in kickstart installation

Latest response

Hi all!

I'm installing Red Hat 8 with a kickstart config. There I'm deactivating kdump with the following lines:

%addon com_redhat_kdump --disable
%end

In the installation process it correctly says that kdump is disabled. But why do systemctl throws an error after the installation?

[root@hostname ~]# systemctl status kdump
● kdump.service - Crash recovery kernel arming
Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2020-05-22 14:24:09 CEST; 1h 38min ago
Main PID: 1036 (code=exited, status=1/FAILURE)

Shouldn't the kdump service be disabled?

Thanks in advance!

Responses

Hi Matthias,

The systemd unit file is configured to kdump service being enabled by default. :)
If kdump is enabled, it wouldn't work when the kdump service would be disabled.
Just run sudo systemctl mask kdump.service to get rid of the notifications.

Regards,
Christian

Hi Christian,

thanks for your reply. I agree, it makes sense to have the unit file enabled IF I activate kdump in the installation process. But what sense do the disable option make in the kickstart file when I have to deactivate the kdump.service after the installation manually? But then I have to disable or mask the service by salt afterwards if this is by design.. ;-)

Regards, Matthias

Hi Matthias,

It is a logical consequence chain : a systemd service can either be enabled, or disabled by default.
This is independent from what a user configures and - if the service is disabled, kdump can't work.

A lot of users enable and use kdump, so the service has to be enabled by default ... the other way
around : if it was disabled, all users who want to run kdump would first have to enable the service.

That would not be 'the best idea' - I think you can agree ... hope I could explain it good enough. :)

Regards,
Christian

Hi again,

sure, you're right. Most are using kdump, I also when I need it. So activating kdump is a default setting when I don't configure anything in the kickstart. But I was just wondering why I can disable kdump in the kickstart file? What is this option for when I have to disable it again afterwards manually? The kickstart guide itself says that "--disable" disables kdump on the installed system. Probably I've understood the kickstart documentation wrong. But than the option makes absolutely no sense to me in the kickstart config.

Regards, Matthias

Well Matthias, what can I say ? One user wants to make use of kdump, the other not - hence the
possibility to exclude it during the installation process. But is it really a problem ? Don't think so.
You can choose to either ignore the warning message, or - you can simply mask the service ... :)

Regards,
Christian

Hi Matthias,

In order to get answers on kdump related questions, I recommend to read the documentation
about how to install, configure, and use kdump : RHEL Installing and configuring kdump ... :)

Regards,
Christian

Hi Christian,

maybe I haven't wrote clearly what I mean or you got me wrong. English is not my native language. ;-) I know how to configure kdump IF I want it. I just wondered why it's active when I deactivate it in the kickstart. Nothing more. I don't wanted to open a discussion about if kdump itself makes sense or not. But thanks for your replys.

Regards, Matthias

You're welcome, Matthias ! No, I got what you mean and I think I answered your question before :
A systemd service can either be enabled, or disabled by default and here it is set to "enabled". :)

Regards,
Christian

Does anybody know how to disable kdump during a kickstart with Satellite? I can add the %addon option to the kickstart default template but there should be a better way to do that without modifying the locked standard. I couldn't find any template to disable kdump and it doesn't show up in the preview version of kickstart default template, but surprisingly it is automatically added to the end of my anaconda file.

I see that instead of using the "addon" feature of kickstart, the service itself could be set to disabled as shown below in the kickstart configuration file:

services --disabled=kdump

So, that later if required it could be enabled. Otherwise, if this is not required then it could be removed from "%packages" section. I presume this should work. This is something that I've not tested but should work as per https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/installation_guide/sect-kickstart-syntax

As I understand installing kdump add some commands to the grub (crashkernel=auto) to reserve some amount of memory for kdump (in my case 161MB). so the memory is already reserved despite of service status. and I'm trying to disable kdump to save memory for small machines. any suggestion is welcomed.

Also please advise if I should start a new post or keep my question in this loop. I'm a newbie here :)

HamidReza Hajimoradi,

If I look at my default anaconda.ks file which was built during the system installation phase shows that the package "kexec-tools" was mentioned as an additional package along with other core groups required, so if I wish to get rid of kdump then I'd better remove this package from the group. This way system would not install this package and there is no way for system to configure/reserve memory for kdump in this case. This is what it looks in my system:

%packages
@^minimal
@core
chrony
kexec-tools

%end

So, remove the "kexec-tools" from the list here. Also, you may have to remove the "crashkernel=auto" parameter from "bootloader" and without this it looks as below:

bootloader  --location=mbr --boot-drive=sda

If this is done, then you may remove the "%addon" section from the kickstart configuration file which is no more required.

I hope this helps. If this is not the answer what you are looking for then you may better trigger a new thread with all details so that community would help you further. All the best!

Thanks for the solution. I'll try to check this approach too. In the meanwhile, I tried another solution. As I'm using satellite and I try to have a minimal modification in the "kickstart default template," I used this scripts as a post-install procedure:

cat >  /tmp/post << EOF
sed -i 's/crashkernel=auto//g' /etc/default/grub
grub2-mkconfig > /boot/grub2/grub.cfg
systemctl disable kdump.service
systemctl mask kdump.service
EOF

and then I added this script to my custom post

hammer template create --name "Kickstart default custom post" --type snippet --file /tmp/post --organization-id 1

I still believe there should be a better approach inside kickstart default.