From e04f98710cadb7de7085a2b38aa820ea65164f23 Mon Sep 17 00:00:00 2001 From: Jonathon Anderson Date: Thu, 14 Dec 2023 10:33:19 -0700 Subject: [PATCH] New example definition file, rockylinux-mofed Signed-off-by: Jonathon Anderson --- examples/README.md | 9 +++++++++ examples/rockylinux-mofed/Containerfile | 25 +++++++++++++++++++++++++ examples/rockylinux-mofed/README.md | 13 +++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 examples/README.md create mode 100644 examples/rockylinux-mofed/Containerfile create mode 100644 examples/rockylinux-mofed/README.md diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000..60dfed9 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,9 @@ +# Example container definitions + +The container definitions in the directory aren't built as containers published +by Warewulf for some reason. +Typical reasons may include: + +* The resultant container would be too large. +* The definition is too specific to be broadly useful, and covering a wide enough set of versions would be impractical. +* The definition uses software that may not be redistributed. diff --git a/examples/rockylinux-mofed/Containerfile b/examples/rockylinux-mofed/Containerfile new file mode 100644 index 0000000..5577526 --- /dev/null +++ b/examples/rockylinux-mofed/Containerfile @@ -0,0 +1,25 @@ +FROM ghcr.io/hpcng/warewulf-rockylinux:9.2 + +RUN dnf -y install \ + gcc \ + patch \ + libtool \ + lsof \ + kernel-rpm-macros \ + make \ + rpm-build \ + gdb-headless \ + python3-devel \ + elfutils-libelf-devel \ + gcc-gfortran \ + tk \ + kernel-{core,devel,headers,modules-extra} \ + perl-sigtrap \ + numactl-libs \ + tcsh \ + && dnf -y remove $(dnf repoquery --installonly --latest-limit=-1 -q) \ + && dnf clean all + +RUN (cd /tmp && tar -xf /mnt/MLNX_OFED_LINUX-5.8-3.0.7.0-rhel9.2-x86_64.tgz) \ + && (cd /tmp/MLNX_OFED_LINUX-5.8-3.0.7.0-rhel9.2-x86_64 && ./mlnxofedinstall --distro rhel9.2 --skip-repo --kernel $(rpm -q kernel-core --qf '%{version}-%{release}.%{arch}\n' | tail -n 1) --add-kernel-support --hpc) \ + && rm -rf /tmp/MLNX_OFED_LINUX* diff --git a/examples/rockylinux-mofed/README.md b/examples/rockylinux-mofed/README.md new file mode 100644 index 0000000..081efae --- /dev/null +++ b/examples/rockylinux-mofed/README.md @@ -0,0 +1,13 @@ +# Rocky Linux with the Mellanox OFED + +This container definition demonstrates building a Rocky Linux based container incorporating the Mellanox OFED for InfiniBand support. + +This definition requires that the Mellanox OFED downloadable for the desired version be placed in the `rockylinux-mofed` directory. +Download the `.tgz` version from https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ + +With that in place, the container may be built with Podman as here: + +```shell + +podman build --volume $(readlink -f rockylinux-mofed):/mnt:ro --file rockylinux-mofed/Containerfile rockylinux-mofed/ +```