Fix for 74616 and 74646 43/74743/14
authorSrinivas Rachakonda <srinivas.rachakonda@gmail.com>
Wed, 1 Aug 2018 15:27:34 +0000 (20:57 +0530)
committerSam Hague <shague@redhat.com>
Mon, 13 Aug 2018 13:17:22 +0000 (13:17 +0000)
Added libraries for vnibased suites

Change-Id: Ie7dc606f2393770807db514ff2cd84782b1e2c50
Signed-off-by: Srinivas Rachakonda <srinivas.rachakonda@gmail.com>
csit/libraries/OVSDB.robot
csit/suites/netvirt/vnibasedl2switching/vnibasedl2switching.robot
csit/testplans/netvirt-1node-openstack.txt

index 33af72ff4774aa4de249c4f72875e82dcaf86249..d9efabdb110d77ccd4d64970d2c6fd4329d600af 100644 (file)
@@ -417,24 +417,24 @@ Delete Ports On Bridge By Type
     BuiltIn.Log    ${ports_present_after_delete}
 
 Get Tunnel Id And Packet Count
-    [Arguments]    ${conn_id}    ${table_id}    ${direction}    ${tun_id}    ${dst_mac}=""
-    [Documentation]    Get tunnel id and packet count from specified table id and destination port mac address
+    [Arguments]    ${conn_id}    ${table_id}    ${tun_id}    ${mac}=""
+    [Documentation]    Get tunnel id and packet count from specified table id
+    ...    Using regex get the n_packet and the tunnel_id from the table flow.
     ${tun_id} =    BuiltIn.Convert To Hex    ${tun_id}    prefix=0x    lowercase=yes
-    ${base_cmd} =    BuiltIn.Set Variable    sudo ovs-ofctl dump-flows br-int -OOpenFlow13 | grep table=${table_id} | grep tun_id=${tun_id}
-    ${full_cmd} =    BuiltIn.Run Keyword If    "${direction}" == "Egress"    BuiltIn.Catenate    ${base_cmd}    | grep ${dst_mac} | awk '{split($7,a,"[:-]"); print a[2]}'
-    ...    ELSE    BuiltIn.Catenate    ${base_cmd} | awk '{split($6,a,"[,=]"); {print a[4]}}'
+    ${cmd} =    BuiltIn.Run Keyword If    "${table_id}" == "${INTERNAL_TUNNEL_TABLE}"    BuiltIn.Set Variable    sudo ovs-ofctl dump-flows br-int -OOpenFlow13 | grep table=${table_id} | grep ${mac} | grep tun_id=${tun_id} | grep goto_table:${ELAN_DMACTABLE}
+    ...    ELSE    BuiltIn.Set Variable    sudo ovs-ofctl dump-flows br-int -OOpenFlow13 | grep table=${table_id} | grep ${mac}
     SSHLibrary.Switch Connection    ${conn_id}
-    Utils.Write Commands Until Expected Prompt    ${base_cmd}    ${DEFAULT_LINUX_PROMPT_STRICT}
-    ${output} =    Utils.Write Commands Until Expected Prompt    ${full_cmd}    ${DEFAULT_LINUX_PROMPT_STRICT}
-    @{list} =    String.Split String    ${output}
+    ${output} =    Utils.Write Commands Until Expected Prompt    ${cmd}    ${DEFAULT_LINUX_PROMPT_STRICT}
+    @{list}=    Split to lines    ${output}
     ${output} =    Set Variable    @{list}[0]
-    ${tunnel_id} =    Convert To Integer    ${output}    16
-    ${full_cmd} =    BuiltIn.Run Keyword If    "${direction}" == "Egress"    BuiltIn.Catenate    ${base_cmd}    | grep ${dst_mac} | awk '{split($4,a,"[=,]"); {print a[2]}}'
-    ...    ELSE    BuiltIn.Catenate    ${base_cmd} | awk '{split($4,a,"[=,]"); {print a[2]}}'
-    SSHLibrary.Switch Connection    ${conn_id}
-    ${output} =    Utils.Write Commands Until Expected Prompt    ${full_cmd}    ${DEFAULT_LINUX_PROMPT_STRICT}
-    @{list} =    String.Split String    ${output}
-    ${packet_count} =    BuiltIn.Set Variable    @{list}[0]
+    ${output} =    String.Get Regexp Matches    ${output}    n_packets=([0-9]+),.*set_field:(0x[0-9a-z]+)|n_packets=([0-9]+),.*tun_id=(0x[0-9a-z]+)    1    2    3
+    ...    4
+    ${output} =    BuiltIn.Set Variable    @{output}[0]
+    ${output}    Convert To List    ${output}
+    ${packet_count}    ${tunnel_id} =    BuiltIn.Run Keyword If    "${table_id}" == "${ELAN_DMACTABLE}"    BuiltIn.Set Variable    @{output}[0]    @{output}[1]
+    ...    ELSE IF    "${table_id}" == "${INTERNAL_TUNNEL_TABLE}"    BuiltIn.Set Variable    @{output}[2]    @{output}[3]
+    ...    ELSE IF    "${table_id}" == "${L3_TABLE}"    BuiltIn.Set Variable    @{output}[0]    @{output}[1]
+    ${tunnel_id} =    Convert To Integer    ${tunnel_id}    16
     [Return]    ${tunnel_id}    ${packet_count}
 
 Verify Dump Flows For Specific Table
@@ -454,15 +454,13 @@ Verify Vni Segmentation Id and Tunnel Id
     ${port_mac2} =    OpenStackOperations.Get Port Mac    ${port2}
     ${segmentation_id1} =    OpenStackOperations.Get Network Segmentation Id    ${net1}
     ${segmentation_id2} =    OpenStackOperations.Get Network Segmentation Id    ${net2}
-    ${egress_tun_id}    ${before_count_egress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${L3_TABLE}    direction=${EGRESS}    tun_id=${segmentation_id2}
-    ...    dst_mac=${port_mac2}
+    ${egress_tun_id}    ${before_count_egress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${L3_TABLE}    tun_id=${segmentation_id2}    mac=${port_mac2}
     BuiltIn.Should Be Equal As Numbers    ${segmentation_id2}    ${egress_tun_id}
-    ${egress_tun_id}    ${before_count_egress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${L3_TABLE}    direction=${EGRESS}    tun_id=${segmentation_id1}
-    ...    dst_mac=${port_mac1}
+    ${egress_tun_id}    ${before_count_egress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${L3_TABLE}    tun_id=${segmentation_id1}    mac=${port_mac1}
     BuiltIn.Should Be Equal As Numbers    ${segmentation_id1}    ${egress_tun_id}
-    ${ingress_tun_id}    ${before_count_ingress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    direction=${INGRESS}    tun_id=${segmentation_id1}
+    ${ingress_tun_id}    ${before_count_ingress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    tun_id=${segmentation_id1}
     BuiltIn.Should Be Equal As Numbers    ${segmentation_id1}    ${ingress_tun_id}
-    ${ingress_tun_id}    ${before_count_ingress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    direction=${INGRESS}    tun_id=${segmentation_id2}
+    ${ingress_tun_id}    ${before_count_ingress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    tun_id=${segmentation_id2}
     BuiltIn.Should Be Equal As Numbers    ${segmentation_id2}    ${ingress_tun_id}
     ${ping_cmd} =    BuiltIn.Run Keyword If    '${ip}'=='ipv4'    BuiltIn.Set Variable    ping -c ${DEFAULT_PING_COUNT} ${vm2_ip}
     ...    ELSE    BuiltIn.Set Variable    ping6 -c ${DEFAULT_PING_COUNT} ${vm2_ip}
@@ -475,12 +473,10 @@ Verify Vni Packet Count After Traffic
     [Arguments]    ${before_count_egress_port1}    ${before_count_egress_port2}    ${before_count_ingress_port1}    ${before_count_ingress_port2}    ${segmentation_id1}    ${segmentation_id2}
     ...    ${port_mac1}    ${port_mac2}
     [Documentation]    Verify the packet count after the traffic sent
-    ${tun_id}    ${after_count_egress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${L3_TABLE}    direction=${EGRESS}    tun_id=${segmentation_id1}
-    ...    dst_mac=${port_mac1}
-    ${tun_id}    ${after_count_ingress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    direction=${INGRESS}    tun_id=${segmentation_id2}
-    ${tun_id}    ${after_count_egress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${L3_TABLE}    direction=${EGRESS}    tun_id=${segmentation_id2}
-    ...    dst_mac=${port_mac2}
-    ${tun_id}    ${after_count_ingress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    direction=${INGRESS}    tun_id=${segmentation_id1}
+    ${tun_id}    ${after_count_egress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${L3_TABLE}    tun_id=${segmentation_id1}    mac=${port_mac1}
+    ${tun_id}    ${after_count_ingress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    tun_id=${segmentation_id2}
+    ${tun_id}    ${after_count_egress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${L3_TABLE}    tun_id=${segmentation_id2}    mac=${port_mac2}
+    ${tun_id}    ${after_count_ingress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    tun_id=${segmentation_id1}
     ${diff_count_egress_port1} =    BuiltIn.Evaluate    ${after_count_egress_port1} - ${before_count_egress_port1}
     ${diff_count_ingress_port1} =    BuiltIn.Evaluate    ${after_count_ingress_port1} - ${before_count_ingress_port1}
     ${diff_count_egress_port2} =    BuiltIn.Evaluate    ${after_count_egress_port2} - ${before_count_egress_port2}
index 81f7f577d6aaa422b416d54f092eb1c8f4e7f68a..e00a35b49977cedf855ee403b36537f8a3f5842e 100644 (file)
@@ -27,8 +27,6 @@ Resource          ../../../variables/netvirt/Variables.robot
 Resource          ../../../variables/Variables.robot
 
 *** Variables ***
-${EGRESS}         Egress
-${INGRESS}        Ingress
 ${VNI_SECURITY_GROUP}    vni_l2_sg
 @{VNI_NETWORKS}    vni_l2_net_1
 @{VNI_SUBNETS}    vni_l2_sub_1    vni_l2_sub_2    vni_l2_sub_3
@@ -44,24 +42,20 @@ VNI Based L2 Switching
     ${port_mac2} =    OpenStackOperations.Get Port Mac    @{VNI_NET_1_PORTS}[1]
     ${segmentation_id} =    OpenStackOperations.Get Network Segmentation Id    @{VNI_NETWORKS}[0]
     ${output} =    OpenStackOperations.Execute Command on VM Instance    @{VNI_NETWORKS}[0]    @{VNI_NET_1_VM_IPS}[0]    ping -c ${DEFAULT_PING_COUNT} @{VNI_NET_1_VM_IPS}[1]
-    ${egress_tun_id}    ${before_count_egress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${ELAN_DMACTABLE}    direction=${EGRESS}    tun_id=${segmentation_id}
-    ...    dst_mac=${port_mac2}
+    ${egress_tun_id}    ${before_count_egress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${ELAN_DMACTABLE}    tun_id=${segmentation_id}    mac=${port_mac2}
     BuiltIn.Should Be Equal As Numbers    ${segmentation_id}    ${egress_tun_id}
-    ${egress_tun_id}    ${before_count_egress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${ELAN_DMACTABLE}    direction=${EGRESS}    tun_id=${segmentation_id}
-    ...    dst_mac=${port_mac1}
+    ${egress_tun_id}    ${before_count_egress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${ELAN_DMACTABLE}    tun_id=${segmentation_id}    mac=${port_mac1}
     BuiltIn.Should Be Equal As Numbers    ${segmentation_id}    ${egress_tun_id}
-    ${ingress_tun_id}    ${before_count_ingress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    direction=${INGRESS}    tun_id=${segmentation_id}
+    ${ingress_tun_id}    ${before_count_ingress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    tun_id=${segmentation_id}    mac=""
     BuiltIn.Should Be Equal As Numbers    ${segmentation_id}    ${ingress_tun_id}
-    ${ingress_tun_id}    ${before_count_ingress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    direction=${INGRESS}    tun_id=${segmentation_id}
+    ${ingress_tun_id}    ${before_count_ingress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    tun_id=${segmentation_id}    mac=""
     BuiltIn.Should Be Equal As Numbers    ${segmentation_id}    ${ingress_tun_id}
     ${output} =    OpenStackOperations.Execute Command on VM Instance    @{VNI_NETWORKS}[0]    @{VNI_NET_1_VM_IPS}[0]    ping -c ${DEFAULT_PING_COUNT} @{VNI_NET_1_VM_IPS}[1]
     BuiltIn.Should Contain    ${output}    64 bytes
-    ${tun_id}    ${after_count_egress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${ELAN_DMACTABLE}    direction=${EGRESS}    tun_id=${segmentation_id}
-    ...    dst_mac=${port_mac2}
-    ${tun_id}    ${after_count_ingress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    direction=${INGRESS}    tun_id=${segmentation_id}
-    ${tun_id}    ${after_count_egress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${ELAN_DMACTABLE}    direction=${EGRESS}    tun_id=${segmentation_id}
-    ...    dst_mac=${port_mac1}
-    ${tun_id}    ${after_count_ingress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    direction=${INGRESS}    tun_id=${segmentation_id}
+    ${tun_id}    ${after_count_egress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${ELAN_DMACTABLE}    tun_id=${segmentation_id}    mac=${port_mac2}
+    ${tun_id}    ${after_count_ingress_port1} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP1_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    tun_id=${segmentation_id}    mac=""
+    ${tun_id}    ${after_count_egress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${ELAN_DMACTABLE}    tun_id=${segmentation_id}    mac=${port_mac1}
+    ${tun_id}    ${after_count_ingress_port2} =    OVSDB.Get Tunnel Id And Packet Count    ${OS_CMP2_CONN_ID}    ${INTERNAL_TUNNEL_TABLE}    tun_id=${segmentation_id}    mac=""
     ${diff_count_egress_port1} =    BuiltIn.Evaluate    ${after_count_egress_port1} - ${before_count_egress_port1}
     ${diff_count_ingress_port1} =    BuiltIn.Evaluate    ${after_count_ingress_port1} - ${before_count_ingress_port1}
     ${diff_count_egress_port2} =    BuiltIn.Evaluate    ${after_count_egress_port2} - ${before_count_egress_port2}
@@ -88,7 +82,7 @@ Suite Setup
     BuiltIn.Set Suite Variable    @{VNI_NET_1_VM_IPS}
     BuiltIn.Should Not Contain    ${VNI_NET_1_VM_IPS}    None
     BuiltIn.Should Not Contain    ${vni_net_1_dhcp_ip}    None
-    OpenStackOperations.Show Debugs    @{NET_1_VMS}
+    OpenStackOperations.Show Debugs    @{VNI_NET_1_VMS}
     OpenStackOperations.Get Suite Debugs
 
 Suite Teardown
index 3674c41c1d72fb278bdca59e1ab39530d5b4d348..0783bde9e98d67ce4862f4a7e371aeab167759a0 100644 (file)
@@ -10,7 +10,7 @@ integration/test/csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot
 integration/test/csit/suites/netvirt/elan/elan.robot
 integration/test/csit/suites/netvirt/vpnservice/arp_learning.robot
 integration/test/csit/suites/netvirt/l2l3_gatewaymac_arp.robot
-#integration/test/csit/suites/netvirt/vnibasedl2switching/vnibasedl2switching.robot
-#integration/test/csit/suites/netvirt/vnibasedl3forwarding/vnibasedl3forwarding.robot
-#integration/test/csit/suites/netvirt/vnibasedIpv6forwarding/vnibasedIpv6forwarding.robot
+integration/test/csit/suites/netvirt/vnibasedl2switching/vnibasedl2switching.robot
+integration/test/csit/suites/netvirt/vnibasedl3forwarding/vnibasedl3forwarding.robot
+integration/test/csit/suites/netvirt/vnibasedIpv6forwarding/vnibasedIpv6forwarding.robot
 integration/test/csit/suites/integration/Create_JVM_Plots.robot