My containers on my Fedora33 host have started to fail getting IP addresses whereas it used to work before. Upon investigation, I have found the following in the lxd log:
Mar 19 09:22:47 vrubiolo-laptop lxd: t=2021-03-19T09:22:47+0100 lvl=eror msg="Failed to bring up network" err="Invalid version format: \"2.84rc2\"" name=lxdbr0
That rc-based version string matches the dnsmasq installed on my system:
$ dnsmasq --version Dnsmasq version 2.84rc2 Copyright (c) 2000-2021 Simon Kelley Compile time options: IPv6 GNU-getopt DBus no-UBus no-i18n IDN2 DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth cryptohash DNSSEC loop-detect inotify dumpfile This software comes with ABSOLUTELY NO WARRANTY. Dnsmasq is free software, and you are welcome to redistribute it under the terms of the GNU General Public License, version 2 or 3.
It looks like lxd fails at parsing that version number in https://github.com/lxc/lxd/blob/master/shared/version/version.go#L19.
Incidentally, it looks like this comes from the manufacturing side of
dnsmasq for which the
git describe based commands picked up two tags, one for
2.84 and one for
2.84rc2, as seen in the
VERSION file of the 2.84 tarball:
$ pwd /home/vrubiolo/rpmbuild/BUILD/dnsmasq-2.84 $ cat VERSION (HEAD -> master, tag: v2.84rc2, tag: v2.84, origin/master, origin/HEAD) [05:47 PM] vrubiolo@vrubiolo-laptop ~/rpmbuild/BUILD/dnsmasq-2.84
My workaround is to downgrade the package to 2.82 via
dnf downgrade and my containers are working fine again:
$ dnsmasq --version Dnsmasq version 2.82 Copyright (c) 2000-2020 Simon Kelley [...]
I think the parsing code for lxd should be updated to pick up/handle these extra characters, would you agree? If so, let me know if I should open a bug report.
Thanks for the feedback,