Skip to content

Conversation

josecastillolema
Copy link
Member

@josecastillolema josecastillolema commented Sep 7, 2025

Type of change

  • Refactor
  • New feature
  • Bug fix
  • Optimization
  • Documentation Update

Description

New ib_write_bw driver:

# ./k8s-netperf -h| g ib
      --ib-write-bw               Use ib_write_bw as load driver (requires --privileged and --hostNet)

# ./k8s-netperf --ib-write-bw --privileged --hostNet --config=config.yaml
INFO[2025-09-07 12:13:25] Starting k8s-netperf (roce2@67cff32854ba9f343e3dadf87bbbbe1b27b34119)
INFO[2025-09-07 12:13:25] 📒 Reading config.yaml file.
INFO[2025-09-07 12:13:25] 📒 Reading config.yaml file - using ConfigV2 Method.
INFO[2025-09-07 12:13:25] 🔬 prometheus discovered at openshift-monitoring
INFO[2025-09-07 12:13:25] 🔨 Creating namespace: netperf
INFO[2025-09-07 12:13:25] 🔨 Creating service account: netperf
WARN[2025-09-07 12:13:25] ⚠️  No zone label
WARN[2025-09-07 12:13:25] ⚠️  Single node per zone and/or no zone labels
INFO[2025-09-07 12:13:25] 🚀 Starting Deployment for: client-host in namespace: netperf
INFO[2025-09-07 12:13:25] ⏰ Checking for client-host Pods to become ready...
INFO[2025-09-07 12:13:26] Looking for pods with label role=host-client
INFO[2025-09-07 12:13:26] 🚀 Starting Deployment for: server-host in namespace: netperf
INFO[2025-09-07 12:13:26] ⏰ Checking for server-host Pods to become ready...
INFO[2025-09-07 12:13:27] Looking for pods with label role=host-server
INFO[2025-09-07 12:13:32] 🗒️  Running ib_write_bw UDP_STREAM (service false) for 5s
+-------------------+-------------+------------+-------------+--------------+---------+-----------------+----------+-------------+--------------+-------+-----------+----------+---------+--------------------+--------------------------+
|    RESULT TYPE    |   DRIVER    |  SCENARIO  | PARALLELISM | HOST NETWORK | SERVICE | EXTERNAL SERVER | UDN INFO | BRIDGE INFO | MESSAGE SIZE | BURST | SAME NODE | DURATION | SAMPLES |     AVG VALUE      | 95% CONFIDENCE INTERVAL  |
+-------------------+-------------+------------+-------------+--------------+---------+-----------------+----------+-------------+--------------+-------+-----------+----------+---------+--------------------+--------------------------+
| 📊 Stream Results | ib_write_bw | UDP_STREAM | 1           | true         | false   | false           |          |             | 1024         | 0     | false     | 5        | 1       | 2708.930000 (Mb/s) | 0.000000-0.000000 (Mb/s) |
+-------------------+-------------+------------+-------------+--------------+---------+-----------------+----------+-------------+--------------+-------+-----------+----------+---------+--------------------+--------------------------+
+------------------+-------------+------------+-------------+--------------+---------+-----------------+----------+-------------+--------------+-------+-----------+----------+---------+-----------+
|       TYPE       |   DRIVER    |  SCENARIO  | PARALLELISM | HOST NETWORK | SERVICE | EXTERNAL SERVER | UDN INFO | BRIDGE INFO | MESSAGE SIZE | BURST | SAME NODE | DURATION | SAMPLES | AVG VALUE |
+------------------+-------------+------------+-------------+--------------+---------+-----------------+----------+-------------+--------------+-------+-----------+----------+---------+-----------+
| UDP Loss Percent | ib_write_bw | UDP_STREAM | 1           | true         | false   | false           |          |             | 1024         | 0     | false     | 5        | 1       | 0.000000  |
+------------------+-------------+------------+-------------+--------------+---------+-----------------+----------+-------------+--------------+-------+-----------+----------+---------+-----------+
INFO[2025-09-07 12:13:38] Cleaning resources created by k8s-netperf
INFO[2025-09-07 12:13:38] ⏰ Waiting for netperf Namespace to be deleted...

It only supports UDP_STREAM and it does not support services.
It also adds some logic to be more selective in the containers that runs in the server pod (vs the old model where all the drivers were run independently of the test). This is because the ib_write_bw needs specific hw so it makes no sense to run in unconditionally.

Signed-off-by: Jose Castillo Lema <[email protected]>
Signed-off-by: Jose Castillo Lema <[email protected]>
Signed-off-by: Jose Castillo Lema <[email protected]>
Signed-off-by: Jose Castillo Lema <[email protected]>
Signed-off-by: Jose Castillo Lema <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant