Bug 988995

Summary: vdsm multipath.py restarts mutipathd, cutting the branch vdsm sits on
Product: Red Hat Enterprise Virtualization Manager Reporter: Antoni Segura Puimedon <asegurap>
Component: vdsmAssignee: Yeela Kaplan <ykaplan>
Status: CLOSED UPSTREAM QA Contact: Aharon Canan <acanan>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.3.0CC: abaron, acanan, amureini, asegurap, bazulay, danken, danken, dougsland, fsimonce, hateya, iheim, lpeer, oourfali, scohen, yeylon, ykaplan
Target Milestone: ---Keywords: Triaged
Target Release: 3.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: storage
Fixed In Version: is8 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-21 12:47:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 990980    
Bug Blocks: 988004, 988397    

Description Antoni Segura Puimedon 2013-07-26 20:57:51 UTC
Description of problem: 
vdsm/storage/multipath.py writes an /etc/multipath.conf containing "getuid_callout" which is no longer a valid configuration in F19. I experienced it with ovirt-node (sub-project that fixed this same bug for their default multipath.conf with https://bugzilla.redhat.com/show_bug.cgi?id=975109).

This wrong value makes multipathd die on startup, vdsmd.service requires multipathd.service and the dependency makes vdsmd be stopped and started creating all kinds of issues.


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


How reproducible:


Steps to Reproduce:
1. Install ovirt-node
2. Deploy vdsm from engine
3. multipath -d

Actual results:
Jul 26 22:45:15 | multipath.conf +5, invalid keyword: getuid_callout
Jul 26 22:45:15 | multipath.conf +18, invalid keyword: getuid_callout


Expected results:
multipathd starts correctly and stays in the foreground.

Additional info:

Comment 1 Dan Kenigsberg 2013-07-29 09:55:24 UTC
Yeela tells me that Benjamin Marzinski wrote in 28 Jan 2013 19:37:
http://comments.gmane.org/gmane.comp.emulators.ovirt.user/5969
"There's no harm at all in using invalid keywords in multipath.conf.  It
just prints a warning message."

We can see that multipathd in being restarted (just after its absence made systemd kill vdsm). That happens not due to the getuid_callout warning, but since vdsmd reconfigures and restarts multipathd upon its first start.

If systemd wins the race and notices this restart, vdsm looses and dies.
We should configure multipathd and restart it before Vdsm starts.
Would having `After=mutltipathd` be a reasonable hack?


===================================

Jul 28 12:16:07 dhcp-1-165 systemd[1]: Started Device-Mapper Multipath Device Controller.
Jul 28 12:16:08 dhcp-1-165 systemd-vdsmd[25284]: Starting multipathd...
Jul 28 12:16:09 dhcp-1-165 systemd[1]: Started Device-Mapper Multipath Device Controller.
Jul 28 12:16:11 dhcp-1-165 systemd[1]: Started Virtual Desktop Server Manager.
Jul 28 12:16:12 dhcp-1-165 systemd[1]: Stopping Virtual Desktop Server Manager...
Jul 28 12:16:12 dhcp-1-165 systemd[1]: Starting Device-Mapper Multipath Device Controller...
Jul 28 12:16:12 dhcp-1-165 kernel: [239493.264503] device-mapper: multipath: version 1.5.1 loaded
Jul 28 12:16:12 dhcp-1-165 systemd[1]: PID file /var/run/multipathd.pid not readable (yet?) after start.
Jul 28 12:16:12 dhcp-1-165 systemd-vdsmd[25871]: Shutting down vdsm daemon:
Jul 28 12:16:12 dhcp-1-165 kernel: [239493.301250] device-mapper: multipath service-time: version 0.2.0 loaded
Jul 28 12:16:12 dhcp-1-165 kernel: [239493.301488] device-mapper: table: 253:3: multipath: error getting device
Jul 28 12:16:12 dhcp-1-165 kernel: [239493.301536] device-mapper: ioctl: error adding target to table
Jul 28 12:16:12 dhcp-1-165 kernel: [239493.303174] device-mapper: table: 253:3: multipath: error getting device
Jul 28 12:16:12 dhcp-1-165 kernel: [239493.303206] device-mapper: ioctl: error adding target to table
Jul 28 12:16:12 dhcp-1-165 systemd[1]: Started Device-Mapper Multipath Device Controller.
Jul 28 12:16:12 dhcp-1-165 multipathd: multipath.conf +5, invalid keyword: getuid_callout
Jul 28 12:16:12 dhcp-1-165 multipathd: multipath.conf +18, invalid keyword: getuid_callout
Jul 28 12:16:12 dhcp-1-165 multipathd: ST3500418AS_Z2A11XDH: ignoring map
Jul 28 12:16:12 dhcp-1-165 multipathd: path checkers start up
Jul 28 12:16:12 dhcp-1-165 multipathd: dm-3: remove map (uevent)
Jul 28 12:16:12 dhcp-1-165 multipathd: dm-3: remove map (uevent)
Jul 28 12:16:12 dhcp-1-165 multipathd: dm-3: remove map (uevent)
Jul 28 12:16:12 dhcp-1-165 multipathd: dm-3: remove map (uevent)
Jul 28 12:16:12 dhcp-1-165 systemd-vdsmd[25871]: [  OK  ]#015vdsm watchdog stop[  OK  ]