Bug 771454 - install_initd fails to install services with dependencies
Summary: install_initd fails to install services with dependencies
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: chkconfig
Version: 6.2
Hardware: x86_64
OS: Linux
medium
high
Target Milestone: rc
: ---
Assignee: Bill Nottingham
QA Contact: Martin Cermak
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-03 19:57 UTC by Bill Nottingham
Modified: 2014-03-17 03:29 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
If a LSB init script had Required-Start dependencies, but was not configured to start in any runlevel, the dependencies would be incorrectly applied and script installation could fail. chkconfig has been fixed to not strictly enforce Required-Start dependencies for installation if the service is not configured to start in any runlevel, and now such scripts install correctly.
Clone Of: 750446
Environment:
Last Closed: 2012-06-20 14:04:03 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2012:0873 0 normal SHIPPED_LIVE chkconfig bug fix update 2012-06-19 20:47:48 UTC

Description Bill Nottingham 2012-01-03 19:57:35 UTC
+++ This bug was initially created as a clone of Bug #750446 +++

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.

--- Additional comment from notting on 2011-11-01 11:26:06 EDT ---

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.)

--- Additional comment from aaron+rh on 2011-11-02 05:04:08 EDT ---

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?

--- Additional comment from notting on 2011-11-02 14:06:40 EDT ---

(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.

--- Additional comment from aaron+rh on 2011-11-04 04:51:55 EDT ---

>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.

--- Additional comment from notting on 2011-11-04 12:28:28 EDT ---

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.

--- Additional comment from aaron+rh on 2011-11-07 03:04:07 EST ---

I see. Is there already a bug open for this?

--- Additional comment from notting on 2011-11-07 11:33:28 EST ---

There is now! (751811)

Comment 2 Bill Nottingham 2012-02-24 19:36:50 UTC
Built as 1.3.49.3-1.

Comment 4 Bill Nottingham 2012-03-14 19:38:22 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
If a LSB init script had Required-Start dependencies, but was not configured to start in any runlevel, the dependencies would be incorrectly applied and script installation could fail. chkconfig has been fixed to not strictly enforce Required-Start dependencies for installation if the service is not configured to start in any runlevel, and now such scripts install correctly.

Comment 7 errata-xmlrpc 2012-06-20 14:04:03 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.

http://rhn.redhat.com/errata/RHBA-2012-0873.html


Note You need to log in before you can comment on or make changes to this bug.