Bug 1490777

Summary: dracut logs "dracut-" instead of "dracut-$DRACUT_VERSION"
Product: Red Hat Enterprise Linux 7 Reporter: Renaud Métrich <rmetrich>
Component: dracutAssignee: Lukáš Nykrýn <lnykryn>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: low Docs Contact:
Priority: low    
Version: 7.4CC: dracut-maint-list, jstodola
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dracut-033-520.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 18:11:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Renaud Métrich 2017-09-12 08:34:22 UTC
Description of problem:

In the journal, when dracut runs as part of kernel update, the following gets printed:

dracut[1558]: dracut-
dracut[1560]: Executing: /sbin/dracut -f /boot/initramfs-3.10.0-693.1.1.el7.x86_64.img 3.10.0-

This is due to dlog_init() (/lib/dracut/dracut-logger.sh) being called before /lib/dracut/dracut-version.sh was sourced.


Version-Release number of selected component (if applicable):

dracut-033-502.el7.x86_64


How reproducible:

Always


Steps to Reproduce:
1. Update kernel
2. Check journal


Actual results:

dracut[1558]: dracut-


Expected results:

dracut-033-502.el7


Suggested fix: move sourcing of dracut-version.sh prior to sourcing dracut-init.sh

# diff -u /usr/sbin/dracut.orig /usr/sbin/dracut
--- /usr/sbin/dracut.orig	2017-09-12 10:31:24.552000000 +0200
+++ /usr/sbin/dracut	2017-09-12 10:31:38.965000000 +0200
@@ -857,6 +857,10 @@
     kmsgloglvl=0
 fi
 
+if [[ -f $dracutbasedir/dracut-version.sh ]]; then
+    . $dracutbasedir/dracut-version.sh
+fi
+
 if [[ -f $dracutbasedir/dracut-init.sh ]]; then
     . $dracutbasedir/dracut-init.sh
 else
@@ -875,10 +879,6 @@
     rm -fr -- ${initdir}/*
 fi
 
-if [[ -f $dracutbasedir/dracut-version.sh ]]; then
-    . $dracutbasedir/dracut-version.sh
-fi
-
 # Verify bash version, current minimum is 3.1
 if (( BASH_VERSINFO[0] < 4 )); then
     dfatal 'You need at least Bash 4 to use dracut, sorry.'

Comment 2 Lukáš Nykrýn 2017-09-12 08:50:47 UTC
We need to backport 9bbc1a982d9753a1eae16de3299a771891c2c462

Comment 5 Marek Hruscak 2017-12-13 15:07:22 UTC
Reproduced on RHEL-7.4-20170711.0 with dracut-033-502 .
Verified on RHEL-7.5-20171130.0	with dracut-033-520 .

Now correct log entry was shown in /var/log/messages .

Comment 8 errata-xmlrpc 2018-04-10 18:11:08 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:0964