Add suite setups for remaining modules
[integration/test.git] / csit / suites / netvirt / elan / elan.robot
index 720d6bde49b770243407b9701f04de6c7fdddc87..784cdafd68f452c54ed4a8221e90f8b1868f34c9 100644 (file)
@@ -2,10 +2,8 @@
 Documentation     Test suite to validate elan service functionality in ODL environment.
 ...               The assumption of this suite is that the environment is already configured with the proper
 ...               integration bridges and vxlan tunnels.
-Suite Setup       BuiltIn.Run Keywords    OpenStackOperations.Get OvsDebugInfo
-...               AND    Elan SuiteSetup
-...               AND    OpenStackOperations.Get OvsDebugInfo
-Suite Teardown    Elan SuiteTeardown
+Suite Setup       Suite Setup
+Suite Teardown    OpenStackOperations.OpenStack Suite Teardown
 Test Setup        SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
 Test Teardown     OpenStackOperations.Get Test Teardown Debugs
 Library           OperatingSystem
@@ -17,7 +15,6 @@ Resource          ../../../libraries/OVSDB.robot
 Resource          ../../../libraries/OpenStackOperations.robot
 Resource          ../../../libraries/DevstackUtils.robot
 Resource          ../../../libraries/SetupUtils.robot
-Resource          ../../../libraries/Tcpdump.robot
 Resource          ../../../variables/Variables.robot
 Resource          ../../../variables/netvirt/Variables.robot
 
@@ -25,81 +22,63 @@ Resource          ../../../variables/netvirt/Variables.robot
 ${SECURITY_GROUP}    elan_sg
 @{NETWORKS}       elan_net_1    elan_net_2    elan_net_3
 @{SUBNETS}        elan_sub_1    elan_sub_2    elan_sub_3
-@{SUBNET_CIDR}    71.1.1.0/24    72.1.1.0/24    73.1.1.0/24
+@{SUBNET_CIDRS}    81.1.1.0/24    82.1.1.0/24    83.1.1.0/24
 @{NET_1_PORTS}    elan_net_1_port_1    elan_net_1_port_2
 @{NET_2_PORTS}    elan_net_2_port_1    elan_net_2_port_2
 @{NET_3_PORTS}    elan_net_3_port_1    elan_net_3_port_2
 @{NET_1_VMS}      elan_net_1_vm_1    elan_net_1_vm_2
 @{NET_2_VMS}      elan_net_2_vm_1    elan_net_2_vm_2
 @{NET_3_VMS}      elan_net_3_vm_1    elan_net_3_vm_2
-${PING_PASS}      , 0% packet loss
 
 *** Test Cases ***
-Create Single Elan
-    OpenStackOperations.Create Allow All SecurityGroup    ${SECURITY_GROUP}
-    OpenStackOperations.Create Network    @{NETWORKS}[0]
-    OpenStackOperations.Create SubNet    @{NETWORKS}[0]    @{SUBNETS}[0]    ${SUBNET_CIDR[0]}
-    OpenStackOperations.Create Port    @{NETWORKS}[0]    ${NET_1_PORTS[0]}    sg=${SECURITY_GROUP}
-    OpenStackOperations.Create Port    @{NETWORKS}[0]    ${NET_1_PORTS[1]}    sg=${SECURITY_GROUP}
-    BuiltIn.Wait Until Keyword Succeeds    3s    1s    Utils.Check For Elements At URI    ${PORT_URL}    ${NET_1_PORTS}
-    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_1_PORTS[0]}    ${NET_1_VMS[0]}    ${OS_COMPUTE_1_IP}    sg=${SECURITY_GROUP}
-    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_1_PORTS[1]}    ${NET_1_VMS[1]}    ${OS_COMPUTE_2_IP}    sg=${SECURITY_GROUP}
-    @{NET_1_VM_IPS}    ${NET_1_DHCP_IP} =    OpenStackOperations.Get VM IPs    @{NET_1_VMS}
-    Builtin.Set Suite Variable    @{NET_1_VM_IPS}
-    BuiltIn.Should Not Contain    ${NET_1_VM_IPS}    None
-    BuiltIn.Should Not Contain    ${NET_1_DHCP_IP}    None
-    @{NET_1_MACS} =    BuiltIn.Wait Until Keyword Succeeds    30s    10s    OpenStackOperations.Get Ports MacAddr    ${NET_1_PORTS}
-    Builtin.Set Suite Variable    @{NET_1_MACS}
-
 Verify Datapath for Single ELAN with Multiple DPN
     [Documentation]    Verify Flow Table and Datapath
     ${smac_cn1} =    BuiltIn.Create List    @{NET_1_MACS}[0]
     ${smac_cn2} =    BuiltIn.Create List    @{NET_1_MACS}[1]
-    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Present For ELAN Service    ${OS_COMPUTE_1_IP}    ${smac_cn1}    ${NET_1_MACS}
-    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Present For ELAN Service    ${OS_COMPUTE_2_IP}    ${smac_cn2}    ${NET_1_MACS}
+    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Present For ELAN Service    ${OS_CMP1_IP}    ${smac_cn1}    ${NET_1_MACS}
+    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Present For ELAN Service    ${OS_CMP2_IP}    ${smac_cn2}    ${NET_1_MACS}
     ${output} =    OpenStackOperations.Execute Command on VM Instance    @{NETWORKS}[0]    @{NET_1_VM_IPS}[0]    ping -c 3 @{NET_1_VM_IPS}[1]
-    BuiltIn.Should Contain    ${output}    ${PING_PASS}
+    BuiltIn.Should Contain    ${output}    ${PING_REGEXP}
     ${output} =    OpenStackOperations.Execute Command on VM Instance    @{NETWORKS}[0]    @{NET_1_VM_IPS}[1]    ping -c 3 @{NET_1_VM_IPS}[0]
-    BuiltIn.Should Contain    ${output}    ${PING_PASS}
+    BuiltIn.Should Contain    ${output}    ${PING_REGEXP}
 
 Verify Datapath After OVS Restart
     [Documentation]    Verify datapath after OVS restart
-    OVSDB.Restart OVSDB    ${OS_COMPUTE_1_IP}
-    OVSDB.Restart OVSDB    ${OS_COMPUTE_2_IP}
-    BuiltIn.Wait Until Keyword Succeeds    30s    10s    OVSDB.Verify OVS Reports Connected    tools_system=${OS_COMPUTE_1_IP}
-    BuiltIn.Wait Until Keyword Succeeds    30s    10s    OVSDB.Verify OVS Reports Connected    tools_system=${OS_COMPUTE_2_IP}
+    : FOR    ${ip}    IN    @{OS_CMP_IPS}
+    \    OVSDB.Restart OVSDB    ${ip}
+    : FOR    ${ip}    IN    @{OS_CMP_IPS}
+    \    BuiltIn.Wait Until Keyword Succeeds    30s    10s    OVSDB.Verify OVS Reports Connected    tools_system=${ip}
     ${smac_cn1} =    BuiltIn.Create List    @{NET_1_MACS}[0]
     ${smac_cn2} =    BuiltIn.Create List    @{NET_1_MACS}[1]
-    BuiltIn.Wait Until Keyword Succeeds    60s    10s    Verify Flows Are Present For ELAN Service    ${OS_COMPUTE_1_IP}    ${smac_cn1}    ${NET_1_MACS}
-    BuiltIn.Wait Until Keyword Succeeds    60s    10s    Verify Flows Are Present For ELAN Service    ${OS_COMPUTE_2_IP}    ${smac_cn2}    ${NET_1_MACS}
+    BuiltIn.Wait Until Keyword Succeeds    60s    10s    Verify Flows Are Present For ELAN Service    ${OS_CMP1_IP}    ${smac_cn1}    ${NET_1_MACS}
+    BuiltIn.Wait Until Keyword Succeeds    60s    10s    Verify Flows Are Present For ELAN Service    ${OS_CMP2_IP}    ${smac_cn2}    ${NET_1_MACS}
     ${output} =    OpenStackOperations.Execute Command on VM Instance    @{NETWORKS}[0]    @{NET_1_VM_IPS}[0]    ping -c 3 @{NET_1_VM_IPS}[1]
-    BuiltIn.Should Contain    ${output}    ${PING_PASS}
+    BuiltIn.Should Contain    ${output}    ${PING_REGEXP}
     ${output} =    OpenStackOperations.Execute Command on VM Instance    @{NETWORKS}[0]    @{NET_1_VM_IPS}[1]    ping -c 3 @{NET_1_VM_IPS}[0]
-    BuiltIn.Should Contain    ${output}    ${PING_PASS}
+    BuiltIn.Should Contain    ${output}    ${PING_REGEXP}
 
 Verify Datapath After Recreate VM Instance
     [Documentation]    Verify datapath after recreating Vm instance
     OpenStackOperations.Delete Vm Instance    ${NET_1_VMS[0]}
     ${smac_cn1} =    BuiltIn.Create List    @{NET_1_MACS}[0]
-    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Removed For ELAN Service    ${OS_COMPUTE_1_IP}    ${smac_cn1}
+    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Removed For ELAN Service    ${OS_CMP1_IP}    ${smac_cn1}
     OpenStackOperations.Remove RSA Key From KnownHosts    @{NET_1_VM_IPS}[0]
-    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_1_PORTS[0]}    ${NET_1_VMS[0]}    ${OS_COMPUTE_1_IP}
+    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_1_PORTS[0]}    ${NET_1_VMS[0]}    ${OS_CMP1_HOSTNAME}    sg=${SECURITY_GROUP}
     @{NET_1_VM_IPS}    ${NET_1_DHCP_IP} =    OpenStackOperations.Get VM IPs    @{NET_1_VMS}
     Builtin.Set Suite Variable    @{NET_1_VM_IPS}
     BuiltIn.Should Not Contain    ${NET_1_VM_IPS}    None
     BuiltIn.Should Not Contain    ${NET_1_DHCP_IP}    None
-    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Present For ELAN Service    ${OS_COMPUTE_1_IP}    ${smac_cn1}    ${NET_1_MACS}
+    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Present For ELAN Service    ${OS_CMP1_IP}    ${smac_cn1}    ${NET_1_MACS}
     ${output} =    OpenStackOperations.Execute Command on VM Instance    @{NETWORKS}[0]    @{NET_1_VM_IPS}[0]    ping -c 3 @{NET_1_VM_IPS}[1]
-    BuiltIn.Should Contain    ${output}    ${PING_PASS}
+    BuiltIn.Should Contain    ${output}    ${PING_REGEXP}
     ${output} =    OpenStackOperations.Execute Command on VM Instance    @{NETWORKS}[0]    @{NET_1_VM_IPS}[1]    ping -c 3 @{NET_1_VM_IPS}[0]
-    BuiltIn.Should Contain    ${output}    ${PING_PASS}
+    BuiltIn.Should Contain    ${output}    ${PING_REGEXP}
 
 Delete All elan_net_1 VM And Verify Flow Table Updated
     [Documentation]    Verify Flow table after all VM instance deleted
     : FOR    ${vm}    IN    @{NET_1_VMS}
     \    OpenStackOperations.Delete Vm Instance    ${vm}
-    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Removed For ELAN Service    ${OS_COMPUTE_1_IP}    ${NET_1_MACS}
-    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Removed For ELAN Service    ${OS_COMPUTE_2_IP}    ${NET_1_MACS}
+    Verify Flows Are Removed For ELAN Service On All compute Nodes    ${NET_1_MACS}
 
 Verify Datapath for Multiple ELAN with Multiple DPN
     [Documentation]    Verify Flow Table and Data path for Multiple ELAN with Multiple DPN
@@ -108,66 +87,61 @@ Verify Datapath for Multiple ELAN with Multiple DPN
     ${smac_cn1} =    BuiltIn.Create List    @{VM_MACAddr_elan_net_2}[0]    @{VM_MACAddr_elan_net_3}[0]
     ${smac_cn2} =    BuiltIn.Create List    @{VM_MACAddr_elan_net_2}[1]    @{VM_MACAddr_elan_net_3}[1]
     ${MAC_LIST} =    BuiltIn.Create List    @{VM_MACAddr_elan_net_2}    @{VM_MACAddr_elan_net_3}
-    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Present For ELAN Service    ${OS_COMPUTE_1_IP}    ${smac_cn1}    ${MAC_LIST}
-    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Present For ELAN Service    ${OS_COMPUTE_2_IP}    ${smac_cn2}    ${MAC_LIST}
+    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Present For ELAN Service    ${OS_CMP1_IP}    ${smac_cn1}    ${MAC_LIST}
+    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Present For ELAN Service    ${OS_CMP2_IP}    ${smac_cn2}    ${MAC_LIST}
     ${output} =    OpenStackOperations.Execute Command on VM Instance    @{NETWORKS}[1]    @{NET_2_VM_IPS}[0]    ping -c 3 ${NET_2_VM_IPS[1]}
-    BuiltIn.Should Contain    ${output}    ${PING_PASS}
+    BuiltIn.Should Contain    ${output}    ${PING_REGEXP}
     ${output} =    OpenStackOperations.Execute Command on VM Instance    @{NETWORKS}[2]    @{NET_3_VM_IPS}[1]    ping -c 3 ${NET_3_VM_IPS[0]}
-    BuiltIn.Should Contain    ${output}    ${PING_PASS}
+    BuiltIn.Should Contain    ${output}    ${PING_REGEXP}
     ${output} =    OpenStackOperations.Execute Command on VM Instance    @{NETWORKS}[1]    @{NET_2_VM_IPS}[0]    ping -c 3 ${NET_3_VM_IPS[0]}
-    BuiltIn.Should Not Contain    ${output}    ${PING_PASS}
+    BuiltIn.Should Not Contain    ${output}    ${PING_REGEXP}
     ${output} =    OpenStackOperations.Execute Command on VM Instance    @{NETWORKS}[2]    @{NET_3_VM_IPS}[1]    ping -c 3 ${NET_2_VM_IPS[1]}
-    BuiltIn.Should Not Contain    ${output}    ${PING_PASS}
+    BuiltIn.Should Not Contain    ${output}    ${PING_REGEXP}
     @{NET_2_VM_IPS}    ${NET_2_DHCP_IP} =    OpenStackOperations.Get VM IPs    @{NET_2_VMS}
     BuiltIn.Should Not Contain    ${NET_2_VM_IPS}    None
     BuiltIn.Should Not Contain    ${NET_2_DHCP_IP}    None
-    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Present For ELAN Service    ${OS_COMPUTE_1_IP}    ${smac_cn1}    ${MAC_LIST}
+    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Present For ELAN Service    ${OS_CMP1_IP}    ${smac_cn1}    ${MAC_LIST}
     ${output} =    OpenStackOperations.Execute Command on VM Instance    @{NETWORKS}[1]    ${NET_2_VM_IPS[1]}    ping -c 3 @{NET_2_VM_IPS}[0]
-    BuiltIn.Should Contain    ${output}    ${PING_PASS}
-    [Teardown]    BuiltIn.Run Keywords    OpenStackOperations.Get Test Teardown Debugs
-    ...    AND    MultipleElan Testsuite Cleanup
+    BuiltIn.Should Contain    ${output}    ${PING_REGEXP}
 
 *** Keywords ***
-Elan SuiteSetup
-    [Documentation]    Elan suite setup
-    SetupUtils.Setup_Utils_For_Setup_And_Teardown
-    KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set DEBUG org.opendaylight.genius.mdsalutil.internal.MDSALManager
-    DevstackUtils.Devstack Suite Setup
-
-Elan SuiteTeardown
-    [Documentation]    Elan suite teardown
-    OpenStackOperations.Get OvsDebugInfo
-    KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set INFO org.opendaylight.genius.mdsalutil.internal.MDSALManager
-    SingleElan SuiteTeardown
-    SSHLibrary.Close All Connections
-
-SingleElan SuiteTeardown
-    [Documentation]    Delete network,subnet and port
-    BuiltIn.Log    Delete Neutron Ports, Subnet and network
-    : FOR    ${Port}    IN    @{NET_1_PORTS}
-    \    OpenStackOperations.Delete Port    ${Port}
-    OpenStackOperations.Delete SubNet    @{SUBNETS}[0]
-    OpenStackOperations.Delete Network    @{NETWORKS}[0]
-    OpenStackOperations.Delete SecurityGroup    ${SECURITY_GROUP}
+Suite Setup
+    OpenStackOperations.OpenStack Suite Setup
+    Create Single Elan
+    OpenStackOperations.Show Debugs    @{NET_1_VMS}
+    OpenStackOperations.Get Suite Debugs
 
-SingleElan SuiteSetup
-    [Documentation]    Create single ELAN with Multiple DPN
+Create Single Elan
+    OpenStackOperations.Create Allow All SecurityGroup    ${SECURITY_GROUP}
+    OpenStackOperations.Create Network    @{NETWORKS}[0]
+    OpenStackOperations.Create SubNet    @{NETWORKS}[0]    @{SUBNETS}[0]    ${SUBNET_CIDRS[0]}
+    OpenStackOperations.Create Port    @{NETWORKS}[0]    ${NET_1_PORTS[0]}    sg=${SECURITY_GROUP}
+    OpenStackOperations.Create Port    @{NETWORKS}[0]    ${NET_1_PORTS[1]}    sg=${SECURITY_GROUP}
+    BuiltIn.Wait Until Keyword Succeeds    3s    1s    Utils.Check For Elements At URI    ${PORT_URL}    ${NET_1_PORTS}
+    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_1_PORTS[0]}    ${NET_1_VMS[0]}    ${OS_CMP1_HOSTNAME}    sg=${SECURITY_GROUP}
+    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_1_PORTS[1]}    ${NET_1_VMS[1]}    ${OS_CMP2_HOSTNAME}    sg=${SECURITY_GROUP}
+    @{NET_1_VM_IPS}    ${NET_1_DHCP_IP} =    OpenStackOperations.Get VM IPs    @{NET_1_VMS}
+    Builtin.Set Suite Variable    @{NET_1_VM_IPS}
+    BuiltIn.Should Not Contain    ${NET_1_VM_IPS}    None
+    BuiltIn.Should Not Contain    ${NET_1_DHCP_IP}    None
+    @{NET_1_MACS} =    BuiltIn.Wait Until Keyword Succeeds    30s    10s    OpenStackOperations.Get Ports MacAddr    ${NET_1_PORTS}
+    Builtin.Set Suite Variable    @{NET_1_MACS}
 
 MultipleElan Testsuite Setup
     [Documentation]    Create additional ELAN for multipleElan with Multiple DPN test
     OpenStackOperations.Create Network    @{NETWORKS}[1]
     OpenStackOperations.Create Network    @{NETWORKS}[2]
-    OpenStackOperations.Create SubNet    @{NETWORKS}[1]    @{SUBNETS}[1]    ${SUBNET_CIDR[1]}
-    OpenStackOperations.Create SubNet    @{NETWORKS}[2]    @{SUBNETS}[2]    ${SUBNET_CIDR[2]}
+    OpenStackOperations.Create SubNet    @{NETWORKS}[1]    @{SUBNETS}[1]    ${SUBNET_CIDRS[1]}
+    OpenStackOperations.Create SubNet    @{NETWORKS}[2]    @{SUBNETS}[2]    ${SUBNET_CIDRS[2]}
     OpenStackOperations.Create Port    @{NETWORKS}[1]    ${NET_2_PORTS[0]}    sg=${SECURITY_GROUP}
     OpenStackOperations.Create Port    @{NETWORKS}[1]    ${NET_2_PORTS[1]}    sg=${SECURITY_GROUP}
     OpenStackOperations.Create Port    @{NETWORKS}[2]    ${NET_3_PORTS[0]}    sg=${SECURITY_GROUP}
     OpenStackOperations.Create Port    @{NETWORKS}[2]    ${NET_3_PORTS[1]}    sg=${SECURITY_GROUP}
     BuiltIn.Wait Until Keyword Succeeds    3s    1s    Utils.Check For Elements At URI    ${PORT_URL}    ${NET_3_PORTS}
-    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_2_PORTS[0]}    ${NET_2_VMS[0]}    ${OS_COMPUTE_1_IP}    sg=${SECURITY_GROUP}
-    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_2_PORTS[1]}    ${NET_2_VMS[1]}    ${OS_COMPUTE_2_IP}    sg=${SECURITY_GROUP}
-    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_3_PORTS[0]}    ${NET_3_VMS[0]}    ${OS_COMPUTE_1_IP}    sg=${SECURITY_GROUP}
-    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_3_PORTS[1]}    ${NET_3_VMS[1]}    ${OS_COMPUTE_2_IP}    sg=${SECURITY_GROUP}
+    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_2_PORTS[0]}    ${NET_2_VMS[0]}    ${OS_CMP1_HOSTNAME}    sg=${SECURITY_GROUP}
+    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_2_PORTS[1]}    ${NET_2_VMS[1]}    ${OS_CMP2_HOSTNAME}    sg=${SECURITY_GROUP}
+    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_3_PORTS[0]}    ${NET_3_VMS[0]}    ${OS_CMP1_HOSTNAME}    sg=${SECURITY_GROUP}
+    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${NET_3_PORTS[1]}    ${NET_3_VMS[1]}    ${OS_CMP2_HOSTNAME}    sg=${SECURITY_GROUP}
     @{NET_2_VM_IPS}    ${NET_2_DHCP_IP} =    OpenStackOperations.Get VM IPs    @{NET_2_VMS}
     @{NET_3_VM_IPS}    ${NET_3_DHCP_IP} =    OpenStackOperations.Get VM IPs    @{NET_3_VMS}
     Builtin.Set Suite Variable    @{NET_2_VM_IPS}
@@ -180,22 +154,12 @@ MultipleElan Testsuite Setup
     Builtin.Set Suite Variable    @{VM_MACAddr_elan_net_2}
     @{VM_MACAddr_elan_net_3}    BuiltIn.Wait Until Keyword Succeeds    30s    10s    OpenStackOperations.Get Ports MacAddr    ${NET_3_PORTS}
     Builtin.Set Suite Variable    @{VM_MACAddr_elan_net_3}
-
-MultipleElan Testsuite Cleanup
-    [Documentation]    Delete elan_net_2 network,subnet and port
-    OpenStackOperations.Get Test Teardown Debugs
-    : FOR    ${vm}    IN    @{NET_2_VMS}    @{NET_3_VMS}
-    \    OpenStackOperations.Delete Vm Instance    ${vm}
-    : FOR    ${Port}    IN    @{NET_2_PORTS}    @{NET_3_PORTS}
-    \    OpenStackOperations.Delete Port    ${Port}
-    OpenStackOperations.Delete SubNet    @{SUBNETS}[1]
-    OpenStackOperations.Delete SubNet    @{SUBNETS}[2]
-    OpenStackOperations.Delete Network    @{NETWORKS}[1]
-    OpenStackOperations.Delete Network    @{NETWORKS}[2]
+    OpenStackOperations.Show Debugs    @{NET_2_VMS}    @{NET_3_VMS}
+    OpenStackOperations.Get Suite Debugs
 
 Verify Flows Are Present For ELAN Service
     [Arguments]    ${ip}    ${smacs}    ${dmacs}
-    ${flow_output} =    Utils.Run Command On Remote System And Log    ${ip}    sudo ovs-ofctl -O OpenFlow13 dump-flows br-int
+    ${flow_output} =    Utils.Run Command On Remote System And Log    ${ip}    sudo ovs-ofctl -O OpenFlow13 dump-flows ${INTEGRATION_BRIDGE}
     BuiltIn.Should Contain    ${flow_output}    table=${ELAN_SMACTABLE}
     ${smac_output} =    String.Get Lines Containing String    ${flow_output}    table=${ELAN_SMACTABLE}
     Builtin.Log    ${smac_output}
@@ -212,7 +176,7 @@ Verify Flows Are Present For ELAN Service
 
 Verify Flows Are Removed For ELAN Service
     [Arguments]    ${ip}    ${smacs}
-    ${flow_output} =    Utils.Run Command On Remote System And Log    ${ip}    sudo ovs-ofctl -O OpenFlow13 dump-flows br-int
+    ${flow_output} =    Utils.Run Command On Remote System And Log    ${ip}    sudo ovs-ofctl -O OpenFlow13 dump-flows ${INTEGRATION_BRIDGE}
     BuiltIn.Should Contain    ${flow_output}    table=${ELAN_SMACTABLE}
     ${smac_output} =    String.Get Lines Containing String    ${flow_output}    table=${ELAN_SMACTABLE}
     Builtin.Log    ${smac_output}
@@ -223,3 +187,8 @@ Verify Flows Are Removed For ELAN Service
     Builtin.Log    ${dmac_output}
     : FOR    ${dmac}    IN    @{smacs}
     \    ${resp} =    BuiltIn.Should Not Contain    ${dmac_output}    ${dmac}
+
+Verify Flows Are Removed For ELAN Service On All compute Nodes
+    [Arguments]    ${smacs}
+    : FOR    ${ip}    IN    @{OS_CMP_IPS}
+    \    BuiltIn.Wait Until Keyword Succeeds    30s    10s    Verify Flows Are Removed For ELAN Service    ${ip}    ${smacs}