Bug 1476207 - Enabling instance service doesn't work
Summary: Enabling instance service doesn't work
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: 389-ds-base
Version: 7.3
Hardware: Unspecified
OS: Unspecified
Target Milestone: pre-dev-freeze
: ---
Assignee: mreynolds
QA Contact: Viktor Ashirov
Marc Muehlfeld
Depends On:
TreeView+ depends on / blocked
Reported: 2017-07-28 09:47 UTC by Vojtech Juranek
Modified: 2021-06-10 12:41 UTC (History)
4 users (show)

Fixed In Version: 389-ds-base-
Doc Type: Bug Fix
Doc Text:
The *dirsrv@.service* meta target is now linked to *multi-user.target* Previously, the *dirsrv@.service* meta target had the "Wants" parameter set to "dirsrv.target" in its systemd file. When you enabled *dirsrv@.service*, this correctly enabled the service to the *dirsrv.target*, but *dirsrv.target* was not enabled. Consequently, Directory Server did not start when the system booted. With this update, the "dirsrv@.service" meta target is now linked to *multi-user.target*. As a result, when you enable *dirsrv@.service*, Directory Server starts automatically when the system boots.
Clone Of:
Last Closed: 2018-04-10 14:19:40 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Github 389ds 389-ds-base issues 2437 0 None None None 2020-09-13 22:02:41 UTC
Red Hat Product Errata RHBA-2018:0811 0 None None None 2018-04-10 14:20:43 UTC

Description Vojtech Juranek 2017-07-28 09:47:12 UTC
Description of problem:
Enabling RHDS 10.1 instance service on RHEL 7 doesn't work. Administration manual states that to enable instance service is done by running 

systemctl enable dirsrv@instance_name 

However, this doesn't survive restart. Searching for enabled units gives:

[root@host-172-16-64-130 ~]# systemctl list-unit-files | grep enabled | grep dirsrv
dirsrv@.service                               enabled 

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

How reproducible:

Steps to Reproduce:
1. create RHDS instance 'abc'
2. run systemctl enable dirsrv@abc
3. restart machine

Actual results:
dirsrv@abc is not running

Expected results:
dirsrv@abc is running

Additional info:
enabling all instances (systemctl enable dirsrv.target) works. Not surre if it's a bug in documentation or sysmted unit files (seems to me more likely).

OS: Red Hat Enterprise Linux Server release 7.3 (Maipo)
RHDS: redhat-ds-10.1.0-2.el7dsrv.x86_64

Comment 1 Viktor Ashirov 2017-07-28 10:02:29 UTC
Hi Vojtech,

could you please provide the version of 389-ds-base?


Comment 3 Vojtech Juranek 2017-07-28 10:41:23 UTC
version of 389-ds-base is 389-ds-base-

Comment 5 wibrown@redhat.com 2017-09-11 23:51:15 UTC
This is because of how we structure the unit files. today when you enable dirsrv, it's assigned to the dirsrv.target, and you need to enable that too. IE

systemctl enable dirsrv.target
systemctl enable dirsrv@instance

Really, we should not ship our own target, we should just have our services link to multi-user.target. I think we still need to ship our old target for legacy, but we should change to multi-user.target.

Comment 6 wibrown@redhat.com 2017-09-11 23:54:14 UTC
Upstream ticket:

Comment 8 Simon Pichugin 2017-11-03 15:40:02 UTC
Build tested:

Verification steps:
1. Setup an instance

2. Enable the instance:
[]# systemctl enable dirsrv@qeos-60
Created symlink from /etc/systemd/system/multi-user.target.wants/dirsrv to /usr/lib/systemd/system/dirsrv@.service.

3. Reboot the machine:
[]# reboot

4. Check the status:
[]# systemctl status dirsrv@qeos-60
● dirsrv - 389 Directory Server qeos-60.
   Loaded: loaded (/usr/lib/systemd/system/dirsrv@.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2017-11-03 11:33:36 EDT; 1min 44s ago
  Process: 1034 ExecStartPre=/usr/sbin/ds_systemd_ask_password_acl /etc/dirsrv/slapd-%i/dse.ldif (code=exited, status=0/SUCCESS)
 Main PID: 1052 (ns-slapd)
   Status: "slapd started: Ready to process requests"
   CGroup: /system.slice/system-dirsrv.slice/dirsrv
           └─1052 /usr/sbin/ns-slapd -D /etc/dirsrv/slapd-qeos-60 -i /var/run/dirsrv/slapd-q...

The instance is active after the reboot. Marking as verified.

Comment 18 errata-xmlrpc 2018-04-10 14:19:40 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.


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