Preparing the Test Server

Getting Started with Napatech Link-Storage™ Software

Platform
Napatech IPU
Content Type
Getting Started
Capture Software Version
Link-Storage™ Software 1.0

Use this information to set up the test server. This includes generating/distributing an SSH key, installing dependencies, configuring the test environment.

Before you begin

Make sure that you have:
  • Python version 3.9 on the test server. Check the Python version. For example:
    test# python3 --version
    If it is not 3.9, install it using the following command.
    dnf install python3.9
  • Placed the Napatech Link-Storage™ Software package in the /opt/ directory on the test server.

About this task

Note: The following prompt is used to indicate which part of the system to run the provided commands on.
  • test#: The server where the test script is executed.

Procedure

  1. On the test server, unpack the Napatech Link-Storage™ Software package.
    test# cd /opt/
    test# tar zxvf ipu_workload_nvme-<version>-linux.tar.gz
    where version is the version identifier of the included Napatech package.
  2. Generate an SSH key pair on the test server.
    test# ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_ed25519 <<< y
    This command generates a new Ed25519 SSH key pair without a passphrase and automatically confirms any prompts to overwrite an existing key file.
    An output example:
    Generating public/private ed25519 key pair.
    Your identification has been saved in /root/.ssh/id_ed25519.
    Your public key has been saved in /root/.ssh/id_ed25519.pub.
    The key fingerprint is:
    …
    The key's randomart image is:
    …
  3. Copy the generated public key to the SoC on the IPU, the host (initiator) and the target server.
    test# ssh-copy-id -i ~/.ssh/id_ed25519.pub root@<IP_address>
    where IP_address is the IP address of the SoC on the IPU, the host (initiator) and the target server. For example:
    test# ssh-copy-id -i ~/.ssh/id_ed25519.pub root@10.168.10.10
    test# ssh-copy-id -i ~/.ssh/id_ed25519.pub root@10.168.10.11
    test# ssh-copy-id -i ~/.ssh/id_ed25519.pub root@10.168.10.12
  4. Install dependencies
    test# dnf update
    test# dnf install python3-pip
    test# python3.9 -m venv venv39
    test# source venv39/bin/activate
    (venv39) test# cd /opt/ipu_workload_nvme/src/
    (venv39) test# pip3 install -r demo/storage/requirements.txt
    These commands install pip, creates a Python virtual environment named venv39 using Python 3.9, activates the venv39 virtual environment and installs all necessary packages in the virtual environment, ensuring that dependencies are isolated instead of the system-wide Python installation.
  5. Edit the config.ini file.
    For example:
    test# vim /opt/ipu_workload_nvme/src/demo/storage/config.ini
    The file contains the following parameters.
    [target]
    mgmt_port_ip = x.x.x.x
    data_port_ip = x.x.x.x
    spdk_path = /opt/spdk
    
    [initiator]
    mgmt_port_ip = x.x.x.x
    fio_bin_path = /opt/fio/fio
    
    [soc]
    mgmt_port_ip = x.x.x.x
    spdk_path = /opt/ipu_workload_nvme/src/ipu_spdk
    
    [general]
    bdev_count = 16
    where:
    • mgmt_port_ip: The IP address of the management port for the corresponding server.
    • data_port_ip: The IP address of the NIC on the target server that is connected to the IPU. Only one port will be used for the test.
    • spdk_path: The path to the SPDK on the target server and to the IPU SPDK on the SoC.
    • fio_bin_path: The path to the fio tool on the host server.
    • bdev_count: The number of block devices (a maximum of 16 is supported).
    Configure the IP addresses of the SoC on the IPU and the host (initiator) / target servers. Adjust the paths to the SPDK and the fio tool as necessary. Additionally, configure the number of block devices as required.