Bug 750446

Summary: install_initd fails to install services with dependencies
Product: [Fedora] Fedora Reporter: Aaron Sowry <aaron>
Component: chkconfigAssignee: Bill Nottingham <notting>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 15CC: aaron, astrand, notting, rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 751811 771454 (view as bug list) Environment:
Last Closed: 2012-08-07 20:28:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 751811    

Description Aaron Sowry 2011-11-01 08:01:28 UTC
Description of problem:
Running '/usr/lib/lsb/install_initd <service>' fails silently when installing services which have Required-Start dependencies.

Version-Release number of selected component (if applicable):
chkconfig-1.3.52-1.fc15.x86_64

How reproducible:
Always

Steps to Reproduce:
Run (for example) /usr/lib/lsb/install_initd openvpn.

Actual results:
chkconfig returns non-zero without installing the service

Expected results:
Service should be able to be installed using this method, as per LSB spec.

Additional info:
Removing the Required-Start line from the service script seems to allow things to be installed. Similar bug reports have been made multiple times previously (bug #632294, bug #508213, bug #647200) but the problem still persists in F15.

Comment 1 Bill Nottingham 2011-11-01 15:26:06 UTC
This particular issue is related to openvpn being disabled by default:

http://git.fedorahosted.org/git/?p=chkconfig.git;a=commitdiff;h=b65befc48af6c2b1e20717ac015d9dc7cafffbef

should fix it. (There are other issues with systemd integration looming, though.)

Comment 2 Aaron Sowry 2011-11-02 09:04:08 UTC
I'm not sure this resolves things completely. After applying the patch, I still have the same problem with init scripts which specify Default-Start/Default-Stop. For example, '/usr/lib/lsb/install_initd pcscd' still fails in the same way.

When you say the service is 'disabled by default', do you mean disabled in systemd, or just that the init script is missing the Default-Start/Default-Stop directives?

Comment 3 Bill Nottingham 2011-11-02 18:06:40 UTC
(In reply to comment #2)
> I'm not sure this resolves things completely. After applying the patch, I still
> have the same problem with init scripts which specify
> Default-Start/Default-Stop. For example, '/usr/lib/lsb/install_initd pcscd'
> still fails in the same way.

I can't reproduce this here, as long as I'm running a version of rsyslog with SysV start links in /etc/rc*.d. (See my second comment about other issues with systemd integration). It properly enables the service assuming all of rsyslog, netfs, and haldaemon are enabled.

> When you say the service is 'disabled by default', do you mean disabled in
> systemd, or just that the init script is missing the Default-Start/Default-Stop
> directives?

With no Default-Start line, it's presumed to not start in any runlevels, aka, disabled by default. In this case, strictly enforcing Required-Start dependencies is pointless.

If I may ask, why are you using install_initd? The fact that the LSB specification requires failure on any dependency issues is one of the things that makes using that as the interface problematic.

Comment 4 Aaron Sowry 2011-11-04 08:51:55 UTC
>With no Default-Start line, it's presumed to not start in any runlevels, aka,
>disabled by default. In this case, strictly enforcing Required-Start
>dependencies is pointless.

Okay, makes sense.

>If I may ask, why are you using install_initd? The fact that the LSB
>specification requires failure on any dependency issues is one of the things
>that makes using that as the interface problematic.

We are using it as part of an RPM %post script to install a service. This service only requires that $network is available, but seems to fail on systems that use systemd.

Comment 5 Bill Nottingham 2011-11-04 16:28:28 UTC
If it's using the default setup, where NetworkManager is a systemd service, and /etc/init.d/network is disabled, chkconfig won't see anything providing $network, and therefore it will throw an error. This is a bug (chkconfig can't/won't find provides from systemd services), but it's not a quick fix.

Comment 6 Aaron Sowry 2011-11-07 08:04:07 UTC
I see. Is there already a bug open for this?

Comment 7 Bill Nottingham 2011-11-07 16:33:28 UTC
There is now! (751811)

Comment 8 Fedora End Of Life 2012-08-07 20:28:16 UTC
This message is a notice that Fedora 15 is now at end of life. Fedora
has stopped maintaining and issuing updates for Fedora 15. It is
Fedora's policy to close all bug reports from releases that are no
longer maintained. At this time, all open bugs with a Fedora 'version'
of '15' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that
we were unable to fix it before Fedora 15 reached end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora, you are encouraged to click on
"Clone This Bug" (top right of this page) and open it against that
version of Fedora.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

The process we are following is described here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping