Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/building_blocks.md
Original file line number Diff line number Diff line change
Expand Up @@ -670,7 +670,7 @@ values are `libibumad`, `libibverbs`, `libibverbs-utils`,
`librdmacm`, `rdma-core`, and `rdma-core-devel`.

- __version__: The version of DOCA OFED to download. The default value
is `3.2.0`.
is `3.3.0`.

__Examples__

Expand Down
26 changes: 19 additions & 7 deletions hpccm/building_blocks/doca_ofed.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class doca_ofed(bb_base, hpccm.templates.annotate, hpccm.templates.rm,
`librdmacm`, `rdma-core`, and `rdma-core-devel`.

version: The version of DOCA OFED to download. The default value
is `3.2.0`.
is `3.3.0`.

# Examples

Expand All @@ -82,11 +82,12 @@ def __init__(self, **kwargs):
self.__archlabel = kwargs.get('archlabel', '') # Filled in by __cpu_arch
self.__extra_opts = []
self.__key = 'https://linux.mellanox.com/public/repo/doca/GPG-KEY-Mellanox.pub'
self.__nogpgcheck = kwargs.get('_nogpgcheck', False)
self.__oslabel = kwargs.get('oslabel', '') # Filled in by __distro
self.__ospackages = kwargs.get('ospackages',
['ca-certificates', 'gnupg', 'wget'])
self.__packages = kwargs.get('packages', []) # Filled in by __distro
self.__version = kwargs.get('version', '3.2.0')
self.__version = kwargs.get('version', '3.3.0')

# Add annotation
self.add_annotation('version', self.__version)
Expand Down Expand Up @@ -153,14 +154,25 @@ def __distro(self):
if not self.__oslabel:
if hpccm.config.g_linux_version >= Version('10.0'):
self.__oslabel = 'rhel10'
# The DOCA OFED GPG key is rejected by the Rockylinux 10
# security policy as insecure. Do not check the
# package signatures.
self.__key = None
self.__extra_opts = ['--nogpgcheck']
if self.__nogpgcheck:
# The DOCA OFED GPG key is rejected by the Rockylinux 10
# security policy as insecure. Do not check the
# package signatures.
self.__key = None
self.__extra_opts = ['--nogpgcheck']
elif hpccm.config.g_linux_version >= Version('9.0'):
self.__oslabel = 'rhel9'
if self.__nogpgcheck and Version(self.__version) >= Version('3.2.2'):
# The DOCA OFED GPG key is not recognized by
# Rockylinux 9. Do not check the package signatures.
self.__key = None
self.__extra_opts = ['--nogpgcheck']
else:
if self.__nogpgcheck and Version(self.__version) >= Version('3.2.2'):
# The DOCA OFED GPG key is not recognized by
# Rockylinux 8. Do not check the package signatures.
self.__key = None
self.__extra_opts = ['--nogpgcheck']
self.__oslabel = 'rhel8'

if not self.__packages:
Expand Down
68 changes: 17 additions & 51 deletions test/test_doca_ofed.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,46 +31,14 @@ def setUp(self):
"""Disable logging output messages"""
logging.disable(logging.ERROR)

@x86_64
@ubuntu20
@docker
def test_defaults_ubuntu20(self):
"""Default doca_ofed building block"""
doca = doca_ofed()
self.assertMultiLineEqual(str(doca),
r'''# DOCA OFED version 3.2.0
RUN apt-get update -y && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates \
gnupg \
wget && \
rm -rf /var/lib/apt/lists/*
RUN mkdir -p /usr/share/keyrings && \
rm -f /usr/share/keyrings/GPG-KEY-Mellanox.gpg && \
wget -qO - https://linux.mellanox.com/public/repo/doca/GPG-KEY-Mellanox.pub | gpg --dearmor -o /usr/share/keyrings/GPG-KEY-Mellanox.gpg && \
echo "deb [signed-by=/usr/share/keyrings/GPG-KEY-Mellanox.gpg] https://linux.mellanox.com/public/repo/doca/3.2.0/ubuntu20.04/x86_64/ ./" >> /etc/apt/sources.list.d/hpccm.list && \
apt-get update -y && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ibverbs-providers \
ibverbs-utils \
libibmad-dev \
libibmad5 \
libibumad-dev \
libibumad3 \
libibverbs-dev \
libibverbs1 \
librdmacm-dev \
librdmacm1 && \
rm -rf /var/lib/apt/lists/*''')

@aarch64
@ubuntu22
@docker
def test_defaults_ubuntu22(self):
"""Default doca_ofed building block"""
doca = doca_ofed()
self.assertMultiLineEqual(str(doca),
r'''# DOCA OFED version 3.2.0
r'''# DOCA OFED version 3.3.0
RUN apt-get update -y && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates \
Expand All @@ -80,7 +48,7 @@ def test_defaults_ubuntu22(self):
RUN mkdir -p /usr/share/keyrings && \
rm -f /usr/share/keyrings/GPG-KEY-Mellanox.gpg && \
wget -qO - https://linux.mellanox.com/public/repo/doca/GPG-KEY-Mellanox.pub | gpg --dearmor -o /usr/share/keyrings/GPG-KEY-Mellanox.gpg && \
echo "deb [signed-by=/usr/share/keyrings/GPG-KEY-Mellanox.gpg] https://linux.mellanox.com/public/repo/doca/3.2.0/ubuntu22.04/arm64-sbsa/ ./" >> /etc/apt/sources.list.d/hpccm.list && \
echo "deb [signed-by=/usr/share/keyrings/GPG-KEY-Mellanox.gpg] https://linux.mellanox.com/public/repo/doca/3.3.0/ubuntu22.04/arm64-sbsa/ ./" >> /etc/apt/sources.list.d/hpccm.list && \
apt-get update -y && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ibverbs-providers \
Expand All @@ -102,7 +70,7 @@ def test_defaults_ubuntu24(self):
"""Default doca_ofed building block"""
doca = doca_ofed()
self.assertMultiLineEqual(str(doca),
r'''# DOCA OFED version 3.2.0
r'''# DOCA OFED version 3.3.0
RUN apt-get update -y && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates \
Expand All @@ -112,7 +80,7 @@ def test_defaults_ubuntu24(self):
RUN mkdir -p /usr/share/keyrings && \
rm -f /usr/share/keyrings/GPG-KEY-Mellanox.gpg && \
wget -qO - https://linux.mellanox.com/public/repo/doca/GPG-KEY-Mellanox.pub | gpg --dearmor -o /usr/share/keyrings/GPG-KEY-Mellanox.gpg && \
echo "deb [signed-by=/usr/share/keyrings/GPG-KEY-Mellanox.gpg] https://linux.mellanox.com/public/repo/doca/3.2.0/ubuntu24.04/x86_64/ ./" >> /etc/apt/sources.list.d/hpccm.list && \
echo "deb [signed-by=/usr/share/keyrings/GPG-KEY-Mellanox.gpg] https://linux.mellanox.com/public/repo/doca/3.3.0/ubuntu24.04/x86_64/ ./" >> /etc/apt/sources.list.d/hpccm.list && \
apt-get update -y && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ibverbs-providers \
Expand All @@ -132,18 +100,17 @@ def test_defaults_ubuntu24(self):
@docker
def test_defaults_rockylinux9(self):
"""Default doca_ofed building block"""
doca = doca_ofed()
doca = doca_ofed(_nogpgcheck=True)
self.assertMultiLineEqual(str(doca),
r'''# DOCA OFED version 3.2.0
r'''# DOCA OFED version 3.3.0
RUN yum install -y \
ca-certificates \
gnupg \
wget && \
rm -rf /var/cache/yum/*
RUN rpm --import https://linux.mellanox.com/public/repo/doca/GPG-KEY-Mellanox.pub && \
yum install -y dnf-utils && \
yum-config-manager --add-repo https://linux.mellanox.com/public/repo/doca/3.2.0/rhel9/x86_64 && \
yum install -y \
RUN yum install -y dnf-utils && \
yum-config-manager --add-repo https://linux.mellanox.com/public/repo/doca/3.3.0/rhel9/x86_64 && \
yum install -y --nogpgcheck \
libibumad \
libibverbs \
libibverbs-utils \
Expand All @@ -157,16 +124,16 @@ def test_defaults_rockylinux9(self):
@docker
def test_defaults_rockylinux10(self):
"""Default doca_ofed building block"""
doca = doca_ofed()
doca = doca_ofed(_nogpgcheck=True)
self.assertMultiLineEqual(str(doca),
r'''# DOCA OFED version 3.2.0
r'''# DOCA OFED version 3.3.0
RUN yum install -y \
ca-certificates \
gnupg \
wget && \
rm -rf /var/cache/yum/*
RUN yum install -y dnf-utils && \
yum-config-manager --add-repo https://linux.mellanox.com/public/repo/doca/3.2.0/rhel10/x86_64 && \
yum-config-manager --add-repo https://linux.mellanox.com/public/repo/doca/3.3.0/rhel10/x86_64 && \
yum install -y --nogpgcheck \
libibumad \
libibverbs \
Expand All @@ -181,18 +148,17 @@ def test_defaults_rockylinux10(self):
@docker
def test_defaults_rockylinux8(self):
"""Default doca_ofed building block"""
doca = doca_ofed()
doca = doca_ofed(_nogpgcheck=True)
self.assertMultiLineEqual(str(doca),
r'''# DOCA OFED version 3.2.0
r'''# DOCA OFED version 3.3.0
RUN yum install -y \
ca-certificates \
gnupg \
wget && \
rm -rf /var/cache/yum/*
RUN rpm --import https://linux.mellanox.com/public/repo/doca/GPG-KEY-Mellanox.pub && \
yum install -y dnf-utils && \
yum-config-manager --add-repo https://linux.mellanox.com/public/repo/doca/3.2.0/rhel8/x86_64 && \
yum install -y \
RUN yum install -y dnf-utils && \
yum-config-manager --add-repo https://linux.mellanox.com/public/repo/doca/3.3.0/rhel8/x86_64 && \
yum install -y --nogpgcheck \
libibumad \
libibverbs \
libibverbs-utils \
Expand Down
Loading