Bug 1732786

Summary: "[FAILED] Failed start Load Kernel Modules." error message on boot
Product: Red Hat Enterprise Linux 7 Reporter: sputnik <kli0rf>
Component: systemdAssignee: systemd-maint
Status: NEW --- QA Contact: Frantisek Sumsal <fsumsal>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.6CC: systemd-maint-list
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description sputnik 2019-07-24 11:22:58 UTC
I get this "[FAILED] Failed start Load Kernel Modules. See 'systemctl status systemd-modules-load.service' for details." on boot. I only got one module loaded on boot, that is nf_nat_ftp. And it loads alrite, but that message on boot doesn't feel right. However i can get rid of that message. If /etc/modules-load.d directory is empty while installing a [new] kernel, then no message appears on booting that kernel, even if i load modules by moving nf_nat_ftp.conf back to /etc/modules-load.d directory before reboot. Seems like install script looks for the contents of that directory while installing a kernel and does something wrong.

It's easy to reproduce:
# echo 'nf_nat_ftp' > /etc/modules-load.d/nf_nat_ftp.conf

Then just install a kernel, either the new one, or a previous one. Then reboot and boot the newly installed kernel.

# yum install 3.10.0-957.21.2.el7
# shutdown -r now

You don't even need the module (and it's dependencies, if any) to be loaded while installing the kernel. So i ain't sure if this is a bug of systemd, kernel install script or systemd-modules-load.service file, but it bothers to move contents of /etc/modules-load.d directory to some other place everytime before installing a new kernel if you wanna clean boot, without any error messages.