Ixia IxLoad Controller 2 Gen Shell #1653
Quali-Community
started this conversation in
Integrations
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Ixia IxLoad Controller 2 Gen Shell
A shell integrates a device model, application or other technology with CloudShell. A shell consists of a data model that defines how the device and its properties are modeled in CloudShell, along with automation that enables interaction with the device via CloudShell.
Traffic Generator Shells
CloudShell's traffic generator shells enable you to conduct traffic test activities on Devices Under Test (DUT) or Systems Under Test (SUT) from a sandbox. In CloudShell, a traffic generator is typically modeled using a chassis resource, which represents the traffic generator device and ports, and a controller service that runs the chassis commands, such as Load Configuration File, Start Traffic and Get Statistics. Chassis and controllers are modeled by different shells, allowing you to accurately model your real-life architecture. For example, scenarios where the chassis and controller are located on different machines.
For additional information on traffic generator shell architecture, and setting up and using a traffic generator in CloudShell, see the Traffic Generators Overview online help topic.
Ixia IxLoad Controller 2G Shell
The Ixia IxLoad Controller 2G shell provides you with connectivity and management capabilities such as device structure discovery and power management for the Ixia IxLoad Controller.
For more information on the Ixia IxLoad Controller, see the official Ixia product documentation.
The Ixia IxLoad Controller provides automation commands to run on the Ixia Chassis, such as Load Configuration, Start/Stop Traffic, Get Statistics. For more information on the Ixia Chassis shell, see the following:
Standard version
The Ixia IxLoad Controller 2G shell is based on the Traffic Generator Controller Standard version 2.0.0.
For detailed information about the shell’s structure and attributes, see the Traffic Shell standard in GitHub.
Supported OS
▪ Windows
Requirements
Release: Ixia IxLoad Controller 2G
▪ IxLoad client: Should be installed on the Execution Server machine.
▪ CloudShell: 8.3P3 and above
Shell Documentation
The shell documentation can be found at: Ixia IxLoad Controller 2G Shell ReadMe.
Repository
Latest Release
README.md
Name
Ixia-IxLoad-Controller-Shell-2G
Owner
QualiSystems
Type
2nd Gen Shell
Category
Traffic Generators
Min. Compatible CloudShell Version
8.3P3 9.0P2 9.1
Total Downloads
(All Releases)
133
Link
3.1.0
(Version / Tag)
TAR / ZIP
3.1.0 (TAR)
3.1.0 (ZIP)
Author
github-actions[bot]
Published On
08/11/2022 09:28 AM
Assets
cloudshell-Ixia-IxLoad-Controller-Shell-2G-offline-requirements-package-3.1.0.zip
[1.91 MB]
Ixia.IxLoad.Controller.Shell.2G.zip
[7 KB]
Ixia IxLoad Controller 2G Shell
Release date: January 2021
Shell version: 3.0.1
Document version: 1.0
In This Guide
Overview
A shell integrates a device model, application or other technology with CloudShell. A shell consists of a data model that defines how the device and its properties are modeled in CloudShell, along with automation that enables interaction with the device via CloudShell.
Traffic Generator Shells
CloudShell's traffic generator shells enable you to conduct traffic test activities on Devices Under Test (DUT) or Systems Under Test (SUT) from a sandbox. In CloudShell, a traffic generator is typically modeled using a chassis resource, which represents the traffic generator device and ports, and a controller service that runs the chassis commands, such as Load Configuration File, Start Traffic and Get Statistics. Chassis and controllers are modeled by different shells, allowing you to accurately model your real-life architecture. For example, scenarios where the chassis and controller are located on different machines.
For additional information on traffic generator shell architecture, and setting up and using a traffic generator in CloudShell, see the Traffic Generators Overview online help topic.
Ixia IxLoad Controller 2G Shell
The Ixia IxLoad Controller 2G shell provides you with connectivity and management capabilities such as device structure discovery and power management for the Ixia IxLoad Controller.
For more information on the Ixia IxLoad Controller, see the official Ixia product documentation.
The Ixia IxLoad Controller provides automation commands to run on the Ixia Chassis, such as Load Configuration, Start/Stop Traffic, Get Statistics. For more information on the Ixia Chassis shell, see the following:
Standard version
The Ixia IxLoad Controller 2G shell is based on the Traffic Generator Controller Standard version 2.0.0.
For detailed information about the shell’s structure and attributes, see the Traffic Shell standard in GitHub.
Supported OS
▪ Windows
Requirements
▪ IxLoadGateway: 9.00 and up, Windows or Linux.
▪ CloudShell version: 9.3 and above
Data Model
The shell's data model includes all shell metadata, families, and attributes.
Automation
This section describes the automation (driver) associated with the data model. The shell’s driver is provided as part of the shell package. There are two types of automation processes, Autoload and Resource. Autoload is executed when creating the resource in the Inventory dashboard, while resource commands are run in the sandbox.
For Traffic Generator shells, commands are configured and executed from the controller service in the sandbox, with the exception of the Autoload command, which is executed when creating the resource.
Set the command input as follows:
* Ixia config file name (config_file_name (String)): Full path to the Ixia configuration file name (rxf).
Possible values:
* Blocking: True: Returns after traffic finishes to run; False: Returns immediately
Possible values:
* View Name: Name of .csv file from the IxLoad results directory (under the shell logs directory).
* Output type: CSV, JSON. If CSV, the statistics will be attached to the blueprint .csv file.
Downloading the Shell
The Ixia IxLoad Controller 2G shell is available from the Quali Community Integrations page.
Download the files into a temporary location on your local machine.
The shell comprises:
Importing and Configuring the Shell
This section describes how to import the Ixia IxLoad Controller 2G shell and configure and modify the shell’s devices.
Importing the shell into CloudShell
To import the shell into CloudShell:
The shell is displayed in the Shells page and can be used by domain administrators in all CloudShell domains to create new inventory resources, as explained in Adding Inventory Resources.
The service can now be added to a blueprint from the Apps/Service catalog's Networking category.
Offline installation of a shell
Note: Offline installation instructions are relevant only if CloudShell Execution Server has no access to PyPi. You can skip this section if your execution server has access to PyPi. For additional information, see the online help topic on offline dependencies.
In offline mode, import the shell into CloudShell and place any dependencies in the appropriate dependencies folder. The dependencies folder may differ, depending on the CloudShell version you are using:
Adding shell and script packages to the local PyPi Server repository
If your Quali Server and/or execution servers work offline, you will need to copy all required Python packages, including the out-of-the-box ones, to the PyPi Server's repository on the Quali Server computer (by default C:\Program Files (x86)\QualiSystems\CloudShell\Server\Config\Pypi Server Repository).
For more information, see Configuring CloudShell to Execute Python Commands in Offline Mode.
To add Python packages to the local PyPi Server repository:
If you haven't created and configured the local PyPi Server repository to work with the execution server, perform the steps in Add Python packages to the local PyPi Server repository (offlinemode).
For each shell or script you add into CloudShell, do one of the following (from an online computer):
Connect to the Internet and download each dependency specified in the requirements.txt file with the following command:
pip download -r requirements.txt
.The shell or script's requirements are downloaded as zip files.
In the Quali Community's Integrations page, locate the shell and click the shell's Download link. In the page that is displayed, from the Downloads area, extract the dependencies package zip file.
Place these zip files in the local PyPi Server repository.
Setting the python PythonOfflineRepositoryPath configuration key
Before PyPi Server was introduced as CloudShell’s python package management mechanism, the
PythonOfflineRepositoryPath
key was used to set the default offline package repository on the Quali Server machine, and could be used on specific Execution Server machines to set a different folder.To set the offline python repository:
Download the ixia_IxLoad_controller_offline_requirements.zip file, see Downloading the Shell.
Unzip it to a local repository. Make sure the execution server has access to this folder.
On the Quali Server machine, in the ~\CloudShell\Server\customer.config file, add the following key to specify the path to the default python package folder (for all Execution Servers):
<add key="PythonOfflineRepositoryPath" value="repository full path"/>
If you want to override the default folder for a specific Execution Server, on the Execution Server machine, in the ~TestShell\Execution Server\customer.config file, add the following key:
<add key="PythonOfflineRepositoryPath" value="repository full path"/>
Restart the Execution Server.
Updating Python Dependencies for Shells
This section explains how to update your Python dependencies folder. This is required when you upgrade a shell that uses new/updated dependencies. It applies to both online and offline dependencies.
Updating offline Python dependencies
To update offline Python dependencies:
Download the latest Python dependencies package zip file locally.
Extract the zip file to the suitable offline package folder(s).
Terminate the shell’s instance, as explained here.
Updating online Python dependencies
In online mode, the execution server automatically downloads and extracts the appropriate dependencies file to the online Python dependencies repository every time a new instance of the driver or script is created.
To update online Python dependencies:
Associating a CloudShell Service to a Non-Global Domain
In order to expose a service to users of a domain that is not the Global domain, you must associate the service to the domain. To do this, you need to associate the service to a category that is assigned to the domain.
When you import a service shell, most shells are automatically assigned a default service category which is associated with the Global domain. For custom shells, this may not be true.
To associate the Ixia IxLoad Controller 2G service to a non-global domain:
Note: The association process differs depending on the type of shell - second generation (2G) shell or first generation (1G) shell. The instructions below detail the steps for a 2G service shell.
(Optional) To associate the service to a new service category(s):
Note: If you do not want to add a new category(s) to this shell, you can use the default category that comes out-of-the-box (if it exists).
• Modify the shelldefinition.yaml file to add a service category(s) to the shell. See the CloudShell Developer Guide’s Associating categories to a service shell article. Note that when importing the shell into CloudShell, the new categories will be linked automatically with the Global domain.
Associate the shell’s service category (either the out-of-the-box category or the new category you created in step 1) to a non-Global domain.
In the Manage dashboard, click Categories from the left sidebar, or Domains if you are a domain admin.
Select Services Categories.
Click the service category that is associated with your service shell.
In the Edit Category dialog box, from the Domains drop-down list, select the desired domain(s).
Click Save.
Typical Workflow
Workflow 1 - Using the IxLoad controller to run IxLoad traffic
In CloudShell Portal, in the top left section of the Blueprint Catalog, click + Create Blueprint.
In the blueprint toolbar, click Resource and drag the Ixia Chassis resource into the diagram.
Add the required number of Ixia Chassis resource ports to the blueprint. The number of Ixia Chassis resource ports in the blueprint should match the number of ports in the IxLoad configuration.
For example: if you have a configuration with two ports:
Hover over the Ixia Chassis resource and select More Options>Add sub-resource from the context menu.
Use the search and filtering options to find the port resources you want to use.
Select the port resources from the pane and drag them into the workspace. The ports are displayed in the Resource Structure tab of the chassis resource.
In the blueprint toolbar, click App/Service>CS_TrafficGeneratorController and drag the xia IxLoad Controller Shell 2G service into the diagram.
Reserve the blueprint.
Edit the Ixia IxLoad Controller Shell 2G service parameters if required, see Configuring a new service.
Map the configuration ports to the blueprint ports. For each port in the IxLoad configuration, assign a physical port from the ports in the blueprint.
References
To download and share integrations, see Quali Community's Integrations.
For instructional training and documentation, see Quali University.
To suggest an idea for the product, see Quali's Idea box.
To connect with Quali users and experts from around the world, ask questions and discuss issues, see Quali's Community forums.
Release Notes
For release updates, see the shell's GitHub releases page.
Known Issues
* Please allow 30-60 seconds for manual update changes to take effect.
ofir eldar 02/21/2019 00:44 AM
· 4368 ·
Beta Was this translation helpful? Give feedback.
All reactions