Bug 1476207 - Enabling instance service doesn't work
Summary: Enabling instance service doesn't work
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: 389-ds-base   
(Show other bugs)
Version: 7.3
Hardware: Unspecified Unspecified
low
unspecified
Target Milestone: pre-dev-freeze
: ---
Assignee: mreynolds
QA Contact: Viktor Ashirov
Marc Muehlfeld
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-07-28 09:47 UTC by Vojtech Juranek
Modified: 2018-04-10 14:20 UTC (History)
4 users (show)

Fixed In Version: 389-ds-base-1.3.7.5-5.el7
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.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2018-04-10 14:19:40 UTC
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0811 None None None 2018-04-10 14:20 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):
RHDS 10

How reproducible:
always

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?

Thanks.

Comment 3 Vojtech Juranek 2017-07-28 10:41:23 UTC
Hi,
version of 389-ds-base is 389-ds-base-1.3.5.10-21.el7_3.x86_64
Thanks

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:
https://pagure.io/389-ds-base/issue/49378

Comment 8 Simon Pichugin 2017-11-03 15:40:02 UTC
Build tested:
389-ds-base-1.3.7.5-6.el7.x86_64

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@qeos-60.service to /usr/lib/systemd/system/dirsrv@.service.

3. Reboot the machine:
[]# reboot

4. Check the status:
[]# systemctl status dirsrv@qeos-60
● dirsrv@qeos-60.service - 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@qeos-60.service
           └─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.

https://access.redhat.com/errata/RHBA-2018:0811


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