Bug 718403 - rsyslog-5.8.2-1.fc15.i686 init script fails reload
Summary: rsyslog-5.8.2-1.fc15.i686 init script fails reload
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: rsyslog
Version: 15
Hardware: i686
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Tomas Heinrich
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-07-02 13:23 UTC by Alessandro Selli
Modified: 2016-09-20 04:50 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2012-04-12 15:41:52 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Alessandro Selli 2011-07-02 13:23:47 UTC
Description of problem:
Attempt to reload service rsyslogd fails, even though the init script states that "reload" is a valid option.

Version-Release number of selected component (if applicable):
rsyslog-5.8.2-1.fc15.i686

How reproducible:
Just run the init script to reload.


Steps to Reproduce:
1.[root@krill ~]# /etc/init.d/rsyslog reload
2.
3.
  
Actual results:
Reloading rsyslog configuration (via systemctl):  Failed to issue method call: Job type reload is not applicable for unit rsyslog.service.
                                                                       [FAILED]

Expected results:
Service should have reloaded fine:
Reloading rsyslog configuration (via systemctl):                          [  OK  ]

Additional info:
Running the init script without arguments causes a help menu to be displayed that reports reload among the valid options:

[root@krill ~]# /etc/init.d/rsyslog 
Usage: /etc/init.d/rsyslog {start|stop|restart|condrestart|try-restart|reload|force-reload|status}

The problem did not affect Fedora14.

Comment 1 Tomas Heinrich 2011-07-11 13:57:58 UTC
The current version of the rsyslog daemon doesn't support a 'reload' operation, you have to do a full restart instead. In Fedora, this is the case since rsyslog-5.5.7-1.fc15.

However, the init script still includes the 'reload' operation as required by
https://fedoraproject.org/wiki/Packaging:SysVInitScript#Required_Actions
and indicates that it's not supported via exit code:
https://fedoraproject.org/wiki/Packaging:SysVInitScript#Exit_Codes_for_non-Status_Actions

Comment 2 Alessandro Selli 2011-07-16 07:08:49 UTC
It sounds funny that some features are to be considered "Required", yet an exit code is in place for the cases when it's unimplemented. I read in
https://fedoraproject.org/wiki/Packaging:SysVInitScript#Required_Actions
that "reload: reload the configuration of the service without actually stopping and restarting the service (if the service does not support this, do nothing)"; well, IMHO this conflicts with the existence of the "unimplemented feature" exit code. For the sake of unambiguity, the "if the service does not support this, do nothing" statement should be changed into: "if the service does not support this, exit with an unimplemented exit code".

Comment 3 Tomas Heinrich 2012-04-12 15:41:52 UTC
I guess it's not the actual feature that is required but just proper handling of the action keyword.
Feel free to propose the new wording.

Comment 4 Alessandro Selli 2012-04-14 15:04:00 UTC
(In reply to comment #3)
> I guess it's not the actual feature that is required but just proper handling
> of the action keyword.
> Feel free to propose the new wording.

The "Required Actions" section in the document quoted above states: "All SysV-style initscripts in Fedora must have implementations of the following actions:". It sounds to me that it is the actual feature that is required, i.e. that the action *must* be *implemented*, as it is a *required* action.  I proposed to change the wording as a temporary workaround, just to make the documentation and the messages produced by the commands consistent.

That said, this bug was opened on Fedora 15, which I no longer have.  I think it does not make sense spending time implementing new features on the init scripts for F15.  Opening a new bug on Fedora 16 too makes no sense, as it runs on systemd and almost nothing is left of SysV-style init scripts.

However, I'd like to point out that systemd too does not implement the reload action for rsyslog:

[root@stn02 ~]# systemctl reload rsyslog.service
Failed to issue method call: Job type reload is not applicable for unit rsyslog.service.

It also shares the same documentation inconsistance as F15 for the same service: I can read in https://fedoraproject.org/wiki/Systemd#Introduction that: «There are seven different types of units:

    service: these are the most obvious kind of unit: daemons that can be started, stopped, restarted, reloaded.»

It does not make clear, however, if the reload command is mandated or if it's an optional feature.


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