I was able to For stage two, at least with systemd, I changed /lib/systemd/system/lxd-startup.service to:
[Unit]
Description=Container hypervisor based on LXC - boot time check
After=cgmanager.service lxd-unix.socket
Requires=cgmanager.service lxd-unix.socket
I was able to For stage two, at least with systemd, I changed /lib/systemd/ system/ lxd-startup. service to:
[Unit] Container hypervisor based on LXC - boot time check .service lxd-unix.socket cgmanager. service lxd-unix.socket
Description=
After=cgmanager
Requires=
[Service] /usr/bin/ lxd activateifneeded
Type=oneshot
ExecStart=
TimeoutSec=30s
[Install] multi-user. target
WantedBy=
while removing the files
/etc/ systemd/ system/ multi-user. target. wants/lxc- net.service systemd/ system/ multi-user. target. wants/lxc. service
/etc/
(i.e. in packaging we would remove
[Install] multi-user. target
WantedBy=
from /lib/systemd/ system/ lxc{,-net} .service)
Now when the system comes up, lxcbr0 is not there. When I do 'lxc list', it comes up.
A user who wants to use non-lxd lxc can do
sudo systemctl add-wants multi-user.target lxc.service
to make lxc and lxc-net start back up at boot.
The lxd-startup.service also still works, since it works by activating lxd if the database shows containers need to be started.