image image image image image

You are not viewing documentation for the latest version of this software.

On This Page

The SNAP source package contains the files necessary for building a container with a custom SPDK. 

To build the container:

  1. Download and install the SNAP sources package:

    [dpu] # dpkg -i /path/snap-sources_<version>_arm64.deb
  2. Navigate to the src folder and use it as the development environment:

    [dpu] # cd /opt/nvidia/nvda_snap/src
  3. Copy the following to the container folder:
    • SNAP source package – required for installing SNAP inside the container
    • Custom SPDK – to container/spdkFor example: 

      [dpu] # cp /path/snap-sources_<version>_arm64.deb  container/
      [dpu] # git clone -b v23.01.1 --single-branch --depth 1 --recursive --shallow-submodules container/spdk
  4. Modify the file if necessary as it is used to compile SDPK.
  5. To build the container:

    • For Ubuntu, run:

      [dpu] # ./container/ --snap-pkg-file=snap-sources_<version>_arm64.deb
    • For CentOS, run:

      [dpu] # rpm -i snap-sources-<version>.el8.aarch64.rpm
      [dpu] # cd /opt/nvidia/nvda_snap/src/
      [dpu] # cp /path/snap-sources_<version>_arm64.deb container/
      [dpu] # git clone -b v23.01.1 --single-branch --depth 1 --recursive --shallow-submodules container/spdk
      [dpu] # yum install docker-ce docker-ce-cli
      [dpu] # ./container/ --snap-pkg-file=snap-sources_<version>_arm64.deb
  6. Transfer the created image from the Docker tool to the crictl tool. Run:

    [dpu] # docker save doca_snap:<version> doca_snap.tar
    [dpu] # ctr images import doca_snap.tar

    To transfer the container image to other setups, refer to appendix "Appendix – Deploying Container on Setups Without Internet Connectivity".

  7. To verify the image, run:

    [DPU] #  crictl images
    IMAGE                                  TAG                   IMAGE ID            SIZE            <version>             79c503f0a2bd7       284MB
  8. Edit the image filed in the container/doca_snap.yaml file. Run:

    image: doca_snap:<version>
  9. Use the YAML file to deploy the container. Run:

    [dpu] # cp doca_snap.yaml /etc/kubelet.d/
  • No labels