Bug 1306640 - Some values for root= in the cmdline cause "Cannot add dependency" errors during boot
Some values for root= in the cmdline cause "Cannot add dependency" errors dur...
Status: NEW
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: dracut (Show other bugs)
7.3
Unspecified Unspecified
high Severity high
: rc
: ---
Assigned To: Lukáš Nykrýn
Release Test Team
:
Depends On:
Blocks: ovirt-node-ng ovirt-node-ng-platform
  Show dependency treegraph
 
Reported: 2016-02-11 09:01 EST by Fabian Deutsch
Modified: 2017-08-21 04:36 EDT (History)
8 users (show)

See Also:
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: ---


Attachments (Terms of Use)

  None (edit)
Description Fabian Deutsch 2016-02-11 09:01:32 EST
Description of problem:
The following kernel commandline:

Kernel command line: BOOT_IMAGE=/ovirt-node-ng-4.0.0-0.0.master.20160211.0.el7+1/vmlinuz-3.10.0-327.4.5.el7.x86_64 root=/dev/onn/ovirt-node-ng-4.0.0-0.0.master.20160211.0.el7+1 ro crashkernel=auto rd.lvm.lv=onn/ovirt-node-ng-4.0.0-0.0.master.20160211.0.el7+1 rd.lvm.lv=onn/swap rhgb quiet LANG=en_US.UTF-8 img.bootid=ovirt-node-ng-4.0.0-0.0.master.20160211.0.el7+1 

Causes the following error message:
Feb 11 14:47:46 localhost systemd[1]: Cannot add dependency dev-onn-ovirt\x2dnode\x2dng\x2d4.0.0\x2d0.0.master.20160211.0.el7+1.device to initrd.target, ignoring: Invalid argument

By swithcing to the following root= argument the error goes away:
root=UUID=2c1392eb-4132-4b2f-b5f1-2dc49564278c

Version-Release number of selected component (if applicable):
RHEl 7.2
# rpm -q systemd kernel dracut
systemd-219-19.el7.x86_64
kernel-3.10.0-327.4.5.el7.x86_64
dracut-033-360.el7_2.x86_64


How reproducible:
Always

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:
Comment 1 Lukáš Nykrýn 2016-02-11 10:07:19 EST
If you still have a reproducer, could you add rd.break to command line and post here content of /etc/systemd/system/initrd.target.wants?
Comment 2 Fabian Deutsch 2016-02-11 10:16:09 EST
It only has dev-centos_installed-swap.device
Comment 3 Fabian Deutsch 2016-02-22 02:18:01 EST
Anything else I can help with?
Comment 5 Fabian Deutsch 2016-02-23 09:11:48 EST
I installed the scratch build and tried the following:

1. Installed the new build
2. Reboot
3. dracut -f …
4. Reboot

After 2: Error msg is still shown
After 4: Error msg is still shown.

I can not observer any change in behavior
Comment 6 Harald Hoyer 2016-03-08 10:29:06 EST
might be a dracut bug creating the device unit name.
Comment 8 Fabian Deutsch 2016-05-17 07:08:51 EDT
Ping?
Comment 9 Harald Hoyer 2016-07-22 06:04:48 EDT
please also search in /run and /usr

# grep -R . /{run,etc,usr/lib}/systemd/system/initrd.target.wants/*.device
Comment 10 Fabian Deutsch 2016-07-22 08:01:38 EDT
# grep -R . /{run,etc,usr/lib}/systemd/system/initrd.target.want 
grep: /run/systemd/system/initrd.target.wants/*.device: No such file or directory
grep: /etc/systemd/system/initrd.target.wants/*.device: No such file or directory
grep: /usr/lib/systemd/system/initrd.target.wants/*.device: No such file or directory

# find /{run,etc,usr/lib}/systemd/system/ | grep initrd
/usr/lib/systemd/system/initrd-switch-root.target.wants
/usr/lib/systemd/system/initrd-switch-root.target.wants/plymouth-start.service
/usr/lib/systemd/system/initrd-switch-root.target.wants/plymouth-switch-root.service
/usr/lib/systemd/system/initrd.target.wants
/usr/lib/systemd/system/initrd.target.wants/dracut-cmdline.service
/usr/lib/systemd/system/initrd.target.wants/dracut-initqueue.service
/usr/lib/systemd/system/initrd.target.wants/dracut-mount.service
/usr/lib/systemd/system/initrd.target.wants/dracut-pre-mount.service
/usr/lib/systemd/system/initrd.target.wants/dracut-pre-pivot.service
/usr/lib/systemd/system/initrd.target.wants/dracut-pre-trigger.service
/usr/lib/systemd/system/initrd.target.wants/dracut-pre-udev.service
/usr/lib/systemd/system/initrd.target
/usr/lib/systemd/system/initrd-cleanup.service
/usr/lib/systemd/system/initrd-fs.target
/usr/lib/systemd/system/initrd-parse-etc.service
/usr/lib/systemd/system/initrd-root-fs.target
/usr/lib/systemd/system/initrd-switch-root.service
/usr/lib/systemd/system/initrd-switch-root.target
/usr/lib/systemd/system/initrd-udevadm-cleanup-db.service
Comment 11 Fabian Deutsch 2016-07-22 08:04:17 EDT
# journalctl -b | egrep "Cannot|witch Ro"
Jul 22 13:45:09 localhost systemd[1]: Cannot add dependency dev-r4b_slot\x2d6c-rhvh\x2d4.0\x2d0.20160714.3+1.device to initrd.target, ignoring: Invalid argument
Jul 22 13:45:09 localhost systemd[1]: Cannot add dependency job for unit multipathd.service, ignoring: Unit blk-availability.service failed to load: No such file or directory.
Jul 22 13:45:11 localhost systemd[1]: Reached target Switch Root.
Jul 22 13:45:11 localhost systemd[1]: Starting Switch Root.
Jul 22 13:45:11 localhost systemd[1]: Starting Switch Root...

To give an idea where/when it is happening
Comment 12 Fabian Deutsch 2016-08-31 04:42:08 EDT
We are still seeing this, in production now - any news?
Comment 13 Sandro Bonazzola 2017-06-07 03:53:04 EDT
Still around in 7.3
Comment 15 Lukáš Nykrýn 2017-06-08 06:46:53 EDT
I am really sory for late answer. I have backported couple of patch that should improve how dracut mangle device names
Comment 17 Lukáš Nykrýn 2017-06-08 06:48:03 EDT
https://github.com/lnykryn/dracut/commits/bz1306640

Note You need to log in before you can comment on or make changes to this bug.