About the Session Builder Tab


Use the Session Builder tab in the Test Session window to add test cases to the test session, define the test duration, manage the test cases, reserve ports and processes, and monitor the progress of the test cases during test operations.

Test Case Table/Grid

You may view and edit parameters shared by multiple test cases in the table, with a column for each Test Case.

  • Double-click on a row in the first column (parameter name) to display (popup) a vertical view of a single parameter across all viewed test cases.  

  • Right-click on one or more selected rows (parameters) to display the following options:

Duplicate/Add/Set all the tab values for the selected test case across other test case(s) adding new ones if necessary

Apply the selected column’s (test case’s) parameter values across other test cases, if the parameter already exists or entire tab of parameters to other test cases.

View/Edit Values Vertically (displayed when you right-click on a single row) to display (popup) a vertical view of a single parameter across all viewed test cases.  

You may Validate and Save any changes you made or Cancel, as required.

The test cases included in the session listed in a grid identifies:

The Test Server that will execute the test case

The test case name, type, instance, and log identifier (Test Case [Type]/Instance/Log ID)

  1. TIP: A linked test case is always displayed with "{Link}--" preceding the test case name.

The Progress of the current test event

The State of the test case

 

Notes 

Added a Notes section to the Session Builder Tab. Click on Notes for a Pop-Up window where up to 10K character size can be input and saved successfully. Tcl API "Notes" and REST API: "notes" are supported.

Cross-Reference

Use Cross-Reference to display/view Test Case Parameters shared by test cases in a test session. You may also duplicate tabs, apply auto-increment values across test cases, adjust all numerical values, apply values from other test cases to your selection, and add selection to Favorite tab. The XREF - Test Session window displays relevant test case tabs (e.g., interface tab, network devices tab, test activity tab, configuration tab, and so on) in a table format.

Reserve Ports Use Reserve Ports to enable and configure ports so that the ports are reserved for specific tests. Click Configure to configure/reserve ports for your tests.
Reserve Processes

Use Reserve Processes to enable and assign each Group to a particular TS virtual process (for any multiple Groups of Test Cases using the same PHYs). Click Assign to virtually assign processes for your tests.

NOTES:
  • Selecting Reserve Processes automatically selects Reserve Ports as well.
  • Reserve Processes now supports WLANs. Can run individual WLANs in different test cases and on different processes.
Traffic Mixer

Use Traffic Mixer to build a Test Session level traffic mixer that will combine all the Data Profiles from each Test Case (TC) with a Data Profile into one master table of DMFs. Not all DMF protocols are supported by the Traffic Mixer. See this table of all DMFs and their attributes related to Traffic Mixer function and unsupported DMFs are in bold:

DMF type Support Transaction Rate Supports set rate { } in MasterScript  (what gives Traffic Mixer its abilities) Support Live Updates (UDP/manual redirect)  Supported in Traffic Mixer Reason
ping YES YES YES YES  
raw YES YES YES YES  
udp YES YES YES YES  
tcp YES YES YES YES  
sctp YES YES YES YES  
http YES YES YES YES  
https YES YES YES YES  
http2 YES YES YES YES  
ftp YES YES YES YES  
tftp YES YES YES YES  
smtp YES YES YES YES  
pop3 YES YES YES YES  
imap YES YES YES YES  
rtcp YES YES YES YES  
rtp YES YES YES YES  
rtpfile NO NO NO NO  
rtpvoice NO NO NO NO These have a fixed rate based on the codec/files
rtpvideo NO NO NO NO These have a fixed rate based on the codec/files
abr NO NO NO NO Same reason as rtp_voice?
sip YES YES YES YES  
mms YES YES YES YES  
rtsp YES YES YES YES  
wsp YES YES YES YES  
wv YES YES YES YES  
dns YES YES YES NO Unknown packet size and delays
mqtt YES YES YES YES  
ulp NO NO NO NO  
cust YES YES YES YES  
lite DMF YES YES YES YES This is just a custom advanced data DMF
fb_udp YES NO YES NO  
fb_tcp YES NO YES NO  
fb_http YES NO YES NO  
fb_https YES NO YES NO  
fb_quic YES NO YES NO Unknown packet size and delays
twamp_lite YES YES YES YES  
tracert YES YES YES NO Unknown packet size and delays

 

When the use clicks the “Traffic Mixer” button, if the Test Session contains any Network Host Test Cases, they will given these options: Client Side Only, Network Host TCs only or Both. When you have both sides in the Traffic Mixer, the data will be double, since it will be showing full traffic Tx/Rx from both sides. If you do attempt to configure the mix with both sides in the Traffic Mixer, remember everything is double. A recommendation is to work each side separately, or even just focus on Client side, save the Data Profile(s) for each Client TC that match up with each Network Host TC and just open the Data Profiles into those NH TCs.    

 

Definitions of rows in Traffic Mixer

The left column provides enumerated indication of what the row represents.   There are several different row types:

  • Total -  The Total values for entire Test (all TCs added up)
  • AVG  - The AVG UE values across entire Test. Total row divided by number of UEs in the test.  This is an AVG since each TC’s UE may run different mix. With Test Session view, each TC can have different number of UEs and different Totals.
  • N-TSX:TCY  - Test Case total rows, where N is the unique Index of the TC instance within the traffic mixer and TSX:TCY is the standard Test Session identification.
  •    DMF/Library/Name column= “Test Case Totals for N MNs” – Totals for a single Test Case (same as if you opened Traffic Mixer in the Test Case Editor) 
  •    DMF/Library/Name column= “Per-MN Totals” – Totals for a single Test Case (same as if you opened Traffic Mixer in the Test Case Editor)
  • N-X-Y – DMF specific row, where N is the TC Index, X is the Unique DMF Index within the TC, and Y is the DMF mainline index.  If you have extra Instances they can be Identified.  4-5-5 means the 4th TC in the mixer, 5th DMF instance which is the 5th Mainflow in the Profile.   The DMF/Library/Name will provide the indication of which Mainflow it is, correlated by N and Y.    

If subflows are involved :

  • When you edit the cells in the top two rows, the mixer will adjust all the rates of all the DMFs to maintain the same AVG mix but increase or decrease the overall throughput.  The same as when you slide the Tx and Rx bar.
  • When you edit the cells one of the two Test Case total rows, the mixer will adjust the rates of all the DMFs within that TC to maintain the Per-MN mix but increase or decrease the TC throughput, and this would also be reflected in the Total and AVG rows at the top.   Changing the TC totals can cause a change to the overall mix if each TC is doing a different Mix.
  • When you edit the cells in one of the DMF rows, the mixer will recalculate the total values for the TC hosting the DMF and then the Total and AVG rows at the top.
     

See topics Traffic Rates/Mix and Data Traffic Tab for Test Case specific Traffic Mix.

Mobility Events

Use Mobility Events to chart Events per Second from the steps defined in the Command Sequencer window. The Mobility Events button appears on Session Builder tab only if the test case uses Sequencer test activity.

For example, a sequencer test that Activates Dedicated Bearers, Modifies Default Bearers, Modifies Dedicated Bearers and Deactivates Dedicated Bearers. There need not be Mobility in the test.

This an example of a sequencer test that does S1 Handover and Tau Handover.

CS Impairment

When licensed for CloudSure into Landslide, the CS Impairment checkbox provides the ability to delete PODs in a Kubernetes cluster, while running a Test Sessions.


From within a Test Session you can configure a CloudSure Profile which is the equivalent of a CloudSure TestCase, that only supports POD Delete by Count or Percentage of a set of Deployments or StatefulSets.

In order to run a test in CloudSure the test must first be saved. The TAS will use a base template of a CloudSure TestCase that can do POD Deletes and apply the configuration details stored in the CloudSure Test Profile.   The CS TestCase is temporary and we will give it a standard name "RID-<NNNN> Landslide Impairment". As part of final test cleanup, we will always delete the TestCase from CS. Since only one TAS will control one CS system, and since RID is unique at any given time, using RID-NNNN in the name will provide 100% uniqueness.

When a Test Session is started, the CloudSure Profile will be re-validated, querying CloudSure to make sure the configuration is still valid. Additionally if the profile is using the Delete Mode=Count, the TAS will query CloudSure to determine how many PODs are in the selected Workloads and the validation will fail unless the number of PODs >= the Delete Count.
In workloads response, we look for deployment_name, and replicas inside status to get a total number of PODs for a given list of Workloads:

{"type":"ReplicaSet","name":"open5gs-amf-db4b4c475","namespace":"csadmin","environment":"project-cloudsure-test","creation_timestamp":"2024-05-14T20:27:33Z",
"status":{"available_replicas":1,"fully_labeled_replicas":1,"observed_generation":1,"ready_replicas":1,"replicas":1},
"annotations":{"deployment.kubernetes.io/desired-replicas":"1","deployment.kubernetes.io/max-replicas":"2","deployment.kubernetes.io/revision":"1","meta.helm.sh/release-name":"open5gs","meta.helm.sh/release-namespace":"csadmin"},
"labels":{"app.kubernetes.io/instance":"open5gs","app.kubernetes.io/managed-by":"Helm","app.kubernetes.io/name":"amf","helm.sh/chart":"amf-2.1.0","pod-template-hash":"db4b4c475"},
"deployment_name":"open5gs-amf"}

 

If validation is successful the Test Session will be allowed to start.

 

Two modes are offered, Manual and Automatic.

  • With Manual, once you start the test, the Start button will enable and let you choose when to start CloudSure.
  • With Automatic, the CloudSure will be started as soon as the Test Session reaches the RUNNING state. This means if you are using Automation Control Steps you will need to make sure to leave the test running so steps can complete and the test can reach RUNNING state.  NOTE: The ability to add a Step in automation control is expected very soon.

The TAS will connect one single CloudSure endpoint and login with one username global to they system, app to app.

When you execute CloudSure, the only feedback you get is in the Run Log, where the is a log when starting CloudSure and then querying status shows three details, the Status, the Results, and the Message. They are only reported when one of them changes.

In this example the CloudSure Impairment worked and did not report any issues.


Currently API supports configuring things, but you cannot manually start CS from API.
 

Setup:
License is required.

CloudSure must be setup with: The User, Organization, Project, Cluster Profile (new CS feature, if ready in time), Environment Profile, Credential Manager.

Setup CloudSure with the required settings:
Landslide will use the Default Organization
Landslide will expect a project named “landslide”, create that project
Landslide will expect a dedicated username/password.
Configure the TAS Settings to connect with CloudSure:

CloudSure global settings will be via TAS Settings for now:

aion_endpoint   http://10.71.20.12:37022  --  
cs_endpoint http://foo.bar:32442/
cs_email_username  [email protected]
cs_password  Password12!
For example on the CLI:
set-tas-setting cs_email_username "[email protected]"
set-tas-setting cs_password "Like I would tell you"
set-tas-setting aion_endpoint "http://notreally.com:32277/"
set-tas-setting cs_endpoint "http://notreally.com:32442/"
 

TS Admin Use the TS Admin button as a shortcut to access the Test Server Administration window.
Control Buttons Use the test case control buttons to add, remove, edit, or save a test case, or right-click a test case to access the Test Case menu.
Right-click options on a test case

Use the right-click options on a test case to display a drop-down list with these options:

Add New Test Case

Add Existing Test Case

Remove Test Case

Edit Test Case

Save Test Case As

Apply the Meta Data - Select the Meta Data and apply the Meta Data to the Test Case.

This same functionality is also available from the RESTful API. You incorporate a metaDataApply as part of OverrideAndSaveAs and OverrideAndRun.

RESTful API options.
#1 the ability to GET a saved test session with Meta-Data Applies…      

GET /api/libraries/34/testSessions/MyTestSession?apply=MetaData&library=1212&name=Profile1&ts=0&tc=1

#2 the ability to POST save a test session with Meta-Data Applies…  

POST /api/libraries/34/testSessions/MyTestSession?action=overrideAndSaveAs&apply=MetaData&library=1212&name=Profile1&ts=0&tc=1   

#3 the ability to POST a running test session with Meta-Data Applies…  

POST /api/runningTests?action=overrideAndRun&apply=MetaData&library=1212&name=Profile1&ts=0&tc=1    
 

Supported by RESTFul API - Using the RESTFul API contains reference information about the Landslide RESTFul API system. Refer to Swagger UI on Landslide Home Page, it contains the latest most accurate information for anything it covers.

Duplicate Test Case — Select a configured test case in your test session and Right-Click to duplicate/make multiple copies in the same test session. A Duplicate Test Case window displays and you may make a maximum of 15 copies of the TC at a time. SUTs and other parameters would all be identical.  PHY information would be identical if the test case is applied to the same Test Server as the original. You may also assign a new Test Server for each of the copies made.

Reassign All Test Servers, Test Cases, Ports: provides an option for automated selection of PHYs/Subnets.

Set Test Server as TS0: allows you to set the selected test case to execute first in teh test session.

Rename Unlinked Test Case Instances: Launches a dialog box that allows editing of non-linked test cases thus no need to open each test case editor.  Edits occur immediately and if a name is invalid, it will not save. Click OK to refresh the Session Builder table.

Rearrange Test Case Instances:  Rearrange the order of test servers and test cases. Launces a dialog box that allows the movement of test servers and/or test cases within a server.

NOTE: Test case instance specific items such as automation control, Pass/Fail criteria, Favorites (measurements) will move and point to new location.  However, if a you run a test, then rearrange test cases, save and reopen the test for charts to be accurate (Applies to Test Case specific measurements not summary measurements). Double check dependencies after a rearrangement or deletion of test cases.

 

Save All Valid Linked Test Cases — Available only when there are linked test cases.

You may use this option when using XREF and/or reassigning test servers, test cases, ports, to save your linked TCs.

The linked test cases are saves to their original name/library and will override your changes to name or library.

Save All Upgraded "Green" Linked Test Cases — This option appears if the test opens with at least one green linked test case. Once the option is selected/executed, it is removed from the menu.  Also this option cannot be executed while a test case is opened for editing, the option will be visible but disabled in this case.

The linked test cases are saves to their original name/library and will override your changes to name or library.

Test Case Properties

Set TS Debug Mode and/or Trace Level opens the Set Test Server Debug and Trace Level window if cfguser is logged in. Otherwise, the cgfuser login window opens.

Retrieve TS Logs opens the Login to List and Retrieve Log Files window, login as cfguser, which then opens the Retrieve Test Server Log Files window. Additional details in Retrieve Test Server Logs and Debug Trace topic.

Select the log files for the test case instance from the Instance list.

NOTE: Clicking Retrieve Tarball calls the TS command-line utility get-ts-logs to generate a tarball (may take a few seconds).  It contains logs for OS and all TS-Processes in a single tar.gz.

By default the file name format is: TS+[TS NAME]+-all_ts_logs.tar.gz, for example, TSdev26-all_ts_logs.tar.gz.

 

Retrieve is available when you select one or more log files to be retrieved to a specified location.

TS Admin opens the Test Server Administration window.

Directly Command Test Case: Available when a Test Session is running. Enable to display the init, start, stop, and cleanup buttons. For example, you may use the Automation Control steps to configure a test where the test cases only initialize, then when the test is running, use the Directly Command Test Case (init, start, stop, and cleanup buttons) to set up a sequence of steps to execute as required.

Right-click on a test case when its Running When the test session is running, you may right-click on any of the test cases in the grid to display an Action Menu with options: Init, Start, Stop, Cleanup.  Use Directly Command Test Case panel to Init/Start/Stop and Cleanup already running tests cases.   See Monitoring the Test Progress to understand the Test Session state during execution.

 

Learn More About: