diff options
| author | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-06-04 03:16:13 +0000 |
|---|---|---|
| committer | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-06-04 03:31:56 +0000 |
| commit | 0ab5d81a5f5ccd985ca2e4819bb515268a04f2e1 (patch) | |
| tree | f54c797918337daab19829e7f4ee76bb3c134f00 /recipes-containers/vcontainer | |
| parent | b8d9e23c511e815ad5a9cf0d1d58a1ef074f1f32 (diff) | |
| download | meta-virtualization-0ab5d81a5f5ccd985ca2e4819bb515268a04f2e1.tar.gz | |
podman: switch from CNI to netavark as sole network backend
Podman's vendored containers/common library removed CNI support
entirely in commit 8d1f636e40 (March 2026). The NetworkBackend()
function now unconditionally rejects any backend other than netavark,
making network_backend = "cni" in containers.conf a runtime error.
The vpdmn rootfs originally used CNI because netavark's dependency
chain (nmap -> libpcap -> bluez5 -> cairo) was too heavy for the
vruntime BBMASK environment. That dependency chain no longer exists
— netavark v1.16.0+ uses a built-in Rust connection tester and has
no heavyweight runtime dependencies.
Recipe changes:
- Clear BUILDTAGS_EXTRA default (was CNI build tag, now a no-op)
- Set VIRTUAL-RUNTIME_container_networking and _container_dns with
strong assignments so podman always RDEPENDS on netavark and
aardvark-dns regardless of distro config
- Remove ${sysconfdir}/cni from FILES
vpdmn rootfs changes:
- Replace cni with netavark + aardvark-dns in IMAGE_INSTALL
- Update containers.conf network_backend from cni to netavark
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Diffstat (limited to 'recipes-containers/vcontainer')
| -rw-r--r-- | recipes-containers/vcontainer/vpdmn-rootfs-image.bb | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/recipes-containers/vcontainer/vpdmn-rootfs-image.bb b/recipes-containers/vcontainer/vpdmn-rootfs-image.bb index f061ce08..cca9191f 100644 --- a/recipes-containers/vcontainer/vpdmn-rootfs-image.bb +++ b/recipes-containers/vcontainer/vpdmn-rootfs-image.bb | |||
| @@ -50,7 +50,8 @@ IMAGE_INSTALL = " \ | |||
| 50 | crun \ | 50 | crun \ |
| 51 | skopeo \ | 51 | skopeo \ |
| 52 | conmon \ | 52 | conmon \ |
| 53 | cni \ | 53 | netavark \ |
| 54 | aardvark-dns \ | ||
| 54 | busybox \ | 55 | busybox \ |
| 55 | iproute2 \ | 56 | iproute2 \ |
| 56 | iptables \ | 57 | iptables \ |
| @@ -121,13 +122,9 @@ additionalimagestores = [] | |||
| 121 | EOF | 122 | EOF |
| 122 | 123 | ||
| 123 | # Create containers.conf for podman engine settings | 124 | # Create containers.conf for podman engine settings |
| 124 | # Use CNI instead of netavark — netavark's dependency chain | ||
| 125 | # (nmap → libpcap → bluez5 → python3-pygobject → cairo) is too | ||
| 126 | # heavy for the vruntime BBMASK environment. | ||
| 127 | cat > ${IMAGE_ROOTFS}/etc/containers/containers.conf << 'EOF' | 125 | cat > ${IMAGE_ROOTFS}/etc/containers/containers.conf << 'EOF' |
| 128 | [network] | 126 | [network] |
| 129 | network_backend = "cni" | 127 | network_backend = "netavark" |
| 130 | cni_plugin_dirs = ["/opt/cni/bin", "/usr/libexec/cni"] | ||
| 131 | EOF | 128 | EOF |
| 132 | 129 | ||
| 133 | # Prevent libnss_systemd segfaults — systemd is not running in the | 130 | # Prevent libnss_systemd segfaults — systemd is not running in the |
