Bug 1623901

Summary: s390: The cpi service in systemd is not enabled by defaults
Product: [Fedora] Fedora Reporter: Christian Borntraeger <borntraeger>
Component: fedora-releaseAssignee: Mohan Boddu <mboddu>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 28CC: awilliam, borntraeger, dan, dennis, jdisnard, jkeating, kellin, kevin, mboddu, pbrobinson, sgallagh, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: s390x   
OS: Linux   
Whiteboard: AcceptedFreezeException
Fixed In Version: fedora-release-29-0.16 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-09-18 06:21:02 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: 1517012    
Attachments:
Description Flags
patch for fedora-release none

Description Christian Borntraeger 2018-08-30 12:10:01 UTC
This is applicable to all newer Fedoras (and similar to the redhat bug 1527946)
Newer s390utils packages provide a systemd unit file that replaces the older cpi init script. This is used to (optionally) display the system name at the HMC and to also display the system type (Linux) as well as the kernel version.

Now the problem is that there is no system-preset for that systemd unit, which means that the cpi unit does not run (in contrast to the older init script)

How reproducible:
[root@localhost ~]# systemctl status cpi
● cpi.service - Apply Control Program Identification (CPI)
[..]

Actual results:
vendor preset: disabled

Expected results:
vendor preset: enabled


Proposed solution:
add an 
enable cpi.service
to 
/lib/systemd/system-preset/90-default.preset

(package fedora-release-*.noarch)

Comment 1 Peter Robinson 2018-08-30 12:13:07 UTC
Fee free to do a PR here to enable it: https://src.fedoraproject.org/rpms/fedora-release, it can be then reviewed and merged (you'll want both f29 and master PRs)

Comment 2 Stephen Gallagher 2018-08-30 12:54:42 UTC
Please see https://fedoraproject.org/wiki/Packaging:DefaultServices for the policy on systemd units.

Specifically, please read the "Enabling Services by Default" section and tell us whether it meets all of the conditions there. If not, a request has to go to FESCo for determination.

Comment 3 Christian Borntraeger 2018-08-30 13:11:34 UTC
Created attachment 1479809 [details]
patch for fedora-release

As I am still struggling to get the proper fedora acoount/git setup ready, here is  the patch for https://src.fedoraproject.org/rpms/fedora-release

Regarding the service itself: This is mostly a one-shot service but it can also be triggered by a udev rule.

cpi.service
- does not alter other services
- does not require pre-configuration to start
- does not exit with an error, even if the hardware interface is not there

Comment 4 Christian Borntraeger 2018-08-30 13:13:04 UTC
As an additional remark: the cpi.service is the replacement of the older cpi.initd init script (e.g. see
https://src.fedoraproject.org/rpms/s390utils/blob/f23/f/cpi.initd
)
that one was enabled by default as well.

Comment 5 Dan Horák 2018-08-30 13:37:51 UTC
I can help with that. We also need "device_cio_free" service to be enabled by default (until fully switched to zdev).

Comment 6 Dan Horák 2018-09-03 12:59:15 UTC
PR reported as https://src.fedoraproject.org/rpms/fedora-release/pull-request/22 (and pull-request/23 for f29)

Comment 7 Stephen Gallagher 2018-09-13 14:35:19 UTC
This was merged upstream but has yet to make it into the fedora-release RPM.

Mohan, could you look into this, please?

Comment 8 Fedora Blocker Bugs Application 2018-09-13 14:36:41 UTC
Proposed as a Freeze Exception for 29-beta by Fedora user sgallagh using the blocker tracking app because:

 Default service configuration is not changeable post-release, so this makes it a good candidate for a Freeze Exception.

Comment 9 Fedora Update System 2018-09-14 20:06:02 UTC
fedora-release-29-0.16 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-83b00773a8

Comment 10 Adam Williamson 2018-09-15 22:39:15 UTC
I'm +1 FE for this, seems useful for s390 and shouldn't be able to hurt anything else.

Comment 11 Mohan Boddu 2018-09-16 00:36:38 UTC
+1 FE

Comment 12 Adam Williamson 2018-09-16 00:45:43 UTC
Counting Stephen, that's +3.

Comment 13 Fedora Update System 2018-09-17 01:07:10 UTC
fedora-release-29-0.16 has been pushed to the Fedora 29 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-2018-83b00773a8

Comment 14 Fedora Update System 2018-09-18 06:21:02 UTC
fedora-release-29-0.16 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.

Comment 15 Christian Borntraeger 2018-09-18 07:27:00 UTC
The version that installs from 
https://download.fedoraproject.org/pub/fedora-secondary/development/29/Server/s390x/os
(e.g. via virt-install) still contains the old packages. So I still have the old default after a fresh install (the package is from August).

Will the install files be updated as well? Otherwise the admin has to know that it has to do  an
"systemctl preset cpi"
after "dnf update"

I can confirm that everything works after "dnf update"  + "systemctl preset cpi"

Comment 16 Dan Horák 2018-09-18 07:40:45 UTC
Based on comment #14 the updated fedora-release will appear in tomorrow's nightly compose (it probably missed today's). But you can verify it with the Beta RC3 (Fedora-29-20180916.0) from https://kojipkgs.fedoraproject.org/compose/29/Fedora-29-20180916.0/compose/Everything/s390x/os/ (the updated fedora-release is there).

Comment 17 Zbigniew Jędrzejewski-Szmek 2018-09-18 08:12:10 UTC
> I still have the old default after a fresh install (the package is from August).

Presets are applied only when the package is initially installed. So after the fedora-release package is updated, *new* installs will have the service enabled. If *old* installs are supposed to be updated automatically, this would have to be done by some custom scriptlet in the package (a %trigger scriptlet). s390utils don't contain any such scriptlets afaics.

Comment 18 Christian Borntraeger 2018-09-18 10:14:03 UTC
(In reply to Dan Horák from comment #16)
> ut you can verify it with the Beta RC3 (Fedora-29-20180916.0) from
> https://kojipkgs.fedoraproject.org/compose/29/Fedora-29-20180916.0/compose/
> Everything/s390x/os/ (the updated fedora-release is there).

Yes. I can confirm that this has the fix right from the start.

Comment 19 Adam Williamson 2018-09-18 15:40:34 UTC
Cool. If handling the update case is desired, maybe open a new bug for that? Thanks!

Comment 20 Christian Borntraeger 2018-09-18 15:50:54 UTC
as long as the release version of the f29 installer already contains the fix, we are probably good and do not need to worry about update.