NLnetLabs / ploutos

Reusable packaging workflow for Rust projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Handle GH Actions March 2023 upgrade of `ubuntu-latest` to `ubuntu-22.04`.

ximon18 opened this issue · comments

GitHub Actions runs of Ploutos are now being annotated by GitHub with this warning:

ubuntu-latest workflows will use ubuntu-22.04 soon. For more details, see actions/runner-images#6399

Using an unstable image reference is probably a bad idea, we should reference ubuntu-XXXX directly. We have until March 1st 2023 to either check Ploutos compatibility with the upcoming automatic change or to update the Ploutos workflow to explicitly select an image to use.

Upgrading from Ubuntu 20.04 to Ubuntu 22.04 causes a couple of problems for the pkg-test job:

  • LXC/LXD containers cannot connect out to the Internet unless a firewall rule is added. See https://discuss.linuxcontainers.org/t/lxd-losts-iptables-rules-with-docker/15045/6.

    • Update: This issue seems to affect lots of newer O/S's, e.g. Rocky Linux 8, Debian Buster, not just Ubuntu 22.04.
  • LXC/LXD containers for older operating systems (such as CentOS 7) no longer work under Ubuntu 22.04 because it has upgraded from CGroupV1 to CGroupV2 which causes error:

    Error: The image used by this instance requires a CGroupV1 host system
    
    • Working around the CGroupV2 error by using an LXC VM instead of an LXC container isn't possible with GitHub hosted Ubuntu 22.04 runner because attempting to do so via the --vm argument to lxc causes error:

      Error: Failed instance creation: Failed creating instance record:
      Instance type "virtual-machine" is not supported on this server:
      KVM support is missing (no /dev/kvm)
      
    • Working around the CGroupV2 error by setting Linux kernel argument systemd.unified_cgroup_hierarchy=false` to downgrade to CGroupV1 isn't possible because one cannot change the kernel arguments used by GitHub hosted runners.

    • Update: This issue seems to affect Ubuntu Xenial as well.