Hi! Sooner or later, you'll want to update rsyslog to a more recent version.
Well, I tried it and will share the results with you, maybe it will save you a few hours of searching for strange issues
There's an incompatibility in systemd services between your version of openvswitch and CentOS's version of rsyslog, which causes ordering cycles, so either openvswitch.service or rsyslog.service or both get killed at boot by systemd due to the cycle.
The problem comes from the fact that now rsyslog is started after network.target and network-online.target (see reference to Red Hat's bugzilla below).
Unfortunately, in XS, network.target depends on openvswitch.service which depends on syslog.target.
Here's an example of the cycle:
- openvswitch needs syslog.target
- which needs rsyslog.service
- which needs network-online.target
- which needs network.target
- which needs openvswitch...
Depending on some race conditions, openvswitch.service may or may not fail to start (if rsyslog is killed before then openvswitch will manage to start, but not rsyslog...).
Any idea how to break the cycle in a clean way? The reason why the dependency was added seems valid, so maybe there would be a way to make openvswitch depend less strongly on rsyslog?