@ada i got super slowed down with trying to move the cloudinit.net.get_ib_* (infiniband) functions under the distro classes.
mostly because I have no idea about infiniband, and had no access to infiniband hardware.
I gave up, and declared bankruptcy.
Meanwhile I have fixed every bug and exception I came across, and a lifted a bunch of modules into better supporting FreeBSD.
One of the Canonical people did refactor of the Ephemeral Networking classes, and I finished off the BSD side of that.
We now boot on Hetzner and Vultr (and probably more) without a single exception.
(At least for IPv4… IPv6 is mostly ignored so far)
taking a break from the network refactoring, after burning out on Infiniband, to … get FreeBSD integrated into cloud-init CI.
that requires FreeBSD to run under LXD, which requires a kernel module to allow communication between guest and host, so I'm implementing the VirtIO Socket spec right now. (I'm trying to do that, while only looking at the spec, and at the already existing hyperv sockets module, so I don't accidentally copy any GPL code…)
Once that's done, I can look into updating Go to add VSOCK support to the FreeBSD unix library, and then I can fix the vsock client library that LXD uses to include FreeBSD support.
And then I can get back to porting LXD-agent to FreeBSD.
baby steps…