Bug 1161417

Summary: mount units with the _netdev option don't order against remote-fs.target as documented
Product: Red Hat Enterprise Linux 7 Reporter: Chris Leech <cleech>
Component: systemdAssignee: Lukáš Nykrýn <lnykryn>
Status: CLOSED ERRATA QA Contact: Branislav Blaškovič <bblaskov>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.1CC: agrover, bblaskov, bgoncalv, brent, coughlan, greartes, jscotka, lnykryn, msekleta, ovasik, psklenar, systemd-maint-list
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: systemd-208-20.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 11:10:54 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:
Bug Depends On:    
Bug Blocks: 1065973, 1126524    
Attachments:
Description Flags
upstream patchset v2 none

Description Chris Leech 2014-11-07 05:30:23 UTC
Description of problem:
The _netdev mount option only works if it's part of an /etc/fstab entry, and then only when the fstab generator is run.

How reproducible:
Always

Steps to Reproduce:
1. mount any filesystem (intent if for remote like iSCSI, but not needed to test) with -o_netdev
2. check the generated mount unit with systemctl show

Actual results:
mount unit will have Before=local-fs.target

Expected results:
mount unit with Before=remote-fs.target After=remote-fs-pre.target

Additional info:

This issue is causing problems with iSCSI mounts on shutdown, where they need to be unmounted before the iSCSI sessions are shut down.

I've started a thread about this on systemd-devel

http://lists.freedesktop.org/archives/systemd-devel/2014-October/024596.html

and posted a set of RFC patches to start addressing this by using libmount

http://lists.freedesktop.org/archives/systemd-devel/2014-November/025021.html

Comment 2 Michal Sekletar 2014-11-07 07:45:59 UTC
Patches looks good to me, thanks for sending them, much appreciated. Anyway, let's wait for a review on systemd-devel first. Unfortunately it is too late for 7.1. Surely, this is something we want to backport. Setting flags accordingly.

Comment 3 Chris Leech 2014-11-25 05:25:46 UTC
asking this to be considered for 7.1 as it's blocking iSCSI installs in some setups (bz 1065973)

Comment 4 Chris Leech 2014-11-25 06:36:57 UTC
Created attachment 961011 [details]
upstream patchset v2

set of patches currently posted for upstream review

Comment 7 Lukáš Nykrýn 2014-12-18 14:25:36 UTC
test build with backported patches:
http://people.redhat.com/lnykryn/systemd/netdev/

Comment 11 Branislav Blaškovič 2015-01-22 14:12:11 UTC
OLD PACKAGE:
:: [   LOG    ] :: Package versions:
:: [   LOG    ] ::   systemd-208-11.el7.x86_64
:: [   LOG    ] :: Get name of generated unit/mount file by systemd
:: [   PASS   ] :: Command 'MOUNT_FILE=tmp-tmp.v83hp2Ffhm-mountithere.mount' (Expected 0, got 0)
:: [   PASS   ] :: Command 'systemctl show tmp-tmp.v83hp2Ffhm-mountithere.mount --no-pager' (Expected 0, got 0)
:: [   LOG    ] :: Check if mount unit has Before=remote-fs.target After=remote-fs-pre.target
:: [   FAIL   ] :: Command 'grep 'Before=' /var/tmp/tmp.P2Bd5r7QmD | grep 'remote-fs.target'' (Expected 0, got 1)
:: [   FAIL   ] :: Command 'grep 'After=' /var/tmp/tmp.P2Bd5r7QmD | grep 'remote-fs-pre.target'' (Expected 0, got 1)
:: [   LOG    ] :: Duration: 0s
:: [   LOG    ] :: Assertions: 2 good, 2 bad
:: [   FAIL   ] :: RESULT: Test


NEW PACKAGE:
:: [   LOG    ] :: Package versions:
:: [   LOG    ] ::   systemd-208-20.el7.x86_64
:: [   LOG    ] :: Get name of generated unit/mount file by systemd
:: [   PASS   ] :: Command 'MOUNT_FILE=tmp-tmp.slYu6sgoT7-mountithere.mount' (Expected 0, got 0)
:: [   PASS   ] :: Command 'systemctl show tmp-tmp.slYu6sgoT7-mountithere.mount --no-pager' (Expected 0, got 0)
:: [   LOG    ] :: Check if mount unit has Before=remote-fs.target After=remote-fs-pre.target
:: [   PASS   ] :: Command 'grep 'Before=' /var/tmp/tmp.bv90JtsVKt | grep 'remote-fs.target'' (Expected 0, got 0)
:: [   PASS   ] :: Command 'grep 'After=' /var/tmp/tmp.bv90JtsVKt | grep 'remote-fs-pre.target'' (Expected 0, got 0)
:: [   LOG    ] :: Duration: 1s
:: [   LOG    ] :: Assertions: 4 good, 0 bad
:: [   PASS   ] :: RESULT: Test

=> VERIFIED.

Comment 14 errata-xmlrpc 2015-03-05 11:10:54 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://rhn.redhat.com/errata/RHBA-2015-0509.html