Because LXD is provided by ArchLinux AUR packaging, I thought maybe it was because LXD 3.15 was originally built against LXC 3.1.0 and that I just needed to rebuild LXD against LXC 3.2.1, but I verified that does not work either.
However, I did find someone with the same problem and their solution was to do the following (which I can verify works for me as well).
$ lxc start testing
<error text>
$ echo 0 | sudo tee /sys/fs/cgroup/cpuset//lxc.monitor/cpuset.cpus
$ echo 0 | sudo tee /sys/fs/cgroup/cpuset//lxc.pivot/cpuset.cpus
$ lxc start testing
<error text>
$ echo 0 | sudo tee /sys/fs/cgroup/cpuset/lxc.payload/cpuset.cpus
$ lxc start testing
<success>
The above container restarts are necessary… to reiterate
- attempt to start the container
- cpuset.cpus updated for lxc.pivot and lxc.monitor
- attempt to start the container again
- cpuset.cpus updated for lxc.payload
- then start the container and succeed
For now, downgrading LXC to 3.1.0 is good enough for me.
Again, if anyone wants more log/diagnostic data to help diagnose, just let me know.