From b23cab9b8c6906413b95df1bb5a13f4ffc70fbfa Mon Sep 17 00:00:00 2001 From: Jonathon Anderson Date: Mon, 2 Dec 2024 16:05:08 -0700 Subject: [PATCH] Update MOFED example - Update for Rocky Linux 8 - Additional example for Rocky Linux 9 Signed-off-by: Jonathon Anderson --- examples/rockylinux-mofed/.gitignore | 1 + examples/rockylinux-mofed/Containerfile-8 | 26 +++++++++++++++++++ .../Containerfile-9} | 11 +++++--- .../README.md | 12 +++++++-- 4 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 examples/rockylinux-mofed/.gitignore create mode 100644 examples/rockylinux-mofed/Containerfile-8 rename examples/{rockylinux-9-mofed/Containerfile => rockylinux-mofed/Containerfile-9} (54%) rename examples/{rockylinux-9-mofed => rockylinux-mofed}/README.md (50%) diff --git a/examples/rockylinux-mofed/.gitignore b/examples/rockylinux-mofed/.gitignore new file mode 100644 index 0000000..aa1ec1e --- /dev/null +++ b/examples/rockylinux-mofed/.gitignore @@ -0,0 +1 @@ +*.tgz diff --git a/examples/rockylinux-mofed/Containerfile-8 b/examples/rockylinux-mofed/Containerfile-8 new file mode 100644 index 0000000..34842e7 --- /dev/null +++ b/examples/rockylinux-mofed/Containerfile-8 @@ -0,0 +1,26 @@ +FROM ghcr.io/warewulf/warewulf-rockylinux:8.10 + +ARG MOFED_TGZ + +RUN dnf -y install \ + kernel-{core,devel,headers,modules-extra} \ + autoconf \ + patch \ + libtool \ + rpm-build \ + kernel-rpm-macros \ + gdb-headless \ + automake \ + gcc-gfortran \ + tcl \ + tk \ + libnl3 \ + lsof \ + numactl-libs \ + python36 \ + && dnf -y remove $(dnf repoquery --installonly --latest-limit=-1 -q) \ + && dnf clean all + +RUN (cd /tmp && tar -xf /mnt/$MOFED_TGZ) \ + && (cd /tmp/MLNX_OFED_LINUX* && ./mlnxofedinstall --distro rhel8.10 --skip-repo --kernel $(rpm -q kernel-core --qf '%{version}-%{release}.%{arch}\n' | tail -n 1) --add-kernel-support --hpc --without-fw-update) \ + && rm -rf /tmp/MLNX_OFED_LINUX* /etc/machine-id diff --git a/examples/rockylinux-9-mofed/Containerfile b/examples/rockylinux-mofed/Containerfile-9 similarity index 54% rename from examples/rockylinux-9-mofed/Containerfile rename to examples/rockylinux-mofed/Containerfile-9 index 05f9eca..8c60d17 100644 --- a/examples/rockylinux-9-mofed/Containerfile +++ b/examples/rockylinux-mofed/Containerfile-9 @@ -1,4 +1,6 @@ -FROM ghcr.io/warewulf/warewulf-rockylinux:9.2 +FROM ghcr.io/warewulf/warewulf-rockylinux:9.4 + +ARG MOFED_TGZ RUN dnf -y install \ gcc \ @@ -12,6 +14,7 @@ RUN dnf -y install \ python3-devel \ elfutils-libelf-devel \ gcc-gfortran \ + libnl3 \ tk \ kernel-{core,devel,headers,modules-extra} \ perl-sigtrap \ @@ -20,6 +23,6 @@ RUN dnf -y install \ && 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* +RUN (cd /tmp && tar -xf /mnt/$MOFED_TGZ) \ + && (cd /tmp/MLNX_OFED_LINUX* && ./mlnxofedinstall --distro rhel9.4 --skip-repo --kernel $(rpm -q kernel-core --qf '%{version}-%{release}.%{arch}\n' | tail -n 1) --add-kernel-support --hpc --without-fw-update) \ + && rm -rf /tmp/MLNX_OFED_LINUX* /etc/machine-id diff --git a/examples/rockylinux-9-mofed/README.md b/examples/rockylinux-mofed/README.md similarity index 50% rename from examples/rockylinux-9-mofed/README.md rename to examples/rockylinux-mofed/README.md index 1457a3f..cf71512 100644 --- a/examples/rockylinux-9-mofed/README.md +++ b/examples/rockylinux-mofed/README.md @@ -4,13 +4,21 @@ This container definition demonstrates building a Rocky Linux based container incorporating the Mellanox OFED for InfiniBand support. This definition requires that the [Mellanox OFED .tgz][1] for the desired -version be placed in the `rockylinux-9-mofed` directory. +version be placed in the `rockylinux-8-mofed` directory. [1]: https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ With that in place, the container may be built with Podman. +For Rocky Linux 8.10 (aarch64): + ```shell -podman build . --volume $PWD:/mnt:ro --file Containerfile +podman build . --volume $PWD:/mnt:ro --build-arg MOFED_TGZ=MLNX_OFED_LINUX-24.10-0.7.0.0-rhel8.10-aarch64.tgz --file Containerfile-8 +``` + +For Rocky Linux 9.4 (aarch64): + +```shell +podman build . --volume $PWD:/mnt:ro --build-arg MOFED_TGZ=MLNX_OFED_LINUX-24.10-0.7.0.0-rhel9.4-aarch64.tgz --file Containerfile-9 ```