On the package level, it appears the ovs-vswitchd and ovsdb-server systemd unit files are sourcing the wrong environment file and using the wrong environment variable.
I think it should look like this:
[Service] LimitNOFILE=1048576 Type=forking Restart=on-failure Environment=HOME=/var/run/openvswitch EnvironmentFile=-/etc/default/openvswitch-switch ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \ --no-ovsdb-server --no-monitor --system-id=random \ start $OVS_CTL_OPTS ExecStop=/usr/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server stop ExecReload=/usr/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server \ --no-monitor --system-id=random \ restart $OVS_CTL_OPTS TimeoutSec=300
That'll allow setting OVS_CTL_OPTS=--no-mlockall in the existing /etc/default/openvswitch-switch file.
On the package level, it appears the ovs-vswitchd and ovsdb-server systemd unit files are sourcing the wrong environment file and using the wrong environment variable.
I think it should look like this:
[Service] HOME=/var/ run/openvswitch =-/etc/ default/ openvswitch- switch /usr/share/ openvswitch/ scripts/ ovs-ctl \
--no- ovsdb-server --no-monitor --system-id=random \ /usr/share/ openvswitch/ scripts/ ovs-ctl --no-ovsdb-server stop /usr/share/ openvswitch/ scripts/ ovs-ctl --no-ovsdb-server \
--no- monitor --system-id=random \
LimitNOFILE=1048576
Type=forking
Restart=on-failure
Environment=
EnvironmentFile
ExecStart=
start $OVS_CTL_OPTS
ExecStop=
ExecReload=
restart $OVS_CTL_OPTS
TimeoutSec=300
That'll allow setting OVS_CTL_ OPTS=-- no-mlockall in the existing /etc/default/ openvswitch- switch file.