Enhance vnet_vxlan for scaling of vnets and routes#937
Enhance vnet_vxlan for scaling of vnets and routes#937prsunny merged 11 commits intosonic-net:masterfrom manjuv1:vnet_vxlan_scaling
Conversation
Merge from remote repo
volodymyrsamotiy
left a comment
There was a problem hiding this comment.
These changes break "Serv2Serv" test case, it fails because no local routes installed on DUT, as a result traffic is not going between peering VNETs.
For example test generates following config for Vnet3 and Vnet4 peering VNETs (vnet.route.json):
[
...
{
"VNET_ROUTE_TABLE:Vnet3:4.4.10.0/24": {
"ifname": "Vlan3004"
},
"OP": "SET"
},
{
"VNET_ROUTE_TABLE:Vnet4:4.4.10.0/24": {
"ifname": "Vlan3004"
},
"OP": "SET"
},
...
]
But for Vnet3 and Vnet4 peers test sends traffic to 30.4.10.101 IP address and it fails since there are no such routes (instead there are listed above routes).
If manually install correct routes, which are shown below traffic goes as expected.
[
...
{
"VNET_ROUTE_TABLE:Vnet3:30.4.10.0/24": {
"ifname": "Vlan3004"
},
"OP": "SET"
},
{
"VNET_ROUTE_TABLE:Vnet4:30.4.10.0/24": {
"ifname": "Vlan3004"
},
"OP": "SET"
},
...
]
| - Vnet{{ vnet_batch[3] }}: Vnet{{ vnet_batch[2] }} | ||
| {% endfor %} | ||
|
|
||
| {# Vnet - Interface Configurations #} |
There was a problem hiding this comment.
Can we have this set to max 128?
There was a problem hiding this comment.
Can you please review if the changes to limit to 128 are fine? I still have to validate and see if the total routes exceeds the configured "num_routes" with the introduction of new sets of peers.
|
After latest changes After test failed go to DUT and check the following: As shown above test generates config (BTW, with default values test passes and also passes if less VNETs are specified, e.g. |
volodymyrsamotiy
left a comment
There was a problem hiding this comment.
Issue with number of neighbor entries is not related to the test and should be handled separately, so approving the PR.
Description of PR
Summary:
Enhance vnet_vxlan for scaling of Vnets/Routes/Endpoints
Type of change
Approach
How did you do it?
Enhance vnet_vxlan test to scale to a configured number of vnets/routes/endpoints. If none of these configurations are passed, the default 8 Vnets will be created.
How did you verify/test it?
ansible-playbook (generated vnet_config.yml)
Pass the new parameters to ansible-playbook for the scale test: -e "num_vnet=51 num_routes=550 num_endpoints=200"
For the existing test with 8 Vnets, no need to pass the above parameters.
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation