Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Cherry pick] Enable PTF-SAI testing structure to v1.7 #1438

Merged
merged 8 commits into from Mar 14, 2022

Conversation

@lgtm-com
Copy link

lgtm-com bot commented Mar 14, 2022

This pull request introduces 9 alerts when merging 8c8dbb1 into 211ce89 - view on LGTM.com

new alerts:

  • 9 for 'import *' may pollute namespace

pkochmanska and others added 8 commits March 14, 2022 09:07
This is an autogeneration framework for PTF based SAI tests.  Before in order to add a new test it is necessary to:

1. Add an entry in switch_sai.thrift.
2. Add RPC server method for new entry in switch_sai_rpc_server.cpp.
3. Add a python wrapper in switch.py (if applicable).
4. Write a new test

The main goal of autogeneration framework is to generate first three steps based on SAI headers to facilitate the process of writing new tests.

* Create SAI-Proposal-SAI_PTF.md
* Adding generator script
* New makefile target and cleanup

Signed-off-by: Yang Wang <yangwang1@microsoft.com>
The changes introduce SAI PTF framework base tests infrastructure. Following files have been added:

sai_rpc_frontend.cpp - RPC server frontend file - there is a set of manually written helper functions that converts/parses SAI and thrift attributes and also here we have autogenerated SAI RPC server functions included
sai_base_test.py - python module with base test classes with common tests configuration
sai_utils.py - python module with some helper function used in SAI PTF tests
saitest.py - first test module with simple framework test

Signed-off-by: Aleksandra Jereczek <aleksandra.jereczek@intel.com>
Signed-off-by: Yang Wang <yangwang1@microsoft.com>
…ect#1387)

keep the switch id in creat_switch and remove it from remove_switch

1. support to create the create_switch only once before the test run and use the same switch id within multi-round of testing
2. support remove the switch id

Signed-off-by: Richard Yu <richard.yu@microsoft.com>
Signed-off-by: Yang Wang <yangwang1@microsoft.com>
…omputeproject#1388)

* [SAIServer]Add new SaiServer to support ptf-SAI test structure

Add build script to generate the necessary package as saiserverv2
Add new saiserver to support new structure - without switch init and with thrift 0.13.0
Add makefile
add sai_rpc_frontend
simplify saiserver and remove init method
add permission for copy_saithriftv2.s
copy saiserver at dh builddeb

ctypesgen for sai-ptf and install python-saithrift for two version

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

* add a package name for sai_adapter

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

* address review comments

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

* add more comments for the command in the Makefile

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>
Signed-off-by: Yang Wang <yangwang1@microsoft.com>
… (opencomputeproject#1415)

* Add a middle layer (strategy and factory) under the test cases which can

no more if-else for platform selecting
no more code injection for different platforms, just need to abstract to a method on the differences
auto select the platform by the parameters in the test starter (shell, happed in run_p4_tests, not published here)
easy-distinct structure for the difference from platforms
prepared for future statistic
Add a sanity sample, it can

configure across all the ports (base on port's configuration file)
simple FDB and VLAN naming according to port's number
make a basic check on the status of the devices
use as a sample for how to use the new middle layer

fix and suppress LGTM alters

Signed-off-by: Richard Yu <richard.yu@microsoft.com>

* code refactor part I

- add comments for class and method
- reformat code
- move platform related method to corresponding class

code refactor Part II

optimize the class hirerarchy
simplify the import items
add more docs

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

* suppress lgtm warnings

fix lgtm warning

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>
Signed-off-by: Yang Wang <yangwang1@microsoft.com>
…omputeproject#1427)

Fix circular reference issue.

Test done:
build the saiserver and check the sai_headers.py

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>
Signed-off-by: Yang Wang <yangwang1@microsoft.com>
opencomputeproject#1437)

try to expose the sai api object_type_query and switch_id_query for
warmboot testing
Modify the template file for generate code from meta.

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>
Signed-off-by: Yang Wang <yangwang1@microsoft.com>
@lgtm-com
Copy link

lgtm-com bot commented Mar 14, 2022

This pull request introduces 9 alerts when merging 05ef225 into 211ce89 - view on LGTM.com

new alerts:

  • 9 for 'import *' may pollute namespace

@richardyu-ms richardyu-ms merged commit f2e7ceb into opencomputeproject:v1.7 Mar 14, 2022
@richardyu-ms richardyu-ms changed the title [Cherry pick] Enable PTF-SAI testing stricture to v1.7 [Cherry pick] Enable PTF-SAI testing structure to v1.7 Apr 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants