Bug 1241704

Summary: systemd no longer able to run checkisomd5 in initramfs
Product: [Fedora] Fedora Reporter: David Shea <dshea>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 23CC: anaconda-maint-list, dracut-maint-list, dshea, g.kaviyarasu, harald, johannbg, jonathan, jsynacek, kparal, lnykryn, msekleta, pschindl, robatino, s, systemd-maint, vanmeeuwen+fedora, zbyszek
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: AcceptedBlocker
Fixed In Version: anaconda-23.19.6-1 anaconda-23.19.6-1.fc23 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-14 13:22:00 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: 1170821    

Description David Shea 2015-07-09 21:05:53 UTC
When dracut attempts to run checkisomd5, the service fails with result "resources".

Here's the output of systemctl status:

● checkisomd5
   Loaded: loaded (/etc/systemd/system/checkisomd5@.service; static; vendor preset: enabled)
   Active: failed (Result: resources)

Jul 09 20:53:49 localhost systemd[1]: [/etc/systemd/system/checkisomd5@.service:2] Failed to resolve unit specifiers on Media check on %f, ignoring: Invalid argument
Jul 09 20:53:49 localhost systemd[1]: checkisomd5: Failed to run 'start' task: Invalid argument
Jul 09 20:53:49 localhost systemd[1]: Failed to start checkisomd5.
Jul 09 20:53:49 localhost systemd[1]: checkisomd5: Unit entered failed state.
Jul 09 20:53:49 localhost systemd[1]: checkisomd5: Failed with result 'resources'.
Jul 09 20:53:49 localhost systemd[1]: Starting checkisomd5...
Jul 09 20:53:49 localhost systemd[1]: [/etc/systemd/system/checkisomd5@.service:2] Failed to resolve unit specifiers on Media check on %f, ignoring: Invalid argument


/etc/systemd/system/checkisomd5@.service is installed by dracut and is the same as it ever was:
[Unit]
Description=Media check on %f
DefaultDependencies=no
Before=shutdown.target

[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/bin/checkisomd5 --verbose %f
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit
TimeoutSec=0
SuccessExitStatus=2


Running checkisomd5 --verbose /dev/sr0 manually works fine.

Comment 1 Jan Kurik 2015-07-15 13:19:22 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 23 development cycle.
Changing version to '23'.

(As we did not run this process for some time, it could affect also pre-Fedora 23 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 23 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora23

Comment 2 Fedora Blocker Bugs Application 2015-07-15 20:07:07 UTC
Proposed as a Blocker for 23-final by Fedora user dshea using the blocker tracking app because:

 Validation of install media must work correctly for all release-blocking images.

Comment 3 Petr Schindler 2015-07-20 17:14:50 UTC
Discussed at today's blocker review meeting [1].

This bug was accepted as Final blocker - This bug is a violation of the following Final criterion: "Validation of install media must work correctly for all release-blocking images."

[1] http://meetbot.fedoraproject.org/fedora-blocker-review/2015-07-20/

Comment 4 Zbigniew Jędrzejewski-Szmek 2015-07-26 00:51:46 UTC
This was intentionally changed in

commit 7410616cd9dbbec97cf98d75324da5cda2b2f7a2
Author: Lennart Poettering <lennart>
Date:   Thu Apr 30 20:21:00 2015 +0200

    core: rework unit name validation and manipulation logic
    
    A variety of changes:
    
    - Make sure all our calls distuingish OOM from other errors if OOM is
      not the only error possible.
    
    - Be much stricter when parsing escaped paths, do not accept trailing or
      leading escaped slashes.

The solution is to remove the dash after "@" (checkisomd5).

So it's been like that in the last three released versions of systemd... I'd prefer if dracut could be updated to do that.

Comment 5 Zbigniew Jędrzejewski-Szmek 2015-07-26 01:07:22 UTC
Hm, maybe I was too quick to blame dracut. dracut function dev_unit_name() returns dev-md0 for /dev/md0, and has in fact done that since before commit c4b572b5ca767aec6cc8b5ba98b5fc76c991f690 (base/dracut-lib.sh: add dev_unit_name()) in early 2013. So I wonder where the unit name comes from...

Comment 6 Zbigniew Jędrzejewski-Szmek 2015-07-26 01:24:09 UTC
Which image was that?

Comment 7 Harald Hoyer 2015-07-27 12:47:27 UTC
bug 1239226

guess, I'll have to backport it to F23

Comment 8 Harald Hoyer 2015-07-27 12:48:40 UTC
oh, dracut >= 043-40.git20150710 already contains the fix.

Comment 9 Zbigniew Jędrzejewski-Szmek 2015-07-27 12:52:51 UTC
Stupid me, I was looking at the changes in the wrong file.

Comment 10 David Shea 2015-08-27 12:19:11 UTC
I'm getting the same results with dracut-043-60.git20150811.fc24.x86_64

Comment 11 Harald Hoyer 2015-10-02 10:50:36 UTC
This is anaconda-diskroot starting checkisomd5 with the wrong parameter. reassigning

Comment 12 David Shea 2015-10-02 14:09:19 UTC
(In reply to Harald Hoyer from comment #11)
> This is anaconda-diskroot starting checkisomd5 with the wrong parameter.
> reassigning

Could you maybe be more specific?

Comment 13 Harald Hoyer 2015-10-02 15:12:55 UTC
(In reply to David Shea from comment #12)
> (In reply to Harald Hoyer from comment #11)
> > This is anaconda-diskroot starting checkisomd5 with the wrong parameter.
> > reassigning
> 
> Could you maybe be more specific?

https://github.com/rhinstaller/anaconda/blob/master/dracut/anaconda-diskroot#L16

is the culprit.. fixed in dracut with

https://github.com/haraldh/dracut/commit/3d579309cde6c02a85ce7d3c396f61e7f064690b

Comment 14 Harald Hoyer 2015-10-02 15:15:33 UTC
(In reply to Harald Hoyer from comment #13)
> (In reply to David Shea from comment #12)
> > (In reply to Harald Hoyer from comment #11)
> > > This is anaconda-diskroot starting checkisomd5 with the wrong parameter.
> > > reassigning
> > 
> > Could you maybe be more specific?
> 
> https://github.com/rhinstaller/anaconda/blob/master/dracut/anaconda-
> diskroot#L16
> 
> is the culprit.. fixed in dracut with
> 
> https://github.com/haraldh/dracut/commit/
> 3d579309cde6c02a85ce7d3c396f61e7f064690b

a nice move from the anaconda devs would have been to put run_checkisomd5() in dracut and use it in both parts (anaconda-dracut and dracut)

I just discovered it.

Comment 15 David Shea 2015-10-02 15:18:51 UTC
(In reply to Harald Hoyer from comment #14)
> a nice move from the anaconda devs would have been to put run_checkisomd5()
> in dracut and use it in both parts (anaconda-dracut and dracut)

Pull requests are always welcome. https://github.com/rhinstaller/anaconda

Comment 16 Brian Lane 2015-10-02 23:46:33 UTC
*** Bug 1250414 has been marked as a duplicate of this bug. ***

Comment 17 Fedora Update System 2015-10-08 18:22:47 UTC
python-blivet-1.12.6-1.fc23 anaconda-23.19.6-1.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-6f7d535c92

Comment 18 Fedora Update System 2015-10-09 13:55:04 UTC
anaconda-23.19.6-1.fc23, python-blivet-1.12.6-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update anaconda python-blivet'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-6f7d535c92

Comment 19 Fedora Update System 2015-10-12 06:27:10 UTC
anaconda-23.19.6-1.fc23, python-blivet-1.12.6-1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.

Comment 20 Kamil Páral 2015-10-14 13:22:00 UTC
This is now fixed with F23 TC9. Tested Server DVD, Server netinst, Workstation netinst, BIOS and UEFI.