Alexander Lane wrote in #note-3:
It's worth noting that Ubuntu is no longer supplying official Vagrant images after 22.04 LTS (https://discourse.ubuntu.com/t/ubuntu-24-04-lts-noble-numbat-release-notes/39890), which just kicks this issue down the road. I do not necessarily want to rely on third party base images, which would essentially mean that we would be building them ourselves after a point.
Repeating here what I said at the call, FTR: in our jenkins setup we've actually always used third-party boxes for the ubuntu agents (see here) because the official Canonical-provided images were not usable out-of-the-box.
That being said, if third-party images are a concern, there is a tool (ubuntu-bartender
) that can automate the process of creating our own base image.
For example, the Mininet-Wifi project currently hosts a pre-made VirtualBox image. This is likely less elegant than hosting the image via Hashi's platform (and I'd prefer to do so via Memphis or someone else in the NDN project), but it would mean we're not reliant on a private platform or software that is no longer permissively licensed.
I fully sympathize with the desire to only use (or strongly prefer) free software. However, the Mininet-Wifi image is not the best example given that it's hosted on Google Drive which is also a proprietary platform. And the vast majority of Docker images are hosted on DockerHub, GCR, or GHCR, none of which is "open". Personally, I believe we should be fine as long as our processes don't have a hard dependency on a specific closed/proprietary platform. Effectively, we're just using HashiCorp's vagrant registry and GitHub's container registry for hosting, it should be easy enough to switch platform or self-host if things change.
Alexander Lane wrote in #note-4:
we should also focus on providing a VMWare Fusion image for users on ARM64 MacOS.
That may be challenging to do on Github Actions. Last time I checked, the Github-hosted macOS/arm64 runners did not support nested virtualization. (EDIT: confirmed, it's explicitly listed as a limitation in Github's documentation)