Deployment
Ixia-c is distributed and deployed as a multi-container application that consists of the following services:
- controller: Serves API request from the clients and manages workflow across one or more traffic engines.
- traffic-engine: Generates, captures, and processes traffic from one or more network interfaces (on linux-based OS).
- app-usage-reporter: (Optional) Collects anonymous usage report from the controller and uploads it to the Keysight Cloud, with minimal impact on the host resources.
All these services are available as docker images on the GitHub Open-Traffic-Generator repository. To use specific versions of these images, see Ixia-c Releases .
Once the services are deployed, snappi-tests (a collection of snappi test scripts and configurations) can be setup to run against Ixia-c.
Deploy Ixia-c using docker-compose
Deploying multiple services manually (along with the required parameters) is not always applicable in some scenarios. For convenience, the deployments directory consists of the following docker-compose
files:
*.yml
: Describes the services for a given scenario and the deployment parameters that are required to start them..env
: Holds the default parameters, that are used across all*.yml
files. For example, the name of the interface, the version of docker images, and etc.
If a concerned .yml
file does not include certain variables from .env
, those can then safely be ignored.
Follwoing is the example of a usual workflow, by using docker-compose
.
# change default parameters if needed; e.g. interface name, image version, etc.
vi deployments/.env
# deploy and start services for community users
docker-compose -f deployments/<scenario>.yml up -d
# stop and remove services deployed
docker-compose -f deployments/<scenario>.yml down
On most of the systems, docker-compose
needs to be installed separately even if the docker is already installed. Before you start, ensure that the docker prerequisites are met.
For more information on deployment, see Deployment Guide.