BuiltIn.Should Contain ${resp} ${router_id}
Verify GWMAC Flow Entry On Flow Table On All Compute Nodes
-Remove Router Interfaces
+Verify Remove Interface From Router When Associated With L3VPN
+ OpenStackOperations.Remove Interface ${ROUTER} @{SUBNETS}[0]
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${NET_1_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${NET_2_VM_IPS} ping_should_succeed=False
+
+Verify L3VPN Datapath With Router Dissociation When Interfaces are Added To Router
+ OpenStackOperations.Add Router Interface ${ROUTER} @{SUBNETS}[0]
+ ${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS} @{NET_2_VM_IPS}
+ ${router_id} = OpenStackOperations.Get Router Id ${ROUTER}
+ VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_IDS}[0]
+ ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0]
+ BuiltIn.Should Not Contain ${resp} ${router_id}
+ Verify Flows Are Present For L3VPN On All Compute Nodes ${vm_ips}
+ ${dst_ip_list} = BuiltIn.Create List @{NET_1_VM_IPS}[1] @{NET_2_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${dst_ip_list}
+ BuiltIn.Log Check datapath from network2 to network1
+ ${dst_ip_list} = BuiltIn.Create List @{NET_2_VM_IPS}[1] @{NET_1_VM_IPS}
+ BuiltIn.Wait Until Keyword Succeeds 60s 10s OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ${dst_ip_list}
+
+Remove Router Interfaces And Check L3_Datapath Traffic Across Networks
${router_id} = OpenStackOperations.Get Router Id ${ROUTER}
: FOR ${INTERFACE} IN @{SUBNETS}
\ OpenStackOperations.Remove Interface ${ROUTER} ${INTERFACE}
+ \ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${NET_1_VM_IPS}
+ \ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${NET_2_VM_IPS} ping_should_succeed=False
${interface_output} = OpenStackOperations.Show Router Interface ${ROUTER}
: FOR ${INTERFACE} IN @{SUBNETS}
\ ${subnet_id} = OpenStackOperations.Get Subnet Id ${INTERFACE}
\ BuiltIn.Should Not Contain ${interface_output} ${subnet_id}
-Disassociate L3VPN From Router
- ${router_id} = OpenStackOperations.Get Router Id ${ROUTER}
- VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_IDS}[0]
- ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0]
- BuiltIn.Should Not Contain ${resp} ${router_id}
-
Delete Router
Delete Router ${ROUTER}
${router_output} = OpenStackOperations.List Routers