Univention Bugzilla – Full Text Bug Listing |
Summary: | Convert DHCP from runit to systemd | ||
---|---|---|---|
Product: | UCS | Reporter: | Philipp Hahn <hahn> |
Component: | DHCP | Assignee: | Sebastian Lobinger <lobinger> |
Status: | CLOSED FIXED | QA Contact: | Philipp Hahn <hahn> |
Severity: | normal | ||
Priority: | P5 | CC: | gohmann, requate |
Version: | UCS 4.4 | Keywords: | systemd |
Target Milestone: | UCS 5.0 | Flags: | hahn:
Patch_Available+
|
Hardware: | Other | ||
OS: | Linux | ||
See Also: |
https://forge.univention.org/bugzilla/show_bug.cgi?id=45065 https://forge.univention.org/bugzilla/show_bug.cgi?id=52885 |
||
What kind of report is it?: | Bug Report | What type of bug is this?: | 5: Major Usability: Impairs usability in key scenarios |
Who will be affected by this bug?: | 2: Will only affect a few installed domains | How will those affected feel about the bug?: | 2: A Pain – users won’t like this once they notice it |
User Pain: | 0.114 | Enterprise Customer affected?: | |
School Customer affected?: | ISV affected?: | ||
Waiting Support: | Flags outvoted (downgraded) after PO Review: | ||
Ticket number: | 2017070321000483 | Bug group (optional): | |
Max CVSS v3 score: | |||
Bug Depends on: | 43685, 43470, 45173 | ||
Bug Blocks: | 43691, 43330, 52448, 52828, 52885, 53175 |
Description
Philipp Hahn
2017-03-01 13:38:59 CET
When replacing runit by systemd, some join scripts/infrastructure must be updated to only start the service after joining: # find / -xdev \( -name log -o -name dpkg -o -name init.d -o -name cache \) -prune -o -type f -exec grep -n --color /etc/runit/univention {} + /usr/lib/univention-install/25univention-dhcp.inst:110:ln -s /etc/runit/univention-dhcp /etc/runit/univention/univention-dhcp >/dev/null 2>&1 /usr/lib/univention-install/90univention-bind-post.inst:88:if [ ! -e /etc/runit/univention/univention-bind-proxy ]; then /usr/lib/univention-install/90univention-bind-post.inst:89: ln -s /etc/runit/univention-bind-proxy /etc/runit/univention/univention-bind-proxy /usr/lib/univention-install/90univention-bind-post.inst:92:if [ ! -e /etc/runit/univention/univention-bind-samba4 ]; then /usr/lib/univention-install/90univention-bind-post.inst:93: ln -s /etc/runit/univention-bind-samba4 /etc/runit/univention/univention-bind-samba4 /usr/lib/univention-install/02univention-directory-notifier.inst:38:ln -sf /etc/runit/univention-directory-notifier /etc/runit/univention/univention-directory-notifier /usr/lib/univention-install/05univention-bind.inst:102:ln -s /etc/runit/univention-bind /etc/runit/univention/univention-bind >/dev/null 2>&1 /usr/lib/univention-install/03univention-directory-listener.inst:38:ln -sf /etc/runit/univention-directory-listener /etc/runit/univention/univention-directory-listener /etc/logrotate.d/univention-directory-notifier:21: test -x /usr/bin/sv && test -e /etc/runit/univention/univention-directory-notifier && sv term univention-directory-notifier || true /etc/logrotate.d/univention-dhcp:21: test -x /usr/bin/sv && test -e /etc/runit/univention/univention-dhcp && sv term univention-dhcp || true /etc/logrotate.d/univention-directory-listener:21: test -x /usr/bin/sv && test -e /etc/runit/univention/univention-directory-listener && sv term univention-directory-listener || true univention-join also has some internal knowledge of runit: /usr/share/univention-join/univention-join:665: if [ -e "/etc/runit/univention/$service" ] /usr/share/univention-join/univention-join:926:if [ -d /etc/runit/univention-directory-notifier ]; then /usr/share/univention-join/univention-join:931:if [ -d /etc/runit/univention-directory-listener ]; then This would also allow us to get rid of the "/etc/init.d/univention-dhcp shadows /etc/init.d/isc-dhcp-server" issue. Happened multiple times during UCS Technical Training Task #6729: DHCP fails to start because both "univention-dhcp" and "isc-dhcp-server" both try to start dhcpd - in the end none runs. This happened multiple times, but not on all systems. root@dc0:/etc/init.d# systemctl status \*dhcp\* ● isc-dhcp-server.service - LSB: DHCP server Loaded: loaded (/etc/init.d/isc-dhcp-server) Active: active (exited) since Fr 2017-07-21 08:17:29 CEST; 7h ago Process: 2067 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=0/SUCCESS) Jul 21 08:17:29 dc0 systemd[1]: Starting LSB: DHCP server... Jul 21 08:17:29 dc0 isc-dhcp-server[2067]: This script is disabled, use /etc/init.d/univention-dhcp.. Jul 21 08:17:29 dc0 systemd[1]: Started LSB: DHCP server. ● univention-dhcp.service - LSB: DHCP server Loaded: loaded (/etc/init.d/univention-dhcp) Active: failed (Result: exit-code) since Fr 2017-07-21 08:17:41 CEST; 7h ago Process: 2068 ExecStart=/etc/init.d/univention-dhcp start (code=exited, status=1/FAILURE) Jul 21 08:17:40 dc0 univention-dhcp[2068]: Starting DHCP server: dhcpdtimeout: down: univention-dhcp: 44s, want up Jul 21 08:17:41 dc0 univention-dhcp[2068]: failed! Jul 21 08:17:41 dc0 systemd[1]: univention-dhcp.service: control process exited, code=exited status=1 Jul 21 08:17:41 dc0 systemd[1]: Failed to start LSB: DHCP server. Jul 21 08:17:41 dc0 systemd[1]: Unit univention-dhcp.service entered failed state. Looks like it happens here also: Ticket #2017070321000483: root@dc:~# systemctl status \*dhcp\* ● univention-dhcp.service - LSB: DHCP server Loaded: loaded (/etc/init.d/univention-dhcp) Active: failed (Result: exit-code) since Fr 2017-07-21 13:51:29 CEST; 2 days ago Process: 2095 ExecStart=/etc/init.d/univention-dhcp start (code=exited, status=1/FAILURE) Jul 21 13:51:29 dc systemd[1]: univention-dhcp.service: control process exited, code=exited status=1 Jul 21 13:51:29 dc systemd[1]: Failed to start LSB: DHCP server. Jul 21 13:51:29 dc systemd[1]: Unit univention-dhcp.service entered failed state. Jul 21 13:51:29 dc univention-dhcp[2095]: Configuration file errors encountered -- exiting Jul 21 13:51:29 dc univention-dhcp[2095]: If you think you have received this message due to a bug rather Jul 21 13:51:29 dc univention-dhcp[2095]: than a configuration issue please read the section on submitting Jul 21 13:51:29 dc univention-dhcp[2095]: bugs on either our web page at www.isc.org or in the README file Jul 21 13:51:29 dc univention-dhcp[2095]: before submitting a bug. These pages explain the proper Jul 21 13:51:29 dc univention-dhcp[2095]: process and the information we find helpful for debugging.. Jul 21 13:51:29 dc univention-dhcp[2095]: exiting. ● isc-dhcp-server.service - LSB: DHCP server Loaded: loaded (/etc/init.d/isc-dhcp-server) Active: active (exited) since Fr 2017-07-21 13:51:26 CEST; 2 days ago Process: 2107 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=0/SUCCESS) Jul 21 13:51:26 dc isc-dhcp-server[2107]: This script is disabled, use /etc/init.d/univention-dhcp.. Jul 21 13:51:26 dc systemd[1]: Started LSB: DHCP server. root@dc:~# (In reply to Stefan Gohmann from comment #4) > Looks like it happens here also: Ticket #2017070321000483: In this case, the runsv process hasn't started the dhcp process even if the 'runsv univention-dhcp' process is running. After running 'sv up univention-dhcp' everything is working. The start problem has been fixed with Bug #45065. <git:phahn/43688-dhcp-systemd> Neither Debian nor upstream ISC are shipping systemd unit files. There is some work-in-progress by Debian at <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=792894>. Until then the systemd unit file generated by systemd-sysv-generator in /run/systemd/generator.late/isc-dhcp-server.service is used. It gets augmented by /lib/systemd/system/isc-dhcp-server.service.d/univention-dhcp.conf. This should allow the upstream package to have one /lib/systemd/system/isc-dhcp-server.service one day itself. Package: univention-dhcp Version: 14.0.2-1A~5.0.0.202012010949 Branch: ucs_5.0-0 Package: univention-system-setup Version: 13.0.2-3A~5.0.0.202012010958 Branch: ucs_5.0-0 OK: changelog OK: UMC system OK: ... [5.0-0] 148418ade4 Bug #43688 dhcp: Convert from runit to systemd services/univention-dhcp/debian/changelog | 6 ++++++ services/univention-dhcp/debian/control | 1 - 2 files changed, 6 insertions(+), 1 deletion(-) Remove dependency on univention-runit Package: univention-dhcp Version: 14.0.2-2A~5.0.0.202012011027 Branch: ucs_5.0-0 UCS 5.0 has been released: https://docs.software-univention.de/release-notes-5.0-0-en.html https://docs.software-univention.de/release-notes-5.0-0-de.html If this error occurs again, please use "Clone This Bug". |