Use this information to set up the test server. This includes generating/distributing
an SSH key, installing dependencies, configuring the test environment.
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 Link-Storage™ Software package in
the /opt/ directory on the test server.
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.
-
On the test server, unpack the 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 package.
-
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:
…
-
Copy the generated public key to the SoC on the DPU, 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 DPU, 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
-
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.
-
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 DPU. Only one port will be used for
the test.
- spdk_path: The path to the SPDK on the target server and to the
DPU 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 DPU 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.