NETCONF Protocol Functionality Test Suite
Purpose
This test ensures the functionality of the ONOS's ability to use the NETCONF communication protocol to configure switches.
Test Overview
This test uses a single node which will be emulated via mininet. It will use a combination of the REST API and the ONOS CLI to connect, configure, and disconnect a device using the NETCONF protocol. This test does not configure specific devices, but rather demonstrates the ability of ONOS to configure a device using NETCONF assuming the appropriate drivers and variables are set.
The specifics of the device to be connected should be set in the .params file.
suite consists of generic NETCONF protocol testing within ONOS, by using OF-Config to translate NETCONF requests for OVSDB.
Test Environment
Make sure that OF-Config, https://github.com/openvswitch/of-config, is installed on the device that is to be configured, the test assumes this device is the machine running TestON. Ensure that <cfgName> and <cfgPass> in the params file are the username and password required to ssh into the desired machine and account that of-config is to be run on. The netconfConfig.json file contains the configuration that was generated by the test. The test also relies on the existence of this file and will misbehave if it is removed entirely. The contents of the file are overwritten every time the test suite runs through Test Case 200.
Test Overview
The test would start NETCONF App in all currently running nodes and OF-Config server on device to be configured. Then, it would create a configuration file. Upload the configuration file to the device to be configured. Verify that the device was configured successfully.
| Test Case# | Description | Pass/Fail Criteria | Implementation Status | Test Cases # | Description | Pass Criteria | Road Map |
|---|---|---|---|---|---|---|---|
| 1 | Set up test parameters | Pass if pass: If params are set | Finished | ||||
| 2 | Set cell and build, uninstall, and install ONOS | Pass if pass: If sets cell correctly and build, uninstall, and install passes | Finished | ||||
| 10 | Setup Mininet with 1.0 OVS | Pass if mininet, switch assignment and topology comparison all pass | Finished | ||||
| 11 | Setup Mininet with 1.3 OVS | Pass if mininet, switch assignment and topology comparison all pass | Finished | ||||
| 14 | Stop Mininet | Pass if mininet and switches are successfully stopped | Finished | ||||
Make sure the netconf app is activated | Pass if NETCONF app is successfully started or already running | Finished | |||||
Write a configuration file and upload it to ONOS through REST API to connect a device | Pass if config file is written and a 200 response is given by ONOS REST | In progress | |||||
Get and Set configurations using the device-controllers and device-set controllers method | Pass if valid responses | In progress | Disconnect a device | Pass if device is successfully disconected | In progress|||
| 19 | Copy karaf logs from ONOS nodes to TestON log directory | pass: If successfully copied remote ONOS logs | Finished | ||||
| 100 | Ensure netconf app is running | pass: If NETCONF app and OFC-Server start/run | Finished | ||||
| 200 | Create/modify a configuration file | pass: If create/modify the configuration file correctly | Finished | ||||
| 300 | Push a configuration file to bring up a device | pass: If sent configuration file and confirmed the device was configured | Finished | ||||
| 400 | Bring down a device | Not yet possible |