[PATCH v2 0/6] Community Lab Container Definitions
Ali Alnubani
alialnu at nvidia.com
Wed Oct 19 16:31:51 CEST 2022
> -----Original Message-----
> From: ohilyard at iol.unh.edu <ohilyard at iol.unh.edu>
> Sent: Wednesday, October 19, 2022 3:53 PM
> To: ci at dpdk.org
> Cc: aconole at redhat.com; Ali Alnubani <alialnu at nvidia.com>; Owen Hilyard
> <ohilyard at iol.unh.edu>
> Subject: [PATCH v2 0/6] Community Lab Container Definitions
>
> From: Owen Hilyard <ohilyard at iol.unh.edu>
>
> This patch series contains a new version of the DPDK CI containers. The old
> version was tied very tightly to the Community Lab Infrastructure, so it was
> not suitable for general use. This version is designed to make adding new
> OSes or OS versions as easy as possible. The minimum functionality can easily
> be built on any system that can compile DPDK. It includes support for
> building containers for other non-native architectures (ex: arm containers
> on x86) and for baking ABI references into the images.
>
> The inventory file as added in this patch series defines what the community
> lab
> currently supports.
>
> If you want to build these yourself, don't try to do parallel Makefile builds
> on non-server hardware. Libabigail is built into the containers, and since it
> is not avaliable in all distros it is compiled from source for many targets.
> If embedding the abi is enabled (DPDK_CI_CONTAINERS_BUILD_ABI=Y), with
> the
> current settings, DPDK will be compiled twice for every target in the
> inventory file. This will become three times when DPDK main has ABI stability
> again. Due to how the containers are constructed, building on non-native
> architectures is especially expensive because DPDK is compiled with an
> emulated
> compiler in a qemu vm that only has one thread.
>
> Owen Hilyard (6):
> containers/docs: Add container builder start
> containers/inventory: Add inventory for container builder
> containers/builder: Dockerfile creation script
> containers/templates: Templates for Dockerfiles
> containers/container_builder: Container for python scripts
> containers/Makefile: Makefile to automate builds
>
Thanks for addressing my previous comments.
The project doesn't specify a minimum version for podman/buildah.
I'm using podman version 3.4.4 in Ubuntu 22.04 (installed from Ubuntu's official repos), and it seems to be missing support for mount=type=cache, causing the following errors when running make's build target:
199b42d26a291a4dcbb69bf64ddb1309b080ffa9aee12e4f6a6b533469": invalid mount type "cache"
make[1]: *** [Makefile:19: build_alpine_compile] Error 125
make[1]: Leaving directory '/root/dpdk-ci/containers/container_context'
make: *** [Makefile:103: build] Error 2
The support seems to have been added in Buildah v1.24.0 (see [1]), which is part of podman v4.0.0 (see [2]).
[1] https://github.com/containers/buildah/commit/fc69aa68c23b32df5ab73726dcee88bf1add72c6
[2] https://github.com/containers/podman/commit/4a4d86d40f9137144103147e7a0ba74fbf3aaca8
Can the --mount RUN arg be enabled only for podman versions newer than v4.0.0 inside a Jinja2 block maybe?
Or do you prefer to mention v4.0.0 as the minimum required version of podman in the documentation?
Thanks,
Ali
More information about the ci
mailing list