An LNet router is the node with only LNet running and without Lustre FS mounted on it. With the Multi-Rail feature added and other changes on the LNet, it is significant to test the LNet routers and ensure they work as expected.
Test Cases
1. Router Configuration Tests
1.1 Add/Delete routes on the router using lnetctl
UT ID: rtr_test_cfg_01 Description: - Add routes - Ensure that routes are added - Delete routes - Ensure that routes are deleted def lcmd_test_add_route(): rc, out = commands.getstatusoutput(LNETCTL + 'route add --net'+ argv[1] '--gateway' + argv[2]) if (rc != 0): print out return False print "\nConfigured route successfully." rc, out = commands.getstatusoutput(LNETCTL+'route show') print out if (rc != 0): return False def lcmd_test_del_route(): rc, out = commands.getstatusoutput(LNETCTL + 'route del --net'+ argv[1] '--gateway' + argv[2]) if (rc != 0): print out return False print "\nConfigured route successfully." rc, out = commands.getstatusoutput(LNETCTL+'route show') print out if (rc != 0): return False
1.2 Priority configuration test
UT ID: rtr_test_cfg_02 Description: - Configure priority on the router. - check if the correct priority is set on the router
1.3 Hop count configuration
UT ID: rtr_test_cfg_03 Description: - Configure hop on the router - check if the hop is set on the router
2. Route health check
UT ID: rtr_test_cfg_04 Description: - Configure a route on the router - check if the route works by passing traffic through it.
3. Multiple Routes Configuration Tests-
3.1 Test routes are used per Round-Robin
UT ID: rtr_test_cfg_05 Description: - Add 2 or more similar routes on the router - Pass traffic through the router - Ensure that all the routes are used in round-robin fashion
3.2 Test routes are used per priority
UT ID: rtr_test_cfg_06 Description: - Add 2 or more routes on the router - Set different priorities on the routes - Pass traffic through the router - Test to ensure the highest priority route is used.