Update Robot Framework format - step 12
[integration/test.git] / csit / suites / openflowplugin / Clustered_Reconciliation / 010_Group_Flows.robot
index dd5df5a25a95ea5db8d374b806f366eacc83ffc7..3e6fc6b6c3252c4120218241a2e6cdd36181f5bf 100644 (file)
@@ -1,23 +1,28 @@
 *** Settings ***
-Documentation     Switch connections and cluster are restarted.
-Suite Setup       Initialization Phase
-Suite Teardown    Final Phase
-Test Setup        SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
-Library           RequestsLibrary
-Library           Collections
-Resource          ../../../libraries/SetupUtils.robot
-Resource          ../../../libraries/ClusterManagement.robot
-Resource          ../../../libraries/ClusterOpenFlow.robot
-Resource          ../../../libraries/TemplatedRequests.robot
-Resource          ../../../libraries/MininetKeywords.robot
-Resource          ../../../libraries/Utils.robot
-Resource          ../../../libraries/OvsManager.robot
-Resource          ../../../variables/Variables.robot
+Documentation       Switch connections and cluster are restarted.
+
+Library             RequestsLibrary
+Library             Collections
+Resource            ../../../libraries/SetupUtils.robot
+Resource            ../../../libraries/ClusterManagement.robot
+Resource            ../../../libraries/ClusterOpenFlow.robot
+Resource            ../../../libraries/TemplatedRequests.robot
+Resource            ../../../libraries/MininetKeywords.robot
+Resource            ../../../libraries/Utils.robot
+Resource            ../../../libraries/OvsManager.robot
+Resource            ../../../variables/Variables.robot
+Resource            ../../../variables/openflowplugin/Variables.robot
+
+Suite Setup         Initialization Phase
+Suite Teardown      Final Phase
+Test Setup          SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
+
 
 *** Variables ***
-${SWITCHES}       3
-${ITER}           100
-${VAR_DIR}        ${CURDIR}/../../../variables/openflowplugin
+${SWITCHES}     3
+${ITER}         100
+${VAR_DIR}      ${CURDIR}/../../../variables/openflowplugin
+
 
 *** Test Cases ***
 Add Groups And Flows
@@ -27,10 +32,18 @@ Add Groups And Flows
 Start Mininet Multiple Connections
     [Documentation]    Start mininet linear with connection to all cluster instances.
     ${cluster_index_list}=    ClusterManagement.List All Indices
-    ${mininet_conn_id}=    MininetKeywords.Start Mininet Multiple Controllers    ${TOOLS_SYSTEM_IP}    ${cluster_index_list}    --topo linear,${SWITCHES}
+    ${mininet_conn_id}=    MininetKeywords.Start Mininet Multiple Controllers
+    ...    ${TOOLS_SYSTEM_IP}
+    ...    ${cluster_index_list}
+    ...    --topo linear,${SWITCHES}
     BuiltIn.Set Suite Variable    ${cluster_index_list}
     BuiltIn.Set Suite Variable    ${mininet_conn_id}
-    BuiltIn.Wait Until Keyword Succeeds    10s    1s    OVSDB.Check OVS OpenFlow Connections    ${TOOLS_SYSTEM_IP}    ${SWITCHES*3}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    OVSDB.Check OVS OpenFlow Connections
+    ...    ${TOOLS_SYSTEM_IP}
+    ...    ${SWITCHES*3}
 
 Check Linear Topology
     [Documentation]    Check Linear Topology.
@@ -46,7 +59,11 @@ Check Flows In Operational DS
 
 Check Groups In Operational DS
     [Documentation]    Check Groups in operational DS.
-    BuiltIn.Wait Until Keyword Succeeds    10s    1s    ClusterOpenFlow.Check Number Of Groups On Member    ${all_groups}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    ClusterOpenFlow.Check Number Of Groups On Member
+    ...    ${all_groups}
 
 Check Flows In Switch
     [Documentation]    Check Flows in switch.
@@ -54,20 +71,28 @@ Check Flows In Switch
 
 Check Entity Owner Status And Find Owner and Successor Before Fail
     [Documentation]    Check Entity Owner Status and identify owner and successor for first switch s1.
-    ${original_owner}    ${original_successor_list}    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device    openflow:1    1
+    ${original_owner}    ${original_successor_list}=    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device
+    ...    openflow:1
+    ...    1
     BuiltIn.Set Suite Variable    ${original_owner}
     BuiltIn.Set Suite Variable    ${new_cluster_list}    ${original_successor_list}
 
 Disconnect Mininet From Owner
     [Documentation]    Disconnect mininet from the owner
-    ${original_owner_list}    BuiltIn.Create List    ${original_owner}
+    ${original_owner_list}=    BuiltIn.Create List    ${original_owner}
     MininetKeywords.Disconnect Cluster Mininet    break    ${original_owner_list}
     BuiltIn.Set Suite Variable    ${original_owner_list}
 
 Check Entity Owner Status And Find Owner and Successor After Fail
     [Documentation]    Check Entity Owner Status and identify owner and successor for first switch s1.
-    ${new_owner}    ${new_successor_list}    BuiltIn.Wait Until Keyword Succeeds    10s    1s    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device    openflow:1
-    ...    1    ${new_cluster_list}    after_stop=True
+    ${new_owner}    ${new_successor_list}=    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device
+    ...    openflow:1
+    ...    1
+    ...    ${new_cluster_list}
+    ...    after_stop=True
     ${owner_list}=    BuiltIn.Create List    ${original_owner}    ${new_owner}
     BuiltIn.Set Suite Variable    ${owner_list}
     BuiltIn.Set Suite Variable    ${new_owner}
@@ -76,7 +101,13 @@ Check Entity Owner Status And Find Owner and Successor After Fail
 Check Switch Moves To New Master
     [Documentation]    Check switch s1 is connected to new Master.
     ${new_master}=    BuiltIn.Set Variable    ${ODL_SYSTEM_${new_owner}_IP}
-    BuiltIn.Wait Until Keyword Succeeds    10s    1s    OvsManager.Should Be Master    s1    ${new_master}    update_data=${True}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    OvsManager.Should Be Master
+    ...    s1
+    ...    ${new_master}
+    ...    update_data=${True}
 
 Check Linear Topology After Disconnect
     [Documentation]    Check Linear Topology.
@@ -92,11 +123,19 @@ Remove Flows And Groups After Mininet Is Disconnected
 
 Check Flows In Operational DS After Mininet Is Disconnected
     [Documentation]    Check Flows in Operational DS.
-    BuiltIn.Wait Until Keyword Succeeds    30s    1s    ClusterOpenFlow.Check Number Of Flows On Member    ${less_flows}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    30s
+    ...    1s
+    ...    ClusterOpenFlow.Check Number Of Flows On Member
+    ...    ${less_flows}
 
 Check Groups In Operational DS After Mininet Is Disconnected
     [Documentation]    Check Groups in Operational DS.
-    BuiltIn.Wait Until Keyword Succeeds    10s    1s    ClusterOpenFlow.Check Number Of Groups On Member    ${less_groups}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    ClusterOpenFlow.Check Number Of Groups On Member
+    ...    ${less_groups}
 
 Check Flows In Switch After Mininet Is Disconnected
     [Documentation]    Check Flows in switch.
@@ -108,7 +147,12 @@ Reconnect Mininet To Owner
 
 Check Entity Owner Status And Find Owner and Successor After Reconnect
     [Documentation]    Check Entity Owner Status and identify owner and successor for first switch s1.
-    BuiltIn.Wait Until Keyword Succeeds    10s    1s    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device    openflow:1    1
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device
+    ...    openflow:1
+    ...    1
 
 Add Flows And Groups After Owner Reconnect
     [Documentation]    Add 1 group type 1&2 and 1 flow in every switch.
@@ -124,7 +168,11 @@ Check Flows After Owner Reconnect In Operational DS
 
 Check Groups After Owner Reconnect In Operational DS
     [Documentation]    Check Groups in Operational DS.
-    BuiltIn.Wait Until Keyword Succeeds    10s    1s    ClusterOpenFlow.Check Number Of Groups On Member    ${all_groups}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    ClusterOpenFlow.Check Number Of Groups On Member
+    ...    ${all_groups}
 
 Check Flows After Owner Reconnect In Switch
     [Documentation]    Check Flows in switch.
@@ -134,7 +182,12 @@ Check Switches Generate Slave Connection
     [Documentation]    Check switches are connected to new Slave.
     ${original_master}=    BuiltIn.Set Variable    ${ODL_SYSTEM_${original_owner}_IP}
     FOR    ${switch}    IN RANGE    1    ${switches+1}
-        BuiltIn.Wait Until Keyword Succeeds    50s    1s    OvsManager.Should Be Slave    s${switch}    ${original_master}
+        BuiltIn.Wait Until Keyword Succeeds
+        ...    50s
+        ...    1s
+        ...    OvsManager.Should Be Slave
+        ...    s${switch}
+        ...    ${original_master}
         ...    update_data=${True}
     END
 
@@ -144,8 +197,14 @@ Disconnect Mininet From Successor
 
 Check Entity Owner Status And Find New Owner and Successor After Disconnect
     [Documentation]    Check Entity Owner Status and identify owner and successor for first switch s1.
-    ${current_owner}    ${current_successor_list}    BuiltIn.Wait Until Keyword Succeeds    10s    1s    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device    openflow:1
-    ...    1    ${owner_list}    after_stop=True
+    ${current_owner}    ${current_successor_list}=    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device
+    ...    openflow:1
+    ...    1
+    ...    ${owner_list}
+    ...    after_stop=True
     BuiltIn.Set Suite Variable    ${current_owner}
     BuiltIn.Set Suite Variable    ${current_successor_list}
 
@@ -156,15 +215,27 @@ Disconnect Mininet From Current Owner
 
 Check Entity Owner Status And Find Current Owner and Successor After Disconnect
     [Documentation]    Check Entity Owner Status and identify owner and successor for first switch s1.
-    ${current_new_owner}    ${current_new_successor_list}    BuiltIn.Wait Until Keyword Succeeds    10s    1s    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device    openflow:1
-    ...    1    ${original_owner_list}    after_stop=True
+    ${current_new_owner}    ${current_new_successor_list}=    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device
+    ...    openflow:1
+    ...    1
+    ...    ${original_owner_list}
+    ...    after_stop=True
     BuiltIn.Set Suite Variable    ${current_new_owner}
     BuiltIn.Set Suite Variable    ${current_new_successor_list}
 
 Check Switch Moves To Current Master
     [Documentation]    Check switch s1 is connected to original Master.
     ${current_new_master}=    BuiltIn.Set Variable    ${ODL_SYSTEM_${current_new_owner}_IP}
-    BuiltIn.Wait Until Keyword Succeeds    10s    1s    OvsManager.Should Be Master    s1    ${current_new_master}    update_data=${True}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    OvsManager.Should Be Master
+    ...    s1
+    ...    ${current_new_master}
+    ...    update_data=${True}
     BuiltIn.Should Be Equal    ${current_new_owner}    ${original_owner}
 
 Check Linear Topology After Owner Disconnect
@@ -181,11 +252,19 @@ Remove Flows And Groups After Owner Disconnected
 
 Check Flows In Operational DS After Owner Disconnected
     [Documentation]    Check Flows in Operational DS.
-    BuiltIn.Wait Until Keyword Succeeds    30s    1s    ClusterOpenFlow.Check Number Of Flows On Member    ${less_flows}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    30s
+    ...    1s
+    ...    ClusterOpenFlow.Check Number Of Flows On Member
+    ...    ${less_flows}
 
 Check Groups In Operational DS After Owner Disconnected
     [Documentation]    Check Groups in Operational DS.
-    BuiltIn.Wait Until Keyword Succeeds    10s    1s    ClusterOpenFlow.Check Number Of Groups On Member    ${less_groups}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    ClusterOpenFlow.Check Number Of Groups On Member
+    ...    ${less_groups}
 
 Check Flows In Switch After Owner Disconnected
     [Documentation]    Check Flows in switch.
@@ -202,7 +281,12 @@ Check No Switches After Disconnect
 Check Switch Is Not Connected
     [Documentation]    Check switch s1 is not connected to any controller.
     FOR    ${index}    IN    @{cluster_index_list}
-        BuiltIn.Wait Until Keyword Succeeds    10s    1s    OvsManager.Should Be Disconnected    s1    ${ODL_SYSTEM_${index}_IP}
+        BuiltIn.Wait Until Keyword Succeeds
+        ...    10s
+        ...    1s
+        ...    OvsManager.Should Be Disconnected
+        ...    s1
+        ...    ${ODL_SYSTEM_${index}_IP}
         ...    update_data=${True}
     END
 
@@ -224,7 +308,11 @@ Check Flows In Operational DS After Mininet Reconnects
 
 Check Groups In Operational DS After Mininet Reconnects
     [Documentation]    Check Groups in Operational DS.
-    BuiltIn.Wait Until Keyword Succeeds    10s    1s    ClusterOpenFlow.Check Number Of Groups On Member    ${all_groups}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    ClusterOpenFlow.Check Number Of Groups On Member
+    ...    ${all_groups}
 
 Check Flows In Switch After Mininet Reconnects
     [Documentation]    Check Flows in switch.
@@ -232,7 +320,9 @@ Check Flows In Switch After Mininet Reconnects
 
 Check Entity Owner Status And Find Owner and Successor Before Owner Stop
     [Documentation]    Check Entity Owner Status and identify owner and successor for first switch s1.
-    ${original_owner}    ${original_successor_list}    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device    openflow:1    1
+    ${original_owner}    ${original_successor_list}=    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device
+    ...    openflow:1
+    ...    1
     ${original_successor}=    Collections.Get From List    ${original_successor_list}    0
     BuiltIn.Set Suite Variable    ${original_owner}
     BuiltIn.Set Suite Variable    ${original_successor_list}
@@ -241,7 +331,13 @@ Check Entity Owner Status And Find Owner and Successor Before Owner Stop
 Check Switch Generates Slave Connection Before Owner Stop
     [Documentation]    Check switch s1 is connected to Slave.
     ${original_slave}=    BuiltIn.Set Variable    ${ODL_SYSTEM_${original_successor}_IP}
-    BuiltIn.Wait Until Keyword Succeeds    50s    1s    OvsManager.Should Be Slave    s1    ${original_slave}    update_data=${True}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    50s
+    ...    1s
+    ...    OvsManager.Should Be Slave
+    ...    s1
+    ...    ${original_slave}
+    ...    update_data=${True}
 
 Check Shards Status Before Owner Stop
     [Documentation]    Check Status for all shards in OpenFlow application.
@@ -258,7 +354,11 @@ Check Shards Status After Stop
 
 Check Entity Owner Status And Find Owner and Successor After Stop
     [Documentation]    Check Entity Owner Status and identify owner and successor.
-    ${new_owner}    ${new_successor_list}    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device    openflow:1    ${original_successor}    ${new_cluster_list}    after_stop=True
+    ${new_owner}    ${new_successor_list}=    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device
+    ...    openflow:1
+    ...    ${original_successor}
+    ...    ${new_cluster_list}
+    ...    after_stop=True
     BuiltIn.Set Suite Variable    ${new_owner}
 
 Check Stats Are Not Frozen After Owner Stop
@@ -271,11 +371,21 @@ Remove Configuration In Owner and Verify After Owner Stop
 
 Check Flows After Owner Stop In Operational DS
     [Documentation]    Check Flows in Operational DS in new owner.
-    BuiltIn.Wait Until Keyword Succeeds    30s    1s    ClusterOpenFlow.Check Number Of Flows On Member    ${less_flows}    ${new_owner}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    30s
+    ...    1s
+    ...    ClusterOpenFlow.Check Number Of Flows On Member
+    ...    ${less_flows}
+    ...    ${new_owner}
 
 Check Groups After Owner Stop In Operational DS
     [Documentation]    Check Groups in Operational DS in new owner.
-    BuiltIn.Wait Until Keyword Succeeds    10s    1s    ClusterOpenFlow.Check Number Of Groups On Member    ${less_groups}    ${new_owner}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    ClusterOpenFlow.Check Number Of Groups On Member
+    ...    ${less_groups}
+    ...    ${new_owner}
 
 Check Flows In Switch After Owner Stop
     [Documentation]    Check Flows in switch.
@@ -287,7 +397,11 @@ Start Old Owner Instance
 
 Check Entity Owner Status And Find Owner and Successor After Start Owner
     [Documentation]    Check Entity Owner Status and identify owner and successor for first switch s1.
-    ${owner}    ${successor_list}    BuiltIn.Wait Until Keyword Succeeds    10s    1s    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device    openflow:1
+    ${owner}    ${successor_list}=    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    ClusterOpenFlow.Get OpenFlow Entity Owner Status For One Device
+    ...    openflow:1
     ...    1
 
 Check Linear Topology After Owner Restart
@@ -309,7 +423,11 @@ Check Flows In Operational DS After Owner Restart
 
 Check Groups In Operational DS After Owner Restart
     [Documentation]    Check Groups in Operational DS.
-    BuiltIn.Wait Until Keyword Succeeds    10s    1s    ClusterOpenFlow.Check Number Of Groups On Member    ${all_groups}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    ClusterOpenFlow.Check Number Of Groups On Member
+    ...    ${all_groups}
 
 Check Flows In Switch After Owner Restart
     [Documentation]    Check Flows in switch.
@@ -319,7 +437,9 @@ Restart Cluster
     [Documentation]    Stop and Start cluster.
     # Try to stop contoller, if stop does not work or takes too long, kill controller.
     ${status}    ${result}=    BuiltIn.Run Keyword And Ignore Error    ClusterManagement.Stop_Members_From_List_Or_All
-    BuiltIn.Run Keyword If    '${status}' != 'PASS'    ClusterManagement.Kill_Members_From_List_Or_All
+    IF    '${status}' != 'PASS'
+        ClusterManagement.Kill_Members_From_List_Or_All
+    END
     ClusterManagement.Start_Members_From_List_Or_All    wait_for_sync=False
 
 Check Linear Topology After Controller Restarts
@@ -336,7 +456,11 @@ Check Flows In Operational DS After Controller Restarts
 
 Check Groups In Operational DS After Controller Restarts
     [Documentation]    Check Groups in Operational DS.
-    BuiltIn.Wait Until Keyword Succeeds    10s    1s    ClusterOpenFlow.Check Number Of Groups On Member    ${all_groups}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    ClusterOpenFlow.Check Number Of Groups On Member
+    ...    ${all_groups}
 
 Check Flows In Switch After Controller Restarts
     [Documentation]    Check Flows in switch.
@@ -350,13 +474,14 @@ Check No Switches
     [Documentation]    Check no switches in topology.
     BuiltIn.Wait Until Keyword Succeeds    5s    1s    ClusterOpenFlow.Check No Switches On Member    ${SWITCHES}
 
+
 *** Keywords ***
 Initialization Phase
     [Documentation]    Create controller session and set variables.
     SetupUtils.Setup_Utils_For_Setup_And_Teardown
     RequestsLibrary.Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}
-    ${switches}    Convert To Integer    ${SWITCHES}
-    ${iter}    Convert To Integer    ${ITER}
+    ${switches}=    Convert To Integer    ${SWITCHES}
+    ${iter}=    Convert To Integer    ${ITER}
     ${all_groups}=    BuiltIn.Evaluate    ${switches} * ${iter} * 2
     ${less_groups}=    BuiltIn.Evaluate    ${all_groups} - ${switches} * 2
     # Stale flows/groups feature enabled in Boron onwards.
@@ -373,54 +498,78 @@ Initialization Phase
 
 Final Phase
     [Documentation]    Delete all sessions.
-    ${command} =    BuiltIn.Set Variable    sudo iptables -v -F
+    ${command}=    BuiltIn.Set Variable    sudo iptables -v -F
     BuiltIn.Run Keyword And Ignore Error    ClusterManagement.Run_Bash_Command_On_List_Or_All    ${command}
-    BuiltIn.Run Keyword And Ignore Error    RequestsLibrary.Delete Request    session    ${CONFIG_NODES_API}
+    BuiltIn.Run Keyword And Ignore Error    RequestsLibrary.Delete Request    session    ${RFC8040_NODES_API}
     RequestsLibrary.Delete All Sessions
 
 Add Groups And Flows On Member
-    [Arguments]    ${iter}=1    ${member_index}=1
     [Documentation]    Add ${ITER} groups type 1 & 2 and flows in every switch.
-    ${session} =    Resolve_Http_Session_For_Member    member_index=${member_index}
+    [Arguments]    ${iter}=1    ${member_index}=1
+    ${session}=    Resolve_Http_Session_For_Member    member_index=${member_index}
     FOR    ${switch}    IN RANGE    1    ${switches+1}
-        TemplatedRequests.Post As Json Templated    folder=${VAR_DIR}/add-group-1    mapping={"SWITCH":"${switch}"}    session=${session}    iterations=${iter}
-        TemplatedRequests.Post As Json Templated    folder=${VAR_DIR}/add-group-2    mapping={"SWITCH":"${switch}"}    session=${session}    iterations=${iter}
-        TemplatedRequests.Post As Json Templated    folder=${VAR_DIR}/add-flow    mapping={"SWITCH":"${switch}"}    session=${session}    iterations=${iter}
+        &{mapping}=    BuiltIn.Create_Dictionary    NODE=openflow:${switch}
+        TemplatedRequests.Post As Json Templated
+        ...    folder=${VAR_DIR}/add-group-1
+        ...    mapping=${mapping}
+        ...    session=${session}
+        ...    iterations=${iter}
+        TemplatedRequests.Post As Json Templated
+        ...    folder=${VAR_DIR}/add-group-2
+        ...    mapping=${mapping}
+        ...    session=${session}
+        ...    iterations=${iter}
+        TemplatedRequests.Post As Json Templated
+        ...    folder=${VAR_DIR}/add-flow
+        ...    mapping=${mapping}
+        ...    session=${session}
+        ...    iterations=${iter}
     END
 
 Add Single Group And Flow On Member
-    [Arguments]    ${member_index}=1
     [Documentation]    Add 1 group 1&2 and 1 flow in every switch.
+    [Arguments]    ${member_index}=1
     Add Groups And Flows On Member    1    ${member_index}
 
 Remove Single Group And Flow On Member
-    [Arguments]    ${member_index}=1
     [Documentation]    Remove 1 group 1&2 and 1 flow in every switch.
-    ${session} =    Resolve_Http_Session_For_Member    member_index=${member_index}
+    [Arguments]    ${member_index}=1
+    ${session}=    Resolve_Http_Session_For_Member    member_index=${member_index}
     FOR    ${switch}    IN RANGE    1    ${switches+1}
-        RequestsLibrary.Delete Request    ${session}    ${CONFIG_NODES_API}/node/openflow:${switch}/table/0/flow/1
-        RequestsLibrary.Delete Request    ${session}    ${CONFIG_NODES_API}/node/openflow:${switch}/group/1
-        RequestsLibrary.Delete Request    ${session}    ${CONFIG_NODES_API}/node/openflow:${switch}/group/1000
+        RequestsLibrary.Delete Request
+        ...    ${session}
+        ...    ${RFC8040_NODES_API}/node=openflow%3A${switch}/flow-node-inventory:table=0/flow=1
+        RequestsLibrary.Delete Request
+        ...    ${session}
+        ...    ${RFC8040_NODES_API}/node=openflow%3A${switch}/flow-node-inventory:group=1
+        RequestsLibrary.Delete Request
+        ...    ${session}
+        ...    ${RFC8040_NODES_API}/node=openflow%3A${switch}/flow-node-inventory:group=1000
     END
 
 Check Flow Stats Are Not Frozen
-    [Arguments]    ${member_index}=1    ${period_in_seconds}=5
     [Documentation]    Verify flow stats are not frozen for flow 1 and switch 1.
-    ${duration_1} =    Extract Flow Duration    ${member_index}
-    ${duration_1}    Builtin.Convert To Integer    ${duration_1}
+    [Arguments]    ${member_index}=1    ${period_in_seconds}=5
+    ${duration_1}=    Extract Flow Duration    ${member_index}
+    ${duration_1}=    Builtin.Convert To Integer    ${duration_1}
     BuiltIn.Sleep    ${period_in_seconds}
-    ${duration_2} =    Extract Flow Duration    ${member_index}
-    ${duration_2}    Builtin.Convert To Integer    ${duration_2}
+    ${duration_2}=    Extract Flow Duration    ${member_index}
+    ${duration_2}=    Builtin.Convert To Integer    ${duration_2}
     Should Not Be Equal As Integers    ${duration_1}    ${duration_2}
 
 Extract Flow Duration
-    [Arguments]    ${member_index}
     [Documentation]    Extract duration for flow 1 in switch 1.
-    ${session} =    Resolve_Http_Session_For_Member    member_index=${member_index}
-    ${resp}    RequestsLibrary.Get Request    ${session}    ${OPERATIONAL_NODES_API}/node/openflow:1/table/0/flow/1    headers=${headers}
+    [Arguments]    ${member_index}
+    ${session}=    Resolve_Http_Session_For_Member    member_index=${member_index}
+    ${resp}=    RequestsLibrary.Get Request
+    ...    ${session}
+    ...    ${RFC8040_NODES_API}/node=openflow%3A1/flow-node-inventory:table=0/flow=1?content=nonconfig
+    ...    headers=${headers}
     Log    ${resp.content}
-    ${json_resp} =    RequestsLibrary.To_Json    ${resp.content}
-    ${flow_list} =    Collections.Get_From_Dictionary    ${json_resp}    flow-node-inventory:flow
-    ${flow_stats} =    Collections.Get_From_Dictionary    @{flow_list}[0]    opendaylight-flow-statistics:flow-statistics
-    ${duration} =    Collections.Get_From_Dictionary    &{flow_stats}[duration]    second
-    Return From Keyword    ${duration}
+    ${json_resp}=    RequestsLibrary.To_Json    ${resp.content}
+    ${flow_list}=    Collections.Get_From_Dictionary    ${json_resp}    flow-node-inventory:flow
+    ${flow_stats}=    Collections.Get_From_Dictionary
+    ...    ${flow_list}[0]
+    ...    opendaylight-flow-statistics:flow-statistics
+    ${duration}=    Collections.Get_From_Dictionary    ${flow_stats}[duration]    second
+    RETURN    ${duration}