User Tools

Site Tools


vsperf:traffic_generator_working_group

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vsperf:traffic_generator_working_group [2015/11/23 20:15]
Gene Snider Added initial REST API Interface Table
vsperf:traffic_generator_working_group [2015/11/23 21:00] (current)
Daniel Smith
Line 1: Line 1:
-==== THIS IS A WORK IN PROGRESS. DO NOT PANIC UNTIL INSTRUCTED TO DO SO BY THE CAPTAIN OR A MEMBER OF THE CREW == 
- 
- 
 === Introduction ==== === Introduction ====
  
 The traffic generator working group is an adhoc, interdisciplinary working group focused on addressing the challenges of traffic generation, particularly as it relates to the challenges of test automation. It is not currently an approved OPNVF project nor is there a proposal planned at this time. The traffic generator working group is an adhoc, interdisciplinary working group focused on addressing the challenges of traffic generation, particularly as it relates to the challenges of test automation. It is not currently an approved OPNVF project nor is there a proposal planned at this time.
 +
 +== Members ==
 +^ Name         ^ Email                     ^ Project ​      ^
 +| Gene Snider ​ | eugene.snider@huawei.com ​ | VSPEF           |
 +| Daniel Smith | daniel.smith@ericsson.com | FUEL/​YARDSTICK ​ |
 +
  
 === Problem Definition === === Problem Definition ===
Line 13: Line 16:
  
 Additionally it is a common practice to install these on the DUT where they conflict with or impede performance and, at the very least, will compete for system resources. It also makes it impossible to automate the installation process in a way that will work for all users. Additionally it is a common practice to install these on the DUT where they conflict with or impede performance and, at the very least, will compete for system resources. It also makes it impossible to automate the installation process in a way that will work for all users.
 +
 +The goal of the Traffic Generator Working Group is to get all the interested parties talking and see if we can arrive at a common set of requirements and possibly a common solution for the installation and management of the traffic generator platform.
  
 === Proposed Solution - A toothpick in a anthill === === Proposed Solution - A toothpick in a anthill ===
Line 39: Line 44:
   * There is a standard REST API running on port 80 ( or whatever ) of the TG platform. This provides a uniform interface for OPNFV test infrastructures to leverage in a variety of ways including discovery of the installed traffic generators.   * There is a standard REST API running on port 80 ( or whatever ) of the TG platform. This provides a uniform interface for OPNFV test infrastructures to leverage in a variety of ways including discovery of the installed traffic generators.
   * There is also a python based interface that provides the implementation solution. A preliminary version of this was developed by the VSPERF TOIT infrastructure and can be seen here: [[https://​gerrit.opnfv.org/​gerrit/​gitweb?​p=vswitchperf.git;​a=blob_plain;​f=core/​traffic_controller.py|traffic_controller.py]]   * There is also a python based interface that provides the implementation solution. A preliminary version of this was developed by the VSPERF TOIT infrastructure and can be seen here: [[https://​gerrit.opnfv.org/​gerrit/​gitweb?​p=vswitchperf.git;​a=blob_plain;​f=core/​traffic_controller.py|traffic_controller.py]]
 +
 +== Initial REST API Draft Specification ==
  
 |Title:|Get Traffic Generator Information| | |Title:|Get Traffic Generator Information| |
Line 55: Line 62:
 | |URL: /​tg/​v1/:​vendor|No traffic generators installed for vendor| | |URL: /​tg/​v1/:​vendor|No traffic generators installed for vendor|
 | |URL: /​tg/​v1/:​vendor/:​model|Model not installed or no config data available| | |URL: /​tg/​v1/:​vendor/:​model|Model not installed or no config data available|
 +
 +|Title:​|Configure Traffic Generator||
 +|URL:| /​tg/​v1/:​vendor/:​model or /​tg/​v1/:​id||
 +|Method:​|POST||
 +|Header Params:​|Optional:​|AcceptType=json or html|Default:​ HTML|
 +|URL Params:​|Required:​|vendor=[alphanumeric]|
 +| | |model=[alphanumeric]|
 +| | |OR|
 +| ||Id=[uuid]|
 +| |Optional:​|N/​A|
 +|Data Params:​|Required:​|TOIT Configuration parameters as JSON|
 +| |Optional:​|N/​A|
 +|Success Response:​|HTTP Code:|200|
 +| |URL: /​tg/​v1/:​vendor/:​model|Returns device specific configuration data|
 +|Error Response:​|HTTP Code:|404 Not Found|
 +| |URL: /​tg/​v1/:​vendor/:​model|Device not found. No additional data returned|
 +| |HTTP Code:|422 Unprocessable Entry|
 +| |URL: /​tg/​v1/:​vendor/:​model|Returns log message or debug info if available|
 +
 +|Title:|Get Available Traffic Flows| |
 +|URL:| /​tg/​v1/​flow/:​id| |
 +|Method:​|GET| |
 +|Header Params:​|Optional:​|AcceptType=json or html|Default:​ HTML|
 +|URL Params:​|Required:​|id=[uuid]|Traffic generator ID
 +| |Optional:​|N/​A|
 +|Data Params:​|Required:​|N/​A|
 +| |Optional:​|N/​A|
 +|Success Response:​|HTTP Code:|200|
 +| |URL: /​tg/​v1/​flow|Returns collection of available flows|
 +|Error Response:​|HTTP Code:|404 <96> Not Found|
 +| |URL: /​tg/​v1/​flow|No available flows|
 +
 +|Title:​|Start Traffic Flow||
 +|URL:| /​tg/​v1/​flow/:​flow_id||
 +|Method:​|POST| |
 +|Header Params:​|Optional:​|AcceptType=json or html|Default:​ HTML|
 +|URL Params:​|Required:​|flow_id=[uuid]|
 +| | |wait=[yes or no]|Wait for Completion|
 +| |Optional:​|N/​A|
 +|Data Params:​|Required:​|TOIT Configuration Params as JSON|
 +| |Optional:​|N/​A|
 +|Success Response:​|HTTP Code:|200|
 +| |URL: /​tg/​v1/​flow/:​flow_id|flow_instance=[uuid]|
 +|Error Response:​|HTTP Code:|404 <96> Not Found|
 +| |URL: /​tg/​v1/​flow/:​flow_id|No available flow|
 +| |HTTP Code:|422 Unprocessable Entry|
 +| |URL: /​tg/​v1/​flow/:​flow_id|Invalid parameters for traffic flow|
 +
 +|Title:​|Terminate Traffic Flow||
 +|URL:| /​tg/​v1/​flow_instance/:​flow_instance||
 +|Method:​|PUT||
 +|Header Params:​|Optional:​|AcceptType=json or html|Default:​ HTML|
 +|URL Params:​|Required:​|flow_instance=[uuid]|
 +||Optional:​|N/​A|
 +|Data Params:​|Required:​|N/​A|
 +| |Optional:​|N/​A|
 +|Success Response:​|HTTP Code:|200|
 +| |URL: /​tg/​v1/​test/:​flow_instance||
 +|Error Response:​|HTTP Code:|404 Not Found|
 +| |URL: /​tg/​v1/​test/:​flow_instance|No available flow|
 +| |HTTP Code:|422 Unprocessable Entry|
 +| |URL: /​tg/​v1/​test/:​flow_instance|Invalid parameters for traffic flow|
 +
 +|Title:|Get Traffic Flow Results||
 +|URL:| /​tg/​v1/​test/:​flow_instance||
 +|Method:​|GET||
 +|Header Params:​|Optional:​|AcceptType=json or html|Default:​ HTML|
 +|URL Params:​|Required:​|flow_instance=[uuid]|
 +| |Optional:​|N/​A|
 +|Data Params:​|Required:​|TOIT Configuration Params as JSON|
 +| |Optional:​|N/​A|
 +|Success Response:​|HTTP Code:|200|
 +| |URL: /​tg/​v1/​test/:​flow_instance|Flow result data|
 +|Error Response:​|HTTP Code:|404 Not Found|
 +| |URL: /​tg/​v1/​test/:​flow_instance|Instance no longer exists|
 +
 +|Title:​|Delete Traffic Flow ||
 +|URL:| /​tg/​v1/​test/:​flow_instance||
 +|Method:​|GET||
 +|Header Params:​|Optional:​|AcceptType=json or html|Default:​ HTML|
 +|URL Params:​|Required:​|flow_instance=[uuid]|
 +| |Optional:​|N/​A|
 +|Data Params:​|Required:​|N/​A|
 +| |Optional:​|N/​A|
 +|Success Response:​|HTTP Code:|200|
 +| |URL: /​tg/​v1/​test/:​flow_instance|Flow result data|
 +|Error Response:​|HTTP Code:|404 Not Found|
 +| |URL: /​tg/​v1/​test/:​flow_instance|Instance no longer exists|
 +
 +
  
vsperf/traffic_generator_working_group.1448309758.txt.gz · Last modified: 2015/11/23 20:15 by Gene Snider