Replace 'Run Keyword Unless'
[integration/test.git] / csit / libraries / Genius.robot
index bbabd7af655036b6c30805a2921209feffb43f53..7e499e6c33673a58cce1b948d3b7cb135a219db8 100644 (file)
@@ -30,6 +30,7 @@ ${NO_VLAN}        0
 ${DEFAULT_TRANSPORT_ZONE}    default-transport-zone
 ${SET_LOCAL_IP}    sudo ovs-vsctl set O . other_config:local_ip=
 ${REMOVE_LOCAL_IP}    sudo ovs-vsctl remove O . other_config local_ip
+${odl_stream_check }    ${Stream_dict}[${ODL_STREAM}] <= ${Stream_dict}[neon]
 
 *** Keywords ***
 Genius Suite Setup
@@ -61,25 +62,26 @@ Start Suite
 
 Stop Suite
     [Documentation]    stops all connections and deletes all the bridges available on OVS
-    : FOR    ${tool_system_index}    IN RANGE    ${NUM_TOOLS_SYSTEM}
-    \    SSHLibrary.Switch Connection    @{TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}]
-    \    SSHLibrary.Execute Command    sudo ovs-vsctl del-br ${Bridge}
-    \    SSHLibrary.Execute Command    sudo ovs-vsctl del-manager
-    \    SSHLibrary.Write    exit
-    \    SSHLibrary.Close Connection
+    FOR    ${tool_system_index}    IN RANGE    ${NUM_TOOLS_SYSTEM}
+        SSHLibrary.Switch Connection    ${TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}]
+        SSHLibrary.Execute Command    sudo ovs-vsctl del-br ${Bridge}
+        SSHLibrary.Execute Command    sudo ovs-vsctl del-manager
+        SSHLibrary.Write    exit
+        SSHLibrary.Close Connection
+    END
 
 Check Port Status Is ESTABLISHED
     [Arguments]    ${port}    @{tools_ips}
     [Documentation]    This keyword will check whether ports are established or not on OVS
-    : FOR    ${tools_ip}    IN    @{tools_ips}
-    \    ${check_establishment} =    Utils.Run Command On Remote System And Log    ${tools_ip}    netstat -anp | grep ${port}
-    \    BuiltIn.Should Contain    ${check_establishment}    ESTABLISHED
+    FOR    ${tools_ip}    IN    @{tools_ips}
+        ${check_establishment} =    Utils.Run Command On Remote System And Log    ${tools_ip}    netstat -anp | grep ${port}
+        BuiltIn.Should Contain    ${check_establishment}    ESTABLISHED
+    END
     [Return]    ${check_establishment}
 
 Create Vteps
     [Arguments]    ${vlan_id}    ${gateway_ip}
     [Documentation]    This keyword creates VTEPs between OVS
-    ${body} =    OperatingSystem.Get File    ${genius_config_dir}/Itm_creation_no_vlan.json
     ${body} =    Genius.Set Json    ${vlan_id}    ${gateway_ip}    ${SUBNET}    @{TOOLS_SYSTEM_ALL_IPS}
     ${resp} =    RequestsLibrary.Put Request    session    ${CONFIG_API}/itm:transport-zones/transport-zone/TZA    data=${body}
     BuiltIn.Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
@@ -87,23 +89,29 @@ Create Vteps
 Set Json
     [Arguments]    ${vlan}    ${gateway_ip}    ${subnet}    @{tools_ips}
     [Documentation]    Sets Json with the values passed for it.
-    ${body} =    OperatingSystem.Get File    ${genius_config_dir}/Itm_creation_no_vlan.json
-    ${body} =    String.Replace String    ${body}    1.1.1.1    ${subnet}
-    : FOR    ${tool_system_index}    IN RANGE    ${NUM_TOOLS_SYSTEM}
-    \    ${body}    String.Replace String    ${body}    "dpn-id": 10${tool_system_index}    "dpn-id": ${DPN_ID_LIST[${tool_system_index}]}
-    \    ${body}    String.Replace String    ${body}    "ip-address": "${tool_system_index+2}.${tool_system_index+2}.${tool_system_index+2}.${tool_system_index+2}"    "ip-address": "@{tools_ips}[${tool_system_index}]"
-    ${body} =    String.Replace String    ${body}    "vlan-id": 0    "vlan-id": ${vlan}
-    ${body} =    String.Replace String    ${body}    "gateway-ip": "0.0.0.0"    "gateway-ip": "${gateway_ip}"
+    ${body} =    BuiltIn.Run Keyword If    ${odl_stream_check }    OperatingSystem.Get File    ${genius_config_dir}/Itm_creation_no_vlan_below_sodium.json
+    ...    ELSE    OperatingSystem.Get File    ${genius_config_dir}/Itm_creation_no_vlan_sodium_and_above.json
+    ${body} =    BuiltIn.Run Keyword If    ${odl_stream_check }    String.Replace String    ${body}    1.1.1.1    ${subnet}
+    ...    ELSE    BuiltIn.Set Variable    ${body}
+    ${body} =    BuiltIn.Run Keyword If    ${odl_stream_check }    String.Replace String    ${body}    "vlan-id": 0    "vlan-id": ${vlan}
+    ...    ELSE    BuiltIn.Set Variable    ${body}
+    ${body} =    BuiltIn.Run Keyword If    ${odl_stream_check }    String.Replace String    ${body}    "gateway-ip": "0.0.0.0"    "gateway-ip": "${gateway_ip}"
+    ...    ELSE    BuiltIn.Set Variable    ${body}
+    FOR    ${tool_system_index}    IN RANGE    ${NUM_TOOLS_SYSTEM}
+        ${body}    String.Replace String    ${body}    "dpn-id": 10${tool_system_index}    "dpn-id": ${DPN_ID_LIST[${tool_system_index}]}
+        ${body}    String.Replace String    ${body}    "ip-address": "${tool_system_index+2}.${tool_system_index+2}.${tool_system_index+2}.${tool_system_index+2}"    "ip-address": "${tools_ips}[${tool_system_index}]"
+    END
     BuiltIn.Log    ${body}
     [Return]    ${body}    # returns complete json that has been updated
 
 Build Dpn List
     [Documentation]    This keyword builds the list of DPN ids after configuring OVS bridges on each of the TOOLS_SYSTEM_IPs.
     @{DPN_ID_LIST} =    BuiltIn.Create List
-    : FOR    ${tools_ip}    IN    @{TOOLS_SYSTEM_ALL_IPS}
-    \    ${output}    Utils.Run Command On Remote System And Log    ${tools_ip}    sudo ovs-ofctl show -O Openflow13 ${Bridge} | head -1 | awk -F "dpid:" '{ print $2 }'
-    \    ${dpn_id}    Utils.Run Command On Remote System And Log    ${tools_ip}    echo \$\(\(16\#${output}\)\)
-    \    Collections.Append To List    ${DPN_ID_LIST}    ${dpn_id}
+    FOR    ${tools_ip}    IN    @{TOOLS_SYSTEM_ALL_IPS}
+        ${output}    Utils.Run Command On Remote System And Log    ${tools_ip}    sudo ovs-ofctl show -O Openflow13 ${Bridge} | head -1 | awk -F "dpid:" '{ print $2 }'
+        ${dpn_id}    Utils.Run Command On Remote System And Log    ${tools_ip}    echo \$\(\(16\#${output}\)\)
+        Collections.Append To List    ${DPN_ID_LIST}    ${dpn_id}
+    END
     BuiltIn.Set Suite Variable    @{DPN_ID_LIST}
 
 BFD Suite Teardown
@@ -123,8 +131,9 @@ Genius Test Setup
 
 Genius Test Teardown
     [Arguments]    ${data_models}    ${test_name}=${SUITE_NAME}.${TEST_NAME}    ${fail}=${FAIL_ON_EXCEPTIONS}
-    : FOR    ${tool_system_index}    IN RANGE    ${NUM_TOOLS_SYSTEM}
-    \    OVSDB.Get DumpFlows And Ovsconfig    @{TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}]    ${Bridge}
+    FOR    ${tool_system_index}    IN RANGE    ${NUM_TOOLS_SYSTEM}
+        OVSDB.Get DumpFlows And Ovsconfig    ${TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}]    ${Bridge}
+    END
     BuiltIn.Run Keyword And Ignore Error    DataModels.Get Model Dump    ${ODL_SYSTEM_IP}    ${data_models}
     KarafKeywords.Fail If Exceptions Found During Test    ${test_name}    fail=${fail}
     ODLTools.Get All    test_name=${test_name}
@@ -137,43 +146,47 @@ ITM Direct Tunnels Start Suite
     [Documentation]    start suite for itm scalability
     ClusterManagement.ClusterManagement_Setup
     ClusterManagement.Stop_Members_From_List_Or_All
-    : FOR    ${controller_index}    IN RANGE    ${NUM_ODL_SYSTEM}
-    \    Utils.Run Command On Remote System And Log    ${ODL_SYSTEM_${controller_index+1}_IP}    sed -i -- 's/<itm-direct-tunnels>false/<itm-direct-tunnels>true/g' ${GENIUS_IFM_CONFIG_FLAG}
+    FOR    ${controller_index}    IN RANGE    ${NUM_ODL_SYSTEM}
+        Utils.Run Command On Remote System And Log    ${ODL_SYSTEM_${controller_index+1}_IP}    sed -i -- 's/<itm-direct-tunnels>false/<itm-direct-tunnels>true/g' ${GENIUS_IFM_CONFIG_FLAG}
+    END
     ClusterManagement.Start_Members_From_List_Or_All
     Genius.Genius Suite Setup
 
 ITM Direct Tunnels Stop Suite
     [Documentation]    Stop suite for ITM Direct Tunnels.
-    : FOR    ${controller_index}    IN RANGE    ${NUM_ODL_SYSTEM}
-    \    Utils.Run Command On Remote System And Log    ${ODL_SYSTEM_${controller_index+1}_IP}    sed -i -- 's/<itm-direct-tunnels>true/<itm-direct-tunnels>false/g' ${GENIUS_IFM_CONFIG_FLAG}
+    FOR    ${controller_index}    IN RANGE    ${NUM_ODL_SYSTEM}
+        Utils.Run Command On Remote System And Log    ${ODL_SYSTEM_${controller_index+1}_IP}    sed -i -- 's/<itm-direct-tunnels>true/<itm-direct-tunnels>false/g' ${GENIUS_IFM_CONFIG_FLAG}
+    END
     Genius.Genius Suite Teardown
 
 Ovs Interface Verification
     [Documentation]    Checks whether the created Interface is seen on OVS or not.
-    : FOR    ${tools_ip}    IN    @{TOOLS_SYSTEM_ALL_IPS}
-    \    Genius.Ovs Verification For Each Dpn    ${tools_ip}    ${TOOLS_SYSTEM_ALL_IPS}
+    FOR    ${tools_ip}    IN    @{TOOLS_SYSTEM_ALL_IPS}
+        Genius.Ovs Verification For Each Dpn    ${tools_ip}    ${TOOLS_SYSTEM_ALL_IPS}
+    END
 
 Get ITM
-    [Arguments]    ${itm_created[0]}    ${subnet}    ${vlan}    ${switch_data}=${SWITCH_DATA}
+    [Arguments]    ${itm_created[0]}    ${switch_data}=${SWITCH_DATA}
     [Documentation]    It returns the created ITM Transport zone with the passed values during the creation is done.
-    @{Itm-no-vlan} =    BuiltIn.Create List    ${itm_created[0]}    ${subnet}    ${vlan}
-    @{Itm-no-vlan} =    Collections.Combine Lists    ${Itm-no-vlan}    ${switch_data}
-    Utils.Check For Elements At URI    ${TUNNEL_TRANSPORTZONE}/transport-zone/${itm_created[0]}    ${Itm-no-vlan}
+    Collections.Append To List    ${switch_data}    ${itm_created[0]}
+    Utils.Check For Elements At URI    ${TUNNEL_TRANSPORTZONE}/transport-zone/${itm_created[0]}    ${switch_data}
 
 Check Tunnel Delete On OVS
     [Arguments]    ${tunnel_list}
     [Documentation]    Verifies the Tunnel is deleted from OVS.
-    : FOR    ${tools_ip}    IN    @{TOOLS_SYSTEM_ALL_IPS}
-    \    ${output} =    Utils.Run Command On Remote System    ${tools_ip}    sudo ovs-vsctl show
-    \    Genius.Verify Deleted Tunnels on OVS    ${tunnel_list}    ${output}
+    FOR    ${tools_ip}    IN    @{TOOLS_SYSTEM_ALL_IPS}
+        ${output} =    Utils.Run Command On Remote System    ${tools_ip}    sudo ovs-vsctl show
+        Genius.Verify Deleted Tunnels on OVS    ${tunnel_list}    ${output}
+    END
 
 Check Table0 Entry In a Dpn
     [Arguments]    ${tools_ip}    ${bridgename}    ${port_numbers}
     [Documentation]    Checks the Table 0 entry in the OVS when flows are dumped.
     ${check} =    Utils.Run Command On Remote System And Log    ${tools_ip}    sudo ovs-ofctl -OOpenFlow13 dump-flows ${bridgename}
     ${num_ports} =    BuiltIn.Get Length    ${port_numbers}
-    : FOR    ${port_index}    IN RANGE    ${num_ports}
-    \    BuiltIn.Should Contain    ${check}    in_port=@{port_numbers}[${port_index}]
+    FOR    ${port_index}    IN RANGE    ${num_ports}
+        BuiltIn.Should Contain    ${check}    in_port=${port_numbers}[${port_index}]
+    END
 
 Verify Tunnel Status As Up
     [Arguments]    ${no_of_switches}=${NUM_TOOLS_SYSTEM}
@@ -189,10 +202,11 @@ Verify Tunnel Status
     [Documentation]    Verifies if all tunnels in the input, has the expected status(UP/DOWN/UNKNOWN)
     ${tep_result} =    KarafKeywords.Issue Command On Karaf Console    ${TEP_SHOW_STATE}
     ${number_of_tunnels} =    BuiltIn.Get Length    ${tunnel_names}
-    : FOR    ${each_tunnel}    IN RANGE    ${number_of_tunnels}
-    \    ${tunnel} =    Collections.Get From List    ${tunnel_names}    ${each_tunnel}
-    \    ${tep_output} =    String.Get Lines Containing String    ${tep_result}    ${tunnel}
-    \    BuiltIn.Should Contain    ${tep_output}    ${tunnel_status}
+    FOR    ${each_tunnel}    IN RANGE    ${number_of_tunnels}
+        ${tunnel} =    Collections.Get From List    ${tunnel_names}    ${each_tunnel}
+        ${tep_output} =    String.Get Lines Containing String    ${tep_result}    ${tunnel}
+        BuiltIn.Should Contain    ${tep_output}    ${tunnel_status}
+    END
 
 Get Tunnels On OVS
     [Arguments]    ${connection_id}
@@ -202,9 +216,10 @@ Get Tunnels On OVS
     @{tunnel_names} =    BuiltIn.Create List
     ${tunnels} =    String.Get Lines Matching Regexp    ${ovs_result}    Interface "tun.*"    True
     @{tunnels_list} =    String.Split To Lines    ${tunnels}
-    : FOR    ${tun}    IN    @{tunnels_list}
-    \    ${tun_list}    Get Regexp Matches    ${tun}    tun.*\\w
-    \    Collections.Append To List    ${tunnel_names}    @{tun_list}
+    FOR    ${tun}    IN    @{tunnels_list}
+        ${tun_list}    Get Regexp Matches    ${tun}    tun.*\\w
+        Collections.Append To List    ${tunnel_names}    @{tun_list}
+    END
     ${items_in_list} =    BuiltIn.Get Length    ${tunnel_names}
     [Return]    @{tunnel_names}
 
@@ -215,13 +230,13 @@ Get Tunnel
     ${resp} =    BuiltIn.Run Keyword If    '${config_api_type}' == '${EMPTY}'    RequestsLibrary.Get Request    session    ${CONFIG_API}/itm-state:tunnel-list/internal-tunnel/${src}/${dst}/${type}/
     ...    ELSE    RequestsLibrary.Get Request    session    ${CONFIG_API}/itm-state:dpn-teps-state/dpns-teps/${src}/remote-dpns/${dst}/
     BuiltIn.Should Be Equal As Strings    ${resp.status_code}    ${RESP_CODE}
-    BuiltIn.Log    ${resp.content}
-    ${respjson} =    RequestsLibrary.To Json    ${resp.content}    pretty_print=True
-    ${json} =    Utils.Json Parse From String    ${resp.content}
-    BuiltIn.Should Contain    ${resp.content}    ${dst}
-    BuiltIn.Run Keyword If    '${config_api_type}' == '${EMPTY}'    BuiltIn.Should Contain    ${resp.content}    ${src}
+    BuiltIn.Log    ${resp.text}
+    ${respjson} =    RequestsLibrary.To Json    ${resp.text}    pretty_print=True
+    ${json} =    Utils.Json Parse From String    ${resp.text}
+    BuiltIn.Should Contain    ${resp.text}    ${dst}
+    BuiltIn.Run Keyword If    '${config_api_type}' == '${EMPTY}'    BuiltIn.Should Contain    ${resp.text}    ${src}
     ${tunnel_interface_name} =    BuiltIn.Run Keyword If    "tunnel-interface-names" in "${json}"    Genius.Get Tunnel Interface Name    ${json["internal-tunnel"][0]}    tunnel-interface-names
-    ${tunnel_name_output}    ${tunnel_name} =    BuiltIn.Run Keyword Unless    '${config_api_type}' == '${EMPTY}'    BuiltIn.Should Match Regexp    ${resp.content}    "tunnel-name":"(tun[\\w\\d]+)"
+    ${tunnel_name_output}    ${tunnel_name} =    BuiltIn.Run Keyword If    '${config_api_type}' != '${EMPTY}'    BuiltIn.Should Match Regexp    ${resp.text}    "tunnel-name":"(tun[\\w\\d]+)"
     ${tunnel} =    BuiltIn.Set Variable If    '${config_api_type}' == '${EMPTY}'    ${tunnel_interface_name}    ${tunnel_name}
     [Return]    ${tunnel}
 
@@ -257,16 +272,17 @@ Verify Tunnel Monitoring Status
 
 Set Switch Configuration
     [Documentation]    This keyword will set manager,controller,tap port,bridge on each OVS
-    : FOR    ${tool_system_index}    IN RANGE    ${NUM_TOOLS_SYSTEM}
-    \    SSHLibrary.Switch Connection    @{TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}]
-    \    SSHLibrary.Login With Public Key    ${TOOLS_SYSTEM_USER}    ${USER_HOME}/.ssh/${SSH_KEY}    any
-    \    SSHLibrary.Execute Command    sudo ovs-vsctl add-br ${Bridge}
-    \    SSHLibrary.Execute Command    sudo ovs-vsctl set bridge ${Bridge} protocols=OpenFlow13
-    \    SSHLibrary.Execute Command    sudo ovs-vsctl set-controller ${Bridge} tcp:${ODL_SYSTEM_IP}:${ODL_OF_PORT_6653}
-    \    SSHLibrary.Execute Command    sudo ifconfig ${Bridge} up
-    \    SSHLibrary.Execute Command    sudo ovs-vsctl add-port ${Bridge} tap${tool_system_index}ed70586-6c -- set Interface tap${tool_system_index}ed70586-6c type=tap
-    \    SSHLibrary.Execute Command    sudo ovs-vsctl set-manager tcp:${ODL_SYSTEM_IP}:${OVSDBPORT}
-    \    SSHLibrary.Execute Command    sudo ovs-vsctl show
+    FOR    ${tool_system_index}    IN RANGE    ${NUM_TOOLS_SYSTEM}
+        SSHLibrary.Switch Connection    ${TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}]
+        SSHLibrary.Login With Public Key    ${TOOLS_SYSTEM_USER}    ${USER_HOME}/.ssh/${SSH_KEY}    any
+        SSHLibrary.Execute Command    sudo ovs-vsctl add-br ${Bridge}
+        SSHLibrary.Execute Command    sudo ovs-vsctl set bridge ${Bridge} protocols=OpenFlow13
+        SSHLibrary.Execute Command    sudo ovs-vsctl set-controller ${Bridge} tcp:${ODL_SYSTEM_IP}:${ODL_OF_PORT_6653}
+        SSHLibrary.Execute Command    sudo ifconfig ${Bridge} up
+        SSHLibrary.Execute Command    sudo ovs-vsctl add-port ${Bridge} tap${tool_system_index}ed70586-6c -- set Interface tap${tool_system_index}ed70586-6c type=tap
+        SSHLibrary.Execute Command    sudo ovs-vsctl set-manager tcp:${ODL_SYSTEM_IP}:${OVSDBPORT}
+        SSHLibrary.Execute Command    sudo ovs-vsctl show
+    END
 
 Ovs Verification For Each Dpn
     [Arguments]    ${tools_system_ip}    ${tools_ips}
@@ -276,9 +292,10 @@ Ovs Verification For Each Dpn
     Collections.Remove Values From List    ${updated_tools_ip_list}    ${tools_system_ip}
     BuiltIn.Log Many    @{updated_tools_ip_list}
     ${num_tool_ips}    BuiltIn.Get Length    ${updated_tools_ip_list}
-    : FOR    ${num}    IN RANGE    ${num_tool_ips}
-    \    ${tools_ip} =    Collections.Get From List    ${updated_tools_ip_list}    ${num}
-    \    BuiltIn.Should Contain    ${ovs_output}    ${tools_ip}
+    FOR    ${num}    IN RANGE    ${num_tool_ips}
+        ${tools_ip} =    Collections.Get From List    ${updated_tools_ip_list}    ${num}
+        BuiltIn.Should Contain    ${ovs_output}    ${tools_ip}
+    END
 
 Get Tunnels List
     [Documentation]    The keyword fetches the list of operational tunnels from ODL
@@ -289,36 +306,41 @@ Get Tunnels List
 
 Verify Table0 Entry After fetching Port Number
     [Documentation]    This keyword will get the port number and checks the table0 entry for each dpn
-    : FOR    ${tools_ip}    IN    @{TOOLS_SYSTEM_ALL_IPS}
-    \    ${check} =    Utils.Run Command On Remote System And Log    ${tools_ip}    sudo ovs-ofctl -O OpenFlow13 show ${Bridge}
-    \    ${port_numbers} =    String.Get Regexp Matches    ${check}    (\\d+).tun.*    1
-    \    Genius.Check Table0 Entry In a Dpn    ${tools_ip}    ${Bridge}    ${port_numbers}
+    FOR    ${tools_ip}    IN    @{TOOLS_SYSTEM_ALL_IPS}
+        ${check} =    Utils.Run Command On Remote System And Log    ${tools_ip}    sudo ovs-ofctl -O OpenFlow13 show ${Bridge}
+        ${port_numbers} =    String.Get Regexp Matches    ${check}    (\\d+).tun.*    1
+        Genius.Check Table0 Entry In a Dpn    ${tools_ip}    ${Bridge}    ${port_numbers}
+    END
 
 Verify Deleted Tunnels On OVS
     [Arguments]    ${tunnel_list}    ${resp_data}
     [Documentation]    This will verify whether tunnel is deleted.
     BuiltIn.Log    ${resp_data}
-    : FOR    ${tunnel}    IN    @{tunnel_list}
-    \    BuiltIn.Should Not Contain    ${resp_data}    ${tunnel}
+    FOR    ${tunnel}    IN    @{tunnel_list}
+        BuiltIn.Should Not Contain    ${resp_data}    ${tunnel}
+    END
 
 Verify Response Code Of Dpn End Point Config API
     [Arguments]    ${dpn_list}=${DPN_ID_LIST}
     [Documentation]    This keyword will verify response code from itm-state: dpn endpoints config api for each dpn
-    : FOR    ${dpn}    IN    @{dpn_list}
-    \    BuiltIn.Wait Until Keyword Succeeds    40    5    Utils.Get Data From URI    session    ${CONFIG_API}/itm-state:dpn-endpoints/DPN-TEPs-info/${dpn}/
+    FOR    ${dpn}    IN    @{dpn_list}
+        BuiltIn.Wait Until Keyword Succeeds    40    5    Utils.Get Data From URI    session    ${CONFIG_API}/itm-state:dpn-endpoints/DPN-TEPs-info/${dpn}/
+    END
 
 Get Tunnel Between DPNs
     [Arguments]    ${tunnel_type}    ${config_api_type}    ${src_dpn_id}    @{dst_dpn_ids}
     [Documentation]    This keyword will Get All the Tunnels available on DPN's
-    : FOR    ${dst_dpn_id}    IN    @{dst_dpn_ids}
-    \    ${tunnel} =    BuiltIn.Wait Until Keyword Succeeds    30    10    Genius.Get Tunnel    ${src_dpn_id}
-    \    ...    ${dst_dpn_id}    ${tunnel_type}    ${config_api_type}
+    FOR    ${dst_dpn_id}    IN    @{dst_dpn_ids}
+        ${tunnel} =    BuiltIn.Wait Until Keyword Succeeds    30    10    Genius.Get Tunnel    ${src_dpn_id}
+        ...    ${dst_dpn_id}    ${tunnel_type}    ${config_api_type}
+    END
 
 Update Dpn id List And Get Tunnels
     [Arguments]    ${tunnel_type}    ${config_api_type}=${EMPTY}    ${dpn_ids}=${DPN_ID_LIST}
     [Documentation]    Update the exisisting dpn id list to form different combination of dpn ids such that tunnel formation between all dpns is verified.
-    : FOR    ${dpn_id}    IN    @{dpn_ids}
-    \    @{dpn_ids_updated} =    BuiltIn.Create List    @{dpn_ids}
-    \    Collections.Remove Values From List    ${dpn_ids_updated}    ${dpn_id}
-    \    BuiltIn.Log Many    ${dpn_ids_updated}
-    \    Genius.Get Tunnel Between DPNs    ${tunnel_type}    ${config_api_type}    ${dpn_id}    @{dpn_ids_updated}
+    FOR    ${dpn_id}    IN    @{dpn_ids}
+        @{dpn_ids_updated} =    BuiltIn.Create List    @{dpn_ids}
+        Collections.Remove Values From List    ${dpn_ids_updated}    ${dpn_id}
+        BuiltIn.Log Many    ${dpn_ids_updated}
+        Genius.Get Tunnel Between DPNs    ${tunnel_type}    ${config_api_type}    ${dpn_id}    @{dpn_ids_updated}
+    END