Bug 1749430

Summary: iwd.service cannot be started unless /var/lib/iwd is manually created
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: iwdAssignee: Lubomir Rintel <lkundrak>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 31CC: lkundrak, mpitt, pbrobinson
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: iwd-0.20-2.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-09-17 02:18:47 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: 1269538    

Description Adam Williamson 2019-09-05 15:23:10 UTC
As discussed in https://bugzilla.redhat.com/show_bug.cgi?id=1743585 , iwd.service currently fails to start on a clean install because it contains this line:

ReadWritePaths=/var/lib/iwd

but /var/lib/iwd doesn't exist after a clean install (iwd is actually intending to create it itself). Zbigniew (from systemd) says (in https://bugzilla.redhat.com/show_bug.cgi?id=1743585#c13 ):

"Let's ignore the slightly misleading error for now, I'll try to improve it.

Systemd doesn't know if the missing directory is important, so it refuses to
start. The unit would most likely fail anyway, so it's reasonable to do this.

There are a few options:
1. Replace ReadWritePaths=/var/lib/iwd by StateDirectory=iwd
2. Use tmpfiles.d to pre-create the directory
3. Remove the ReadWritePaths= lines as debian did
4. ask users to create the directory manually

Option 1. is what I would recommend. 2. is slightly worse. 3. and 4. are just bad."

Comment 1 Peter Robinson 2019-09-05 16:29:39 UTC
In theory you shouldn't have to start iwd as a service, but there's issues documented here https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/101

Comment 2 Fedora Update System 2019-09-07 14:32:10 UTC
FEDORA-2019-2a9d47ac59 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-2a9d47ac59

Comment 3 Fedora Update System 2019-09-07 16:57:54 UTC
iwd-0.20-2.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-2a9d47ac59

Comment 4 Martin Pitt 2019-09-08 08:17:43 UTC
The proposed fix in https://src.fedoraproject.org/rpms/iwd/c/f6118c3e04a64f335df5d doesn't seem to fix this. Remember that OSTree only contains /usr (and due to some indirection, /etc). Merely shipping these directories in the .rpm is neither required nor sufficient! Please use Zbigniew's suggestion with StateDirectory=iwd, it's the most straightforward and robust way to fix this.

Comment 5 Fedora Update System 2019-09-17 02:18:47 UTC
iwd-0.20-2.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.