def test_defaults_ubuntu(self): """Default ofed building block""" o = ofed() self.assertEqual( str(o), r'''# OFED RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ dapl2-utils \ ibutils \ ibverbs-utils \ infiniband-diags \ libdapl-dev \ libdapl2 \ libibcm-dev \ libibcm1 \ libibmad-dev \ libibmad5 \ libibverbs-dev \ libibverbs1 \ libmlx4-1 \ libmlx4-dev \ libmlx5-1 \ libmlx5-dev \ librdmacm-dev \ librdmacm1 \ rdmacm-utils && \ rm -rf /var/lib/apt/lists/*''')
def test_runtime(self): """Runtime""" o = ofed() r = o.runtime() self.assertEqual( r, r'''# OFED RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ dapl2-utils \ ibutils \ ibverbs-utils \ infiniband-diags \ libdapl-dev \ libdapl2 \ libibcm-dev \ libibcm1 \ libibmad-dev \ libibmad5 \ libibverbs-dev \ libibverbs1 \ libmlx4-1 \ libmlx4-dev \ libmlx5-1 \ libmlx5-dev \ librdmacm-dev \ librdmacm1 \ rdmacm-utils && \ rm -rf /var/lib/apt/lists/*''')
def __instructions(self): """Fill in container instructions""" # Mellanox OFED for version in self.__mlnx_versions: self += mlnx_ofed(annotate=False, oslabel=self.__mlnx_oslabel, packages=self.__mlnx_packages, prefix=posixpath.join(self.__prefix, version), symlink=self.__symlink, version=version) # Inbox OFED if self.__inbox: self += ofed(prefix=posixpath.join(self.__prefix, 'inbox'), symlink=self.__symlink) self += shell(commands=[ 'ln -s {0} {1}'.format(posixpath.join(self.__prefix, 'inbox'), posixpath.join(self.__prefix, '5.0-0')) ]) # Annotations self.add_annotation('mlnx_versions', ', '.join(self.__mlnx_versions)) self.add_annotation('inbox', self.__inbox) self += label(metadata=self.annotate_step())
def test_runtime_prefix(self): """Prefix + runtime""" o = ofed(prefix='/usr/local/ofed') r = o.runtime() self.assertEqual( r, r'''# OFED RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ libnl-3-200 \ libnl-route-3-200 \ libnuma1 && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /etc/libibverbs.d COPY --from=0 /usr/local/ofed /usr/local/ofed''')
def test_defaults_centos8(self): """Default ofed building block""" o = ofed() self.assertEqual( str(o), r'''# OFED RUN yum install -y dnf-utils && \ yum-config-manager --set-enabled PowerTools && \ yum install -y \ libibmad \ libibmad-devel \ libibumad \ libibverbs \ libibverbs-utils \ libmlx5 \ librdmacm \ rdma-core \ rdma-core-devel && \ rm -rf /var/cache/yum/*''')
def __instructions(self): """Fill in container instructions""" # Mellanox OFED for version in self.__mlnx_versions: self += mlnx_ofed(oslabel=self.__mlnx_oslabel, packages=self.__mlnx_packages, prefix=posixpath.join(self.__prefix, version), symlink=self.__symlink, version=version) # Inbox OFED if self.__inbox: self += ofed(prefix=posixpath.join(self.__prefix, 'inbox'), symlink=self.__symlink) self += shell(commands=['ln -s {0} {1}'.format( posixpath.join(self.__prefix, 'inbox'), posixpath.join(self.__prefix, '5.0-0'))])
def test_defaults_centos(self): """Default ofed building block""" o = ofed() self.assertEqual( str(o), r'''# OFED RUN yum install -y \ dapl \ dapl-devel \ ibutils \ libibcm \ libibmad \ libibmad-devel \ libibumad \ libibverbs \ libibverbs-utils \ libmlx5 \ librdmacm \ rdma-core \ rdma-core-devel && \ rm -rf /var/cache/yum/*''')
def test_aarch64_ubuntu16(self): """aarch64""" o = ofed() self.assertEqual( str(o), r'''# OFED RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ ibutils \ ibverbs-utils \ infiniband-diags \ libibmad-dev \ libibmad5 \ libibverbs-dev \ libibverbs1 \ libmlx4-1 \ libmlx4-dev \ libmlx5-1 \ libmlx5-dev \ librdmacm-dev \ librdmacm1 \ rdmacm-utils && \ rm -rf /var/lib/apt/lists/*''')
def test_prefix_ubuntu16(self): o = ofed(prefix='/usr/local/ofed') self.assertEqual( str(o), r'''# OFED RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ libnl-3-200 \ libnl-route-3-200 \ libnuma1 && \ rm -rf /var/lib/apt/lists/* RUN apt-get update -y && \ mkdir -m 777 -p /var/tmp/packages_download && cd /var/tmp/packages_download && \ DEBIAN_FRONTEND=noninteractive apt-get download -y \ dapl2-utils \ ibutils \ ibverbs-utils \ infiniband-diags \ libdapl-dev \ libdapl2 \ libibcm-dev \ libibcm1 \ libibmad-dev \ libibmad5 \ libibverbs-dev \ libibverbs1 \ libmlx4-1 \ libmlx4-dev \ libmlx5-1 \ libmlx5-dev \ librdmacm-dev \ librdmacm1 \ rdmacm-utils && \ mkdir -p /usr/local/ofed && \ find /var/tmp/packages_download -regextype posix-extended -type f -regex "/var/tmp/packages_download/(dapl2-utils|ibutils|ibverbs-utils|infiniband-diags|libdapl-dev|libdapl2|libibcm-dev|libibcm1|libibmad-dev|libibmad5|libibverbs-dev|libibverbs1|libmlx4-1|libmlx4-dev|libmlx5-1|libmlx5-dev|librdmacm-dev|librdmacm1|rdmacm-utils).*deb" -exec dpkg --extract {} /usr/local/ofed \; && \ rm -rf /var/tmp/packages_download && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /etc/libibverbs.d''')