** Summary changed: - ovsdb-server.service needs a depedency on local-fs.target + [SRU] ovsdb-server.service needs a depedency on local-fs.target
** Description changed: + [Impact] + When /var is on a separate filesystem (ZFS), ovsdb-server crashes on start if it is triggered before that filesystem is ready. + I recently just did a from-scratch install of Ubuntu 20.04 server edition and ran into issues with Open vSwitch and ZFS. I attempted to use ZFS for all of /var only to find that ovsdb-server pre-empted my ZFS /var mount which caused it to crash when trying to read its configuration DB at/var/lib/openvswitch/conf.db After much troubleshooting, the problem basically boils down to ovsdb- server.service needing a requirement on local-fs.target I then found a blog post on Open Cloud Blog (https://www.opencloudblog.com/?p=240) that contained a fix: The "After" line /lib/systemd/system/ovsdb-server.service needs the following changes: - [Unit] - Description=Open vSwitch Database Unit - After=syslog.target network-pre.target dpdk.service local-fs.target - Before=network.target networking.service - PartOf=openvswitch-switch.service - DefaultDependencies=no + [Unit] + Description=Open vSwitch Database Unit + After=syslog.target network-pre.target dpdk.service local-fs.target + Before=network.target networking.service + PartOf=openvswitch-switch.service + DefaultDependencies=no - [Service] - LimitNOFILE=1048576 - Type=forking - Restart=on-failure - EnvironmentFile=-/etc/default/openvswitch - ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \ - --no-ovs-vswitchd --no-monitor --system-id=random \ - start $OPTIONS - ExecStop=/usr/share/openvswitch/scripts/ovs-ctl --no-ovs-vswitchd stop - ExecReload=/usr/share/openvswitch/scripts/ovs-ctl --no-ovs-vswitchd \ - --no-monitor restart $OPTIONS - RuntimeDirectory=openvswitch - RuntimeDirectoryMode=0755 + [Service] + LimitNOFILE=1048576 + Type=forking + Restart=on-failure + EnvironmentFile=-/etc/default/openvswitch + ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \ + --no-ovs-vswitchd --no-monitor --system-id=random \ + start $OPTIONS + ExecStop=/usr/share/openvswitch/scripts/ovs-ctl --no-ovs-vswitchd stop + ExecReload=/usr/share/openvswitch/scripts/ovs-ctl --no-ovs-vswitchd \ + --no-monitor restart $OPTIONS + RuntimeDirectory=openvswitch + RuntimeDirectoryMode=0755 + + [Test Case] + + Install ZFS on a machine, configure /var to be mounted on ZFS, install + Open vSwitch, restart the server. The OpenvSwitch process should wait on + the ZFS mount to start. + + [Regression Potential] + + Low. The only change in this is to defer the ovsdb-server startup until + after the local-fs Systemd target has started. The only risk I can + forsee is if the local-fs target didn't come up. + + [Discussion] -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1887177 Title: [SRU] ovsdb-server.service needs a depedency on local-fs.target To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1887177/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs