PODs are deployed everynight using Jenkins Build System. After a successful installation of the POD, test jobs are triggered which validate the following categories of tests
Post Installation Verification
Sanity Tests
Functional Tests (Control and Data Plane)
Soak Tests
These tests perform the following validations
To execute the test, perform the following from the head node
cd /opt/cord/build make collect-diag cd /opt/cord/test/cord-tester/src/test/diag pybot verifyCollectDiag.robot
Following validations are performed after installation:
cordvtn
app is running and identifies the nodes and the fabric devicesTo execute the test, perform the following on the headnode
cd /opt/cord/test/cord-tester/src/test/robot pybot SanityPhyPOD.robot
Control and Data plane tests can be executed on the POD once the sanity checks are successful.
To validate the functionality of vSG instance creations and there by validating the end-end functionality checks on the related APIs, the following control plane test can be executed.
$ cd /opt/cord/test/cord-tester/src/test/cord-api/Properties $ cat RestApiProperties.py SERVER_IP = 'localhost' SERVER_PORT = '9101' USER = 'xosadmin@opencord.org' PASSWD = ''
cd /opt/cord/test/cord-tester/src/test/cord-api/ pybot Ch_MultiInstance.txt
Once the vSG instances are created after execution of the above control plane
test, data plane
tests can be executed to verify if the data traffic passes through the created vSG/vcpe from the cord-test container which simulates the interface that was created with similar s_tag and c_tag
Following steps are performed when the data plane test is executed.
To run a data plane test, perform the following steps
olt_config.json
file in the setup
directory to include the s_tag
and c_tag
used in the Control-Plane Test with the reserved flag turned on and create the cord test container
$ cd /opt/cord/test/cord-tester/src/test/setup $ cat out_config.json { "olt" : false, "uplink" : 2, "vlan" : 0, "port_map" : { "num_ports" : 11, "start_vlan" : 1000, "nr_switches": 1 }, "vcpe" : [ { "port" : "fabric", "type" : "reserved", "s_tag" : 415, "c_tag" : 222 }, { "port" : "fabric", "type" : "reserved", "s_tag" : 333, "c_tag" : 888 }, { "port" : "fabric", "type" : "reserved", "s_tag" : 555, "c_tag" : 999 }, { "port" : "fabric", "type" : "reserved", "s_tag" : 666, "c_tag" : 661 } ] }
sudo ./cord-test.py setup -m manifest-onf-cord.json
cd /opt/cord/test/cord-tester/src/test/vsg pybot vsg_dataplane_test.robot
NOTE: All the control and data plane tests can also be executed on a
Virtual POD(Cord-in-a-Box)
using the above procedure. Except for the data plane tests, where it needs to be run using a different option as there are no crossconnects required to be provisioned on CiaB.
pybot -e xconnect vsg_dataplane_test.robot