Bug 43691 - Convert legacy SysV init scripts to systemd service units
Convert legacy SysV init scripts to systemd service units
Status: NEW
Product: UCS
Classification: Unclassified
Component: General
UCS 4.4
Other Linux
: P5 normal (vote)
: UCS 5.x
Assigned To: UCS maintainers
UCS maintainers
: systemd
Depends on: 44137 52976 53337 43470 43686 43687 43688 43689 43872 53885
Blocks: 43330
  Show dependency treegraph
 
Reported: 2017-03-01 15:29 CET by Philipp Hahn
Modified: 2023-12-07 21:24 CET (History)
5 users (show)

See Also:
What kind of report is it?: Development Internal
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): API change, Cleanup, Further conceptual development, Release Goal
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Hahn univentionstaff 2017-03-01 15:29:20 CET
We should convert all remaining SysV init scripts into systemd service units:
- improves robustness
- we can get rid of all those horrible shell scripts
- we get service supervision for free if desired
- it reduces complexity as only one init system gets used
- sysv is deprecated

$ find -name testframework -prune -o \( -path \*/debian/init -o -path \*/debian/\*.init\* -o -path \*/conffiles/etc/init.d/ \) -printf '%P\n'
saml/univention-saml/debian/univention-saml.init
container/univention-docker-container-mode/debian/univention-docker-container-mode.init
management/univention-directory-policy/debian/univention-directory-policy.init
management/univention-directory-listener/debian/univention-directory-listener.init
management/univention-directory-notifier/debian/univention-directory-notifier.init
management/univention-management-console/debian/univention-management-console-web-server.init
management/univention-management-console/debian/univention-management-console-server.init
base/univention-updater/debian/univention-updater.univention-maintenance.init
base/univention-firewall/debian/univention-firewall.init
base/univention-bootsplash/debian/univention-welcome-screen.init
base/univention-runit/debian/univention-runit.init
base/univention-network-manager/debian/univention-network-common.init
base/univention-system-setup/debian/univention-system-setup-boot.init
base/univention-system-setup/debian/univention-system-setup-boot.univention-system-setup-boot-prepare.init
virtualization/univention-novnc/debian/univention-novnc.init
virtualization/univention-virtual-machine-manager-daemon/debian/univention-virtual-machine-manager-daemon.init
virtualization/univention-virtual-machine-manager-node/debian/univention-virtual-machine-manager-node-kvm.init
test/univention-demo-configuration/debian/univention-demo-configuration.init
services/univention-net-installer/debian/univention-net-installer-daemon.init.d
services/univention-ad-connector/debian/univention-ad-connector.init
services/univention-cloud-init/debian/univention-cloud-init.init
services/univention-s4-connector/debian/univention-s4-connector.init
services/univention-dhcp/debian/univention-dhcp.init
Comment 1 Arvid Requate univentionstaff 2019-06-04 18:19:44 CEST
With

find -name testframework -prune -o \( -path \*/debian/init -o -path \*/debian/\*.init\* -o -path \*/conffiles/etc/init.d/\* \) -printf '%P\n'

I find these additional init scripts:

base/univention-heimdal/conffiles/etc/init.d/heimdal-kdc           
base/univention-quota/conffiles/etc/init.d/quotarpc                
base/univention-base-files/conffiles/etc/init.d/rpcbind            
base/univention-base-files/conffiles/etc/init.d/rdate              
base/univention-base-files/conffiles/etc/init.d/nscd               
base/univention-base-files/conffiles/etc/init.d/networking         
management/univention-ldap/conffiles/etc/init.d/slapd              
mail/univention-postgrey/conffiles/etc/init.d/postgrey             
mail/univention-mail-postfix/conffiles/etc/init.d/postfix          
mail/univention-mail-dovecot/conffiles/etc/init.d/dovecot          
services/univention-samba/conffiles/etc/init.d/samba               # that's Bug 44137
services/univention-samba4/conffiles/etc/init.d/samba              # that's Bug 44137
services/univention-dhcp/conffiles/etc/init.d/isc-dhcp-server      # that's Bug 43688
services/univention-bind/conffiles/etc/init.d/bind9                # fixed via Bug 43689
nagios/univention-nagios/conffiles/etc/init.d/nagios               
nagios/univention-nagios/conffiles/etc/init.d/nagios-nrpe-server
Comment 2 Florian Best univentionstaff 2019-11-14 09:33:24 CET
> virtualization/univention-novnc/debian/univention-novnc.init
Has been migrated in Bug #35428.
Comment 3 Florian Best univentionstaff 2020-06-09 14:42:10 CEST
git:fbest/43691-init-script-to-systemd-umc for UMC-Web-Server and UMC-Server.
Comment 4 Philipp Hahn univentionstaff 2020-12-01 10:12:13 CET
DONE: UDL
DONE: UDN
DONE: univention-dhcp AKA isc-dhcp-server
Comment 5 Philipp Hahn univentionstaff 2020-12-01 10:26:45 CET
(In reply to Philipp Hahn from comment #4)
> DONE: Bug #43686 UDL
> DONE: Bug #43687 UDN
> DONE: Bug #43688 univention-dhcp AKA isc-dhcp-server
Comment 6 Florian Best univentionstaff 2021-03-10 11:09:09 CET
This is a meta bug, only some changes in ucs-test have been done referencing it.
We probably won't fix all init scripts in UCS 5.0-0.
Comment 7 Philipp Hahn univentionstaff 2021-04-21 10:28:20 CEST
DONE: univention-system-setup-*
TODO: univention-maintenance Bug #52976
Comment 8 Philipp Hahn univentionstaff 2021-05-27 10:54:07 CEST
# find -name testframework -prune -o -name \*.init -printf '%P\n'
TODO            test/univention-demo-configuration/debian/univention-demo-configuration.init
Bug #52976 TODO base/univention-updater/debian/univention-updater.univention-maintenance.init
TODO            base/univention-firewall/debian/univention-firewall.init
TODO            container/univention-docker-container-mode/debian/univention-docker-container-mode.init
TRANSITIONAL    saml/univention-saml/debian/univention-saml.init
TODO            management/univention-management-console/debian/univention-management-console-server.init
TODO            management/univention-management-console/debian/univention-management-console-web-server.init
TODO            management/univention-directory-policy/debian/univention-directory-policy.init
TODO            services/univention-cloud-init/debian/univention-cloud-init.init
Bug #53337 TODO services/univention-ad-connector/debian/univention-ad-connector.init
TODO            services/univention-s4-connector/debian/univention-s4-connector.init
Comment 9 Florian Best univentionstaff 2021-10-08 16:00:12 CEST
(In reply to Philipp Hahn from comment #8)
> TODO management/univention-management-console/debian/univention-management-console-server.init
> TODO management/univention-management-console/debian/univention-management-console-web-server.init
Moved to Bug #53885.

(In reply to Florian Best from comment #3)
> git:fbest/43691-init-script-to-systemd-umc for UMC-Web-Server and UMC-Server.
Moved to fbest/53885-init-script-to-systemd-umc: https://git.knut.univention.de/univention/ucs/-/merge_requests/137
Comment 10 Philipp Hahn univentionstaff 2022-10-20 14:35:01 CEST
In UCS-4.4 `dpkg --configure univention-network-common` fails if the package `univention-management-console-web-server` is not installed — there is no dependency on it — as

ucs44/base/univention-network-manager/debian/univention-network-common.init:4
> # Required-Start: … univention-management-console-web-server …
Comment 11 Philipp Hahn univentionstaff 2023-02-03 17:40:32 CET
As of UCS 5.0-3pre unless Bug #53885 gets reverted:

# find -name testframework -prune -o -name \*.init -printf '%P\n'
TODO            test/univention-demo-configuration/debian/univention-demo-configuration.init
Bug #52976 TODO base/univention-updater/debian/univention-updater.univention-maintenance.init
TODO            base/univention-firewall/debian/univention-firewall.init
TRANSITIONAL    saml/univention-saml/debian/univention-saml.init
TODO            management/univention-directory-policy/debian/univention-directory-policy.init
TODO            services/univention-cloud-init/debian/univention-cloud-init.init
Bug #53337 TODO services/univention-ad-connector/debian/univention-ad-connector.init
TODO            services/univention-s4-connector/debian/univention-s4-connector.init
Comment 12 Dirk Wiesenthal univentionstaff 2023-09-06 11:28:19 CEST
Can be done in a patchlevel release or even later
Comment 13 Philipp Hahn univentionstaff 2023-12-07 21:24:12 CET
services/univention-net-installer/debian/univention-net-installer-daemon.init.d

[5.0-6] 2bf4a4e151 fix(net-install): Fix network installation
 doc/changelog/index.rst                                         |   8 +
 .../univention-net-installer/81univention-net-installer.inst    |  13 +-
 services/univention-net-installer/debian/changelog              |   4 +-
 services/univention-net-installer/debian/control                |   4 +-
 services/univention-net-installer/debian/rules                  |   2 +-
 services/univention-net-installer/debian/ucslint.overrides      |   4 +-
 .../debian/univention-net-installer-daemon.init.d               | 235 ----------------------------
 .../debian/univention-net-installer-daemon.service              |  12 ++
 .../debian/univention-net-installer.maintscript                 |   1 +
 .../debian/univention-net-installer.postinst                    |  22 +--
 ...
 13 files changed, 92 insertions(+), 294 deletions(-)

Package: univention-net-installer
Version: 13.0.7-1
Branch: ucs_5.0-0
Scope: ucs5.0-6