Update Robot Framework format - step 9 39/102339/8
authorSangwook Ha <sangwook.ha@verizon.com>
Sat, 10 Sep 2022 02:23:28 +0000 (19:23 -0700)
committerSangwook Ha <sangwook.ha@verizon.com>
Fri, 7 Oct 2022 02:12:06 +0000 (19:12 -0700)
Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/l2gw
- csit/suites/l2switch
- csit/suites/lacp
- csit/suites/lispflowmapping
- csit/suites/mdsal
- csit/suites/nemo

JIRA: INTTEST-132
Change-Id: Ic20919465e5fd30d73e84405548cc62115c951b9
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
25 files changed:
csit/suites/l2gw/01_Configure_verify_l2gateway.robot
csit/suites/l2switch/Address_Tracking_OF13/010__restconf_inv_addresses.robot
csit/suites/l2switch/Address_Tracking_OF13/__init__.robot
csit/suites/l2switch/Flow_Programming_OF13/010__restconf_inv_flows.robot
csit/suites/l2switch/Flow_Programming_OF13/__init__.robot
csit/suites/l2switch/Host_Tracking_OF13/010__restconf_topo_nodes.robot
csit/suites/l2switch/Host_Tracking_OF13/__init__.robot
csit/suites/l2switch/Inventory_Scalability_OF13/010__restconf_inventory.robot
csit/suites/l2switch/Inventory_Scalability_OF13/020__restconf_topology.robot
csit/suites/l2switch/Inventory_Scalability_OF13/030__ping_test.robot
csit/suites/l2switch/Inventory_Scalability_OF13/__init__.robot
csit/suites/l2switch/Loop_Removal_OF13/010__loop_of_3.robot
csit/suites/l2switch/Maximum_Hosts/010__finding_max_hosts.robot
csit/suites/lacp/Lacp_Feature_OF13/010__lacp_inventory.robot
csit/suites/lacp/Lacp_Feature_OF13/020__lacp_lag_resiliency.robot
csit/suites/lacp/Lacp_Feature_OF13/030__lacp_flow_entry_stats.robot
csit/suites/lacp/Lacp_Feature_OF13/__init__.robot
csit/suites/lispflowmapping/all/020_RPC_CRUD.robot
csit/suites/lispflowmapping/all/030_RPC_Datatypes.robot
csit/suites/lispflowmapping/msmr/020_RPC_CRUD.robot
csit/suites/lispflowmapping/msmr/030_RPC_Datatypes.robot
csit/suites/lispflowmapping/performance/010_Southbound_MapRequest.robot
csit/suites/mdsal/binding_v1/binding-parent.robot
csit/suites/mdsal/netty_replicate/netty-replicate.robot
csit/suites/nemo/engine/NEMO_ENGINE.robot

index 91398b3258ca4919a20f08fb945fc83afc1b5e1f..076dae845d7abaf06ee813b5e6b4a3908425587c 100644 (file)
@@ -1,10 +1,13 @@
 *** Settings ***
-Documentation     Test Suite for verification of HWVTEP usecases
-Suite Setup       Basic Suite Setup
-Suite Teardown    Basic Suite Teardown
-Test Teardown     Get L2gw Debug Info
-Resource          ../../libraries/L2GatewayOperations.robot
-Resource          ../../libraries/CompareStream.robot
+Documentation       Test Suite for verification of HWVTEP usecases
+
+Resource            ../../libraries/L2GatewayOperations.robot
+Resource            ../../libraries/CompareStream.robot
+
+Suite Setup         Basic Suite Setup
+Suite Teardown      Basic Suite Teardown
+Test Teardown       Get L2gw Debug Info
+
 
 *** Test Cases ***
 TC01 Configure Hwvtep Manager OVS Manager Controller And Verify
@@ -21,7 +24,10 @@ TC02 Create First Set Of Network Subnet And Ports
     Should Contain    ${output}    ${SUBNET_1}
     OpenStackOperations.Create And Configure Security Group    ${SECURITY_GROUP_L2GW}
     OpenStackOperations.Create Port    ${NET_1}    ${OVS_PORT_1}    sg=${SECURITY_GROUP_L2GW}
-    OpenStackOperations.Create Neutron Port With Additional Params    ${NET_1}    ${HWVTEP_PORT_1}    ${SECURITY_GROUP_L2GW_NONE}
+    OpenStackOperations.Create Neutron Port With Additional Params
+    ...    ${NET_1}
+    ...    ${HWVTEP_PORT_1}
+    ...    ${SECURITY_GROUP_L2GW_NONE}
     ${port_mac}=    Get Port Mac    ${OVS_PORT_1}    #port_mac[0]
     ${port_ip}=    Get Port Ip    ${OVS_PORT_1}    #port_ip[0]
     Append To List    ${port_mac_list}    ${port_mac}
@@ -34,13 +40,23 @@ TC02 Create First Set Of Network Subnet And Ports
 TC03 Update Port For Hwvtep And Attach Port To Namespace
     [Documentation]    Update the Neutron Ports for required to connect to HWVTEP and attach that port to tap port in namespace
     L2GatewayOperations.Update Port For Hwvtep    ${HWVTEP_PORT_1}
-    Wait Until Keyword Succeeds    30s    2s    L2GatewayOperations.Attach Port To Hwvtep Namespace    ${port_mac_list[1]}    ${HWVTEP_NS1}    ${NS_TAP1}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    2s
+    ...    L2GatewayOperations.Attach Port To Hwvtep Namespace
+    ...    ${port_mac_list[1]}
+    ...    ${HWVTEP_NS1}
+    ...    ${NS_TAP1}
 
 TC04 Create Vms On Compute Node
     [Documentation]    Create VM on compute node and verify that VM got IP address
     # FIXME! Don't need this in queens, but do in earlier releases
     OpenStackOperations.Create Nano Flavor
-    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${OVS_PORT_1}    ${OVS_VM1_NAME}    ${OS_CMP1_HOSTNAME}    sg=${SECURITY_GROUP_L2GW}
+    OpenStackOperations.Create Vm Instance With Port On Compute Node
+    ...    ${OVS_PORT_1}
+    ...    ${OVS_VM1_NAME}
+    ...    ${OS_CMP1_HOSTNAME}
+    ...    sg=${SECURITY_GROUP_L2GW}
     ${vm_ip}=    Wait Until Keyword Succeeds    60s    2s    L2GatewayOperations.Verify Nova VM IP    ${OVS_VM1_NAME}
     Log    ${vm_ip}
     Should Contain    ${vm_ip}    ${port_ip_list[0]}
@@ -49,36 +65,82 @@ TC05 Create L2Gateway And Connection And Verify
     [Documentation]    Create L2GW and Connection using Neutron CLI. Verify info in hardware_vtep db in HWVTEP emulator.
     ${output}=    L2GatewayOperations.Create Verify L2Gateway    ${HWVTEP_BRIDGE}    ${NS_PORT1}    ${L2GW_NAME1}
     Log    ${output}
-    ${output}=    Wait Until Keyword Succeeds    30s    2s    L2GatewayOperations.Create Verify L2Gateway Connection    ${L2GW_NAME1}    ${NET_1}
+    ${output}=    Wait Until Keyword Succeeds
+    ...    30s
+    ...    2s
+    ...    L2GatewayOperations.Create Verify L2Gateway Connection
+    ...    ${L2GW_NAME1}
+    ...    ${NET_1}
     Log    ${output}
     Wait Until Keyword Succeeds    30s    2s    L2GatewayOperations.Verify Ovs Tunnel    ${HWVTEP_IP}    ${OVS_IP}
     ${output}=    ITM Get Tunnels
     Log    ${output}
     Should Contain    ${output}    physicalswitch/${HWVTEP_BRIDGE}
-    Wait Until Keyword Succeeds    30s    1s    L2GatewayOperations.Verify Vtep List    ${hwvtep_conn_id}    ${TUNNEL_TABLE}    enable="true"
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    1s
+    ...    L2GatewayOperations.Verify Vtep List
+    ...    ${hwvtep_conn_id}
+    ...    ${TUNNEL_TABLE}
+    ...    enable="true"
     ${phy_port_out}=    Get Vtep List    ${PHYSICAL_PORT_TABLE}
     Validate Regexp In String    ${phy_port_out}    ${VLAN_BINDING_REGEX}    1
     ${list}=    Create List    ${OVS_IP}    ${HWVTEP_IP}
-    Wait Until Keyword Succeeds    30s    1s    L2GatewayOperations.Verify Vtep List    ${hwvtep_conn_id}    ${PHYSICAL_LOCATOR_TABLE}    @{list}
-    Wait Until Keyword Succeeds    30s    1s    L2GatewayOperations.Verify Vtep List    ${hwvtep_conn_id}    ${UCAST_MACS_REMOTE_TABLE}    ${port_mac_list[0]}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    1s
+    ...    L2GatewayOperations.Verify Vtep List
+    ...    ${hwvtep_conn_id}
+    ...    ${PHYSICAL_LOCATOR_TABLE}
+    ...    @{list}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    1s
+    ...    L2GatewayOperations.Verify Vtep List
+    ...    ${hwvtep_conn_id}
+    ...    ${UCAST_MACS_REMOTE_TABLE}
+    ...    ${port_mac_list[0]}
 
 TC06 Dhcp Ip Allocation For Hwvtep Tap Port
     [Documentation]    Verify that HWVTEP port gets an IP address
-    Wait Until Keyword Succeeds    180s    10s    L2GatewayOperations.Namespace Dhclient Verify    ${HWVTEP_NS1}    ${NS_TAP1}    ${port_ip_list[1]}
+    Wait Until Keyword Succeeds
+    ...    180s
+    ...    10s
+    ...    L2GatewayOperations.Namespace Dhclient Verify
+    ...    ${HWVTEP_NS1}
+    ...    ${NS_TAP1}
+    ...    ${port_ip_list[1]}
 
 TC07 Verify Ping From Compute Node Vm To Hwvtep
     [Documentation]    Verify that VM on Compute Node can ping HWVTEP port
-    ${output}=    Wait Until Keyword Succeeds    60s    10s    Execute Command on VM Instance    ${NET_1}    ${port_ip_list[0]}
+    ${output}=    Wait Until Keyword Succeeds
+    ...    60s
+    ...    10s
+    ...    Execute Command on VM Instance
+    ...    ${NET_1}
+    ...    ${port_ip_list[0]}
     ...    ping -c 3 ${port_ip_list[1]}
     Log    ${output}
     Should Not Contain    ${output}    ${PACKET_LOSS}
     ${src_mac_list}=    Create List    ${port_mac_list[0]}
     ${dst_mac_list}=    Create List    ${port_mac_list[1]}
-    Wait Until Keyword Succeeds    30s    5s    L2GatewayOperations.Verify Elan Flow Entries    ${OVS_IP}    ${src_mac_list}    ${dst_mac_list}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    5s
+    ...    L2GatewayOperations.Verify Elan Flow Entries
+    ...    ${OVS_IP}
+    ...    ${src_mac_list}
+    ...    ${dst_mac_list}
 
 TC08 Ping Verification From Namespace Tap To Ovs Vm
     [Documentation]    Verify that HWVTEP port can ping VM on compute node
-    Wait Until Keyword Succeeds    30s    5s    L2GatewayOperations.Verify Ping In Namespace Extra Timeout    ${HWVTEP_NS1}    ${port_mac_list[1]}    ${port_ip_list[0]}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    5s
+    ...    L2GatewayOperations.Verify Ping In Namespace Extra Timeout
+    ...    ${HWVTEP_NS1}
+    ...    ${port_mac_list[1]}
+    ...    ${port_ip_list[0]}
 
 TC09 Additional Network Subnet Port Creation
     [Documentation]    Create 2nd network and ports
@@ -89,7 +151,10 @@ TC09 Additional Network Subnet Port Creation
     ${output}=    OpenStackOperations.List Subnets
     Should Contain    ${output}    ${SUBNET_2}
     OpenStackOperations.Create Port    ${NET_2}    ${OVS_PORT_2}    sg=${SECURITY_GROUP_L2GW}
-    OpenStackOperations.Create Neutron Port With Additional Params    ${NET_2}    ${HWVTEP_PORT_2}    ${SECURITY_GROUP_L2GW_NONE}
+    OpenStackOperations.Create Neutron Port With Additional Params
+    ...    ${NET_2}
+    ...    ${HWVTEP_PORT_2}
+    ...    ${SECURITY_GROUP_L2GW_NONE}
     ${port_mac}=    Get Port Mac    ${OVS_PORT_2}    #port_mac[2]
     ${port_ip}=    Get Port Ip    ${OVS_PORT_2}    #port_ip[2]
     Append To List    ${port_mac_list}    ${port_mac}
@@ -102,8 +167,18 @@ TC09 Additional Network Subnet Port Creation
 TC10 Update And Attach Second Port To Hwvtep Create L2gw Connection
     [Documentation]    Update ports in Neutron so they can be connected to HWVTEP, create 2nd L2GW and Connection, and Verify
     L2GatewayOperations.Update Port For Hwvtep    ${HWVTEP_PORT_2}
-    Wait Until Keyword Succeeds    30s    2s    L2GatewayOperations.Attach Port To Hwvtep Namespace    ${port_mac_list[3]}    ${HWVTEP_NS2}    ${NS2_TAP1}
-    OpenStackOperations.Create Vm Instance With Port On Compute Node    ${OVS_PORT_2}    ${OVS_VM2_NAME}    ${OS_CMP1_HOSTNAME}    sg=${SECURITY_GROUP_L2GW}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    2s
+    ...    L2GatewayOperations.Attach Port To Hwvtep Namespace
+    ...    ${port_mac_list[3]}
+    ...    ${HWVTEP_NS2}
+    ...    ${NS2_TAP1}
+    OpenStackOperations.Create Vm Instance With Port On Compute Node
+    ...    ${OVS_PORT_2}
+    ...    ${OVS_VM2_NAME}
+    ...    ${OS_CMP1_HOSTNAME}
+    ...    sg=${SECURITY_GROUP_L2GW}
     ${vm_ip}=    Wait Until Keyword Succeeds    60s    2s    L2GatewayOperations.Verify Nova VM IP    ${OVS_VM2_NAME}
     Log    ${vm_ip}
     Should Contain    ${vm_ip}    ${port_ip_list[2]}
@@ -116,76 +191,177 @@ TC10 Update And Attach Second Port To Hwvtep Create L2gw Connection
 
 TC11 Dhcp Ip Allocation And Ping Validation Within Second Network
     [Documentation]    Verify that port in namespace got an IP. Verify flow entries, verify IP connectivity between HWVTEP port and VM
-    Wait Until Keyword Succeeds    180s    10s    L2GatewayOperations.Namespace Dhclient Verify    ${HWVTEP_NS2}    ${NS2_TAP1}    ${port_ip_list[3]}
-    ${output}=    Wait Until Keyword Succeeds    60s    10s    Execute Command on VM Instance    ${NET_2}    ${port_ip_list[2]}
+    Wait Until Keyword Succeeds
+    ...    180s
+    ...    10s
+    ...    L2GatewayOperations.Namespace Dhclient Verify
+    ...    ${HWVTEP_NS2}
+    ...    ${NS2_TAP1}
+    ...    ${port_ip_list[3]}
+    ${output}=    Wait Until Keyword Succeeds
+    ...    60s
+    ...    10s
+    ...    Execute Command on VM Instance
+    ...    ${NET_2}
+    ...    ${port_ip_list[2]}
     ...    ping -c 3 ${port_ip_list[3]}
     Log    ${output}
     Should Not Contain    ${output}    ${PACKET_LOSS}
     ${src_mac_list}=    Create List    ${port_mac_list[2]}
     ${dst_mac_list}=    Create List    ${port_mac_list[3]}
-    Wait Until Keyword Succeeds    30s    5s    L2GatewayOperations.Verify Elan Flow Entries    ${OVS_IP}    ${src_mac_list}    ${dst_mac_list}
-    Wait Until Keyword Succeeds    30s    5s    L2GatewayOperations.Verify Ping In Namespace Extra Timeout    ${HWVTEP_NS2}    ${port_mac_list[3]}    ${port_ip_list[2]}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    5s
+    ...    L2GatewayOperations.Verify Elan Flow Entries
+    ...    ${OVS_IP}
+    ...    ${src_mac_list}
+    ...    ${dst_mac_list}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    5s
+    ...    L2GatewayOperations.Verify Ping In Namespace Extra Timeout
+    ...    ${HWVTEP_NS2}
+    ...    ${port_mac_list[3]}
+    ...    ${port_ip_list[2]}
 
 TC12 Ping Between Vm In Second Network To Namespace In First Network
     [Documentation]    Verify IP Connectivity between VM in 2nd network to NS in 1st network
-    ${output}=    Wait Until Keyword Succeeds    60s    10s    Execute Command on VM Instance    ${NET_2}    ${port_ip_list[2]}
+    ${output}=    Wait Until Keyword Succeeds
+    ...    60s
+    ...    10s
+    ...    Execute Command on VM Instance
+    ...    ${NET_2}
+    ...    ${port_ip_list[2]}
     ...    ping -c 3 ${port_ip_list[1]}
     Log    ${output}
     Should Contain    ${output}    ${PACKET_LOSS}
 
 TC13 Ping Between Namespace In Second Network To Vm In First Network
     [Documentation]    Verify IP Connectivity between port in NS in 2nd network to VM in 1st network
-    Wait Until Keyword Succeeds    30s    5s    L2GatewayOperations.Verify Ping Fails In Namespace    ${HWVTEP_NS2}    ${port_mac_list[3]}    ${port_ip_list[0]}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    5s
+    ...    L2GatewayOperations.Verify Ping Fails In Namespace
+    ...    ${HWVTEP_NS2}
+    ...    ${port_mac_list[3]}
+    ...    ${port_ip_list[0]}
 
 TC14 Create, Update And Attach 2nd Neutron Port to Hwvtep Namespace 1
     [Documentation]    Create and attach 2nd port to HWVTEP in network 1
     CompareStream.Run_Keyword_If_At_Most_Nitrogen    BuiltIn.Pass_Execution    Only run on oxygen and later
-    OpenStackOperations.Create Neutron Port With Additional Params    ${NET_1}    ${HWVTEP_PORT_3}    ${SECURITY_GROUP_L2GW_NONE}
+    OpenStackOperations.Create Neutron Port With Additional Params
+    ...    ${NET_1}
+    ...    ${HWVTEP_PORT_3}
+    ...    ${SECURITY_GROUP_L2GW_NONE}
     ${port_mac}=    Get Port Mac    ${HWVTEP_PORT_3}    #port_mac[4]
     ${port_ip}=    Get Port Ip    ${HWVTEP_PORT_3}    #port_ip[4]
     Append To List    ${port_mac_list}    ${port_mac}
     Append To List    ${port_ip_list}    ${port_ip}
     Namespace Add Port Hwvtep1
     L2GatewayOperations.Update Port For Hwvtep    ${HWVTEP_PORT_3}
-    Wait Until Keyword Succeeds    30s    2s    L2GatewayOperations.Attach Port To Hwvtep Namespace    ${port_mac_list[4]}    ${HWVTEP_NS1}    ${NS_TAP1}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    2s
+    ...    L2GatewayOperations.Attach Port To Hwvtep Namespace
+    ...    ${port_mac_list[4]}
+    ...    ${HWVTEP_NS1}
+    ...    ${NS_TAP1}
 
 TC15 Update Existing L2Gateway With 2nd Port And Verify
     [Documentation]    Add the new port ${NS_PORT3} to existing L2GW ${L2GW_NAME1} that has an existing connection. ${NS_PORT1} is already attached, adding ${NS_PORT3}
-    ${output}=    Wait Until Keyword Succeeds    30s    2s    L2GatewayOperations.Update And Verify L2Gateway    ${HWVTEP_BRIDGE}    ${L2GW_NAME1}
-    ...    ${NS_PORT1}    ${NS_PORT3}
+    ${output}=    Wait Until Keyword Succeeds
+    ...    30s
+    ...    2s
+    ...    L2GatewayOperations.Update And Verify L2Gateway
+    ...    ${HWVTEP_BRIDGE}
+    ...    ${L2GW_NAME1}
+    ...    ${NS_PORT1}
+    ...    ${NS_PORT3}
 
 TC16 Verify L2Gateway Connection
     [Documentation]    Verify the L2GW connection has the 2nd port. Verify db in hardware vtep emulator tables.
-    Wait Until Keyword Succeeds    30s    2s    L2GatewayOperations.Verify L2Gateway Connection    ${L2GW_NAME1}    ${NET_1}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    2s
+    ...    L2GatewayOperations.Verify L2Gateway Connection
+    ...    ${L2GW_NAME1}
+    ...    ${NET_1}
     Wait Until Keyword Succeeds    30s    2s    L2GatewayOperations.Verify Ovs Tunnel    ${HWVTEP_IP}    ${OVS_IP}
     ${output}=    ITM Get Tunnels
     Log    ${output}
     Should Contain    ${output}    physicalswitch/${HWVTEP_BRIDGE}
-    Wait Until Keyword Succeeds    30s    1s    L2GatewayOperations.Verify Vtep List    ${hwvtep_conn_id}    ${TUNNEL_TABLE}    enable="true"
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    1s
+    ...    L2GatewayOperations.Verify Vtep List
+    ...    ${hwvtep_conn_id}
+    ...    ${TUNNEL_TABLE}
+    ...    enable="true"
     ${phy_port_out}=    Get Vtep List    ${PHYSICAL_PORT_TABLE}
     Validate Regexp In String    ${phy_port_out}    ${VLAN_BINDING_REGEX}    3
     ${list}=    Create List    ${OVS_IP}    ${HWVTEP_IP}
-    Wait Until Keyword Succeeds    30s    1s    L2GatewayOperations.Verify Vtep List    ${hwvtep_conn_id}    ${PHYSICAL_LOCATOR_TABLE}    @{list}
-    Wait Until Keyword Succeeds    30s    1s    L2GatewayOperations.Verify Vtep List    ${hwvtep_conn_id}    ${UCAST_MACS_REMOTE_TABLE}    ${port_mac_list[0]}
-    Wait Until Keyword Succeeds    30s    1s    L2GatewayOperations.Verify Vtep List    ${hwvtep_conn_id}    ${UCAST_MACS_REMOTE_TABLE}    ${port_mac_list[2]}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    1s
+    ...    L2GatewayOperations.Verify Vtep List
+    ...    ${hwvtep_conn_id}
+    ...    ${PHYSICAL_LOCATOR_TABLE}
+    ...    @{list}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    1s
+    ...    L2GatewayOperations.Verify Vtep List
+    ...    ${hwvtep_conn_id}
+    ...    ${UCAST_MACS_REMOTE_TABLE}
+    ...    ${port_mac_list[0]}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    1s
+    ...    L2GatewayOperations.Verify Vtep List
+    ...    ${hwvtep_conn_id}
+    ...    ${UCAST_MACS_REMOTE_TABLE}
+    ...    ${port_mac_list[2]}
 
 TC17 Dhcp Ip Allocation For Hwvtep Tap Port
     [Documentation]    Verify the 2nd HWVTEP port was able to get an IP address
-    Wait Until Keyword Succeeds    180s    10s    L2GatewayOperations.Namespace Dhclient Verify    ${HWVTEP_NS1}    ${NS_TAP1}    ${port_ip_list[4]}
+    Wait Until Keyword Succeeds
+    ...    180s
+    ...    10s
+    ...    L2GatewayOperations.Namespace Dhclient Verify
+    ...    ${HWVTEP_NS1}
+    ...    ${NS_TAP1}
+    ...    ${port_ip_list[4]}
 
 TC18 Verify Ping From Compute Node Vm To Hwvtep Port 2
     [Documentation]    Verify IP connectivity between VM in net1 and 2nd HWVTEP port in net 1
-    ${output}=    Wait Until Keyword Succeeds    60s    10s    Execute Command on VM Instance    ${NET_1}    ${port_ip_list[0]}
+    ${output}=    Wait Until Keyword Succeeds
+    ...    60s
+    ...    10s
+    ...    Execute Command on VM Instance
+    ...    ${NET_1}
+    ...    ${port_ip_list[0]}
     ...    ping -c 3 ${port_ip_list[4]}
     Log    ${output}
     Should Not Contain    ${output}    ${PACKET_LOSS}
     ${src_mac_list}=    Create List    ${port_mac_list[0]}
     ${dst_mac_list}=    Create List    ${port_mac_list[4]}
-    Wait Until Keyword Succeeds    30s    5s    L2GatewayOperations.Verify Elan Flow Entries    ${OVS_IP}    ${src_mac_list}    ${dst_mac_list}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    5s
+    ...    L2GatewayOperations.Verify Elan Flow Entries
+    ...    ${OVS_IP}
+    ...    ${src_mac_list}
+    ...    ${dst_mac_list}
 
 TC19 Ping Verification From Namespace Tap To Ovs Vm
     [Documentation]    Verify IP connectivity between 2nd HWVTEP port and VM in compute node
-    Wait Until Keyword Succeeds    30s    5s    L2GatewayOperations.Verify Ping In Namespace Extra Timeout    ${HWVTEP_NS1}    ${port_mac_list[4]}    ${port_ip_list[0]}
+    Wait Until Keyword Succeeds
+    ...    30s
+    ...    5s
+    ...    L2GatewayOperations.Verify Ping In Namespace Extra Timeout
+    ...    ${HWVTEP_NS1}
+    ...    ${port_mac_list[4]}
+    ...    ${port_ip_list[0]}
 
 TC99 Cleanup L2Gateway Connection Itm Tunnel Port Subnet And Network
     L2GatewayOperations.Delete L2Gateway Connection    ${L2GW_NAME1}
@@ -204,6 +380,7 @@ TC99 Cleanup L2Gateway Connection Itm Tunnel Port Subnet And Network
     OpenStackOperations.Delete Network    ${NET_1}
     OpenStackOperations.Delete Network    ${NET_2}
 
+
 *** Keywords ***
 Basic Suite Setup
     [Documentation]    Basic Suite Setup required for the HWVTEP Test Suite
@@ -236,8 +413,8 @@ Stop Suite
     Namespace Cleanup
 
 Hwvtep Cleanup
-    [Arguments]    ${conn_id}    ${hwvtep_bridge}
     [Documentation]    Cleanup any existing VTEP, VSWITCHD or OVSDB processes.
+    [Arguments]    ${conn_id}    ${hwvtep_bridge}
     Switch Connection    ${conn_id}
     Write Commands Until Prompt    ${DEL_OVS_BRIDGE} ${hwvtep_bridge}    30s
     Write Commands Until Prompt    ${KILL_VTEP_PROC}    30s
@@ -263,8 +440,8 @@ Namespace Cleanup
     Log    ${stdout}
 
 Hwvtep Initiate
-    [Arguments]    ${conn_id}    ${hwvtep_ip}    ${hwvtep_bridge}
     [Documentation]    Configure the Hwvtep Emulation
+    [Arguments]    ${conn_id}    ${hwvtep_ip}    ${hwvtep_bridge}
     Switch Connection    ${conn_id}
     Write Commands Until Prompt    ${CREATE_OVSDB}    30s
     Write Commands Until Prompt    ${CREATE VTEP}    30s
@@ -319,9 +496,9 @@ Hwvtep Validation
     Should Contain    ${stdout}    ${NS_PORT2}
 
 Create And Set Hwvtep Connection Id
-    [Arguments]    ${hwvtep_ip}
     [Documentation]    To create connection and return connection id for hwvtep_ip received
+    [Arguments]    ${hwvtep_ip}
     ${conn_id}=    SSHLibrary.Open Connection    ${hwvtep_ip}    prompt=${DEFAULT_LINUX_PROMPT}    timeout=30s
     Log    ${conn_id}
     Flexible SSH Login    ${DEFAULT_USER}    ${DEFAULT_PASSWORD}
-    [Return]    ${conn_id}
+    RETURN    ${conn_id}
index d3c9edd019c07c924bbd9cc62cacc7853400cf8e..930c97d127c68d6d29a7b5c3b188b8800b3c5ce6 100644 (file)
@@ -1,16 +1,20 @@
 *** Settings ***
-Documentation     Test suite for AddressObservations in RESTCONF inventory
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
-Suite Teardown    Delete All Sessions
-Library           RequestsLibrary
-Resource          ../../../libraries/Utils.robot
-Resource          ../../../variables/openflowplugin/Variables.robot
-Variables         ../../../variables/Variables.py
+Documentation       Test suite for AddressObservations in RESTCONF inventory
+
+Library             RequestsLibrary
+Resource            ../../../libraries/Utils.robot
+Resource            ../../../variables/openflowplugin/Variables.robot
+Variables           ../../../variables/Variables.py
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
+Suite Teardown      Delete All Sessions
+
 
 *** Variables ***
-${IP_1}           "10.0.0.1"
-${IP_2}           "10.0.0.2"
-${IP_3}           "10.0.0.3"
+${IP_1}     "10.0.0.1"
+${IP_2}     "10.0.0.2"
+${IP_3}     "10.0.0.3"
+
 
 *** Test Cases ***
 Check Stats for node 1
@@ -28,7 +32,12 @@ Check Stats for node 3
 Check No Host Is Present
     [Documentation]    Get the invnetory, should not contain any host address
     @{list}    Create List    ${IP_1}    ${IP_2}    ${IP_3}
-    Wait Until Keyword Succeeds    10s    2s    Check For Elements Not At URI    ${RFC8040_OPERATIONAL_NODES_API}    ${list}
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Elements Not At URI
+    ...    ${RFC8040_OPERATIONAL_NODES_API}
+    ...    ${list}
 
 Ping All
     [Documentation]    Pingall, verify no packet loss
@@ -37,20 +46,54 @@ Ping All
 Check node 1 addresses
     [Documentation]    Get the address observations for node 1
     @{list}    Create List    ${IP_2}    ${IP_3}
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${RFC8040_NODES_API}/node=openflow%3A1?content=nonconfig    ${IP_1}    1
-    Wait Until Keyword Succeeds    10s    2s    Check For Elements Not At URI    ${RFC8040_NODES_API}/node=openflow%3A1?content=nonconfig    ${list}
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${RFC8040_NODES_API}/node=openflow%3A1?content=nonconfig
+    ...    ${IP_1}
+    ...    1
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Elements Not At URI
+    ...    ${RFC8040_NODES_API}/node=openflow%3A1?content=nonconfig
+    ...    ${list}
 
 Check node 2 addresses
     [Documentation]    Get the address observations for node 2
     @{list}    Create List    ${IP_1}    ${IP_3}
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${RFC8040_NODES_API}/node=openflow%3A2?content=nonconfig    ${IP_2}    1
-    Wait Until Keyword Succeeds    10s    2s    Check For Elements Not At URI    ${RFC8040_NODES_API}/node=openflow%3A2?content=nonconfig    ${list}
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${RFC8040_NODES_API}/node=openflow%3A2?content=nonconfig
+    ...    ${IP_2}
+    ...    1
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Elements Not At URI
+    ...    ${RFC8040_NODES_API}/node=openflow%3A2?content=nonconfig
+    ...    ${list}
 
 Check node 3 addresses
     [Documentation]    Get the address observations for node 3
     @{list}    Create List    ${IP_1}    ${IP_2}
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${RFC8040_NODES_API}/node=openflow%3A3?content=nonconfig    ${IP_3}    1
-    Wait Until Keyword Succeeds    10s    2s    Check For Elements Not At URI    ${RFC8040_NODES_API}/node=openflow%3A3?content=nonconfig    ${list}
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${RFC8040_NODES_API}/node=openflow%3A3?content=nonconfig
+    ...    ${IP_3}
+    ...    1
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Elements Not At URI
+    ...    ${RFC8040_NODES_API}/node=openflow%3A3?content=nonconfig
+    ...    ${list}
+
 
 *** Keywords ***
 Ping All Works Good
index e8e9b38ed16891aeadc2fe393de9ab7876c7df17..d52660219a188c76097cb289bfc0b69b14b50de2 100644 (file)
@@ -1,9 +1,12 @@
 *** Settings ***
-Documentation     Test suite for L2switch's Address Tracking using mininet OF13
-Suite Setup       Start Mininet
-Suite Teardown    Stop Mininet
-Library           SSHLibrary
-Resource          ../../../libraries/Utils.robot
+Documentation       Test suite for L2switch's Address Tracking using mininet OF13
+
+Library             SSHLibrary
+Resource            ../../../libraries/Utils.robot
+
+Suite Setup         Start Mininet
+Suite Teardown      Stop Mininet
+
 
 *** Variables ***
-${start}          sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --topo=linear,3 --switch ovsk,protocols=OpenFlow13
+${start}    sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --topo=linear,3 --switch ovsk,protocols=OpenFlow13
index 04dc4bd12a8a84c59f7458c94e111ad6c7d04dc0..f0c57f2cace906dc1942cd6d0b75840d7502e783 100644 (file)
@@ -1,14 +1,15 @@
 *** Settings ***
-Documentation     Test suite for FlowProgramming in RESTCONF inventory
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
-Suite Teardown    Delete All Sessions
-Library           Collections
-Library           RequestsLibrary
-Resource          ../../../libraries/Utils.robot
-Resource          ../../../variables/openflowplugin/Variables.robot
-Variables         ../../../variables/Variables.py
+Documentation       Test suite for FlowProgramming in RESTCONF inventory
+
+Library             Collections
+Library             RequestsLibrary
+Resource            ../../../libraries/Utils.robot
+Resource            ../../../variables/openflowplugin/Variables.robot
+Variables           ../../../variables/Variables.py
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
+Suite Teardown      Delete All Sessions
 
-*** Variables ***
 
 *** Test Cases ***
 Check Stats for node 1
@@ -25,7 +26,13 @@ Check Stats for node 3
 
 Check Flows
     [Documentation]    Check all flows are present
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${RFC8040_OPERATIONAL_NODES_API}    "output-node-connector"    21
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${RFC8040_OPERATIONAL_NODES_API}
+    ...    "output-node-connector"
+    ...    21
 
 Ping All Test
     [Documentation]    Ping all, verify no packet loss or duplicates
index dc9ceb532065f6b2a1d012aa43f0793e23576320..c30452f147b6c121b59c62a2812247db9278ec64 100644 (file)
@@ -1,9 +1,12 @@
 *** Settings ***
-Documentation     Test suite for L2switch's Flow Programming using mininet OF13
-Suite Setup       Start Mininet
-Suite Teardown    Stop Mininet
-Library           SSHLibrary
-Resource          ../../../libraries/Utils.robot
+Documentation       Test suite for L2switch's Flow Programming using mininet OF13
+
+Library             SSHLibrary
+Resource            ../../../libraries/Utils.robot
+
+Suite Setup         Start Mininet
+Suite Teardown      Stop Mininet
+
 
 *** Variables ***
-${start}          sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --topo=tree,2 --switch ovsk,protocols=OpenFlow13
+${start}    sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --topo=tree,2 --switch ovsk,protocols=OpenFlow13
index 00ebcc99263cd21154fac175bf486cd5b2e885bd..a8a8ebd51d0977d53d4e9a3d63c6ea71a3c32b7d 100644 (file)
@@ -1,19 +1,23 @@
 *** Settings ***
-Documentation     Test suite for Address in RESTCONF topology
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
-Suite Teardown    Delete All Sessions
-Library           RequestsLibrary
-Resource          ../../../libraries/Utils.robot
-Resource          ../../../variables/openflowplugin/Variables.robot
-Variables         ../../../variables/Variables.py
+Documentation       Test suite for Address in RESTCONF topology
+
+Library             RequestsLibrary
+Resource            ../../../libraries/Utils.robot
+Resource            ../../../variables/openflowplugin/Variables.robot
+Variables           ../../../variables/Variables.py
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
+Suite Teardown      Delete All Sessions
+
 
 *** Variables ***
-${MAC_1}          00:00:00:00:00:01
-${MAC_2}          00:00:00:00:00:02
-${MAC_3}          00:00:00:00:00:03
-${IP_1}           10.0.0.1
-${IP_2}           10.0.0.2
-${IP_3}           10.0.0.3
+${MAC_1}    00:00:00:00:00:01
+${MAC_2}    00:00:00:00:00:02
+${MAC_3}    00:00:00:00:00:03
+${IP_1}     10.0.0.1
+${IP_2}     10.0.0.2
+${IP_3}     10.0.0.3
+
 
 *** Test Cases ***
 Check Stats for node 1
@@ -30,13 +34,25 @@ Check Stats for node 3
 
 Check Switch Links
     [Documentation]    Get the topology and check links
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    link-id    4
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${OPERATIONAL_TOPO_API}
+    ...    link-id
+    ...    4
 
 Check No Host Is Present
     [Documentation]    Get the network topology, should not contain any host address
     @{list}    Create List    ${MAC_1}    ${MAC_2}    ${MAC_3}
     Wait Until Keyword Succeeds    10s    2s    Check For Elements Not At URI    ${OPERATIONAL_TOPO_API}    ${list}
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    link-id    4
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${OPERATIONAL_TOPO_API}
+    ...    link-id
+    ...    4
 
 Ping All
     [Documentation]    Pingall, verify no packet loss
@@ -44,19 +60,43 @@ Ping All
 
 Check Host Links
     [Documentation]    Get the topology and check links
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    link-id    10
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${OPERATIONAL_TOPO_API}
+    ...    link-id
+    ...    10
 
 Host Tracker host1
     [Documentation]    Get the network topology, should contain host1 one time
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    "node-id":"host:${MAC_1}"    1
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${OPERATIONAL_TOPO_API}
+    ...    "node-id":"host:${MAC_1}"
+    ...    1
 
 Host Tracker host2
     [Documentation]    Get the network topology, should contain host 2 one time
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    "node-id":"host:${MAC_2}"    1
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${OPERATIONAL_TOPO_API}
+    ...    "node-id":"host:${MAC_2}"
+    ...    1
 
 Host Tracker host3
     [Documentation]    Get the network topology, should contain hos 3 one time
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    "node-id":"host:${MAC_3}"    1
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${OPERATIONAL_TOPO_API}
+    ...    "node-id":"host:${MAC_3}"
+    ...    1
 
 Link Down
     [Documentation]    Take link s1-h1 down and verify host1 goes away. This is a not implemented feature.
@@ -64,7 +104,12 @@ Link Down
     Write    link s1 h1 down
     Read Until    mininet>
     @{list}    Create List    "link-down":true
-    Wait Until Keyword Succeeds    10s    2s    Check For Elements At URI    ${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig    ${list}
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Elements At URI
+    ...    ${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig
+    ...    ${list}
     @{list}    Create List    ${MAC_1}
     Wait Until Keyword Succeeds    10s    2s    Check For Elements Not At URI    ${OPERATIONAL_TOPO_API}    ${list}
 
@@ -74,10 +119,21 @@ Link Up
     Write    link s1 h1 up
     Read Until    mininet>
     @{list}    Create List    "link-down":false
-    Wait Until Keyword Succeeds    10s    2s    Check For Elements At URI    ${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig    ${list}
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Elements At URI
+    ...    ${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig
+    ...    ${list}
     Write    pingall
     Read Until    mininet>
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    "node-id":"host:${MAC_1}"    1
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${OPERATIONAL_TOPO_API}
+    ...    "node-id":"host:${MAC_1}"
+    ...    1
 
 Remove Port
     [Documentation]    Remove port s1-eth1 and verify host1 goes away. This fails sporadically in CI but not in local env.
@@ -93,10 +149,22 @@ Add Port
     Write    sh ovs-vsctl add-port s1 s1-eth1 -- set interface s1-eth1 ofport=1
     Read Until    mininet>
     @{list}    Create List    "link-down":false
-    Wait Until Keyword Succeeds    10s    2s    Check For Elements At URI    ${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig    ${list}
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Elements At URI
+    ...    ${RFC8040_NODES_API}/node=openflow%3A1/node-connector=openflow%3A1%3A1?content=nonconfig
+    ...    ${list}
     Write    pingall
     Read Until    mininet>
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${OPERATIONAL_TOPO_API}    "node-id":"host:${MAC_1}"    1
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${OPERATIONAL_TOPO_API}
+    ...    "node-id":"host:${MAC_1}"
+    ...    1
+
 
 *** Keywords ***
 Ping All Works Good
index 1e6e6d704d6a15109dfb5ae6871a48c44cf8c55e..4eecd8e6c80a5175d7b646bf4f9189c2e23e172e 100644 (file)
@@ -1,9 +1,12 @@
 *** Settings ***
-Documentation     Test suite for L2switch's Address Tracking using mininet OF13
-Suite Setup       Start Mininet
-Suite Teardown    Stop Mininet
-Library           SSHLibrary
-Resource          ../../../libraries/Utils.robot
+Documentation       Test suite for L2switch's Address Tracking using mininet OF13
+
+Library             SSHLibrary
+Resource            ../../../libraries/Utils.robot
+
+Suite Setup         Start Mininet
+Suite Teardown      Stop Mininet
+
 
 *** Variables ***
-${start}          sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --topo=linear,3 --switch ovsk,protocols=OpenFlow13 --mac
+${start}    sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --topo=linear,3 --switch ovsk,protocols=OpenFlow13 --mac
index 47ab13cea001a72ba8049f004e78c6d952dd33b4..155e1c31cdea360b8c7c5a1789a5fe0e68adf120 100644 (file)
@@ -1,14 +1,18 @@
 *** Settings ***
-Documentation     Test suite for RESTCONF inventory
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
-Suite Teardown    Delete All Sessions
-Library           Collections
-Library           RequestsLibrary
-Library           ../../../libraries/Common.py
-Variables         ../../../variables/Variables.py
+Documentation       Test suite for RESTCONF inventory
+
+Library             Collections
+Library             RequestsLibrary
+Library             ../../../libraries/Common.py
+Variables           ../../../variables/Variables.py
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
+Suite Teardown      Delete All Sessions
+
 
 *** Variables ***
-${REST_CONTEXT}    /restconf/operational/opendaylight-inventory:nodes
+${REST_CONTEXT}     /restconf/operational/opendaylight-inventory:nodes
+
 
 *** Test Cases ***
 Get list of nodes
@@ -40,6 +44,7 @@ Get Stats for a node
     ${numnodes}    Num Of Nodes    ${TOPO_TREE_DEPTH}    ${TOPO_TREE_FANOUT}
     Wait Until Keyword Succeeds    120s    2s    Check Every Nodes Stats    ${numnodes}
 
+
 *** Keywords ***
 Check Every Nodes
     [Arguments]    ${numnodes}
index be620b659bf8fe858360437462ed30e98316cbc9..e4d3258c73d345989ad0e8cc418478c0170f2cf2 100644 (file)
@@ -1,15 +1,19 @@
 *** Settings ***
-Documentation     Test suite for RESTCONF topology
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
-Suite Teardown    Delete All Sessions
-Library           Collections
-Library           XML
-Library           RequestsLibrary
-Library           ../../../libraries/Common.py
-Variables         ../../../variables/Variables.py
+Documentation       Test suite for RESTCONF topology
+
+Library             Collections
+Library             XML
+Library             RequestsLibrary
+Library             ../../../libraries/Common.py
+Variables           ../../../variables/Variables.py
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
+Suite Teardown      Delete All Sessions
+
 
 *** Variables ***
-${REST_CONTEXT}    /restconf/operational/network-topology:network-topology/topology/flow:1
+${REST_CONTEXT}     /restconf/operational/network-topology:network-topology/topology/flow:1
+
 
 *** Test Cases ***
 Get Nodes Count
@@ -27,11 +31,12 @@ Get Links Count
     ${numlinks}    Evaluate    (${numnodes}-1)*2
     Wait Until Keyword Succeeds    60s    2s    Verify Element Count    ${REST_CONTEXT}    link    ${numlinks}
 
+
 *** Keywords ***
 Verify Element Count
     [Arguments]    ${URI}    ${xpath_location}    ${expected_count}
     ${resp}    RequestsLibrary.Get Request    session    ${REST_CONTEXT}    headers=${ACCEPT_XML}
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
-    ${count}=    Get Element Count    ${resp.content}    xpath=${xpath_location}
+    ${count}    Get Element Count    ${resp.content}    xpath=${xpath_location}
     Should Be Equal As Numbers    ${count}    ${expected_count}
index a1344862acd172c50d87dfdf612e3283766c34c9..46d84f77ec1e285232d41d95e1cab430266e8ffa 100644 (file)
@@ -1,12 +1,12 @@
 *** Settings ***
-Documentation     Test suite for do pingall test
-Library           SSHLibrary
-Library           Collections
-Library           RequestsLibrary
-Library           ../../../libraries/Common.py
-Variables         ../../../variables/Variables.py
+Documentation       Test suite for do pingall test
+
+Library             SSHLibrary
+Library             Collections
+Library             RequestsLibrary
+Library             ../../../libraries/Common.py
+Variables           ../../../variables/Variables.py
 
-*** Variables ***
 
 *** Test Cases ***
 Ping all
index 9540b89208fce2248b9923ecb7507363d0205342..cc4539d4d98276ee69b4b2588ef193c00b89272d 100644 (file)
@@ -1,13 +1,18 @@
 *** Settings ***
-Documentation     Test suite for Inventory Scalability
-Suite Setup       Start Suite
-Suite Teardown    Stop Suite
-Library           SSHLibrary
-Library           ../../../libraries/Common.py
-Variables         ../../../variables/Variables.py
+Documentation       Test suite for Inventory Scalability
+
+Library             SSHLibrary
+Library             ../../../libraries/Common.py
+Variables           ../../../variables/Variables.py
+
+Suite Setup         Start Suite
+Suite Teardown      Stop Suite
+
 
 *** Variables ***
-${start}          sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --topo tree,${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT} --switch ovsk,protocols=OpenFlow13
+${start}
+...         sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --topo tree,${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT} --switch ovsk,protocols=OpenFlow13
+
 
 *** Keywords ***
 Start Suite
index 4ba5ea3036fcddf41ee1630c9f9f549a8447eb7a..64289390f398a0075b2854bb0f7608d517e29b67 100644 (file)
@@ -1,15 +1,19 @@
 *** Settings ***
-Documentation     Test suite for Ring/Loop topology of size 3
-Suite Setup       Start Suite
-Suite Teardown    Utils.Stop Mininet
-Library           RequestsLibrary
-Resource          ../../../libraries/Utils.robot
-Resource          ../../../variables/openflowplugin/Variables.robot
-Variables         ../../../variables/Variables.py
+Documentation       Test suite for Ring/Loop topology of size 3
+
+Library             RequestsLibrary
+Resource            ../../../libraries/Utils.robot
+Resource            ../../../variables/openflowplugin/Variables.robot
+Variables           ../../../variables/Variables.py
+
+Suite Setup         Start Suite
+Suite Teardown      Utils.Stop Mininet
+
 
 *** Variables ***
-${FORWARD}        "stp-status-aware-node-connector:status":"forwarding"
-${DISCARD}        "stp-status-aware-node-connector:status":"discarding"
+${FORWARD}      "stp-status-aware-node-connector:status":"forwarding"
+${DISCARD}      "stp-status-aware-node-connector:status":"discarding"
+
 
 *** Test Cases ***
 Check Stats for node 1
@@ -28,17 +32,40 @@ Check Ports
     [Documentation]    Check all ports are present
     @{list}    Create List    openflow:1:1    openflow:1:2    openflow:1:3    openflow:2:1    openflow:2:2
     ...    openflow:2:3    openflow:3:1    openflow:3:2    openflow:3:3
-    Wait Until Keyword Succeeds    10s    2s    Check For Elements At URI    ${RFC8040_OPERATIONAL_NODES_API}    ${list}
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Elements At URI
+    ...    ${RFC8040_OPERATIONAL_NODES_API}
+    ...    ${list}
 
 Check Ports STP status
     [Documentation]    Check the stp status of the ports (forwarding/discarding)
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${RFC8040_OPERATIONAL_NODES_API}    ${FORWARD}    4
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${RFC8040_OPERATIONAL_NODES_API}    ${DISCARD}    2
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${RFC8040_OPERATIONAL_NODES_API}
+    ...    ${FORWARD}
+    ...    4
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${RFC8040_OPERATIONAL_NODES_API}
+    ...    ${DISCARD}
+    ...    2
 
 Check Flows
     [Documentation]    Check all flows are present
     [Tags]    bug 6984    bug
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${RFC8040_OPERATIONAL_NODES_API}    "output-node-connector"    16
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${RFC8040_OPERATIONAL_NODES_API}
+    ...    "output-node-connector"
+    ...    16
     [Teardown]    Report_Failure_Due_To_Bug    6984
 
 Ping Test
@@ -51,7 +78,12 @@ Link Down
     Write    link s1 s2 down
     Read Until    mininet>
     @{list}    Create List    ${DISCARD}
-    Wait Until Keyword Succeeds    10s    2s    Check For Elements Not At URI    ${RFC8040_OPERATIONAL_NODES_API}    ${list}
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Elements Not At URI
+    ...    ${RFC8040_OPERATIONAL_NODES_API}
+    ...    ${list}
     Wait Until Keyword Succeeds    10s    2s    Ping Works Good
 
 Link Up
@@ -59,8 +91,20 @@ Link Up
     [Tags]    exclude
     Write    link s1 s2 up
     Read Until    mininet>
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${RFC8040_OPERATIONAL_NODES_API}    ${FORWARD}    4
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${RFC8040_OPERATIONAL_NODES_API}    ${DISCARD}    2
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${RFC8040_OPERATIONAL_NODES_API}
+    ...    ${FORWARD}
+    ...    4
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${RFC8040_OPERATIONAL_NODES_API}
+    ...    ${DISCARD}
+    ...    2
     # This sleep is needed because if the ping in the below WUKS is launched before the STP effectively removes the link,
     # it produces a packet storm in mininet that makes the test unresponsive.
     Sleep    1
@@ -78,19 +122,33 @@ Add Port
     [Tags]    exclude
     Write    sh ovs-vsctl add-port s1 s1-eth2 -- set interface s1-eth2 ofport=2
     Read Until    mininet>
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${RFC8040_OPERATIONAL_NODES_API}    ${FORWARD}    4
-    Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${RFC8040_OPERATIONAL_NODES_API}    ${DISCARD}    2
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${RFC8040_OPERATIONAL_NODES_API}
+    ...    ${FORWARD}
+    ...    4
+    Wait Until Keyword Succeeds
+    ...    10s
+    ...    2s
+    ...    Check For Specific Number Of Elements At URI
+    ...    ${RFC8040_OPERATIONAL_NODES_API}
+    ...    ${DISCARD}
+    ...    2
     # This sleep is needed because if the ping in the below WUKS is launched before the STP effectively removes the link,
     # it produces a packet storm in mininet that makes the test unresponsive.
     Sleep    1
     Wait Until Keyword Succeeds    10s    2s    Ping Works Good
 
+
 *** Keywords ***
 Start Suite
     [Documentation]    Open controller session & mininet connection and start mininet custom topo
     Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
-    ${start}=    Set Variable    sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --custom customtopo.py --topo ring --switch ovsk,protocols=OpenFlow13
-    ${mininet_conn_id}=    Open Connection    ${TOOLS_SYSTEM_IP}    prompt=${DEFAULT_LINUX_PROMPT}    timeout=30s
+    ${start}    Set Variable
+    ...    sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --custom customtopo.py --topo ring --switch ovsk,protocols=OpenFlow13
+    ${mininet_conn_id}    Open Connection    ${TOOLS_SYSTEM_IP}    prompt=${DEFAULT_LINUX_PROMPT}    timeout=30s
     Set Suite Variable    ${mininet_conn_id}
     Login With Public Key    ${TOOLS_SYSTEM_USER}    ${USER_HOME}/.ssh/${SSH_KEY}    any
     Put File    ${CURDIR}/../topologies/customtopo.py
index 0927e55e0bce2d581f324eb4799f7a04ab007e71..04e6d15170f1bc02302e59bf5464fdcf6d9901b3 100644 (file)
@@ -1,18 +1,22 @@
 *** Settings ***
-Documentation     Test suite for finding out max number of switches
-Suite Setup       Workflow Setup
-Suite Teardown    Workflow Teardown
-Library           OperatingSystem
-Resource          ../../../variables/Variables.robot
-Resource          ../../../libraries/WorkflowsL2switch.robot
-Resource          ../../../libraries/KarafKeywords.robot
+Documentation       Test suite for finding out max number of switches
+
+Library             OperatingSystem
+Resource            ../../../variables/Variables.robot
+Resource            ../../../libraries/WorkflowsL2switch.robot
+Resource            ../../../libraries/KarafKeywords.robot
+
+Suite Setup         Workflow Setup
+Suite Teardown      Workflow Teardown
+
 
 *** Variables ***
-${MIN_HOSTS}      50
-${MAX_HOSTS}      1000
-${STEP_HOSTS}     50
+${MIN_HOSTS}            50
+${MAX_HOSTS}            1000
+${STEP_HOSTS}           50
 ${HOSTS_RESULT_FILE}    hosts.csv
-${TIME_RESULT_FILE}    time.csv
+${TIME_RESULT_FILE}     time.csv
+
 
 *** Test Cases ***
 Find Max Supported Hosts
@@ -24,8 +28,12 @@ Find Max Supported Hosts
     ${stop}=    BuiltIn.Convert to Integer    ${MAX_HOSTS}
     ${step}=    BuiltIn.Convert to Integer    ${STEP_HOSTS}
     FOR    ${hosts}    IN RANGE    ${start}    ${stop+1}    ${step}
-        ${status}    ${error_message}    ${host_discover_time}    WorkflowsL2switch.Workflow Single Switch Multiple Hosts    ${hosts}
-        BuiltIn.Exit For Loop If    '${status}' == 'FAIL'
+        ${status}
+        ...    ${error_message}
+        ...    ${host_discover_time}=
+        ...    WorkflowsL2switch.Workflow Single Switch Multiple Hosts
+        ...    ${hosts}
+        IF    '${status}' == 'FAIL'            BREAK
         ${maximum_hosts}=    BuiltIn.Set variable    ${hosts}
         ${discover_time}=    BuiltIn.Set Variable    ${host_discover_time}
     END
index 59410d765d987ad6241602f3dddd0b9c784f77c7..819b38a22383d9b40dc37153a53d4bfe2d241735 100644 (file)
@@ -1,21 +1,25 @@
 *** Settings ***
-Documentation     Test suite for RESTCONF LACP inventory
-Suite Setup       LACP Inventory Suite Setup
-Suite Teardown    Delete All Sessions
-Library           SSHLibrary
-Library           Collections
-Library           RequestsLibrary
-Library           ../../../libraries/Common.py
-Variables         ../../../variables/Variables.py
+Documentation       Test suite for RESTCONF LACP inventory
+
+Library             SSHLibrary
+Library             Collections
+Library             RequestsLibrary
+Library             ../../../libraries/Common.py
+Variables           ../../../variables/Variables.py
+
+Suite Setup         LACP Inventory Suite Setup
+Suite Teardown      Delete All Sessions
+
 
 *** Variables ***
-${node1}          openflow:1
-${agg-id1}        1
-${agg-id2}        2
-${agg1-connector-id1}    1
-${agg1-connector-id2}    2
-${agg2-connector-id1}    3
-${agg2-connector-id2}    4
+${node1}                    openflow:1
+${agg-id1}                  1
+${agg-id2}                  2
+${agg1-connector-id1}       1
+${agg1-connector-id2}       2
+${agg2-connector-id1}       3
+${agg2-connector-id2}       4
+
 
 *** Test Cases ***
 Get the Specific Node Inventory and Lacp aggregator details
@@ -40,39 +44,48 @@ Get information of each lacp-aggregator for a node
 
 Get node connector data for node 1
     [Documentation]    Get the node connector inventory for node 1
-    ${resp}    Get Request    session    ${OPERATIONAL_NODES_API}/node/${node1}/node-connector/${node1}:${agg1-connector-id1}
+    ${resp}    Get Request
+    ...    session
+    ...    ${OPERATIONAL_NODES_API}/node/${node1}/node-connector/${node1}:${agg1-connector-id1}
     Verify LACP RESTAPI Response Code for node    ${resp}
     Verify specific LACP node connector data for node    ${resp.content}    ${agg-id1}    agg-id
-    ${resp}    Get Request    session    ${OPERATIONAL_NODES_API}/node/${node1}/node-connector/${node1}:${agg1-connector-id2}
+    ${resp}    Get Request
+    ...    session
+    ...    ${OPERATIONAL_NODES_API}/node/${node1}/node-connector/${node1}:${agg1-connector-id2}
     Verify LACP RESTAPI Response Code for node    ${resp}
     Verify specific LACP node connector data for node    ${resp.content}    ${agg-id1}    agg-id
-    ${resp}    Get Request    session    ${OPERATIONAL_NODES_API}/node/${node1}/node-connector/${node1}:${agg2-connector-id1}
+    ${resp}    Get Request
+    ...    session
+    ...    ${OPERATIONAL_NODES_API}/node/${node1}/node-connector/${node1}:${agg2-connector-id1}
     Verify LACP RESTAPI Response Code for node    ${resp}
     Verify specific LACP node connector data for node    ${resp.content}    ${agg-id2}    agg-id
-    ${resp}    Get Request    session    ${OPERATIONAL_NODES_API}/node/${node1}/node-connector/${node1}:${agg2-connector-id2}
+    ${resp}    Get Request
+    ...    session
+    ...    ${OPERATIONAL_NODES_API}/node/${node1}/node-connector/${node1}:${agg2-connector-id2}
     Verify LACP RESTAPI Response Code for node    ${resp}
     Verify specific LACP node connector data for node    ${resp.content}    ${agg-id2}    agg-id
 
+
 *** Keywords ***
 Verify LACP RESTAPI Response Code for node
-    [Arguments]    ${resp}
     [Documentation]    Will check for the response code of the REST query
+    [Arguments]    ${resp}
     Should Be Equal As Strings    ${resp.status_code}    200
     Should Contain    ${resp.content}    ${node1}
 
 Verify LACP RESTAPI Aggregator and Tag Contents
-    [Arguments]    ${resp.content}    ${content-lookup}
     [Documentation]    Will check for the LACP Specific tags or Aggregator ID for node
+    [Arguments]    ${resp.content}    ${content-lookup}
     Should Contain    ${resp.content}    ${content-lookup}
 
 Verify LACP connector associated for aggregator
-    [Arguments]    ${resp.content}    ${node}    ${agg-connector-id}
     [Documentation]    Will check for the LACP connector info for each aggregator
+    [Arguments]    ${resp.content}    ${node}    ${agg-connector-id}
     Should Contain    ${resp.content}    ${node}:${agg-connector-id}
 
 Verify specific LACP node connector data for node
-    [Arguments]    ${resp.content}    ${agg-id}    ${connector}
     [Documentation]    Will check for node connectory info for node
+    [Arguments]    ${resp.content}    ${agg-id}    ${connector}
     Should Contain    ${resp.content}    ${connector}='${agg-id}'
 
 Verify LACP Tags Are Formed
index 2f4f289daf92fe0a56cb002882fd331785c41896..f4c50365459e9b441290a24d2f10fb4ee7a5db22 100644 (file)
@@ -1,23 +1,27 @@
 *** Settings ***
-Documentation     Test suite for LACP Link Resiliency
-Suite Setup       LACP Inventory Suite Setup
-Suite Teardown    Delete All Sessions
-Library           SSHLibrary
-Library           Collections
-Library           String
-Library           RequestsLibrary
-Library           ../../../libraries/Common.py
-Resource          ../../../libraries/Utils.robot
-Variables         ../../../variables/Variables.py
+Documentation       Test suite for LACP Link Resiliency
+
+Library             SSHLibrary
+Library             Collections
+Library             String
+Library             RequestsLibrary
+Library             ../../../libraries/Common.py
+Resource            ../../../libraries/Utils.robot
+Variables           ../../../variables/Variables.py
+
+Suite Setup         LACP Inventory Suite Setup
+Suite Teardown      Delete All Sessions
+
 
 *** Variables ***
-${node1}          openflow:1
-${agg-id1}        1
-${agg-id2}        2
-${agg1-connector-id1}    1
-${agg1-connector-id2}    2
-${agg2-connector-id1}    3
-${agg2-connector-id2}    4
+${node1}                    openflow:1
+${agg-id1}                  1
+${agg-id2}                  2
+${agg1-connector-id1}       1
+${agg1-connector-id2}       2
+${agg2-connector-id1}       3
+${agg2-connector-id2}       4
+
 
 *** Test Cases ***
 Verify the Group tables data for Switch(S1)
@@ -49,26 +53,29 @@ Verify Switch(S1) Flow and Group tables data after H2 link up scenario
     [Documentation]    Functionality to check if the corresponding group entries are updated on OVS Switch(S1) after port-bringup scenario on the Host H2
     Verify Switch S1 Group Table    select    3    4    up
 
+
 *** Keywords ***
 Verify LACP RESTAPI Response Code for node
-    [Arguments]    ${resp}
     [Documentation]    Will check for the response code of the REST query
+    [Arguments]    ${resp}
     Should Be Equal As Strings    ${resp.status_code}    200
     Should Contain    ${resp.content}    ${node1}
 
 Verify LACP RESTAPI Aggregator and Tag Contents
-    [Arguments]    ${resp.content}    ${content-lookup}
     [Documentation]    Will check for the LACP Specific tags or Aggregator ID for node
+    [Arguments]    ${resp.content}    ${content-lookup}
     Should Contain    ${resp.content}    ${content-lookup}
 
 Verify LACP RESTAPI connector associated for aggregator
-    [Arguments]    ${resp.content}    ${node}    ${agg-connector-id}
     [Documentation]    Will check for the LACP connector info for each aggregator
+    [Arguments]    ${resp.content}    ${node}    ${agg-connector-id}
     Should Contain    ${resp.content}    ${node}:${agg-connector-id}
 
 Verify LACP aggregator data is updated post link down scenario
     [Documentation]    Functionality will verify the node conenctor data on the lacp-agg api after link down scenario
-    ${resp}    RequestsLibrary.Get Request    session    ${OPERATIONAL_NODES_API}/node/${node1}/lacp-aggregators/${agg-id2}
+    ${resp}    RequestsLibrary.Get Request
+    ...    session
+    ...    ${OPERATIONAL_NODES_API}/node/${node1}/lacp-aggregators/${agg-id2}
     Verify LACP RESTAPI Response Code for node    ${resp}
     Verify LACP RESTAPI connector associated for aggregator    ${resp.content}    ${node1}    ${agg2-connector-id1}
     Should not Contain    ${resp.content}    ${node1}:${agg2-connector-id2}
@@ -76,7 +83,9 @@ Verify LACP aggregator data is updated post link down scenario
 
 Verify LACP aggregator data is updated post link up scenario
     [Documentation]    Functionality will verify the node connector data on the lacp-agg api after link up scenario
-    ${resp}    RequestsLibrary.Get Request    session    ${OPERATIONAL_NODES_API}/node/${node1}/lacp-aggregators/${agg-id2}
+    ${resp}    RequestsLibrary.Get Request
+    ...    session
+    ...    ${OPERATIONAL_NODES_API}/node/${node1}/lacp-aggregators/${agg-id2}
     Verify LACP RESTAPI Response Code for node    ${resp}
     Verify LACP RESTAPI connector associated for aggregator    ${resp.content}    ${node1}    ${agg2-connector-id1}
     Verify LACP RESTAPI connector associated for aggregator    ${resp.content}    ${node1}    ${agg2-connector-id2}
@@ -95,8 +104,8 @@ LACP Inventory Suite Setup
     Wait Until Keyword Succeeds    15s    1s    Verify LACP Tags Are Formed
 
 Set Host interface state
-    [Arguments]    ${port-id}    ${port-state}
     [Documentation]    Will configure the port state of the Host to either up or down
+    [Arguments]    ${port-id}    ${port-state}
     Open Connection    ${TOOLS_SYSTEM_IP}    prompt=${DEFAULT_LINUX_PROMPT}
     Login With Public Key    ${TOOLS_SYSTEM_USER}    ${USER_HOME}/.ssh/${SSH_KEY}    any
     Write    sudo ./m h2
@@ -104,13 +113,20 @@ Set Host interface state
     Write    sudo ifconfig ${port-id} ${port-state}
 
 Verify Switch S1 Group Table
-    [Arguments]    ${group-type}    ${port-id1}    ${port-id2}    ${port-id2-state}
     [Documentation]    Functionality to verify the presence of LACP group entries on the OVS Switch(S1) Group table
-    ${group_output}=    Run Command on Remote System    ${TOOLS_SYSTEM_IP}    sudo ovs-ofctl dump-groups s1 -O OpenFlow13    ${TOOLS_SYSTEM_USER}    #
+    [Arguments]    ${group-type}    ${port-id1}    ${port-id2}    ${port-id2-state}
+    #
+    ${group_output}    Run Command on Remote System
+    ...    ${TOOLS_SYSTEM_IP}
+    ...    sudo ovs-ofctl dump-groups s1 -O OpenFlow13
+    ...    ${TOOLS_SYSTEM_USER}
     Log    ${group_output}
     Comment    ${group_output}    Read Until    mininet>
-    ${result}=    Get Lines Containing String    ${group_output}    output:${port-id1}
+    ${result}    Get Lines Containing String    ${group_output}    output:${port-id1}
     Should Contain    ${result}    type=${group-type}
     Should Contain    ${result}    output:${port-id1}
-    Run Keyword If    "${port-id2-state}" == "up"    Should Contain    ${result}    output:${port-id2}
-    ...    ELSE    Should not Contain    ${result}    output:${port-id2}
+    IF    "${port-id2-state}" == "up"
+        Should Contain    ${result}    output:${port-id2}
+    ELSE
+        Should not Contain    ${result}    output:${port-id2}
+    END
index 744efb746c1140f5d7742282a2e1774824f5e418..93b86b277a295be5e3fc1d84e24eb4f41af4bd0e 100644 (file)
@@ -1,17 +1,21 @@
 *** Settings ***
-Documentation     Test suite to verify if the PDU count for the LACP flow entry is getting updated
-Suite Setup       LACP Inventory Suite Setup
-Suite Teardown    Delete All Sessions
-Library           SSHLibrary
-Library           Collections
-Library           String
-Library           RequestsLibrary
-Library           ../../../libraries/Common.py
-Resource          ../../../libraries/Utils.robot
-Variables         ../../../variables/Variables.py
+Documentation       Test suite to verify if the PDU count for the LACP flow entry is getting updated
+
+Library             SSHLibrary
+Library             Collections
+Library             String
+Library             RequestsLibrary
+Library             ../../../libraries/Common.py
+Resource            ../../../libraries/Utils.robot
+Variables           ../../../variables/Variables.py
+
+Suite Setup         LACP Inventory Suite Setup
+Suite Teardown      Delete All Sessions
+
 
 *** Variables ***
-${node1}          openflow:1
+${node1}    openflow:1
+
 
 *** Test Cases ***
 Verify Switch S1 LACP flow entry packet hit doesn't display zero value
@@ -23,7 +27,11 @@ Verify Switch S1 LACP flow entry packet hit doesn't display zero value
 
 Verify Switch S1 Port stats doesn't display zero value
     [Documentation]    Verify the port stats for the Switch S1 doesn't display value with zero
-    ${result}=    Run Command On Remote System    ${TOOLS_SYSTEM_IP}    sudo ovs-ofctl dump-ports s1 -O OpenFlow13    ${TOOLS_SYSTEM_USER}    #
+    #
+    ${result}=    Run Command On Remote System
+    ...    ${TOOLS_SYSTEM_IP}
+    ...    sudo ovs-ofctl dump-ports s1 -O OpenFlow13
+    ...    ${TOOLS_SYSTEM_USER}
     Comment    ${result}    Read Until    mininet>
     ${port1}=    Get Lines Containing String    ${result}    1:
     Should Not Contain    ${port1}    rx pkts=0
@@ -38,21 +46,22 @@ Verify Switch S1 Port stats doesn't display zero value
     Should Not Contain    ${port4}    rx pkts=0
     Should Not Contain    ${port4}    bytes=0
 
+
 *** Keywords ***
 Verify LACP RESTAPI Response Code for node
-    [Arguments]    ${resp}
     [Documentation]    Will check for the response code of the REST query
+    [Arguments]    ${resp}
     Should Be Equal As Strings    ${resp.status_code}    200
     Should Contain    ${resp.content}    ${node1}
 
 Verify LACP RESTAPI Aggregator and Tag Contents
-    [Arguments]    ${resp.content}    ${content-lookup}
     [Documentation]    Will check for the LACP Specific tags or Aggregator ID for node
+    [Arguments]    ${resp.content}    ${content-lookup}
     Should Contain    ${resp.content}    ${content-lookup}
 
 Verify LACP Tags Are Formed
     [Documentation]    Fundamental Check That LACP is working
-    ${resp}    RequestsLibrary.Get Request    session    ${OPERATIONAL_NODES_API}
+    ${resp}=    RequestsLibrary.Get Request    session    ${OPERATIONAL_NODES_API}
     Verify LACP RESTAPI Response Code for node    ${resp}
     Verify LACP RESTAPI Aggregator and Tag Contents    ${resp.content}    non-lag-groupid
     Verify LACP RESTAPI Aggregator and Tag Contents    ${resp.content}    lacp-aggregators
index e02b24582eaf534481751705da14bcd3f2c2a573..7d711948b80192110f871fc9e10da46affc1747a 100644 (file)
@@ -1,13 +1,17 @@
 *** Settings ***
-Documentation     Test suite for MD-SAL LACP mininet OF13
-Suite Setup       Start Suite
-Suite Teardown    Stop Suite
-Library           SSHLibrary
-Variables         ../../../variables/Variables.py
+Documentation       Test suite for MD-SAL LACP mininet OF13
+
+Library             SSHLibrary
+Variables           ../../../variables/Variables.py
+
+Suite Setup         Start Suite
+Suite Teardown      Stop Suite
+
 
 *** Variables ***
-${start}          sudo mn --custom LACP_custom1.py --switch ovsk,protocols=OpenFlow13
-${bond}           "/etc/modprobe.d/bonding.conf"
+${start}    sudo mn --custom LACP_custom1.py --switch ovsk,protocols=OpenFlow13
+${bond}     "/etc/modprobe.d/bonding.conf"
+
 
 *** Keywords ***
 Start Suite
index e00dc45fc25edde1d8a47f86115f2ac470283648..6d8b5b54d4a98acec249fa816106d37fc8880501 100644 (file)
@@ -1,22 +1,26 @@
 *** Settings ***
-Documentation     Test suite to verify CRUD operations using RPCs
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Library           Collections
-Library           OperatingSystem
-Library           RequestsLibrary
-Library           ../../../libraries/Common.py
-Variables         ../../../variables/Variables.py
-Resource          ../../../libraries/LISPFlowMapping__Lithium.robot
-Resource          ../../../libraries/Utils.robot
+Documentation       Test suite to verify CRUD operations using RPCs
+
+Library             Collections
+Library             OperatingSystem
+Library             RequestsLibrary
+Library             ../../../libraries/Common.py
+Variables           ../../../variables/Variables.py
+Resource            ../../../libraries/LISPFlowMapping__Lithium.robot
+Resource            ../../../libraries/Utils.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown      Delete All Sessions
+
 
 *** Variables ***
-${IPV4_C_KEY}     ${JSON_DIR}/rpc_add-key_ipv4.json
-${IPV4_RD}        ${JSON_DIR}/rpc_get-remove_ipv4.json
-${MISS_RD}        ${JSON_DIR}/rpc_get-remove_missing.json
-${IPV4_U_KEY}     ${JSON_DIR}/rpc_update-key_ipv4.json
-${IPV4_C_MAP}     ${JSON_DIR}/rpc_add-mapping_ipv4_ipv4.json
-${IPV4_U_MAP}     ${JSON_DIR}/rpc_update-mapping_ipv4_ipv4.json
+${IPV4_C_KEY}       ${JSON_DIR}/rpc_add-key_ipv4.json
+${IPV4_RD}          ${JSON_DIR}/rpc_get-remove_ipv4.json
+${MISS_RD}          ${JSON_DIR}/rpc_get-remove_missing.json
+${IPV4_U_KEY}       ${JSON_DIR}/rpc_update-key_ipv4.json
+${IPV4_C_MAP}       ${JSON_DIR}/rpc_add-mapping_ipv4_ipv4.json
+${IPV4_U_MAP}       ${JSON_DIR}/rpc_update-mapping_ipv4_ipv4.json
+
 
 *** Test Cases ***
 Create Key
index 477e79359922914407d76a663d040cbf3f02c7aa..f872be01431c6eaf27f8da00d0c79cd5e76a5ae4 100644 (file)
@@ -1,67 +1,61 @@
 *** Settings ***
-Documentation     Test suite to verify data types using RPCs
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Test Setup        Set Suite Variable    ${RPC_Datatype__current_json}    ${EMPTY}
-Test Teardown     Remove Datatype And Check Removal
-Test Template     Check Datatype
-Library           Collections
-Library           OperatingSystem
-Library           RequestsLibrary
-Library           ../../../libraries/Common.py
-Variables         ../../../variables/Variables.py
-Resource          ../../../libraries/LISPFlowMapping__Lithium.robot
-Resource          ../../../libraries/Utils.robot
+Documentation       Test suite to verify data types using RPCs
+
+Library             Collections
+Library             OperatingSystem
+Library             RequestsLibrary
+Library             ../../../libraries/Common.py
+Variables           ../../../variables/Variables.py
+Resource            ../../../libraries/LISPFlowMapping__Lithium.robot
+Resource            ../../../libraries/Utils.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown      Delete All Sessions
+Test Setup          Set Suite Variable    ${RPC_Datatype__current_json}    ${EMPTY}
+Test Teardown       Remove Datatype And Check Removal
+Test Template       Check Datatype
+
 
 *** Test Cases ***
 IPv4 Prefix
     [Documentation]    Perform mapping operations with an IPv4 EID
     rpc_add-mapping_ipv4_ipv4.json    rpc_get-remove_ipv4.json
-
 IPv6 Prefix
     [Documentation]    Perform mapping operations with an IPv6 EID
     rpc_add-mapping_ipv6_ipv4.json    rpc_get-remove_ipv6.json
-
 MAC Address
     [Documentation]    Perform mapping operations with a MAC address EID
     rpc_add-mapping_mac_ipv4.json    rpc_get-remove_mac.json
-
 Distinguished Name
     [Documentation]    Perform mapping operations with a Distinguished Name EID
     rpc_add-mapping_dn_ipv4.json    rpc_get-remove_dn.json
-
 AS Number
     [Documentation]    Perform mapping operations with an Autonomous System Number EID
     rpc_add-mapping_as_ipv4.json    rpc_get-remove_as.json
-
 Instance ID
     [Documentation]    Perform mapping operations with an IPv4 EID in Instance ID 1
     rpc_add-mapping_iid_ipv4.json    rpc_get-remove_iid.json
-
 Source/Destination
     [Documentation]    Perform mapping operations with a Source/Destination EID
     rpc_add-mapping_srcdst_ipv4.json    rpc_get-remove_srcdst.json
-
 Key/Value
     [Documentation]    Perform mapping operations with a Key/Value EID
     rpc_add-mapping_kv_ipv4.json    rpc_get-remove_kv.json
-
 AFI List
     [Documentation]    Perform mapping operations with an IPv4 EID mapped to an AFI List RLOC
     rpc_add-mapping_ipv4_list.json    rpc_get-remove_ipv4.json
-
 Application Data
     [Documentation]    Perform mapping operations with an IPv4 EID mapped to an Application Data RLOC
     rpc_add-mapping_ipv4_appdata.json    rpc_get-remove_ipv4.json
-
 Explicit Locator Path
     [Documentation]    Perform mapping operations with an IPv4 EID mapped to an ELP RLOC
     rpc_add-mapping_ipv4_elp.json    rpc_get-remove_ipv4.json
 
+
 *** Keywords ***
 Check Datatype
-    [Arguments]    ${add_mapping_json_file}    ${get_mapping_json_file}
     [Documentation]    Perform CRD operations using a specific datatype
+    [Arguments]    ${add_mapping_json_file}    ${get_mapping_json_file}
     ${add_mapping}=    OperatingSystem.Get File    ${JSON_DIR}/${add_mapping_json_file}
     ${get_mapping}=    OperatingSystem.Get File    ${JSON_DIR}/${get_mapping_json_file}
     Set Suite Variable    ${RPC_Datatype__current_json}    ${get_mapping}
index aa4a5523ae40ba1f4a76f3dfcac5949d648eb407..d6449014c21432586e3351c5c26fc4de28c87122 100644 (file)
@@ -1,16 +1,19 @@
 *** Settings ***
-Documentation     Test suite to verify CRUD operations using RPCs
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Library           Collections
-Library           OperatingSystem
-Library           RequestsLibrary
-Library           ../../../libraries/Common.py
-Library           ../../../libraries/JsonGenerator.py
-Variables         ../../../variables/Variables.py
-Resource          ../../../libraries/LISPFlowMapping.robot
-Resource          ../../../libraries/TemplatedRequests.robot
-Resource          ../../../libraries/Utils.robot
+Documentation       Test suite to verify CRUD operations using RPCs
+
+Library             Collections
+Library             OperatingSystem
+Library             RequestsLibrary
+Library             ../../../libraries/Common.py
+Library             ../../../libraries/JsonGenerator.py
+Variables           ../../../variables/Variables.py
+Resource            ../../../libraries/LISPFlowMapping.robot
+Resource            ../../../libraries/TemplatedRequests.robot
+Resource            ../../../libraries/Utils.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown      Delete All Sessions
+
 
 *** Test Cases ***
 Create Key
index 3c3d6fef0fd805f30dda1333026eac826b715c19..647db19da84d41359f3e6995590908db3a42585b 100644 (file)
@@ -1,68 +1,62 @@
 *** Settings ***
-Documentation     Test suite to verify data types using RPCs
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Test Setup        Set Suite Variable    ${RPC_Datatype__current_json}    ${EMPTY}
-Test Teardown     Remove Datatype And Check Removal
-Test Template     Check Datatype
-Library           Collections
-Library           OperatingSystem
-Library           RequestsLibrary
-Library           ../../../libraries/Common.py
-Library           ../../../libraries/JsonGenerator.py
-Variables         ../../../variables/Variables.py
-Resource          ../../../libraries/LISPFlowMapping.robot
-Resource          ../../../libraries/Utils.robot
+Documentation       Test suite to verify data types using RPCs
+
+Library             Collections
+Library             OperatingSystem
+Library             RequestsLibrary
+Library             ../../../libraries/Common.py
+Library             ../../../libraries/JsonGenerator.py
+Variables           ../../../variables/Variables.py
+Resource            ../../../libraries/LISPFlowMapping.robot
+Resource            ../../../libraries/Utils.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown      Delete All Sessions
+Test Setup          Set Suite Variable    ${RPC_Datatype__current_json}    ${EMPTY}
+Test Teardown       Remove Datatype And Check Removal
+Test Template       Check Datatype
+
 
 *** Test Cases ***
 IPv4 Prefix
     [Documentation]    Perform mapping operations with an IPv4 EID
     ipv4:192.0.2.1/32    ipv4:10.10.10.10    ipv4:192.0.2.1/32
-
 IPv6 Prefix
     [Documentation]    Perform mapping operations with an IPv6 EID
     ipv6:2001:db8::1/128    ipv4:10.10.10.10    ipv6:2001:db8::1/128
-
 MAC Address
     [Documentation]    Perform mapping operations with a MAC address EID
     mac:00:11:22:33:44:55    ipv4:10.10.10.10    mac:00:11:22:33:44:55
-
 Distinguished Name
     [Documentation]    Perform mapping operations with a Distinguished Name EID
     dn:stringAsIs    ipv4:10.10.10.10    dn:stringAsIs
-
 AS Number
     [Documentation]    Perform mapping operations with an Autonomous System Number EID
     as:64500    ipv4:10.10.10.10    as:64500
-
 Source/Destination
     [Documentation]    Perform mapping operations with a Source/Destination EID
     srcdst:192.0.2.1/32|192.0.2.2/32    ipv4:10.10.10.10    srcdst:192.0.2.1/32|192.0.2.2/32
-
 Key/Value
     [Documentation]    Perform mapping operations with a Key/Value EID
     kv:192.0.2.1->192.0.2.2    ipv4:10.10.10.10    kv:192.0.2.1->192.0.2.2
-
 Service Path
     [Documentation]    Perform mapping operations with a Service Path EID
     sp:42(3)    ipv4:10.10.10.10    sp:42(3)
-
 AFI List
     [Documentation]    Perform mapping operations with an IPv4 EID mapped to an AFI List RLOC
     ipv4:192.0.2.1/32    list:{10.10.10.10,2001:db8::1}    ipv4:192.0.2.1/32
-
 Application Data
     [Documentation]    Perform mapping operations with an IPv4 EID mapped to an Application Data RLOC
     ipv4:192.0.2.1/32    appdata:10.10.10.10!128!17!80-81!6667-7000    ipv4:192.0.2.1/32
-
 Explicit Locator Path
     [Documentation]    Perform mapping operations with an IPv4 EID mapped to an ELP RLOC
     ipv4:192.0.2.1/32    elp:{20.20.20.20|lps->30.30.30.30|ls}    ipv4:192.0.2.1/32
 
+
 *** Keywords ***
 Check Datatype
-    [Arguments]    ${add_mapping_eid}    ${add_mapping_rloc}    ${get_mapping_eid}
     [Documentation]    Perform CRD operations using a specific datatype
+    [Arguments]    ${add_mapping_eid}    ${add_mapping_rloc}    ${get_mapping_eid}
     ${add_mapping}=    Get Mapping JSON    ${add_mapping_eid}    ${add_mapping_rloc}
     ${get_mapping}=    Get LispAddress JSON And Wrap input    ${get_mapping_eid}
     Set Suite Variable    ${RPC_Datatype__current_json}    ${get_mapping}
@@ -71,6 +65,9 @@ Check Datatype
 
 Remove Datatype And Check Removal
     Variable Should Exist    ${RPC_Datatype__current_json}
-    Post Log Check    ${LFM_RPC_API}:remove-mapping    ${RPC_Datatype__current_json}    status_codes=${ALLOWED_STATUS_CODES}
+    Post Log Check
+    ...    ${LFM_RPC_API}:remove-mapping
+    ...    ${RPC_Datatype__current_json}
+    ...    status_codes=${ALLOWED_STATUS_CODES}
     Wait Until Keyword Succeeds    5s    200ms    Check Mapping Removal    ${RPC_Datatype__current_json}
     Set Suite Variable    ${RPC_Datatype__current_json}    ${EMPTY}
index 8e71941d2f1b0b3575ed5ed4e81444833700b76b..f04697986d12d3e0db7f97f2969d3ee85951fe88 100644 (file)
@@ -1,35 +1,44 @@
 *** Settings ***
-Documentation     LISP southbound performance tests
-Suite Setup       Prepare Environment
-Suite Teardown    Destroy Environment
-Library           Collections
-Library           DateTime
-Library           OperatingSystem
-Library           RequestsLibrary
-Library           String
-Resource          ../../../libraries/Utils.robot
-Resource          ../../../libraries/LISPFlowMapping.robot
-Resource          ../../../libraries/TemplatedRequests.robot
-Variables         ../../../variables/Variables.py
+Documentation       LISP southbound performance tests
+
+Library             Collections
+Library             DateTime
+Library             OperatingSystem
+Library             RequestsLibrary
+Library             String
+Resource            ../../../libraries/Utils.robot
+Resource            ../../../libraries/LISPFlowMapping.robot
+Resource            ../../../libraries/TemplatedRequests.robot
+Variables           ../../../variables/Variables.py
+
+Suite Setup         Prepare Environment
+Suite Teardown      Destroy Environment
+
 
 *** Variables ***
-${MAPPINGS}       10000
-${LISP_SCAPY}     https://raw.githubusercontent.com/ljakab/py-lispnetworking/opendaylight/lisp.py
-${TOOLS_DIR}      ${CURDIR}/../../../../tools/odl-lispflowmapping-performance-tests/
-${PCAP_CREATOR}    ${TOOLS_DIR}/create_lisp_control_plane_pcap.py
-${MAPPING_BLASTER}    ${TOOLS_DIR}/mapping_blaster.py
-${REPLAY_PPS}     100000
-${REPLAY_CNT}     1000
-${REPLAY_FILE_MREQ}    encapsulated-map-requests-sequential.pcap
-${REPLAY_FILE_MREG}    map-registers-sequential-no-auth.pcap
-${REPLAY_FILE_MRGA}    map-registers-sequential-sha1-auth.pcap
+${MAPPINGS}             10000
+${LISP_SCAPY}           https://raw.githubusercontent.com/ljakab/py-lispnetworking/opendaylight/lisp.py
+${TOOLS_DIR}            ${CURDIR}/../../../../tools/odl-lispflowmapping-performance-tests/
+${PCAP_CREATOR}         ${TOOLS_DIR}/create_lisp_control_plane_pcap.py
+${MAPPING_BLASTER}      ${TOOLS_DIR}/mapping_blaster.py
+${REPLAY_PPS}           100000
+${REPLAY_CNT}           1000
+${REPLAY_FILE_MREQ}     encapsulated-map-requests-sequential.pcap
+${REPLAY_FILE_MREG}     map-registers-sequential-no-auth.pcap
+${REPLAY_FILE_MRGA}     map-registers-sequential-sha1-auth.pcap
 ${RPCS_RESULTS_FILE}    rpcs.csv
-${PPS_RESULTS_FILE}    pps.csv
+${PPS_RESULTS_FILE}     pps.csv
+
 
 *** Test Cases ***
 Add Simple IPv4 Mappings
     ${start_date}=    Get Current Date
-    Run Process With Logging And Status Check    ${MAPPING_BLASTER}    --host    ${ODL_SYSTEM_IP}    --mappings    ${MAPPINGS}
+    Run Process With Logging And Status Check
+    ...    ${MAPPING_BLASTER}
+    ...    --host
+    ...    ${ODL_SYSTEM_IP}
+    ...    --mappings
+    ...    ${MAPPINGS}
     ${end_date}=    Get Current Date
     ${add_seconds}=    Subtract Date From Date    ${end_date}    ${start_date}
     Log    ${add_seconds}
@@ -51,6 +60,7 @@ Generate Authenticated Map-Register Test Traffic
     ${pps_mnot_auth}=    Lossy Test    4    ${REPLAY_FILE_MRGA}
     Set Suite Variable    ${pps_mnot_auth}
 
+
 *** Keywords ***
 Clean Up
     Clear Config Datastore
@@ -66,29 +76,38 @@ Clear Operational Datastore
     Log    ${resp.content}
 
 Lossy Test
-    [Arguments]    ${lisp_type}    ${replay_file}
     [Documentation]    This test will send traffic at a rate that is known to be
     ...    higher than the capacity of the LISP Flow Mapping service and count
     ...    the reply messages. Using the test's time duration, it computes the
     ...    average reply packet rate in packets per second
+    [Arguments]    ${lisp_type}    ${replay_file}
     ${elapsed_time}=    Generate Test Traffic    ${REPLAY_PPS}    ${REPLAY_CNT}    ${replay_file}
     ${odl_tx_count}=    Get Control Message Stats    ${lisp_type}    tx-count
     ${pps}=    Evaluate    int(${odl_tx_count}/${elapsed_time})
     Log    ${pps}
     Clean Up
-    [Return]    ${pps}
+    RETURN    ${pps}
 
 Generate Test Traffic
     [Arguments]    ${replay_pps}    ${replay_cnt}    ${replay_file}
     Reset Stats
-    ${result}=    Run Process With Logging And Status Check    /usr/local/bin/udpreplay    --pps    ${replay_pps}    --repeat    ${replay_cnt}
-    ...    --host    ${ODL_SYSTEM_IP}    --port    4342    ${replay_file}
+    ${result}=    Run Process With Logging And Status Check
+    ...    /usr/local/bin/udpreplay
+    ...    --pps
+    ...    ${replay_pps}
+    ...    --repeat
+    ...    ${replay_cnt}
+    ...    --host
+    ...    ${ODL_SYSTEM_IP}
+    ...    --port
+    ...    4342
+    ...    ${replay_file}
     ${partial}=    Fetch From Left    ${result.stdout}    s =
     Log    ${partial}
     ${time}=    Fetch From Right    ${partial}    ${SPACE}
     ${time}=    Convert To Number    ${time}
     Log    ${time}
-    [Return]    ${time}
+    RETURN    ${time}
 
 Reset Stats
     [Arguments]    ${status_codes}=${ALLOWED_STATUS_CODES}
@@ -115,7 +134,7 @@ Get Control Message Stats
     ${msg_cnt}=    Get From Dictionary    ${ctrlmsg_type}    ${stat_type}
     ${msg_cnt}=    Convert To Integer    ${msg_cnt}
     Log    ${msg_cnt}
-    [Return]    ${msg_cnt}
+    RETURN    ${msg_cnt}
 
 Prepare Environment
     Create File    ${RPCS_RESULTS_FILE}    store/s\n
index 211f555d7859ffb96aa3a890d1fb6a86bf3a640e..d0a4acf4553b2fa12587ee64e75af30acfa1611d 100644 (file)
@@ -1,45 +1,50 @@
 *** Settings ***
-Documentation     Suite for testing performance of Java binding v1 using binding-parent.
+Documentation       Suite for testing performance of Java binding v1 using binding-parent.
 ...
-...               Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
+...                 Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
 ...
-...               This program and the accompanying materials are made available under the
-...               terms of the Eclipse Public License v1.0 which accompanies this distribution,
-...               and is available at http://www.eclipse.org/legal/epl-v10.html
+...                 This program and the accompanying materials are made available under the
+...                 terms of the Eclipse Public License v1.0 which accompanies this distribution,
+...                 and is available at http://www.eclipse.org/legal/epl-v10.html
 ...
 ...
-...               This suite tests performance of binding-parent from Mdsal project.
-...               It measures time (only as a test case duration) needed to create Java bindings (v1).
-...               It uses large set of Yang modules, collected from YangModels and openconfig
-...               github projects.
-...               Some modules are removed prior to testing, as they either do not conform to RFC6020,
-...               or they trigger known Bugs in ODL.
-...               Known Bugs: 6125, 6135, 6141, 2323, 6150, 2360, 138, 6172, 6180, 6183, 5772, 6189.
+...                 This suite tests performance of binding-parent from Mdsal project.
+...                 It measures time (only as a test case duration) needed to create Java bindings (v1).
+...                 It uses large set of Yang modules, collected from YangModels and openconfig
+...                 github projects.
+...                 Some modules are removed prior to testing, as they either do not conform to RFC6020,
+...                 or they trigger known Bugs in ODL.
+...                 Known Bugs: 6125, 6135, 6141, 2323, 6150, 2360, 138, 6172, 6180, 6183, 5772, 6189.
 ...
-...               The suite performs installation of Maven, optionally with building patched artifacts.
+...                 The suite performs installation of Maven, optionally with building patched artifacts.
 ...
-...               FIXME: This suite does not work when run with URL from Autorelease.
-...               The thing is, mdsal-parent is not part of .zip distribution.
-...               The fix would need to override the usual maven settings,
-...               as Autorelease artifacts have non-snapshot versions, but they are not released yet.
-Suite Setup       Setup_Suite
-Test Setup        SetupUtils.Setup_Test_With_Logging_And_Fast_Failing
-Test Teardown     Teardown_Test
-Default Tags      1node    binding_v1    critical
-Library           SSHLibrary
-Library           String
-Library           XML
-Resource          ${CURDIR}/../../../libraries/NexusKeywords.robot
-Resource          ${CURDIR}/../../../libraries/SetupUtils.robot
-Resource          ${CURDIR}/../../../libraries/SSHKeywords.robot
-Resource          ${CURDIR}/../../../libraries/TemplatedRequests.robot
-Resource          ${CURDIR}/../../../libraries/YangCollection.robot
+...                 FIXME: This suite does not work when run with URL from Autorelease.
+...                 The thing is, mdsal-parent is not part of .zip distribution.
+...                 The fix would need to override the usual maven settings,
+...                 as Autorelease artifacts have non-snapshot versions, but they are not released yet.
+
+Library             SSHLibrary
+Library             String
+Library             XML
+Resource            ${CURDIR}/../../../libraries/NexusKeywords.robot
+Resource            ${CURDIR}/../../../libraries/SetupUtils.robot
+Resource            ${CURDIR}/../../../libraries/SSHKeywords.robot
+Resource            ${CURDIR}/../../../libraries/TemplatedRequests.robot
+Resource            ${CURDIR}/../../../libraries/YangCollection.robot
+
+Suite Setup         Setup_Suite
+Test Setup          SetupUtils.Setup_Test_With_Logging_And_Fast_Failing
+Test Teardown       Teardown_Test
+
+Default Tags        1node    binding_v1    critical
+
 
 *** Variables ***
-${BRANCH}         ${EMPTY}
+${BRANCH}                   ${EMPTY}
 ${MAVEN_OUTPUT_FILENAME}    maven.log
-${PATCHES_TO_BUILD}    ${EMPTY}
-${POM_FILENAME}    binding-parent-test.xml
+${PATCHES_TO_BUILD}         ${EMPTY}
+${POM_FILENAME}             binding-parent-test.xml
+
 
 *** Test Cases ***
 Kill_Odl
@@ -63,10 +68,15 @@ Prepare_Yang_Files_To_Test
 
 Run_Maven
     [Documentation]    Create pom file with correct version and run maven with some performance switches.
-    ${final_pom} =    TemplatedRequests.Resolve_Text_From_Template_File    folder=${CURDIR}/../../../variables/mdsal/binding_v1    file_name=binding_template.xml    mapping={"BINDING_PARENT_VERSION":"${binding_parent_version}"}
+    ${final_pom} =    TemplatedRequests.Resolve_Text_From_Template_File
+    ...    folder=${CURDIR}/../../../variables/mdsal/binding_v1
+    ...    file_name=binding_template.xml
+    ...    mapping={"BINDING_PARENT_VERSION":"${binding_parent_version}"}
     SSHKeywords.Execute_Command_At_Cwd_Should_Pass    echo '${final_pom}' > '${POM_FILENAME}'
     ${autorelease_dir} =    String.Get_Regexp_Matches    ${BUNDLE_URL}    (autorelease-[0-9]+)
-    BuiltIn.Run_Keyword_If    ${autorelease_dir} != []    Add_Autorelease_Profile    ${autorelease_dir}[0]
+    IF    ${autorelease_dir} != []
+        Add_Autorelease_Profile    ${autorelease_dir}[0]
+    END
     NexusKeywords.Run_Maven    pom_file=${POM_FILENAME}    log_file=${MAVEN_OUTPUT_FILENAME}
     # TODO: Figure out patters to identify various known Bug symptoms.
 
@@ -74,11 +84,15 @@ Collect_Filest_To_Archive
     [Documentation]    Download created files so Releng scripts would archive it. Size of maven log is usually under 7 megabytes.
     [Setup]    FailFast.Run_Even_When_Failing_Fast
     SSHKeywords.Open_Connection_To_ODL_System    # The original one may have timed out.
-    BuiltIn.Run_Keyword_And_Ignore_Error    SSHLibrary.Get_File    ${MAVEN_DEFAULT_OUTPUT_FILENAME}    # only present if multipatch build happened
+    # only present if multipatch build happened
+    BuiltIn.Run_Keyword_And_Ignore_Error
+    ...    SSHLibrary.Get_File
+    ...    ${MAVEN_DEFAULT_OUTPUT_FILENAME}
     SSHLibrary.Get_File    settings.xml
     SSHLibrary.Get_File    ${POM_FILENAME}
     SSHLibrary.Get_File    ${MAVEN_OUTPUT_FILENAME}
 
+
 *** Keywords ***
 Setup_Suite
     [Documentation]    Activate dependency Resources, create SSH connection.
@@ -92,14 +106,14 @@ Teardown_Test
     SetupUtils.Teardown_Test_Show_Bugs_And_Start_Fast_Failing_If_Test_Failed
 
 Add_Autorelease_Profile
-    [Arguments]    ${nexus_autorelease_dir}
     [Documentation]    Add autorelease repository into the settings.xml file.
+    [Arguments]    ${nexus_autorelease_dir}
     SSHLibrary.Get_File    settings.xml
     ${root} =    XML.Parse_Xml    settings.xml
     ${profiles} =    Xml.Get_Elements    ${root}    xpath=profiles/profile
     FOR    ${profile}    IN    @{profiles}
         ${id} =    XML.Get_Element_Text    ${profile}    xpath=id
-        BuiltIn.Exit_For_Loop_If    "${id}" == "opendaylight-release"
+        IF    "${id}" == "opendaylight-release"            BREAK
     END
     BuiltIn.Should_Be_Equal_As_Strings    ${id}    opendaylight-release
     ${profile} =    Xml.Copy_Element    ${profile}
@@ -116,8 +130,8 @@ Add_Autorelease_Profile
     SSHLibrary.Put_File    settings.xml
 
 Update_Repository_Element
-    [Arguments]    ${profile}    ${repo_xpath}    ${nexus_autorelease_dir}
     [Documentation]    Modify given profile to use autorelease dir in nexus
+    [Arguments]    ${profile}    ${repo_xpath}    ${nexus_autorelease_dir}
     ${repository} =    XML.Get_Element    ${profile}    xpath=${repo_xpath}
     ${url} =    XML.Get_Element_Text    ${repository}    xpath=url
     ${url} =    String.Replace_String    ${url}    public    ${nexus_autorelease_dir}
index 2934e387d6dd1e794d0586b144bc4624cc5c96e0..30cd7ccedbdd8113326691bbbb0566832736a269 100644 (file)
@@ -1,23 +1,28 @@
 *** Settings ***
-Documentation     Test suite for testing MD-SAL netty replication functionality
-Suite Setup       Setup_Suite
-Test Setup        Setup_Test
-Test Teardown     Teardown_Test
-Default Tags      3node    critical    netty-replicate
-Library           SSHLibrary
-Resource          ${CURDIR}/../../../libraries/NettyReplication.robot
-Resource          ${CURDIR}/../../../libraries/KarafKeywords.robot
-Resource          ${CURDIR}/../../../libraries/ClusterManagement.robot
-Resource          ${CURDIR}/../../../libraries/SetupUtils.robot
-Resource          ${CURDIR}/../../../libraries/TemplatedRequests.robot
-Resource          ${CURDIR}/../../../libraries/CarPeople.robot
-Resource          ${CURDIR}/../../../libraries/WaitForFailure.robot
-Resource          ${CURDIR}/../../../libraries/Utils.robot
+Documentation       Test suite for testing MD-SAL netty replication functionality
+
+Library             SSHLibrary
+Resource            ${CURDIR}/../../../libraries/NettyReplication.robot
+Resource            ${CURDIR}/../../../libraries/KarafKeywords.robot
+Resource            ${CURDIR}/../../../libraries/ClusterManagement.robot
+Resource            ${CURDIR}/../../../libraries/SetupUtils.robot
+Resource            ${CURDIR}/../../../libraries/TemplatedRequests.robot
+Resource            ${CURDIR}/../../../libraries/CarPeople.robot
+Resource            ${CURDIR}/../../../libraries/WaitForFailure.robot
+Resource            ${CURDIR}/../../../libraries/Utils.robot
+
+Suite Setup         Setup_Suite
+Test Setup          Setup_Test
+Test Teardown       Teardown_Test
+
+Default Tags        3node    critical    netty-replicate
+
 
 *** Variables ***
-${CARPEOPLE_DEV_FOLDER}    ${CURDIR}/../../../variables/carpeople/crud
-${ADDITIONAL_SOURCE_NODE_INDEX}    ${3}
-@{MULTIPLE_SINK_NODES_INDEXES}    ${2}    ${3}
+${CARPEOPLE_DEV_FOLDER}             ${CURDIR}/../../../variables/carpeople/crud
+${ADDITIONAL_SOURCE_NODE_INDEX}     ${3}
+@{MULTIPLE_SINK_NODES_INDEXES}      ${2}    ${3}
+
 
 *** Test Cases ***
 Replicate_Config_Addition
@@ -51,13 +56,27 @@ Replicate_Multiple_Changes_to_Config
 
 Replicate_Multiple_Changes_to_Multiple_Sinks
     [Documentation]    CRUD configuration changes done on source node should be replicated on multiple sink nodes.
-    NettyReplication.Setup_Netty_Replication    source_memeber_index=${DEFAULT_NETTY_SOURCE_NODE_INDEX}    sink_members_indexes=@{MULTIPLE_SINK_NODES_INDEXES}
+    NettyReplication.Setup_Netty_Replication
+    ...    source_memeber_index=${DEFAULT_NETTY_SOURCE_NODE_INDEX}
+    ...    sink_members_indexes=@{MULTIPLE_SINK_NODES_INDEXES}
     &{mapping_1} =    BuiltIn.Create_Dictionary
-    Put_Config_And_Verify    ${CARPEOPLE_DEV_FOLDER}/people    sink_node_indexes=${MULTIPLE_SINK_NODES_INDEXES}    iterations=${5}    iter_j_offset=${0}
+    Put_Config_And_Verify
+    ...    ${CARPEOPLE_DEV_FOLDER}/people
+    ...    sink_node_indexes=${MULTIPLE_SINK_NODES_INDEXES}
+    ...    iterations=${5}
+    ...    iter_j_offset=${0}
     &{mapping_2} =    BuiltIn.Create_Dictionary
-    Put_Config_And_Verify    ${CARPEOPLE_DEV_FOLDER}/people    sink_node_indexes=${MULTIPLE_SINK_NODES_INDEXES}    iterations=${7}    iter_j_offset=${0}
+    Put_Config_And_Verify
+    ...    ${CARPEOPLE_DEV_FOLDER}/people
+    ...    sink_node_indexes=${MULTIPLE_SINK_NODES_INDEXES}
+    ...    iterations=${7}
+    ...    iter_j_offset=${0}
     &{mapping_2_updated} =    BuiltIn.Create_Dictionary
-    Put_Config_And_Verify    ${CARPEOPLE_DEV_FOLDER}/people    sink_node_indexes=${MULTIPLE_SINK_NODES_INDEXES}    iterations=${8}    iter_j_offset=${2}
+    Put_Config_And_Verify
+    ...    ${CARPEOPLE_DEV_FOLDER}/people
+    ...    sink_node_indexes=${MULTIPLE_SINK_NODES_INDEXES}
+    ...    iterations=${8}
+    ...    iter_j_offset=${2}
     Delete_Config_And_Verify    ${CARPEOPLE_DEV_FOLDER}/people
 
 Sink_Catch_Up_To_Changes_After_Opening_Connection
@@ -65,10 +84,17 @@ Sink_Catch_Up_To_Changes_After_Opening_Connection
     NettyReplication.Open_Source_Connection
     &{mapping} =    BuiltIn.Create_Dictionary
     Put_Config_And_Verify    ${CARPEOPLE_DEV_FOLDER}/people    sink_node_indexes=@{EMPTY}    iterations=${5}
-    ${netty_sink_session_alias} =    Resolve_Http_Session_For_Member    member_index=@{DEFAULT_NETTY_SINK_NODE_INDEXES}[0]
-    Verify_Config_Is_Not_Present    ${CARPEOPLE_DEV_FOLDER}/people    session=${netty_sink_session_alias}    wait_time=5s
+    ${netty_sink_session_alias} =    Resolve_Http_Session_For_Member
+    ...    member_index=@{DEFAULT_NETTY_SINK_NODE_INDEXES}[0]
+    Verify_Config_Is_Not_Present
+    ...    ${CARPEOPLE_DEV_FOLDER}/people
+    ...    session=${netty_sink_session_alias}
+    ...    wait_time=5s
     NettyReplication.Open_Sink_Connection
-    Verify_Config_Is_Present    ${CARPEOPLE_DEV_FOLDER}/people    session=${netty_sink_session_alias}    iterations=${5}
+    Verify_Config_Is_Present
+    ...    ${CARPEOPLE_DEV_FOLDER}/people
+    ...    session=${netty_sink_session_alias}
+    ...    iterations=${5}
 
 Reconnect_After_Lost_Connection
     [Documentation]    Test if sink sucessfuly reconnects after lost connection and if changes made during lost connection are present on reconnected sink's datastore.
@@ -76,10 +102,17 @@ Reconnect_After_Lost_Connection
     ClusterManagement.Isolate_Member_From_List_Or_All    @{DEFAULT_NETTY_SINK_NODE_INDEXES}[0]
     &{mapping} =    BuiltIn.Create_Dictionary
     Put_Config_And_Verify    ${CARPEOPLE_DEV_FOLDER}/people    sink_node_indexes=@{EMPTY}    iterations=${5}
-    ${netty_sink_session_alias} =    Resolve_Http_Session_For_Member    member_index=@{DEFAULT_NETTY_SINK_NODE_INDEXES}[0]
-    Verify_Config_Is_Not_Present    ${CARPEOPLE_DEV_FOLDER}/people    session=${netty_sink_session_alias}    wait_time=5s
+    ${netty_sink_session_alias} =    Resolve_Http_Session_For_Member
+    ...    member_index=@{DEFAULT_NETTY_SINK_NODE_INDEXES}[0]
+    Verify_Config_Is_Not_Present
+    ...    ${CARPEOPLE_DEV_FOLDER}/people
+    ...    session=${netty_sink_session_alias}
+    ...    wait_time=5s
     ClusterManagement.Rejoin_Member_From_List_Or_All    @{DEFAULT_NETTY_SINK_NODE_INDEXES}[0]
-    Verify_Config_Is_Present    ${CARPEOPLE_DEV_FOLDER}/people    session=${netty_sink_session_alias}    iterations=${5}
+    Verify_Config_Is_Present
+    ...    ${CARPEOPLE_DEV_FOLDER}/people
+    ...    session=${netty_sink_session_alias}
+    ...    iterations=${5}
     [Teardown]    Teardown_Isolation_Test
 
 Change_Replication_Source
@@ -89,12 +122,22 @@ Change_Replication_Source
     Put_Config_And_Verify    ${CARPEOPLE_DEV_FOLDER}/people    iterations=${5}
     NettyReplication.Teardown_Netty_Replication
     # switch source node 1 -> 3
-    NettyReplication.Setup_Netty_Replication    source_memeber_index=${ADDITIONAL_SOURCE_NODE_INDEX}    sink_members_indexes=${DEFAULT_NETTY_SINK_NODE_INDEXES}
+    NettyReplication.Setup_Netty_Replication
+    ...    source_memeber_index=${ADDITIONAL_SOURCE_NODE_INDEX}
+    ...    sink_members_indexes=${DEFAULT_NETTY_SINK_NODE_INDEXES}
     &{mapping_newer} =    BuiltIn.Create_Dictionary
-    Put_Config_And_Verify    ${CARPEOPLE_DEV_FOLDER}/cars    source_node_index=${ADDITIONAL_SOURCE_NODE_INDEX}    iterations=${8}
+    Put_Config_And_Verify
+    ...    ${CARPEOPLE_DEV_FOLDER}/cars
+    ...    source_node_index=${ADDITIONAL_SOURCE_NODE_INDEX}
+    ...    iterations=${8}
     # check if data from old source was forgotten (removed)
-    ${netty_sink_session_alias} =    Resolve_Http_Session_For_Member    member_index=@{DEFAULT_NETTY_SINK_NODE_INDEXES}[0]
-    Verify_Config_Is_Not_Present    ${CARPEOPLE_DEV_FOLDER}/people    session=${netty_sink_session_alias}    removal=True
+    ${netty_sink_session_alias} =    Resolve_Http_Session_For_Member
+    ...    member_index=@{DEFAULT_NETTY_SINK_NODE_INDEXES}[0]
+    Verify_Config_Is_Not_Present
+    ...    ${CARPEOPLE_DEV_FOLDER}/people
+    ...    session=${netty_sink_session_alias}
+    ...    removal=True
+
 
 *** Keywords ***
 Setup_suite
@@ -105,8 +148,12 @@ Setup_suite
     FOR    ${cluster_member_index}    IN    @{members_index_list}
         ${member_ip_address} =    ClusterManagement.Resolve_Ip_Address_For_Member    ${cluster_member_index}
         # backup old cluster configuration files
-        Run_Bash_Command_On_Member    command=pushd ${karaf_home} && tar -cvf /tmp/config_backup.tar ./configuration/initial/ && popd    member_index=${cluster_member_index}
-        Run_Bash_Command_On_Member    command=pushd ${karaf_home} && ./bin/configure_cluster.sh 1 ${member_ip_address} && popd    member_index=${cluster_member_index}
+        Run_Bash_Command_On_Member
+        ...    command=pushd ${karaf_home} && tar -cvf /tmp/config_backup.tar ./configuration/initial/ && popd
+        ...    member_index=${cluster_member_index}
+        Run_Bash_Command_On_Member
+        ...    command=pushd ${karaf_home} && ./bin/configure_cluster.sh 1 ${member_ip_address} && popd
+        ...    member_index=${cluster_member_index}
     END
 
 Setup_Test
@@ -136,53 +183,88 @@ Clear_Data_On_All_Nodes_And_Restart
     ClusterManagement.Start_Members_From_List_Or_All
 
 Put_Config_And_Verify
+    [Documentation]    Request put config on netty replicate source and verify changes has been made on both source and sinks.
     [Arguments]    ${template_folder}    ${mapping}={}    ${source_node_index}=${DEFAULT_NETTY_SOURCE_NODE_INDEX}    ${sink_node_indexes}=${DEFAULT_NETTY_SINK_NODE_INDEXES}
     ...    ${iterations}=${1}    ${iter_j_offset}=${0}
-    [Documentation]    Request put config on netty replicate source and verify changes has been made on both source and sinks.
     ${netty_source_session_alias} =    Resolve_Http_Session_For_Member    member_index=${source_node_index}
-    TemplatedRequests.Put_As_Json_Templated    ${template_folder}    session=${netty_source_session_alias}    iterations=${iterations}    iter_j_offset=${iter_j_offset}
-    Verify_Config_Is_Present    template_folder=${template_folder}    mapping=${mapping}    session=${netty_source_session_alias}    iterations=${iterations}    iter_j_offset=${iter_j_offset}
+    TemplatedRequests.Put_As_Json_Templated
+    ...    ${template_folder}
+    ...    session=${netty_source_session_alias}
+    ...    iterations=${iterations}
+    ...    iter_j_offset=${iter_j_offset}
+    Verify_Config_Is_Present
+    ...    template_folder=${template_folder}
+    ...    mapping=${mapping}
+    ...    session=${netty_source_session_alias}
+    ...    iterations=${iterations}
+    ...    iter_j_offset=${iter_j_offset}
     FOR    ${sink_node_index}    IN    @{sink_node_indexes}
         ${netty_sink_session_alias} =    Resolve_Http_Session_For_Member    member_index=${sink_node_index}
-        Verify_Config_Is_Present    template_folder=${template_folder}    mapping=${mapping}    session=${netty_sink_session_alias}    iterations=${iterations}    iter_j_offset=${iter_j_offset}
+        Verify_Config_Is_Present
+        ...    template_folder=${template_folder}
+        ...    mapping=${mapping}
+        ...    session=${netty_sink_session_alias}
+        ...    iterations=${iterations}
+        ...    iter_j_offset=${iter_j_offset}
     END
 
 Verify_Config_Is_Present
-    [Arguments]    ${template_folder}    ${session}    ${mapping}={}    ${iterations}=${1}    ${iter_j_offset}=${0}
     [Documentation]    Verify config is present on target node datastore by using templated request.
+    [Arguments]    ${template_folder}    ${session}    ${mapping}={}    ${iterations}=${1}    ${iter_j_offset}=${0}
     BuiltIn.Should_Not_Be_Empty    ${session}    Could not verify, session to node is not opened
     BuiltIn.Wait_Until_Keyword_Succeeds    10x    3s    TemplatedRequests.Get_As_Json_Templated    ${template_folder}
     ...    verify=True    session=${session}    iterations=${iterations}    iter_j_offset=${iter_j_offset}
 
 Delete_Config_And_Verify
+    [Documentation]    Request delete config on netty replicate source and verify changes has been made on both source and sink.
     [Arguments]    ${template_folder}    ${mapping}={}    ${source_node_index}=${DEFAULT_NETTY_SOURCE_NODE_INDEX}    ${sink_node_indexes}=${DEFAULT_NETTY_SINK_NODE_INDEXES}
     ...    ${iterations}=${1}
-    [Documentation]    Request delete config on netty replicate source and verify changes has been made on both source and sink.
     ${netty_source_session_alias} =    Resolve_Http_Session_For_Member    member_index=${source_node_index}
     TemplatedRequests.Delete_Templated    ${template_folder}    session=${netty_source_session_alias}
-    Verify_Config_Is_Not_Present    template_folder=${template_folder}    mapping=${mapping}    session=${netty_source_session_alias}    removal=True
+    Verify_Config_Is_Not_Present
+    ...    template_folder=${template_folder}
+    ...    mapping=${mapping}
+    ...    session=${netty_source_session_alias}
+    ...    removal=True
     FOR    ${sink_node_index}    IN    @{sink_node_indexes}
         ${netty_sink_session_alias} =    Resolve_Http_Session_For_Member    member_index=${sink_node_index}
-        Verify_Config_Is_Not_Present    template_folder=${template_folder}    mapping=${mapping}    session=${netty_sink_session_alias}    removal=True
+        Verify_Config_Is_Not_Present
+        ...    template_folder=${template_folder}
+        ...    mapping=${mapping}
+        ...    session=${netty_sink_session_alias}
+        ...    removal=True
     END
 
 Verify_Config_Is_Not_Present
-    [Arguments]    ${template_folder}    ${session}    ${mapping}={}    ${removal}=False    ${wait_time}=0s
     [Documentation]    Verify config is not present on the target node datastore by using templated request. Should get return code 404 or 409.
     ...    removal - Retries until config is not present (for cases of cofig deletion when config migh be present at begining, but disapears later)
     ...    wait_time - Repeatedly checks for specific amount of time if config does not appear (for cases of config addition when config is not present, but might appear after some time)
+    [Arguments]    ${template_folder}    ${session}    ${mapping}={}    ${removal}=False    ${wait_time}=0s
     BuiltIn.Should_Not_Be_Empty    ${session}    Could not verify, session to node is not opened
-    ${uri} =    TemplatedRequests.Resolve_Text_From_Template_Folder    folder=${template_folder}    base_name=location    extension=uri    mapping=${mapping}
-    BuiltIn.Run_Keyword_If    ${removal}    Until_Confg_Is_Removed    ${session}    ${uri}
-    ...    ELSE IF    "${wait_time}" != "0s"    Config_Does_Not_Appear_During_Time    ${session}    ${uri}    ${wait_time}
-    ...    ELSE    Utils.No_Content_From_URI    ${session}    ${uri}
+    ${uri} =    TemplatedRequests.Resolve_Text_From_Template_Folder
+    ...    folder=${template_folder}
+    ...    base_name=location
+    ...    extension=uri
+    ...    mapping=${mapping}
+    IF    ${removal}
+        Until_Confg_Is_Removed    ${session}    ${uri}
+    ELSE IF    "${wait_time}" != "0s"
+        Config_Does_Not_Appear_During_Time    ${session}    ${uri}    ${wait_time}
+    ELSE
+        Utils.No_Content_From_URI    ${session}    ${uri}
+    END
 
 Until_Confg_Is_Removed
-    [Arguments]    ${session}    ${uri}
     [Documentation]    Retry until config is not avaibale
+    [Arguments]    ${session}    ${uri}
     BuiltIn.Wait_Until_Keyword_Succeeds    10x    3s    Utils.No_Content_From_URI    ${session}    ${uri}
 
 Config_Does_Not_Appear_During_Time
-    [Arguments]    ${session}    ${uri}    ${wait_time}
     [Documentation]    Repeatedly check if config does not appear during the wait time
-    WaitForFailure.Verify_Keyword_Does_Not_Fail_Within_Timeout    ${wait_time}    1s    Utils.No_Content_From_URI    ${session}    ${uri}
+    [Arguments]    ${session}    ${uri}    ${wait_time}
+    WaitForFailure.Verify_Keyword_Does_Not_Fail_Within_Timeout
+    ...    ${wait_time}
+    ...    1s
+    ...    Utils.No_Content_From_URI
+    ...    ${session}
+    ...    ${uri}
index 3efc1ec6cc9de5012a5a03e41e649cfe2b1b3f81..eccfb67a6cbdef5547ae225c71e6dd0bd5f82617 100644 (file)
@@ -1,63 +1,91 @@
 *** Settings ***
-Documentation     Test suite for nemo engine functionality
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
-Suite Teardown    Delete All Sessions
-Library           RequestsLibrary
-Library           OperatingSystem
-Library           ../../../libraries/Common.py
-Variables         ../../../variables/Variables.py
-Resource          ../../../libraries/Utils.robot
-Resource          ${CURDIR}/../../../libraries/TemplatedRequests.robot
+Documentation       Test suite for nemo engine functionality
+
+Library             RequestsLibrary
+Library             OperatingSystem
+Library             ../../../libraries/Common.py
+Variables           ../../../variables/Variables.py
+Resource            ../../../libraries/Utils.robot
+Resource            ${CURDIR}/../../../libraries/TemplatedRequests.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
+Suite Teardown      Delete All Sessions
+
 
 *** Variables ***
-${REGISTER_TENANT_FILE}    ${CURDIR}/../../../variables/nemo/register-user.json
-${STRUCTURE_HOST_FILE}    ${CURDIR}/../../../variables/nemo/intent-node-host.json
-${STRUCTURE_INTENT_FILE}    ${CURDIR}/../../../variables/nemo/structure-intent.json
-${PREDEFINE_ROLE_FILE}    ${CURDIR}/../../../variables/nemo/predefine/role.json
-${PREDEFINE_NODE_FILE}    ${CURDIR}/../../../variables/nemo/predefine/node.json
+${REGISTER_TENANT_FILE}         ${CURDIR}/../../../variables/nemo/register-user.json
+${STRUCTURE_HOST_FILE}          ${CURDIR}/../../../variables/nemo/intent-node-host.json
+${STRUCTURE_INTENT_FILE}        ${CURDIR}/../../../variables/nemo/structure-intent.json
+${PREDEFINE_ROLE_FILE}          ${CURDIR}/../../../variables/nemo/predefine/role.json
+${PREDEFINE_NODE_FILE}          ${CURDIR}/../../../variables/nemo/predefine/node.json
 ${PREDEFINE_CONNECTION_FILE}    ${CURDIR}/../../../variables/nemo/predefine/connection.json
 
+
 *** Test Cases ***
 Add Pre-define Role
     [Documentation]    Add Pre-define Role
-    [Tags]    Put
+    [Tags]    put
     ${body}    OperatingSystem.Get File    ${PREDEFINE_ROLE_FILE}
-    ${resp}    RequestsLibrary.Put Request    session    ${PREDEFINE_ROLE_URI}    data=${body}    headers=${HEADERS_YANG_JSON}
+    ${resp}    RequestsLibrary.Put Request
+    ...    session
+    ...    ${PREDEFINE_ROLE_URI}
+    ...    data=${body}
+    ...    headers=${HEADERS_YANG_JSON}
     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
 
 Add Pre-define Node
     [Documentation]    Add Pre-define Node
-    [Tags]    Put
+    [Tags]    put
     ${body}    OperatingSystem.Get File    ${PREDEFINE_NODE_FILE}
-    ${resp}    RequestsLibrary.Put Request    session    ${PREDEFINE_NODE_URI}    data=${body}    headers=${HEADERS_YANG_JSON}
+    ${resp}    RequestsLibrary.Put Request
+    ...    session
+    ...    ${PREDEFINE_NODE_URI}
+    ...    data=${body}
+    ...    headers=${HEADERS_YANG_JSON}
     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
 
 Add Pre-define Connection
     [Documentation]    Add Pre-define Connection
-    [Tags]    Put
+    [Tags]    put
     ${body}    OperatingSystem.Get File    ${PREDEFINE_CONNECTION_FILE}
-    ${resp}    RequestsLibrary.Put Request    session    ${PREDEFINE_CONNECTION_URI}    data=${body}    headers=${HEADERS_YANG_JSON}
+    ${resp}    RequestsLibrary.Put Request
+    ...    session
+    ...    ${PREDEFINE_CONNECTION_URI}
+    ...    data=${body}
+    ...    headers=${HEADERS_YANG_JSON}
     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
 
 Register Tenant
     [Documentation]    Register Tenant
-    [Tags]    Post
+    [Tags]    post
     ${body}    OperatingSystem.Get File    ${REGISTER_TENANT_FILE}
-    ${resp}    RequestsLibrary.Post Request    session    ${REGISTER_TENANT_URI}    data=${body}    headers=${HEADERS_YANG_JSON}
+    ${resp}    RequestsLibrary.Post Request
+    ...    session
+    ...    ${REGISTER_TENANT_URI}
+    ...    data=${body}
+    ...    headers=${HEADERS_YANG_JSON}
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
 
 Add Host Intent
     [Documentation]    Add Host Intent
-    [Tags]    Post
+    [Tags]    post
     ${body}    OperatingSystem.Get File    ${STRUCTURE_HOST_FILE}
-    ${resp}    RequestsLibrary.Post Request    session    ${STRUCTURE_INTENT_URI}    data=${body}    headers=${HEADERS_YANG_JSON}
+    ${resp}    RequestsLibrary.Post Request
+    ...    session
+    ...    ${STRUCTURE_INTENT_URI}
+    ...    data=${body}
+    ...    headers=${HEADERS_YANG_JSON}
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
 
 Add Structure Intent
     [Documentation]    Add Structure Intent
-    [Tags]    Post
+    [Tags]    post
     ${body}    OperatingSystem.Get File    ${STRUCTURE_INTENT_FILE}
-    ${resp}    RequestsLibrary.Post Request    session    ${STRUCTURE_INTENT_URI}    data=${body}    headers=${HEADERS_YANG_JSON}
+    ${resp}    RequestsLibrary.Post Request
+    ...    session
+    ...    ${STRUCTURE_INTENT_URI}
+    ...    data=${body}
+    ...    headers=${HEADERS_YANG_JSON}
     Should Be Equal As Strings    ${resp.status_code}    200