syslog.target is referenced but no longer provided causes missing logs

Bug #2019129 reported by Jim Gauld
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
New
Undecided
Unassigned

Bug Description

Brief Description
-----------------
There are a number of systemd services that still refer to "After:syslog.target". This is now completely ineffective since systemd version 202. With recent (>202) systemd release, syslog.target is no longer provided: services are ensured they are started after logging socket is setup. syslog is now socket-activated on all major distributions, hence the target is deprecated.

It is unclear how noticable the behaviour is with this missing target; since we are already used to this. However, it has been observed that we don't always have all log for kubernetes services on systemd shutdown (eg, reboot). It is very likely there are missing logs for other services too.

Recommendation:
Investigate whether there are issues in debugging shutdown of the other services where syslog.target is still specified. Many service files are involved, can simply change each to: "After=syslog.service". Can see these references by doing this on each nodetype (controller, worker, storage):
grep -rs -e After= /etc/systemd |grep syslog.target
grep -rs -e After= /usr/lib/systemd |grep syslog.target

Leaving the setting as-is is harmless but ineffective. At minimum, should address the critical services with subject-matter-expert input. Several services already use "syslog.service".

List of services affected (on controller):
grep -rs -e After= /etc/systemd |grep syslog.target
/etc/systemd/system/controllerconfig.service:After=syslog.target network.target remote-fs.target sw-patch.service sysinv-agent.service
/etc/systemd/system/haproxy.service:After=syslog.target network.target
/etc/systemd/system/qemu_clean.service:After=syslog.target network.target logmgmt.service

grep -rs -e After= /usr/lib/systemd |grep syslog.target
/usr/lib/systemd/system/mdmonitor.service:After=syslog.target
/usr/lib/systemd/system/dcmanager-manager.service:After=syslog.target network.target mysqld.service openstack-keystone.service
/usr/lib/systemd/system/lighttpd.service:After=syslog.target network-online.target
/usr/lib/systemd/system/ntpd.service:After=syslog.target ntpdate.service sntp.service
/usr/lib/systemd/system/smartd.service:After=syslog.target
/usr/lib/systemd/system/nscd.service:After=syslog.target
/usr/lib/systemd/system/haproxy.service:After=syslog.target network.target
/usr/lib/systemd/system/tuned.service:After=syslog.target systemd-sysctl.service network.target
/usr/lib/systemd/system/acpid.service:After=syslog.target
/usr/lib/systemd/system/fminit.service:After=network.target syslog.target
/usr/lib/systemd/system/lldpad.service:After=syslog.target network.target
/usr/lib/systemd/system/neutron-avr-agent.service:After=network.target syslog.target vswitch.service
/usr/lib/systemd/system/dcorch-sysinv-api-proxy.service:After=syslog.target network.target mysqld.service
/usr/lib/systemd/system/dcorch-api.service:After=syslog.target network.target mysqld.service
/usr/lib/systemd/system/sw-patch-agent.service:After=syslog.target network-online.target sw-patch.service
/usr/lib/systemd/system/openstack-barbican-worker.service:After=syslog.target network.target
/usr/lib/systemd/system/ipmievd.service:After=syslog.target
/usr/lib/systemd/system/tcsd.service:After=syslog.target
/usr/lib/systemd/system/openstack-barbican-api.service:After=syslog.target network.target
/usr/lib/systemd/system/dcmanager-api.service:After=syslog.target network.target mysqld.service
/usr/lib/systemd/system/dcorch-identity-api-proxy.service:After=syslog.target network.target mysqld.service
/usr/lib/systemd/system/dcorch-engine.service:After=syslog.target network.target mysqld.service openstack-keystone.service
/usr/lib/systemd/system/gssproxy.service:After=syslog.target
/usr/lib/systemd/system/saslauthd.service:After=syslog.target
/usr/lib/systemd/system/rdisc.service:After=syslog.target network.target
/usr/lib/systemd/system/nslcd.service:After=syslog.target network.target named.service dirsrv.target slapd.service
/usr/lib/systemd/system/openstack-keystone.service:After=syslog.target network.target
/usr/lib/systemd/system/dcdbsync-openstack-api.service:After=syslog.target network.target postgresql.service
/usr/lib/systemd/system/cpupower.service:After=syslog.target
/usr/lib/systemd/system/slapd.service:After=syslog.target network-online.target
/usr/lib/systemd/system/openstack-barbican-keystone-listener.service:After=syslog.target network.target
/usr/lib/systemd/system/dcdbsync-api.service:After=syslog.target network.target postgresql.service
/usr/lib/systemd/system/sw-patch.service:After=syslog.target network-online.target
/usr/lib/systemd/system/neutron-avs-agent.service:After=network.target syslog.target vswitch.service
/usr/lib/systemd/system/multipathd.service:After=syslog.target systemd-udev-trigger.service
/usr/lib/systemd/system/sw-patch-controller-daemon.service:After=syslog.target network-online.target sw-patch.service sw-patch-controller.service

Severity
--------
Minor. System is usable, but we may have missing logs.

Steps to Reproduce
------------------
NA

Expected Behavior
------------------
Expect to see logs from most services during systemd Stop (i.e. reboot).

Actual Behavior
----------------
syslog and many other services are shutting down in parallel.
When syslog.service becomes 'stopped', there are no more logs.

Reproducibility
---------------
100%

System Configuration
--------------------
All configs.

Branch/Pull Time/Commit
-----------------------
Observed historically: April 2022, and current.

Last Pass
---------
NA

Timestamp/Logs
--------------
NA

Test Activity
-------------
Patchback testing, Developer Testing, debugging of Kubernetes containers shutdown.

Workaround
----------
None.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.