CloudShell TeraVM vChassis Shell #1620
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
-
CloudShell TeraVM vChassis Shell
A Shell implements integration of 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 an automation that enables interaction with the device via CloudShell.
This Shell provides structure autoload of the traffic chassis.
Make sure to install also:
cloudshell-teravm-vblade-shell
Shell Documentation
The shell documentation can be found at: CloudShell TeraVM Shell ReadMe.
Repository
Latest Release
README.md
Name
cloudshell-tg-teravm-vchassis
Owner
QualiSystems
Type
2nd Gen Shell
Category
Networking
Min. Compatible CloudShell Version
8.0
Total Downloads
(All Releases)
65
Link
1.2.0
(Version / Tag)
TAR / ZIP
1.2.0 (TAR)
1.2.0 (ZIP)
Author
anthony-poddubny
Published On
03/04/2019 11:29 AM
Assets
cloudshell-tg-teravm-vchassis-1.2.0.zip
[7 KB]
TeraVM Virtual 1G Shells
Release date: April 2018
Shell version: 1.0.0
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 Overiew online help topic.
TeraVM Virtual 1G Shells
TeraVM virtual devices are modeled using several shells in CloudShell, providing you with connectivity and management capabilities such as device structure discovery and power management.
For more information see the official TeraVM product documentation.
To model a TeraVM virtual device in CloudShell, use the following shells:
▪ CloudShell TeraVM Virtual vChassis Shell, which provides connectivity and management capabilities, such as device structure discovery and power management for the TeraVM vChassis.
▪ TeraVM Controller Shell (Service), which provides automation commands to run on the vChassis, such as Load Test Configuration, Start Traffic, Get Statistics.
▪ CloudShell TeraVM vBlade Shell, which provides connectivity and management capabilities such as device structure discovery and power management for the CloudShell TeraVM vBlade.
Standard version
The TeraVM Virtual 1G shells are based on the Traffic Shell Standard 1.0.0.
For detailed information about the shell’s structure and attributes, see the Traffic Shell standard in GitHub.
Requirements
Release: TeraVM Virtual Shells
▪ TeraVM versions: 13.4 and above
▪ CloudShell version: 8.2 and above
Data Model
The shell's data models include all shell metadata, families, and attributes.
TeraVM vChassis Families and Models
The families and models of the vChassis are listed in the following table:
TeraVM vChassis Attributes
The attributes of the vChassis are listed in the following table:
TeraVM Module Attributes (vBlade)
The attributes of the vBlade are listed in the following table:
TeraVM Port Attributes
The attributes of the ports are listed in the following table:
Automation
This section describes the automation (drivers) 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.
TeraVM Controller Shell
* TeraVM config file (String) (Mandatory): The configuration file name.
Path should include the protocol type, for example tftp://10.10.10.10/asdf.
* Use ports from reservation (Enum): Possible values: True or False.
Updates the configuration file with ports from the current reservation based on their Logical Name attributes.
Downloading the Shell
The TeraVM Virtual 1G shells are available from the Quali Community Integrations page.
Download the files into a temporary location on your local machine.
The shells include:
Importing and Configuring the Shell
This section describes how to import the TeraVM Virtual shells and configure and modify the shell’s devices.
Importing the shells into CloudShell
Note: You will need to repeat these procedures, for the controller shell, the vChassis shell, and the vBlade shell.
To import the shell into CloudShell:
Make sure you have the shell’s zip package. If not, download the shell from the Quali Community's Integrations page.
Backup your database.
Log in to CloudShell Portal as administrator and access the relevant domain.
In the user menu select Import Package.
Browse to the location of the downloaded shell file, select the relevant .zip file and Click Open. Alternatively, drag the shell’s .zip file into CloudShell Portal.
Import the rest of the shells by repeating steps 4 and 5.
The TeraVM Controller shell is displayed in the App/Service>Applications section of your blueprint, and can be used to run custom code and automation processes in the sandbox. For more information, see Services Overview.
You can now use the vBlade and vChassis shells to create Apps that, once deployed in a sandbox, will spin up VMs that model a TeraVM traffic generator. See Configuring a new App. For more information, see Apps Overview.
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:
For CloudShell version 8.3 and above, see Adding Shell and script packages to the local PyPi Server repository.
For CloudShell version 8.2, perform the appropriate procedure: Adding Shell and script packages to the local PyPi Server repository or Setting the python pythonOfflineRepositoryPath configuration key.
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 teravm-offline-package-1.0.0 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.
Configuring a new App
Configuring a new App based on the TeraVM vBlade shell
This section explains how to create an App template for the TeraVM vBlade shell (Module).
In CloudShell Portal, as Global administrator, open the Manage – Apps page.
Click Add.
Select vCenter VM from Template.
Note that CloudShell only supports vCenter as a Cloud Provider, however, you may use any of the available deployment options.
Enter the Name of the App and click Create.
In the Deployment Paths tab, select the Cloud Provider and enter the vCenter Template to be used in VM creation. It should include the full path and template name, for example QualiFolder/Template.
In the App Resource tab, select the TeraVM Virtual Traffic Generator Module shell and specify all required configuration attributes for this shell, see TeraVM Module Attributes (vBlade).
Click Done.
Configuring a new App based on the TeraVM vChassis shell
This section explains how to create an App template for the TeraVM vChassis shell.
In CloudShell Portal, as Global administrator, open the Manage – Apps page.
Click Add.
Select vCenter VM from Template.
Note that CloudShell only supports vCenter as a Cloud Provider, however, you may use any of the available deployment options.
Enter the Name of the App and click Create.
In the Deployment Paths tab, select the Cloud Provider and enter the vCenter Template to be used in VM creation. It should include the full path and template name, for example QualiFolder/Template.
In the App Resource tab, select the TeraVM vChassis shell and specify all required configuration attributes for this shell, see TeraVM vChassis Attributes.
Click Done.
Configuring the TeraVM Controller
This section explains how to configure the TeraVM Controller service, which enables end users to conduct traffic tests using the TeraVM traffic generator.
In your blueprint, add the TeraVM Traffic Generator Controller service.
Click the plus sign next to the TeraVM Traffic Generator Controller to add the service into your diagram.
In the Add Service dialog box, specify the Test Files Location attribute with the location where test files should be downloaded. All other attributes aren't required and can be left blank.
Click Add.
Configuring the setup script
This section explains how to add the setup script for the TeraVM Virtual shells.
To add the setup script:
Log in to CloudShell Portal as administrator of the relevant domain.
Go to the Manage dashboard and click Scripts>Blueprint.
Click Add New Script.
From the list, select the downloaded setup script TeraVM.Sandbox.Setup.1.0.zip.
Click Edit and change the Script Type to Setup.
Click Save.
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:
Typical Workflows
Workflow 1 - Deploying the TeraVM Module and Controller
Create a new blueprint.
Add Apps and Services to the blueprint.
Update the blueprint setup script.
In the blueprint workspace, click the Reserve button to deploy the TeraVM Controller and TeraVM Module.
You can now run your testing activity using the TeraVM traffic generator you spun up, as explained in the following workflow.
Workflow 2 - Running a test
Reserve a blueprint that is configured to run traffic tests, like the one configured in Workflow 1.
From the TeraVM Traffic Generator Controller service, run the Load Configuration command.
It can be a full path, or relative path under the location specified in the attribute Test Files Location, such as <reservation_id>/test_name.bpt or
only test_name.bpt. Make sure the path is accessible to the execution server running the command.
Run the Start Test command.
Run the Stop Test command.
Run the Get Result command.
The test's result file is attached to the sandbox.
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
What's New
For release updates, see the shell's GitHub release pages as follows:
▪ CloudShell TeraVM Virtual vChassis Shell release page
▪ TeraVM Controller Shell (Service) release page
▪ CloudShell TeraVM vBlade Shell release page
* Please allow 30-60 seconds for manual update changes to take effect.
ofir eldar 03/04/2018 02:04 PM
· 3401 ·
Beta Was this translation helpful? Give feedback.
All reactions