Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ixia-c traffic engine deployment on Azure with Mellanox DPDK #76

Open
wants to merge 190 commits into
base: main
Choose a base branch
from

Conversation

armdupre
Copy link
Contributor

Overview

This is a public cloud lab where Ixia-c has two traffic ports connected within a single subnet of an Azure.
The environment is deployed using Terraform and Cloud-Init is used to configure the application and traffic engines.
Performance improvements are enabled through DPDK support.
Once the lab is up, a Python script is used to request Ixia-c to generate traffic and report statistics.

Copy link
Member

@dosarudaniel dosarudaniel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks better and almost ready to merge in my opinion.

I left a few comments for typos, lines that should be removed and I think we should use the latest keng controller and TE version.

Thank you @armdupre for working on this!

## Authentication Variables
## Prerequisites
* This lab requires the commands below to be executed from within [Azure CloudShell](https://learn.microsoft.com/en-us/azure/cloud-shell/overview).
* The created VMs needs to have at least ConnectX4 or ConnectX5. Mellanox ConnectX3 is not longer supported.
Copy link
Member

@dosarudaniel dosarudaniel Aug 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: is not longer supported -> is no longer supported

services:

controller:
image: ghcr.io/open-traffic-generator/keng-controller:1.3.0-2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should use the latest controller & TE version - it's easier to address any potential issues and it has new features like OPT_ADAPTIVE_CPU_USAGE argument. https://ixia-c.slack.com/archives/C021DU5026R/p1723056439876559

restart: always

TE1-5551:
image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.6.0.167
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should use the latest controller & TE version -

- ARG_IFACE_LIST=${AgentEth1BusInfo}
- ARG_CORE_LIST="0 1 2"
#- OPT_DISABLE_L4_CHECKSUM=""
#- DBG_PRINT_DPDK_STATS=""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would remove lines 25 and 26

GitRepoDPDK = "$(GitRepoBasePath)/public-cloud/azure/ixia-c-dpdk-azure-mellanox/deployment/DPDK"


# /home/ubuntu/otg-examples/snappi/data-plane-performance
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess we could remove this line as well

SHELL = /bin/bash

KENG_Controller = "ghcr.io/open-traffic-generator/keng-controller:1.3.0-2"
IxiaC_TE = "ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.6.0.167"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should use the latest controller & TE version

###############################
.PHONY: config
config:
scp -o StrictHostKeyChecking=no -i /home/ubuntu/.sshkey.pem [email protected]:/home/ubuntu/otg-examples/public-cloud/azure/ixia-c-dpdk-azure-mellanox/configs/.env $(GitRepoDPDK)/.agent2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we use a hardcoded IP here ? Is there any chance for this to change in the future or is it always set with Agent2Eth0IpAddress ?

# install dependencies
RUN apt-get update
RUN apt-get install jq -y
RUN pip install -r requirements.txt
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we update the controller and TE version we may need to change the requirements.txt content as well. For e.g. the latest release https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.8.0-1 uses snappi 1.8.0

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.

2 participants