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/*''')
Ejemplo n.º 3
0
    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/*''')
Ejemplo n.º 6
0
    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''')