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 for routes being 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 for routes being 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.
3.3 Test for routes be preferred per least hop count
UT ID: rtr_test_cfg_07 Description: - Add 2 or more routes on the router - Set different hop counts on the routes - Pass traffic through the router - Test to ensure the route with least hop count is used.
4. Routes Failover Tests
4.1 Bringing down a route
UT ID: rtr_test_cfg_08 Description: - Add 2 or more routes on the router - Run traffic through the router - Bring down one route. - Check the other routes take over - Make sure there are no dropped packets
4.2 Add a new route dynamically
UT ID: rtr_test_cfg_09 Description: - Add a route on the router - Run traffic through the router - Add a new route with same priority and hop count as the older route. - Check that traffic runs through new route as well - Check for the send statistics for the new route.