Due to a ransomware attack, the wiki was reverted to a July 2022 version. . We apologize for the lack of a more recent valid backup.
...
- (First time setup only)TestStations:
- should have a root account of "adminsdn" (password: rocks) to run TestON cli (so all hosts in the test infrastructure has the same sdn/rocks credential)
- should be able to logon to all nodes specified in the cell. See this guide to setup ssh keys.
- (First time setup only)"onos Bench" and cells: set up per "ONOS from Scratch"
- (First time setup only)Mininet (OCN) host: set up per "Mininet Walkthrough"
Note: it is possible to run "TestStation", "onos Bench" and "Mininet" on the same host, with .topo file set up accordingly. - Clean up TestON and MN before each test run
- Set OnosSystemTest version, and git pull "OnosSystemTest" from gerrit.onosproject.org
- Set onos version, and git pull onos from gerrit.onosproject.org
- Compile/build onos
- Setup onos JVM related configurations if default is not desirable
- Run test cases - see Scripting guidelines below
- (Optional) Run post-test tasks, such as data storage, result publishing, etc.
- (Optional)Teardown: onos uninstall and mn cleanup.
- (First time setup only)TestStations:
- OnosSystemTest/TestON Script should perform in:
- Test suite naming, see Test Plans.
- README file
- Should describe the test topology to run the default test case.
- Should explain the main goal of the test
- Provide any additional requirements needed to run the test
- testname.params
- Use env variable names to reference to components - no static IP's
- Move any hardcoded values to this file - e.g. sleep times, counters, file names... etc.
- If any modifications need to be made to the test, it should be done in this file
- testname.topo
- Use env variable names to reference to components - no static IP's;
- Leave out any passwords for the login information - Password-less login should be setup
- Use env variable names to reference to components - no static IP's;
- testname.py
- Log onos version/ commit
- Set prompt, terminal type
- Handel test case dependencies
- Explicit onos cell creation and setting
- Explicit activation of bundles/apps
- Test case specific app configurations for non-default values - cell apps should be specified in the params file
- Test dependencies should be stored in the Dependency folder located in the test folder - Mininet topologies and helper functions should all be in the Dependency folder
- Test log should log the relevant config information - Log is cheap; be as verbose as possible to help the debugging process
- Avoid static reference to paths, files - put any static references in the .params file
- Check and log summary of onos exceptions, errors, warnings - Ideally, this should be done after each test case
- Handling of Test results - write to test log and /tmp file for post-test processing purposes - Try to assert on every test result so that it can be shown on the wiki
...