2019-03-22 12:36:57 |
Heitor Alves de Siqueira |
bug |
|
|
added bug |
2019-03-22 12:37:28 |
Heitor Alves de Siqueira |
nominated for series |
|
Ubuntu Cosmic |
|
2019-03-22 12:37:28 |
Heitor Alves de Siqueira |
bug task added |
|
openldap (Ubuntu Cosmic) |
|
2019-03-22 12:37:28 |
Heitor Alves de Siqueira |
nominated for series |
|
Ubuntu Bionic |
|
2019-03-22 12:37:28 |
Heitor Alves de Siqueira |
bug task added |
|
openldap (Ubuntu Bionic) |
|
2019-03-22 12:37:28 |
Heitor Alves de Siqueira |
nominated for series |
|
Ubuntu Xenial |
|
2019-03-22 12:37:28 |
Heitor Alves de Siqueira |
bug task added |
|
openldap (Ubuntu Xenial) |
|
2019-03-22 12:37:37 |
Heitor Alves de Siqueira |
openldap (Ubuntu Xenial): status |
New |
Confirmed |
|
2019-03-22 12:37:39 |
Heitor Alves de Siqueira |
openldap (Ubuntu Bionic): status |
New |
Confirmed |
|
2019-03-22 12:37:40 |
Heitor Alves de Siqueira |
openldap (Ubuntu Cosmic): status |
New |
Confirmed |
|
2019-03-22 12:37:43 |
Heitor Alves de Siqueira |
openldap (Ubuntu Xenial): assignee |
|
Heitor R. Alves de Siqueira (halves) |
|
2019-03-22 12:37:44 |
Heitor Alves de Siqueira |
openldap (Ubuntu Bionic): assignee |
|
Heitor R. Alves de Siqueira (halves) |
|
2019-03-22 12:37:46 |
Heitor Alves de Siqueira |
openldap (Ubuntu Cosmic): assignee |
|
Heitor R. Alves de Siqueira (halves) |
|
2019-03-22 12:37:48 |
Heitor Alves de Siqueira |
openldap (Ubuntu Xenial): importance |
Undecided |
Medium |
|
2019-03-22 12:37:49 |
Heitor Alves de Siqueira |
openldap (Ubuntu Bionic): importance |
Undecided |
Medium |
|
2019-03-22 12:37:51 |
Heitor Alves de Siqueira |
openldap (Ubuntu Cosmic): importance |
Undecided |
Medium |
|
2019-03-22 13:13:23 |
Heitor Alves de Siqueira |
attachment added |
|
debdiff for disco https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+attachment/5248489/+files/lp1821343-disco.debdiff |
|
2019-03-22 13:13:49 |
Heitor Alves de Siqueira |
attachment added |
|
debdiff for cosmic https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+attachment/5248490/+files/lp1821343-cosmic.debdiff |
|
2019-03-22 13:13:50 |
Heitor Alves de Siqueira |
attachment added |
|
debdiff for cosmic https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+attachment/5248491/+files/lp1821343-cosmic.debdiff |
|
2019-03-22 13:14:02 |
Heitor Alves de Siqueira |
attachment removed |
debdiff for cosmic https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+attachment/5248491/+files/lp1821343-cosmic.debdiff |
|
|
2019-03-22 13:14:20 |
Heitor Alves de Siqueira |
attachment added |
|
debdiff for bionic https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+attachment/5248492/+files/lp1821343-bionic.debdiff |
|
2019-03-22 13:14:42 |
Heitor Alves de Siqueira |
attachment added |
|
debdiff for xenial https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+attachment/5248493/+files/lp1821343-xenial.debdiff |
|
2019-03-22 13:16:42 |
Heitor Alves de Siqueira |
tags |
sts |
sts sts-sponsor |
|
2019-03-22 13:16:57 |
Heitor Alves de Siqueira |
bug |
|
|
added subscriber STS Sponsors |
2019-03-22 16:23:03 |
Ubuntu Foundations Team Bug Bot |
tags |
sts sts-sponsor |
patch sts sts-sponsor |
|
2019-03-22 16:23:16 |
Ubuntu Foundations Team Bug Bot |
bug |
|
|
added subscriber Ubuntu Sponsors Team |
2019-03-22 18:35:51 |
Heitor Alves de Siqueira |
attachment removed |
debdiff for disco https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+attachment/5248489/+files/lp1821343-disco.debdiff |
|
|
2019-03-22 18:36:00 |
Heitor Alves de Siqueira |
attachment removed |
debdiff for cosmic https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+attachment/5248490/+files/lp1821343-cosmic.debdiff |
|
|
2019-03-22 18:36:09 |
Heitor Alves de Siqueira |
attachment removed |
debdiff for bionic https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+attachment/5248492/+files/lp1821343-bionic.debdiff |
|
|
2019-03-22 18:36:18 |
Heitor Alves de Siqueira |
attachment removed |
debdiff for xenial https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1821343/+attachment/5248493/+files/lp1821343-xenial.debdiff |
|
|
2019-03-26 09:22:25 |
Andras Olah |
bug |
|
|
added subscriber Andras Olah |
2019-04-08 18:08:08 |
Heitor Alves de Siqueira |
bug watch added |
|
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=926657 |
|
2019-04-08 18:08:08 |
Heitor Alves de Siqueira |
bug task added |
|
openldap (Debian) |
|
2019-04-08 18:09:37 |
Heitor Alves de Siqueira |
attachment added |
|
lp1821343-disco.debdiff https://bugs.launchpad.net/debian/+source/openldap/+bug/1821343/+attachment/5254240/+files/lp1821343-disco.debdiff |
|
2019-04-08 23:58:26 |
Bug Watch Updater |
openldap (Debian): status |
Unknown |
New |
|
2019-04-09 12:47:07 |
Eric Desrochers |
description |
[Impact]
Systemd service reports slapd as active, even though it may have failed
[Description]
The slapd package for OpenLDAP is shipped with a SysV-style init script (/etc/init.d/slapd). Systemd automatically converts this to a systemd service by generating the unit file using the systemd-sysv-generator(8) utility. The generated unit file contains Type=forking and RemainAfterExit=yes directives.
If the slapd daemon process exits due to some failure (e.g., it receives a SIGTERM or SIGKILL), the failure is not detected properly by systemd. The service is still reported as active even though the child (daemon) process has exited with a signal.
We can easily fix this by including a proper systemd service file for slapd in the openldap package. Since the init.d script already does most of the necessary work (parsing configs, setting up PID files, etc.), we don't need anything complicated for the systemd unit file. Just making sure that RemainAfterExit is set to "no" makes the systemd service behave in the expected way.
[Test Case]
1) Deploy a disco container
$ lxc launch images:ubuntu/disco disco
2) Install slapd
ubuntu@disco:~$ sudo apt update && sudo apt install slapd -y
3) Verify that slapd is running with the auto-generated service
ubuntu@disco:~$ systemctl status slapd
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol)
Loaded: loaded (/etc/init.d/slapd; generated)
Active: active (running) since Fri 2019-03-22 11:51:22 UTC; 40min ago
Docs: man:systemd-sysv-generator(8)
Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, status=0/SUCCESS)
Tasks: 3 (limit: 4915)
Memory: 712.6M
CGroup: /system.slice/slapd.service
└─1109 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u openldap -F /etc/ldap/slapd.d
4) SIGKILL the slapd process (PID is displayed in systemctl status output)
ubuntu@disco:~$ sudo kill -9 1109
5) Check if systemd service lists slapd as still active, even though it was terminated
ubuntu@disco:~$ systemctl status slapd
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol)
Loaded: loaded (/etc/init.d/slapd; generated)
Active: active (exited) since Fri 2019-03-22 11:51:22 UTC; 42min ago
Docs: man:systemd-sysv-generator(8)
Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, status=0/SUCCESS)
[Regression Potential]
The regression potential for this fix should be very low, if we keep the new systemd unit file close to the one generated by systemd-sysv-generator(8). The only significant change would be the RemainAfterExit directive, and this should make the slapd service behave like a "normal" forking service. Nonetheless, we'll perform scripted test runs to make sure no regressions arise. |
[Impact]
Systemd service reports slapd as active, even though it may have failed
[Description]
The slapd package for OpenLDAP is shipped with a SysV-style init script (/etc/init.d/slapd). Systemd automatically converts this to a systemd service by generating the unit file using the systemd-sysv-generator(8) utility. The generated unit file contains Type=forking and RemainAfterExit=yes directives.
If the slapd daemon process exits due to some failure (e.g., it receives a SIGTERM or SIGKILL), the failure is not detected properly by systemd. The service is still reported as active even though the child (daemon) process has exited with a signal.
We can easily fix this by including a proper systemd service file for slapd in the openldap package. Since the init.d script already does most of the necessary work (parsing configs, setting up PID files, etc.), we don't need anything complicated for the systemd unit file. Just making sure that RemainAfterExit is set to "no" makes the systemd service behave in the expected way.
[Test Case]
1) Deploy a disco container
$ lxc launch images:ubuntu/disco disco
2) Install slapd
ubuntu@disco:~$ sudo apt update && sudo apt install slapd -y
3) Verify that slapd is running with the auto-generated service
ubuntu@disco:~$ systemctl status slapd
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol)
Loaded: loaded (/etc/init.d/slapd; generated)
Active: active (running) since Fri 2019-03-22 11:51:22 UTC; 40min ago
Docs: man:systemd-sysv-generator(8)
Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, status=0/SUCCESS)
Tasks: 3 (limit: 4915)
Memory: 712.6M
CGroup: /system.slice/slapd.service
└─1109 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u openldap -F /etc/ldap/slapd.d
4) SIGKILL the slapd process (PID is displayed in systemctl status output)
ubuntu@disco:~$ sudo kill -9 1109
5) Check if systemd service lists slapd as still active, even though it was terminated
ubuntu@disco:~$ systemctl status slapd
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol)
Loaded: loaded (/etc/init.d/slapd; generated)
Active: active (exited) since Fri 2019-03-22 11:51:22 UTC; 42min ago
Docs: man:systemd-sysv-generator(8)
Process: 1103 ExecStart=/etc/init.d/slapd start (code=exited, status=0/SUCCESS)
6) Check if systemd has loaded both /run/systemd/generator.late/slapd.service & /usr/lib/systemd/system/slapd.service.d/slapd-remain-after-exit.conf
$ systemctl cat slapd
[Regression Potential]
The regression potential for this fix should be very low, if we keep the new systemd unit file close to the one generated by systemd-sysv-generator(8). The only significant change would be the RemainAfterExit directive, and this should make the slapd service behave like a "normal" forking service. Nonetheless, we'll perform scripted test runs to make sure no regressions arise. |
|
2019-04-09 13:14:07 |
Heitor Alves de Siqueira |
attachment added |
|
v2-lp1821343-disco.debdiff https://bugs.launchpad.net/debian/+source/openldap/+bug/1821343/+attachment/5254440/+files/v2-lp1821343-disco.debdiff |
|
2019-04-09 13:27:13 |
Eric Desrochers |
openldap (Ubuntu Cosmic): status |
Confirmed |
In Progress |
|
2019-04-09 13:27:21 |
Eric Desrochers |
openldap (Ubuntu Cosmic): status |
In Progress |
Confirmed |
|
2019-04-09 13:27:24 |
Eric Desrochers |
openldap (Ubuntu): status |
Confirmed |
In Progress |
|
2019-04-10 07:37:02 |
Launchpad Janitor |
openldap (Ubuntu): status |
In Progress |
Fix Released |
|
2019-04-10 13:11:37 |
Heitor Alves de Siqueira |
attachment added |
|
lp1821343-cosmic.debdiff https://bugs.launchpad.net/debian/+source/openldap/+bug/1821343/+attachment/5254686/+files/lp1821343-cosmic.debdiff |
|
2019-04-10 13:11:52 |
Heitor Alves de Siqueira |
attachment added |
|
lp1821343-bionic.debdiff https://bugs.launchpad.net/debian/+source/openldap/+bug/1821343/+attachment/5254687/+files/lp1821343-bionic.debdiff |
|
2019-04-10 13:12:09 |
Heitor Alves de Siqueira |
attachment added |
|
lp1821343-xenial.debdiff https://bugs.launchpad.net/debian/+source/openldap/+bug/1821343/+attachment/5254688/+files/lp1821343-xenial.debdiff |
|
2019-04-10 13:12:20 |
Heitor Alves de Siqueira |
attachment removed |
lp1821343-disco.debdiff https://bugs.launchpad.net/debian/+source/openldap/+bug/1821343/+attachment/5254240/+files/lp1821343-disco.debdiff |
|
|
2019-04-10 20:05:27 |
Dan Streetman |
tags |
patch sts sts-sponsor |
patch sts sts-sponsor sts-sponsor-ddstreet |
|
2019-04-10 23:57:04 |
Dan Streetman |
removed subscriber Ubuntu Sponsors Team |
|
|
|
2019-04-16 09:36:58 |
Łukasz Zemczak |
openldap (Ubuntu Cosmic): status |
Confirmed |
Fix Committed |
|
2019-04-16 09:39:37 |
Łukasz Zemczak |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2019-04-16 09:39:39 |
Łukasz Zemczak |
bug |
|
|
added subscriber SRU Verification |
2019-04-16 09:39:42 |
Łukasz Zemczak |
tags |
patch sts sts-sponsor sts-sponsor-ddstreet |
patch sts sts-sponsor sts-sponsor-ddstreet verification-needed verification-needed-cosmic |
|
2019-04-16 15:14:44 |
Eric Desrochers |
removed subscriber STS Sponsors |
|
|
|
2019-04-22 12:40:28 |
Adam Conrad |
openldap (Ubuntu Bionic): status |
Confirmed |
Fix Committed |
|
2019-04-22 12:40:35 |
Adam Conrad |
tags |
patch sts sts-sponsor sts-sponsor-ddstreet verification-needed verification-needed-cosmic |
patch sts sts-sponsor sts-sponsor-ddstreet verification-needed verification-needed-bionic verification-needed-cosmic |
|
2019-04-22 12:45:32 |
Adam Conrad |
openldap (Ubuntu Xenial): status |
Confirmed |
Fix Committed |
|
2019-04-22 12:45:39 |
Adam Conrad |
tags |
patch sts sts-sponsor sts-sponsor-ddstreet verification-needed verification-needed-bionic verification-needed-cosmic |
patch sts sts-sponsor sts-sponsor-ddstreet verification-needed verification-needed-bionic verification-needed-cosmic verification-needed-xenial |
|
2019-04-22 20:18:20 |
Heitor Alves de Siqueira |
tags |
patch sts sts-sponsor sts-sponsor-ddstreet verification-needed verification-needed-bionic verification-needed-cosmic verification-needed-xenial |
patch sts sts-sponsor sts-sponsor-ddstreet verification-done-cosmic verification-needed verification-needed-bionic verification-needed-xenial |
|
2019-04-22 20:21:15 |
Heitor Alves de Siqueira |
tags |
patch sts sts-sponsor sts-sponsor-ddstreet verification-done-cosmic verification-needed verification-needed-bionic verification-needed-xenial |
patch sts sts-sponsor sts-sponsor-ddstreet verification-done-bionic verification-done-cosmic verification-needed verification-needed-xenial |
|
2019-04-22 20:24:49 |
Heitor Alves de Siqueira |
tags |
patch sts sts-sponsor sts-sponsor-ddstreet verification-done-bionic verification-done-cosmic verification-needed verification-needed-xenial |
patch sts sts-sponsor sts-sponsor-ddstreet verification-done verification-done-bionic verification-done-cosmic verification-done-xenial |
|
2019-04-23 09:04:56 |
Launchpad Janitor |
openldap (Ubuntu Cosmic): status |
Fix Committed |
Fix Released |
|
2019-04-23 09:05:04 |
Łukasz Zemczak |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2019-04-29 11:02:23 |
Launchpad Janitor |
openldap (Ubuntu Bionic): status |
Fix Committed |
Fix Released |
|
2019-04-29 11:08:05 |
Launchpad Janitor |
openldap (Ubuntu Xenial): status |
Fix Committed |
Fix Released |
|
2019-04-29 11:29:43 |
Dan Streetman |
tags |
patch sts sts-sponsor sts-sponsor-ddstreet verification-done verification-done-bionic verification-done-cosmic verification-done-xenial |
patch sts verification-done verification-done-bionic verification-done-cosmic verification-done-xenial |
|
2019-07-27 18:47:59 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~ahasenack/ubuntu/+source/openldap/+git/openldap/+merge/370689 |
|
2019-07-29 12:25:22 |
Andreas Hasenack |
merge proposal unlinked |
https://code.launchpad.net/~ahasenack/ubuntu/+source/openldap/+git/openldap/+merge/370689 |
|
|
2019-07-30 17:11:10 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~ahasenack/ubuntu/+source/openldap/+git/openldap/+merge/370689 |
|
2019-07-30 17:22:33 |
Andreas Hasenack |
merge proposal unlinked |
https://code.launchpad.net/~ahasenack/ubuntu/+source/openldap/+git/openldap/+merge/370689 |
|
|
2019-10-08 11:51:55 |
Bug Watch Updater |
openldap (Debian): status |
New |
Fix Released |
|
2022-06-13 18:23:01 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~sergiodj/ubuntu/+source/openldap/+git/openldap/+merge/424341 |
|
2022-06-13 19:08:48 |
Launchpad Janitor |
merge proposal unlinked |
https://code.launchpad.net/~sergiodj/ubuntu/+source/openldap/+git/openldap/+merge/424341 |
|
|