Bug 1367729

Summary: systemctl reload acts on the wrong instance
Product: Red Hat Enterprise Linux 7 Reporter: Anand Buddhdev <aabdnn>
Component: systemdAssignee: systemd-maint
Status: CLOSED NOTABUG QA Contact: qe-baseos-daemons
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.2CC: jsynacek, systemd-maint-list
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-18 07:17:56 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:

Description Anand Buddhdev 2016-08-17 10:28:57 UTC
Description of problem:

When more than one instance of a system unit exist, systemctl reload does not reload all of them, but only the one started last.

Version-Release number of selected component (if applicable):

systemd-219-19.el7_2.12.x86_64

How reproducible:

Always

Steps to Reproduce:
1. create a systemd unit, and a systemd template with an ExecReload option
2. start the main unit and then start one instance from the template
3. try to reload both of them with "systemctl reload myservice\*"

Actual results:

systemd will reload just one services, but twice.

Expected results:

systemd should reload each service once.

Additional info:

Examples:

# ll /usr/lib/systemd/system/knot*
-r--r--r-- 1 root root 179 Aug 17 10:07 /usr/lib/systemd/system/knot.service
-r--r--r-- 1 root root 217 Aug 17 10:07 /usr/lib/systemd/system/knot@.service

# diff /usr/lib/systemd/system/knot*
2c2
< Description=Knot DNS server daemon
---
> Description=Knot DNS server %i
6,7c6,7
< ExecStart=/usr/sbin/knotd
< ExecReload=/usr/sbin/knotc reload
---
> ExecStart=/usr/sbin/knotd -c /etc/knot/%i.conf
> ExecReload=/usr/sbin/knotc -c /etc/knot/%i.conf reload

Comment 1 Anand Buddhdev 2016-08-18 07:07:52 UTC
Hello. I would like to apologise for this report. There isn't a bug. My unit configuration was incorrect, and both were binding to the same control socket, so the reload command was acting on the wrong daemon.