Update Robot Framework format - step 7 37/102337/8
authorSangwook Ha <sangwook.ha@verizon.com>
Sat, 10 Sep 2022 02:18:43 +0000 (19:18 -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/groupbasedpolicy

JIRA: INTTEST-132
Change-Id: I3d2e96af277966bad31af48fb15ea591c84251ff
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
60 files changed:
csit/suites/groupbasedpolicy/Clustering_Datastore/020_simple_clustering.robot
csit/suites/groupbasedpolicy/GBP/3-node/Connections.robot
csit/suites/groupbasedpolicy/GBP/3-node/GBP_3node.robot
csit/suites/groupbasedpolicy/GBP/3-node/Variables.robot
csit/suites/groupbasedpolicy/GBP/3-node/__init__.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp1/000_setup.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp1/001_set_odl.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp1/002_wait_flows.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp1/010_icmp.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp1/020_http.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp1/040_show_data.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp1/998_clean_odl.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp1/999_teardown.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/000_setup.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/001_set_odl.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/002_wait_flows.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/010_icmp.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/020_http.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/040_show_data.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/998_clean_odl.robot
csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/999_teardown.robot
csit/suites/groupbasedpolicy/GBP/Devstack/01__wait_for_odl.robot
csit/suites/groupbasedpolicy/GBP/Devstack/02__neutron-mapper_test.robot
csit/suites/groupbasedpolicy/GBP/Devstack/Variables.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/Connections.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/GBPSFC_6node.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/Variables.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/__init__.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/000_setup.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/005_wait_for_connections.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/010_set_odl.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/015_wait_for_flows.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/031_track_icmp_h35_2_h36_2.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/032_track_icmp_h35_2_h35_3.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/033_track_icmp_h35_4_h36_4.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/034_track_icmp_h36_5_h35_2.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/035_track_curl_h35_2_h36_2.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/036_track_curl_h35_3_h36_4.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/040_show_data.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/998_clean_odl.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/999_teardown.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/000_setup.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/005_wait_for_connections.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/010_set_odl.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/015_wait_for_flows.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/031_track_icmp_h35_2_h36_2.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/032_track_icmp_h35_2_h35_3.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/033_track_icmp_h35_4_h36_4.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/034_track_icmp_h36_5_h35_2.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/035_track_curl_h35_2_h36_2.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/036_track_curl_h35_3_h36_4.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/040_show_data.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/998_clean_odl.robot
csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/999_teardown.robot
csit/suites/groupbasedpolicy/GBPSXP/ep_provider_register_part.robot
csit/suites/groupbasedpolicy/GBPSXP/ep_provider_renderer_part.robot
csit/suites/groupbasedpolicy/GBPSXP/ise-adapter.robot
csit/suites/groupbasedpolicy/GBP_Basic/010_gbp_endpoint.robot
csit/suites/groupbasedpolicy/GBP_Basic/020_gbp_tenant.robot
csit/suites/groupbasedpolicy/GBP_Basic/030_gbp_tunnel.robot

index d2e5cdf0eb0c96dba61d5026f1bcfe2b39b8fe44..00180529f5966fff59a7c551d6493f52d9ea4a8c 100644 (file)
@@ -1,13 +1,16 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for GBP Tenants, Operates functions from Restconf APIs.
-Suite Teardown    Delete All Sessions
-Library           RequestsLibrary
-Library           SSHLibrary
-Library           Collections
-Library           OperatingSystem
-Variables         ../../../variables/Variables.py
-Resource          ../../../libraries/CompareStream.robot
-Resource          ../../../libraries/Utils.robot
+Documentation       Test suite for GBP Tenants, Operates functions from Restconf APIs.
+
+Library             RequestsLibrary
+Library             SSHLibrary
+Library             Collections
+Library             OperatingSystem
+Variables           ../../../variables/Variables.py
+Resource            ../../../libraries/CompareStream.robot
+Resource            ../../../libraries/Utils.robot
+
+Suite Teardown      Delete All Sessions
+
 
 *** Test Cases ***
 Init Variables
 
 *** Test Cases ***
 Init Variables
@@ -32,12 +35,13 @@ Read Tenant from other node
     ${result}    To JSON    ${resp.content}
     Lists Should be Equal    ${result}    ${jsonbody}
 
     ${result}    To JSON    ${resp.content}
     Lists Should be Equal    ${result}    ${jsonbody}
 
+
 *** Keywords ***
 Read JSON From File
     [Arguments]    ${filepath}
     ${body}    OperatingSystem.Get File    ${filepath}
     ${jsonbody}    To Json    ${body}
 *** Keywords ***
 Read JSON From File
     [Arguments]    ${filepath}
     ${body}    OperatingSystem.Get File    ${filepath}
     ${jsonbody}    To Json    ${body}
-    [Return]    ${jsonbody}
+    RETURN    ${jsonbody}
 
 Init Variables Master
     [Documentation]    Sets variables specific to latest(master) version
 
 Init Variables Master
     [Documentation]    Sets variables specific to latest(master) version
index 13ff8a6ad218c08eec2522129639dbc05af6a7f2..08ae7c24eab77b1b05dc852ba400e736fe074cc8 100644 (file)
@@ -1,9 +1,11 @@
 *** Settings ***
 *** Settings ***
-Documentation     Creates/closes SSH connections to all GBP nodes. Existing connections
-...               can be identified by aliases.
-Library           SSHLibrary
-Resource          ../../../../libraries/SSHKeywords.robot
-Resource          Variables.robot
+Documentation       Creates/closes SSH connections to all GBP nodes. Existing connections
+...                 can be identified by aliases.
+
+Library             SSHLibrary
+Resource            ../../../../libraries/SSHKeywords.robot
+Resource            Variables.robot
+
 
 *** Keywords ***
 Start Connections
 
 *** Keywords ***
 Start Connections
index 92f5d19836183a006da7c907f2769d4f61aeb64c..bfa18e392d8439a1d8bb65b0d7f86e2dbe83dce1 100644 (file)
@@ -1,24 +1,33 @@
 *** Settings ***
 *** Settings ***
-Library           SSHLibrary
-Resource          Variables.robot
-Resource          ../../../../libraries/Utils.robot
-Resource          ../../../../libraries/GBP/ConnUtils.robot
-Variables         ../../../../variables/Variables.py
+Library         SSHLibrary
+Resource        Variables.robot
+Resource        ../../../../libraries/Utils.robot
+Resource        ../../../../libraries/GBP/ConnUtils.robot
+Variables       ../../../../variables/Variables.py
+
 
 *** Keywords ***
 Setup Node
     [Arguments]    ${GBP}    ${suite_dir}    ${sw_index}    ${timeout}=10s
     ConnUtils.Connect and Login    ${GBP}    timeout=${timeout}
     SSHLibrary.Put File    ${suite_dir}/init_scripts/*    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/    mode=0755
 
 *** Keywords ***
 Setup Node
     [Arguments]    ${GBP}    ${suite_dir}    ${sw_index}    ${timeout}=10s
     ConnUtils.Connect and Login    ${GBP}    timeout=${timeout}
     SSHLibrary.Put File    ${suite_dir}/init_scripts/*    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/    mode=0755
-    ${stdout}    ${stderr}    ${rc}    Execute in VE    python ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/infrastructure_launch.py ${ODL_SYSTEM_IP} ${sw_index}    timeout=${timeout}
+    ${stdout}    ${stderr}    ${rc}    Execute in VE
+    ...    python ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/infrastructure_launch.py ${ODL_SYSTEM_IP} ${sw_index}
+    ...    timeout=${timeout}
     Should Be Equal As Numbers    ${rc}    0
     SSHLibrary.Close Connection
 
 Teardown Node
     [Arguments]    ${GBP}    ${suite_dir}    ${timeout}=3s
     ConnUtils.Connect and Login    ${GBP}    timeout=${timeout}
     Should Be Equal As Numbers    ${rc}    0
     SSHLibrary.Close Connection
 
 Teardown Node
     [Arguments]    ${GBP}    ${suite_dir}    ${timeout}=3s
     ConnUtils.Connect and Login    ${GBP}    timeout=${timeout}
-    ${stderr}    SSHLibrary.Execute Command    rm ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/infrastructure_config.py    return_stderr=True    return_stdout=False
+    ${stderr}    SSHLibrary.Execute Command
+    ...    rm ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/infrastructure_config.py
+    ...    return_stderr=True
+    ...    return_stdout=False
     Should Be Empty    ${stderr}
     Should Be Empty    ${stderr}
-    ${stderr}    SSHLibrary.Execute Command    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/clean-demo.sh    return_stderr=True    return_stdout=False
+    ${stderr}    SSHLibrary.Execute Command
+    ...    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/clean-demo.sh
+    ...    return_stderr=True
+    ...    return_stdout=False
     Should Be Empty    ${stderr}
     SSHLibrary.Close Connection
     Should Be Empty    ${stderr}
     SSHLibrary.Close Connection
index ea93ea5a4a341d53ef7500ea337dff2cf56923d8..1c1107463eb53bf97907bc339b2aaa6422476aa7 100644 (file)
@@ -1,28 +1,31 @@
 *** Settings ***
 *** Settings ***
-Documentation     Global variables for GBPSFC 3-node topology
-Variables         ../../../../variables/Variables.py
-Resource          ../../../../libraries/CompareStream.robot
+Documentation       Global variables for GBPSFC 3-node topology
+
+Variables           ../../../../variables/Variables.py
+Resource            ../../../../libraries/CompareStream.robot
+
 
 *** Variables ***
 
 *** Variables ***
-${VM_HOME_FOLDER}    ${WORKSPACE}
-${VM_SCRIPTS_FOLDER}    scripts
-${ODL}            ${ODL_SYSTEM_IP}
-${GBP1}           ${TOOLS_SYSTEM_IP}
-${GBP2}           ${TOOLS_SYSTEM_2_IP}
-${GBP3}           ${TOOLS_SYSTEM_3_IP}
-@{GBPs}           ${GBP1}    ${GBP2}    ${GBP3}
-${TUNNELS_PATH}    ${CONFIG_NODES_API}
-${ENDPOINT_REG_PATH}    ${GBP_REGEP_API}
-${ENDPOINT_UNREG_PATH}    ${GBP_UNREGEP_API}
-${ENDPOINTS_OPER_PATH}    /restconf/operational/endpoint:endpoints
-${OF_OVERLAY_CONFIG_PATH}    /restconf/config/ofoverlay:of-overlay-config
-${TUNNELS_FILE}    ${CURDIR}/../../../../variables/gbp/3node/tunnels.json
+${VM_HOME_FOLDER}               ${WORKSPACE}
+${VM_SCRIPTS_FOLDER}            scripts
+${ODL}                          ${ODL_SYSTEM_IP}
+${GBP1}                         ${TOOLS_SYSTEM_IP}
+${GBP2}                         ${TOOLS_SYSTEM_2_IP}
+${GBP3}                         ${TOOLS_SYSTEM_3_IP}
+@{GBPs}                         ${GBP1}    ${GBP2}    ${GBP3}
+${TUNNELS_PATH}                 ${CONFIG_NODES_API}
+${ENDPOINT_REG_PATH}            ${GBP_REGEP_API}
+${ENDPOINT_UNREG_PATH}          ${GBP_UNREGEP_API}
+${ENDPOINTS_OPER_PATH}          /restconf/operational/endpoint:endpoints
+${OF_OVERLAY_CONFIG_PATH}       /restconf/config/ofoverlay:of-overlay-config
+${TUNNELS_FILE}                 ${CURDIR}/../../../../variables/gbp/3node/tunnels.json
+
 
 *** Keywords ***
 Set Test Variables
 
 *** Keywords ***
 Set Test Variables
+    [Documentation]    Sets variables used in 3node test cases.
     [Arguments]    ${client_switch_ip}    ${client_docker}    ${client_ip}    ${client_mac}    ${same_webserver_docker}    ${same_webserver_ip}
     ...    ${same_webserver_mac}    ${diff_webserver_switch_ip}    ${diff_webserver_docker}    ${diff_webserver_ip}    ${diff_webserver_mac}
     [Arguments]    ${client_switch_ip}    ${client_docker}    ${client_ip}    ${client_mac}    ${same_webserver_docker}    ${same_webserver_ip}
     ...    ${same_webserver_mac}    ${diff_webserver_switch_ip}    ${diff_webserver_docker}    ${diff_webserver_ip}    ${diff_webserver_mac}
-    [Documentation]    Sets variables used in 3node test cases.
     Set Global Variable    ${CLIENT_SWITCH_IP}    ${client_switch_ip}
     Set Global Variable    ${CLIENT_DOCKER}    ${client_docker}
     Set Global Variable    ${CLIENT_IP}    ${client_ip}
     Set Global Variable    ${CLIENT_SWITCH_IP}    ${client_switch_ip}
     Set Global Variable    ${CLIENT_DOCKER}    ${client_docker}
     Set Global Variable    ${CLIENT_IP}    ${client_ip}
index a131607b13ac4c6ebb75d23c8d373e23ab1ce0d3..0c9f5cbbd908a39aff91d27d46b346c8164f201b 100644 (file)
@@ -1,29 +1,48 @@
 *** Settings ***
 *** Settings ***
-Documentation     Setup/teardown for GBP 3-node topology
-Suite Setup       Setup Everything
-Suite Teardown    Teardown Everything
-Library           SSHLibrary
-Library           RequestsLibrary
-Resource          ../../../../libraries/Utils.robot
-Resource          ../../../../libraries/GBP/ConnUtils.robot
-Variables         ../../../../variables/Variables.py
-Resource          Variables.robot
+Documentation       Setup/teardown for GBP 3-node topology
+
+Library             SSHLibrary
+Library             RequestsLibrary
+Resource            ../../../../libraries/Utils.robot
+Resource            ../../../../libraries/GBP/ConnUtils.robot
+Variables           ../../../../variables/Variables.py
+Resource            Variables.robot
+
+Suite Setup         Setup Everything
+Suite Teardown      Teardown Everything
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Keywords ***
 Setup Everything
     Log    start_suite_in_3_node
     Create Session    session    http://${ODL}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
 
 *** Keywords ***
 Setup Everything
     Log    start_suite_in_3_node
     Create Session    session    http://${ODL}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-    Wait Until Keyword Succeeds    10x    30 s    Get Data From URI    session    ${OF_OVERLAY_CONFIG_PATH}    headers=${headers}
+    Wait Until Keyword Succeeds
+    ...    10x
+    ...    30 s
+    ...    Get Data From URI
+    ...    session
+    ...    ${OF_OVERLAY_CONFIG_PATH}
+    ...    headers=${headers}
     Delete All Sessions
     FOR    ${GBP}    IN    @{GBPs}
         ConnUtils.Connect and Login    ${GBP}    timeout=${timeout}
     Delete All Sessions
     FOR    ${GBP}    IN    @{GBPs}
         ConnUtils.Connect and Login    ${GBP}    timeout=${timeout}
-        ${stderr}    SSHLibrary.Execute Command    virtualenv --system-site-packages ${VE_DIR}    return_stdout=False    return_stderr=True    return_rc=False
+        ${stderr}    SSHLibrary.Execute Command
+        ...    virtualenv --system-site-packages ${VE_DIR}
+        ...    return_stdout=False
+        ...    return_stderr=True
+        ...    return_rc=False
         Should Be Empty    ${stderr}
         Should Be Empty    ${stderr}
-        SSHLibrary.Put File    ${CURDIR}/../../common_scripts/*    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/    mode=0755
-        ${stdout}    ${stderr}    ${rc}    ConnUtils.Execute in VE    pip freeze | grep ipaddr -q || pip install ipaddr    timeout=${timeout}
+        SSHLibrary.Put File
+        ...    ${CURDIR}/../../common_scripts/*
+        ...    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/
+        ...    mode=0755
+        ${stdout}    ${stderr}    ${rc}    ConnUtils.Execute in VE
+        ...    pip freeze | grep ipaddr -q || pip install ipaddr
+        ...    timeout=${timeout}
         Should Be Equal As Numbers    ${rc}    0
         SSHLibrary.Close Connection
     END
         Should Be Equal As Numbers    ${rc}    0
         SSHLibrary.Close Connection
     END
index 8d3c392cf9011dbb9c171fa89b7b93bfd25d088d..f885effbc900505d05b0d23cf2072565fa9733d8 100644 (file)
@@ -1,14 +1,17 @@
 *** Settings ***
 *** Settings ***
-Default Tags      single-tenant    setup    single-tenant-setup
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
-Resource          ../GBP_3node.robot
+Library         SSHLibrary
+Resource        ../../../../../libraries/Utils.robot
+Resource        ../../../../../libraries/GBP/ConnUtils.robot
+Variables       ../../../../../variables/Variables.py
+Resource        ../Variables.robot
+Resource        ../GBP_3node.robot
+
+Default Tags    single-tenant    setup    single-tenant-setup
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Test Cases ***
 Setup Suite
 
 *** Test Cases ***
 Setup Suite
index a7609a2c0045dd667865b2435f046b0b66b21535..93510a8de4dc16498d0541417963a3d31b3861c2 100644 (file)
@@ -1,15 +1,17 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for GBP Tenants, Operates functions from Restconf APIs.
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Default Tags      single-tenant    setup    single-tenant-setup
-Library           RequestsLibrary
-Library           OperatingSystem
-Variables         ../../../../../variables/Variables.py
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../Variables.robot
+Documentation       Test suite for GBP Tenants, Operates functions from Restconf APIs.
+
+Library             RequestsLibrary
+Library             OperatingSystem
+Variables           ../../../../../variables/Variables.py
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../Variables.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown      Delete All Sessions
+
+Default Tags        single-tenant    setup    single-tenant-setup
 
 
-*** Variables ***
 
 *** Test Cases ***
 Put Tunnels
 
 *** Test Cases ***
 Put Tunnels
@@ -22,7 +24,7 @@ Put Tunnels
 
 Register Endpoints
     [Documentation]    Endpoints registration
 
 Register Endpoints
     [Documentation]    Endpoints registration
-    @{endpoint_files}    OperatingSystem.List Files In Directory    ${ENDPOINTS_GBP1_DIR}    vethl*.*json    absolute
+    @{endpoint_files}    OperatingSystem.List Files In Directory    ${ENDPOINTS_GBP1_DIR}    vethl*.*json    absolute
     FOR    ${endpoint_file}    IN    @{endpoint_files}
         Post Elements To URI From File    ${ENDPOINT_REG_PATH}    ${endpoint_file}    ${HEADERS_YANG_JSON}
     END
     FOR    ${endpoint_file}    IN    @{endpoint_files}
         Post Elements To URI From File    ${ENDPOINT_REG_PATH}    ${endpoint_file}    ${HEADERS_YANG_JSON}
     END
index 5a0d48a3aa9da22df2a35e76eabb51ec4f7d1383..b6420ea529f26cbcaca7ef3e502b35319b651622 100644 (file)
@@ -1,21 +1,25 @@
 *** Settings ***
 *** Settings ***
-Documentation     Waiting until flows are created
-Default Tags      single-tenant    setup    single-tenant-setup
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
+Documentation       Waiting until flows are created
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Variables           ../../../../../variables/Variables.py
+Resource            ../Variables.robot
+
+Default Tags        single-tenant    setup    single-tenant-setup
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Test Cases ***
 Wait For Flows
     Sleep    30s
     ${passed} =    Run Keyword And Return Status    OpenFlowUtils.Wait For Flows On Switch    ${GBP1}    sw1
 
 *** Test Cases ***
 Wait For Flows
     Sleep    30s
     ${passed} =    Run Keyword And Return Status    OpenFlowUtils.Wait For Flows On Switch    ${GBP1}    sw1
-    Run Keyword If    not ${passed}    Fatal Error    Flows not created on sw1!
+    IF    not ${passed}    Fatal Error    Flows not created on sw1!
     ${passed} =    Run Keyword And Return Status    OpenFlowUtils.Wait For Flows On Switch    ${GBP2}    sw2
     ${passed} =    Run Keyword And Return Status    OpenFlowUtils.Wait For Flows On Switch    ${GBP2}    sw2
-    Run Keyword If    not ${passed}    Fatal Error    Flows not created on sw2!
+    IF    not ${passed}    Fatal Error    Flows not created on sw2!
     ${passed} =    Run Keyword And Return Status    OpenFlowUtils.Wait For Flows On Switch    ${GBP3}    sw3
     ${passed} =    Run Keyword And Return Status    OpenFlowUtils.Wait For Flows On Switch    ${GBP3}    sw3
-    Run Keyword If    not ${passed}    Fatal Error    Flows not created on sw3!
+    IF    not ${passed}    Fatal Error    Flows not created on sw3!
index ea4ed4740198294ede1e86af87f2f83904da1bc7..0cf1492b4efea1abd9d313feb694edbc69f6e663 100644 (file)
@@ -1,18 +1,23 @@
 *** Settings ***
 *** Settings ***
-Documentation     Tests for ICMP flow
-Suite Setup       Set Test Variables    client_switch_ip=${GBP1}    client_docker=h35_2    client_ip=10.0.35.2    client_mac=00:00:00:00:35:02    same_webserver_docker=h36_4    same_webserver_ip=10.0.36.4
-...               same_webserver_mac=00:00:00:00:36:04    diff_webserver_switch_ip=${GBP3}    diff_webserver_docker=h36_3    diff_webserver_ip=10.0.36.3    diff_webserver_mac=00:00:00:00:36:03
-Default Tags      single-tenant    icmp    single-tenant-main
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../../../../../libraries/GBP/DockerUtils.robot
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
+Documentation       Tests for ICMP flow
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../../../../../libraries/GBP/DockerUtils.robot
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Variables           ../../../../../variables/Variables.py
+Resource            ../Variables.robot
+
+Suite Setup         Set Test Variables    client_switch_ip=${GBP1}    client_docker=h35_2    client_ip=10.0.35.2    client_mac=00:00:00:00:35:02    same_webserver_docker=h36_4    same_webserver_ip=10.0.36.4
+...                     same_webserver_mac=00:00:00:00:36:04    diff_webserver_switch_ip=${GBP3}    diff_webserver_docker=h36_3    diff_webserver_ip=10.0.36.3    diff_webserver_mac=00:00:00:00:36:03
+
+Default Tags        single-tenant    icmp    single-tenant-main
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Test Cases ***
 Same switch, ping once from h35_2 to h36_4
 
 *** Test Cases ***
 Same switch, ping once from h35_2 to h36_4
index 2841c054394d0e429b326f22c839ce9b7104453f..e925ccb13331caa3bb4eff9780c1f0e7c0aeff90 100644 (file)
@@ -1,18 +1,23 @@
 *** Settings ***
 *** Settings ***
-Documentation     Tests for HTTP flow
-Suite Setup       Set Test Variables    client_switch_ip=${GBP1}    client_docker=h35_2    client_ip=10.0.35.2    client_mac=00:00:00:00:35:02    same_webserver_docker=h36_4    same_webserver_ip=10.0.36.4
-...               same_webserver_mac=00:00:00:00:36:04    diff_webserver_switch_ip=${GBP3}    diff_webserver_docker=h36_3    diff_webserver_ip=10.0.36.3    diff_webserver_mac=00:00:00:00:36:03
-Default Tags      single-tenant    http    single-tenant-main
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../../../../../libraries/GBP/DockerUtils.robot
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
+Documentation       Tests for HTTP flow
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../../../../../libraries/GBP/DockerUtils.robot
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Variables           ../../../../../variables/Variables.py
+Resource            ../Variables.robot
+
+Suite Setup         Set Test Variables    client_switch_ip=${GBP1}    client_docker=h35_2    client_ip=10.0.35.2    client_mac=00:00:00:00:35:02    same_webserver_docker=h36_4    same_webserver_ip=10.0.36.4
+...                     same_webserver_mac=00:00:00:00:36:04    diff_webserver_switch_ip=${GBP3}    diff_webserver_docker=h36_3    diff_webserver_ip=10.0.36.3    diff_webserver_mac=00:00:00:00:36:03
+
+Default Tags        single-tenant    http    single-tenant-main
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Test Cases ***
 Same switch, start SimpleHttpServer on h36_4
 
 *** Test Cases ***
 Same switch, start SimpleHttpServer on h36_4
index 5107e43aca3f0bf48c3accd198037cdfd058c8df..b17460fccbd02ade8d098ebe6576d425234ad3ea 100644 (file)
@@ -1,13 +1,13 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep inspection of HTTP traffic on asymmetric chain.
-...               Nodes are located on different VMs.
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep inspection of HTTP traffic on asymmetric chain.
+...                 Nodes are located on different VMs.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
 
 
-*** Variables ***
 
 *** Test Cases ***
 Show GBPSFC1 Status
 
 *** Test Cases ***
 Show GBPSFC1 Status
@@ -29,7 +29,11 @@ Show GBPSFC3 Status
 
 Read Tenants Confing From ODL
     [Documentation]    Logs ODL data store.
 
 Read Tenants Confing From ODL
     [Documentation]    Logs ODL data store.
-    Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_YANG_JSON}
+    Create Session
+    ...    session
+    ...    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}
+    ...    auth=${AUTH}
+    ...    headers=${HEADERS_YANG_JSON}
     ${resp}    RequestsLibrary.Get Request    session    ${GBP_TENANTS_API}
     Log    ${resp.content}
 
     ${resp}    RequestsLibrary.Get Request    session    ${GBP_TENANTS_API}
     Log    ${resp.content}
 
index 9ae6682b5422a3e23ee2a521e49dcb864f335aec..d79664b01e06110730bfa3d674eb904a119b2832 100644 (file)
@@ -1,17 +1,19 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for cleaning up / unregister infrastructure constructs like endpoints for demo-asymmetric-chain
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Default Tags      single-tenant    teardown    single-tenant-teardown
-Library           RequestsLibrary
-Library           OperatingSystem
-Library           json
-Variables         ../../../../../variables/Variables.py
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/RestconfUtils.robot
-Resource          ../Variables.robot
+Documentation       Test suite for cleaning up / unregister infrastructure constructs like endpoints for demo-asymmetric-chain
+
+Library             RequestsLibrary
+Library             OperatingSystem
+Library             json
+Variables           ../../../../../variables/Variables.py
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../../../../../libraries/GBP/RestconfUtils.robot
+Resource            ../Variables.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown      Delete All Sessions
+
+Default Tags        single-tenant    teardown    single-tenant-teardown
 
 
-*** Variables ***
 
 *** Test Cases ***
 Delete Tenant
 
 *** Test Cases ***
 Delete Tenant
index fb0b4677b8d9a3b42457a8e32e94eea564b73c36..480e59451e97210465b5bcd0c2130a907dc2509e 100644 (file)
@@ -1,14 +1,17 @@
 *** Settings ***
 *** Settings ***
-Default Tags      single-tenant    teardown    single-tenant-teardown
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
-Resource          ../GBP_3node.robot
+Library         SSHLibrary
+Resource        ../../../../../libraries/Utils.robot
+Resource        ../../../../../libraries/GBP/ConnUtils.robot
+Variables       ../../../../../variables/Variables.py
+Resource        ../Variables.robot
+Resource        ../GBP_3node.robot
+
+Default Tags    single-tenant    teardown    single-tenant-teardown
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Test Cases ***
 Teardown Suite
 
 *** Test Cases ***
 Teardown Suite
index 59d4c2069b7e677b908244370a60bbd42529a133..b0095fc3db7fa06071e9b1960449b05fe068c3cd 100644 (file)
@@ -1,14 +1,17 @@
 *** Settings ***
 *** Settings ***
-Default Tags      multi-tenant    setup    multi-tenant-setup
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
-Resource          ../GBP_3node.robot
+Library         SSHLibrary
+Resource        ../../../../../libraries/Utils.robot
+Resource        ../../../../../libraries/GBP/ConnUtils.robot
+Variables       ../../../../../variables/Variables.py
+Resource        ../Variables.robot
+Resource        ../GBP_3node.robot
+
+Default Tags    multi-tenant    setup    multi-tenant-setup
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Test Cases ***
 Setup Suite
 
 *** Test Cases ***
 Setup Suite
index 8e4e6dd10cff9d8a7427c8359a81e2ad6475922f..c62321d89c427a8c075f58eb0bad95530e4dbe48 100644 (file)
@@ -1,15 +1,17 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for GBP Tenants, Operates functions from Restconf APIs.
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Default Tags      multi-tenant    setup    multi-tenant-setup
-Library           RequestsLibrary
-Library           OperatingSystem
-Variables         ../../../../../variables/Variables.py
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../Variables.robot
+Documentation       Test suite for GBP Tenants, Operates functions from Restconf APIs.
+
+Library             RequestsLibrary
+Library             OperatingSystem
+Variables           ../../../../../variables/Variables.py
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../Variables.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown      Delete All Sessions
+
+Default Tags        multi-tenant    setup    multi-tenant-setup
 
 
-*** Variables ***
 
 *** Test Cases ***
 Put Tunnels
 
 *** Test Cases ***
 Put Tunnels
@@ -22,7 +24,7 @@ Put Tunnels
 
 Register Endpoints
     [Documentation]    Endpoints registration
 
 Register Endpoints
     [Documentation]    Endpoints registration
-    @{endpoint_files}    OperatingSystem.List Files In Directory    ${ENDPOINTS_GBP2_DIR}    vethl*.*json    absolute
+    @{endpoint_files}    OperatingSystem.List Files In Directory    ${ENDPOINTS_GBP2_DIR}    vethl*.*json    absolute
     FOR    ${endpoint_file}    IN    @{endpoint_files}
         Post Elements To URI From File    ${ENDPOINT_REG_PATH}    ${endpoint_file}    ${HEADERS_YANG_JSON}
     END
     FOR    ${endpoint_file}    IN    @{endpoint_files}
         Post Elements To URI From File    ${ENDPOINT_REG_PATH}    ${endpoint_file}    ${HEADERS_YANG_JSON}
     END
index e715817c06975f62d5f3a6c5cace1d0966751a5e..a4d0dcde5093531d398af7ad861e529aed060b6b 100644 (file)
@@ -1,21 +1,25 @@
 *** Settings ***
 *** Settings ***
-Documentation     Waiting until flows are created
-Default Tags      multi-tenant    setup    multi-tenant-setup
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
+Documentation       Waiting until flows are created
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Variables           ../../../../../variables/Variables.py
+Resource            ../Variables.robot
+
+Default Tags        multi-tenant    setup    multi-tenant-setup
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Test Cases ***
 Wait For Flows
     Sleep    30s
     ${passed} =    Run Keyword And Return Status    OpenFlowUtils.Wait For Flows On Switch    ${GBP1}    sw1
 
 *** Test Cases ***
 Wait For Flows
     Sleep    30s
     ${passed} =    Run Keyword And Return Status    OpenFlowUtils.Wait For Flows On Switch    ${GBP1}    sw1
-    Run Keyword If    not ${passed}    Fatal Error    Flows not created on sw1!
+    IF    not ${passed}    Fatal Error    Flows not created on sw1!
     ${passed} =    Run Keyword And Return Status    OpenFlowUtils.Wait For Flows On Switch    ${GBP2}    sw2
     ${passed} =    Run Keyword And Return Status    OpenFlowUtils.Wait For Flows On Switch    ${GBP2}    sw2
-    Run Keyword If    not ${passed}    Fatal Error    Flows not created on sw2!
+    IF    not ${passed}    Fatal Error    Flows not created on sw2!
     ${passed} =    Run Keyword And Return Status    OpenFlowUtils.Wait For Flows On Switch    ${GBP3}    sw3
     ${passed} =    Run Keyword And Return Status    OpenFlowUtils.Wait For Flows On Switch    ${GBP3}    sw3
-    Run Keyword If    not ${passed}    Fatal Error    Flows not created on sw3!
+    IF    not ${passed}    Fatal Error    Flows not created on sw3!
index 876c3f22feb5ae90afc3204cf7f1f3a38cfb4058..fb9c6711a445277393112078212e95656df3b5dd 100644 (file)
@@ -1,22 +1,36 @@
 *** Settings ***
 *** Settings ***
-Documentation     Tests for ICMP flow
-Force Tags        multi-tenant    icmp    multi-tenant-main
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../../../../../libraries/GBP/DockerUtils.robot
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
+Documentation       Tests for ICMP flow
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../../../../../libraries/GBP/DockerUtils.robot
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Variables           ../../../../../variables/Variables.py
+Resource            ../Variables.robot
+
+Force Tags          multi-tenant    icmp    multi-tenant-main
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Test Cases ***
 Setting Variables For Tenant 1
     [Documentation]    Setting variables for tenant 1 related test cases.
 
 *** Test Cases ***
 Setting Variables For Tenant 1
     [Documentation]    Setting variables for tenant 1 related test cases.
-    Set Test Variables    client_switch_ip=${GBP1}    client_docker=h35_2    client_ip=10.0.35.2    client_mac=00:00:00:00:35:02    same_webserver_docker=h36_3    same_webserver_ip=10.0.36.3
-    ...    same_webserver_mac=00:00:00:00:36:03    diff_webserver_switch_ip=${GBP3}    diff_webserver_docker=h36_2    diff_webserver_ip=10.0.36.2    diff_webserver_mac=00:00:00:00:36:02
+    Set Test Variables
+    ...    client_switch_ip=${GBP1}
+    ...    client_docker=h35_2
+    ...    client_ip=10.0.35.2
+    ...    client_mac=00:00:00:00:35:02
+    ...    same_webserver_docker=h36_3
+    ...    same_webserver_ip=10.0.36.3
+    ...    same_webserver_mac=00:00:00:00:36:03
+    ...    diff_webserver_switch_ip=${GBP3}
+    ...    diff_webserver_docker=h36_2
+    ...    diff_webserver_ip=10.0.36.2
+    ...    diff_webserver_mac=00:00:00:00:36:02
 
 Tenant 1 Same switch, ping once from h35_2 to h36_3
     [Documentation]    Ping between endpoints located on the same switch "sw1".
 
 Tenant 1 Same switch, ping once from h35_2 to h36_3
     [Documentation]    Ping between endpoints located on the same switch "sw1".
@@ -175,8 +189,18 @@ Tenant 1 Different switches, stop endless ping from h35_2 to h36_2
 
 Setting Variables For Tenant 2
     [Documentation]    Setting variables for tenant 2 related test cases.
 
 Setting Variables For Tenant 2
     [Documentation]    Setting variables for tenant 2 related test cases.
-    Set Test Variables    client_switch_ip=${GBP1}    client_docker=h35_8    client_ip=10.0.35.8    client_mac=00:00:00:00:35:08    same_webserver_docker=h36_6    same_webserver_ip=10.0.36.6
-    ...    same_webserver_mac=00:00:00:00:36:06    diff_webserver_switch_ip=${GBP2}    diff_webserver_docker=h36_7    diff_webserver_ip=10.0.36.7    diff_webserver_mac=00:00:00:00:36:07
+    Set Test Variables
+    ...    client_switch_ip=${GBP1}
+    ...    client_docker=h35_8
+    ...    client_ip=10.0.35.8
+    ...    client_mac=00:00:00:00:35:08
+    ...    same_webserver_docker=h36_6
+    ...    same_webserver_ip=10.0.36.6
+    ...    same_webserver_mac=00:00:00:00:36:06
+    ...    diff_webserver_switch_ip=${GBP2}
+    ...    diff_webserver_docker=h36_7
+    ...    diff_webserver_ip=10.0.36.7
+    ...    diff_webserver_mac=00:00:00:00:36:07
 
 Tenant 2 Same switch, ping once from h35_8 to h36_6
     [Documentation]    Same switch (sw1)
 
 Tenant 2 Same switch, ping once from h35_8 to h36_6
     [Documentation]    Same switch (sw1)
index e26e24e96f006f80858bab551d5fc7f983e99f0d..c36d73ceb95ac3579a9cd78e3fc6f5ebd9591f33 100644 (file)
@@ -1,24 +1,38 @@
 *** Settings ***
 *** Settings ***
-Documentation     Tests for HTTP flow
-Force Tags        multi-tenant    http    multi-tenant-main
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../../../../../libraries/GBP/DockerUtils.robot
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
+Documentation       Tests for HTTP flow
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../../../../../libraries/GBP/DockerUtils.robot
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Variables           ../../../../../variables/Variables.py
+Resource            ../Variables.robot
+
+Force Tags          multi-tenant    http    multi-tenant-main
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Test Cases ***
 Setting Variables for Tenant 1
     [Documentation]    Setting variables for test cases related to tenant 1.
     # Same subnet tests are not supported by current topology configuration;
     # clients and webservers are put in two different subnets
 
 *** Test Cases ***
 Setting Variables for Tenant 1
     [Documentation]    Setting variables for test cases related to tenant 1.
     # Same subnet tests are not supported by current topology configuration;
     # clients and webservers are put in two different subnets
-    Set Test Variables    client_switch_ip=${GBP1}    client_docker=h35_2    client_ip=10.0.35.2    client_mac=00:00:00:00:35:02    same_webserver_docker=h36_3    same_webserver_ip=10.0.36.3
-    ...    same_webserver_mac=00:00:00:00:36:03    diff_webserver_switch_ip=${GBP3}    diff_webserver_docker=h36_2    diff_webserver_ip=10.0.36.2    diff_webserver_mac=00:00:00:00:36:02
+    Set Test Variables
+    ...    client_switch_ip=${GBP1}
+    ...    client_docker=h35_2
+    ...    client_ip=10.0.35.2
+    ...    client_mac=00:00:00:00:35:02
+    ...    same_webserver_docker=h36_3
+    ...    same_webserver_ip=10.0.36.3
+    ...    same_webserver_mac=00:00:00:00:36:03
+    ...    diff_webserver_switch_ip=${GBP3}
+    ...    diff_webserver_docker=h36_2
+    ...    diff_webserver_ip=10.0.36.2
+    ...    diff_webserver_mac=00:00:00:00:36:02
 
 Tenant 1 Same switch, start SimpleHttpServer on h36_3
     [Documentation]    Same Switch (sw1)
 
 Tenant 1 Same switch, start SimpleHttpServer on h36_3
     [Documentation]    Same Switch (sw1)
@@ -206,8 +220,18 @@ Tenant 1 Different switches, stop SimpleHttpServer on h36_2
 
 Setting Variables For Tenant 2
     [Documentation]    Setting variables for test cases related to tenant 1.
 
 Setting Variables For Tenant 2
     [Documentation]    Setting variables for test cases related to tenant 1.
-    Set Test Variables    client_switch_ip=${GBP1}    client_docker=h35_8    client_ip=10.0.35.8    client_mac=00:00:00:00:35:08    same_webserver_docker=h36_6    same_webserver_ip=10.0.36.6
-    ...    same_webserver_mac=00:00:00:00:36:06    diff_webserver_switch_ip=${GBP2}    diff_webserver_docker=h36_7    diff_webserver_ip=10.0.36.7    diff_webserver_mac=00:00:00:00:36:07
+    Set Test Variables
+    ...    client_switch_ip=${GBP1}
+    ...    client_docker=h35_8
+    ...    client_ip=10.0.35.8
+    ...    client_mac=00:00:00:00:35:08
+    ...    same_webserver_docker=h36_6
+    ...    same_webserver_ip=10.0.36.6
+    ...    same_webserver_mac=00:00:00:00:36:06
+    ...    diff_webserver_switch_ip=${GBP2}
+    ...    diff_webserver_docker=h36_7
+    ...    diff_webserver_ip=10.0.36.7
+    ...    diff_webserver_mac=00:00:00:00:36:07
 
 Tenant 2 Same switch, start SimpleHttpServer on h36_6
     [Documentation]    Same Switch (sw1)
 
 Tenant 2 Same switch, start SimpleHttpServer on h36_6
     [Documentation]    Same Switch (sw1)
index 5107e43aca3f0bf48c3accd198037cdfd058c8df..b17460fccbd02ade8d098ebe6576d425234ad3ea 100644 (file)
@@ -1,13 +1,13 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep inspection of HTTP traffic on asymmetric chain.
-...               Nodes are located on different VMs.
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep inspection of HTTP traffic on asymmetric chain.
+...                 Nodes are located on different VMs.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
 
 
-*** Variables ***
 
 *** Test Cases ***
 Show GBPSFC1 Status
 
 *** Test Cases ***
 Show GBPSFC1 Status
@@ -29,7 +29,11 @@ Show GBPSFC3 Status
 
 Read Tenants Confing From ODL
     [Documentation]    Logs ODL data store.
 
 Read Tenants Confing From ODL
     [Documentation]    Logs ODL data store.
-    Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_YANG_JSON}
+    Create Session
+    ...    session
+    ...    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}
+    ...    auth=${AUTH}
+    ...    headers=${HEADERS_YANG_JSON}
     ${resp}    RequestsLibrary.Get Request    session    ${GBP_TENANTS_API}
     Log    ${resp.content}
 
     ${resp}    RequestsLibrary.Get Request    session    ${GBP_TENANTS_API}
     Log    ${resp.content}
 
index 3654e18992bcf48420fd310af20e9e0608c15188..c4d7701412dfbd6440670652e4cc7e55a6651b9c 100644 (file)
@@ -1,17 +1,19 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for cleaning up / unregister infrastructure constructs like endpoints for demo-asymmetric-chain
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Default Tags      multi-tenant    teardown    multi-tenant-teardown
-Library           RequestsLibrary
-Library           OperatingSystem
-Library           json
-Variables         ../../../../../variables/Variables.py
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/RestconfUtils.robot
-Resource          ../Variables.robot
+Documentation       Test suite for cleaning up / unregister infrastructure constructs like endpoints for demo-asymmetric-chain
+
+Library             RequestsLibrary
+Library             OperatingSystem
+Library             json
+Variables           ../../../../../variables/Variables.py
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../../../../../libraries/GBP/RestconfUtils.robot
+Resource            ../Variables.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown      Delete All Sessions
+
+Default Tags        multi-tenant    teardown    multi-tenant-teardown
 
 
-*** Variables ***
 
 *** Test Cases ***
 Delete Tenants
 
 *** Test Cases ***
 Delete Tenants
index 8d66abeb3b8b97b6b86cd9cf6e6b2564533603d7..edc90deed392bac5c0907f8805147b890c89854b 100644 (file)
@@ -1,14 +1,17 @@
 *** Settings ***
 *** Settings ***
-Default Tags      multi-tenant    teardown    multi-tenant-teardown
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
-Resource          ../GBP_3node.robot
+Library         SSHLibrary
+Resource        ../../../../../libraries/Utils.robot
+Resource        ../../../../../libraries/GBP/ConnUtils.robot
+Variables       ../../../../../variables/Variables.py
+Resource        ../Variables.robot
+Resource        ../GBP_3node.robot
+
+Default Tags    multi-tenant    teardown    multi-tenant-teardown
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Test Cases ***
 Teardown Suite
 
 *** Test Cases ***
 Teardown Suite
index 331b08686e306a628484d45f9e2d99e3648c834e..0454aa62e2d8662d753a19d4db5c47f0149fca88 100644 (file)
@@ -1,15 +1,16 @@
 *** Settings ***
 *** Settings ***
-Documentation     This suite verifies availability of ODL features needed for further testing
-Suite Teardown    Delete All Sessions
-Library           SSHLibrary
-Library           OperatingSystem
-Library           RequestsLibrary
-Resource          Variables.robot
-Resource          ../../../../libraries/Utils.robot
-Resource          ../../../../libraries/DevstackUtils.robot
-Variables         ../../../../variables/Variables.py
+Documentation       This suite verifies availability of ODL features needed for further testing
+
+Library             SSHLibrary
+Library             OperatingSystem
+Library             RequestsLibrary
+Resource            Variables.robot
+Resource            ../../../../libraries/Utils.robot
+Resource            ../../../../libraries/DevstackUtils.robot
+Variables           ../../../../variables/Variables.py
+
+Suite Teardown      Delete All Sessions
 
 
-*** Variables ***
 
 *** Test Cases ***
 Wait for Renderers and NeutronMapper
 
 *** Test Cases ***
 Wait for Renderers and NeutronMapper
@@ -17,10 +18,11 @@ Wait for Renderers and NeutronMapper
     Wait Until Keyword Succeeds    60x    5s    Renderers And NeutronMapper Initialized    session
     Delete All Sessions
 
     Wait Until Keyword Succeeds    60x    5s    Renderers And NeutronMapper Initialized    session
     Delete All Sessions
 
+
 *** Keywords ***
 Renderers And NeutronMapper Initialized
 *** Keywords ***
 Renderers And NeutronMapper Initialized
-    [Arguments]    ${session}
     [Documentation]    Ofoverlay and Neutronmapper features start check via datastore.
     [Documentation]    Ofoverlay and Neutronmapper features start check via datastore.
+    [Arguments]    ${session}
     Get Data From URI    ${session}    ${OF_OVERLAY_BOOT_URL}    headers=${headers}
     ${response}    RequestsLibrary.Get Request    ${session}    ${NEURONMAPPER_BOOT_URL}    ${headers}
     Should Be Equal As Strings    404    ${response.status_code}
     Get Data From URI    ${session}    ${OF_OVERLAY_BOOT_URL}    headers=${headers}
     ${response}    RequestsLibrary.Get Request    ${session}    ${NEURONMAPPER_BOOT_URL}    ${headers}
     Should Be Equal As Strings    404    ${response.status_code}
index 047dd06841fa61a190a2968a1f87230146a88a7f..16922f00c9a27a628f796247816a3d8d26a5929f 100644 (file)
@@ -1,49 +1,53 @@
 *** Settings ***
 *** Settings ***
-Documentation     Testing of Group Based Policy Neutron-Mapper
-Suite Setup       Devstack Suite Setup
-Suite Teardown    Clean Suite
-Library           SSHLibrary
-Library           OperatingSystem
-Library           RequestsLibrary
-Library           String
-Resource          Variables.robot
-Resource          ../../../../variables/gbp/Constants.robot
-Resource          ../../../../libraries/Utils.robot
-Resource          ../../../../libraries/GBP/RestconfUtils.robot
-Resource          ../../../../libraries/GBP/AssertionUtils.robot
-Resource          ../../../../libraries/DevstackUtils.robot
-Resource          ../../../../libraries/OpenStackOperations.robot
+Documentation       Testing of Group Based Policy Neutron-Mapper
+
+Library             SSHLibrary
+Library             OperatingSystem
+Library             RequestsLibrary
+Library             String
+Resource            Variables.robot
+Resource            ../../../../variables/gbp/Constants.robot
+Resource            ../../../../libraries/Utils.robot
+Resource            ../../../../libraries/GBP/RestconfUtils.robot
+Resource            ../../../../libraries/GBP/AssertionUtils.robot
+Resource            ../../../../libraries/DevstackUtils.robot
+Resource            ../../../../libraries/OpenStackOperations.robot
+
+Suite Setup         Devstack Suite Setup
+Suite Teardown      Clean Suite
+
 
 *** Variables ***
 
 *** Variables ***
-${NETWORK_NAME}    net123
-${SUBNET_NAME}    subnet123
-${CLIENT_SG}      client_sg
-${SERVER_SG}      server_sg
+${NETWORK_NAME}         net123
+${SUBNET_NAME}          subnet123
+${CLIENT_SG}            client_sg
+${SERVER_SG}            server_sg
 ${TENANTS_CONF_PATH}    restconf/config/policy:tenants
 ${TENANTS_CONF_PATH}    restconf/config/policy:tenants
-${CLIENT_PORT_IP}    10.0.0.5
-${SERVER_PORT_IP}    10.0.0.6
-${CLIENT_PORT_NAME}    client
-${SERVER_PORT_NAME}    server
-${REMOTE_IP_PREFIX}    10.0.0.0/24
-${SUBNET_IP_PREFIX}    10.0.0.0/24
-${ROUTER_NAME}    router123
-${TENANT_ID}      ${EMPTY}
-${SUBNET_ID}      ${EMPTY}
-${FLOOD_DOMAIN_ID}    ${EMPTY}
-${BRIDGE_DOMAIN_ID}    ${EMPTY}
-${L3_CONTEXT_ID}    ${EMPTY}
-${GROUP_RULE_ID}    ${EMPTY}
-${CLIENT_MAC_ADDR}    ${EMPTY}
-${SERVER_MAC_ADDR}    ${EMPTY}
-${CLIENT_SG_ID}    ${EMPTY}
-${SERVER_SG_ID}    ${EMPTY}
-${ROUTER_ID}      ${EMPTY}
+${CLIENT_PORT_IP}       10.0.0.5
+${SERVER_PORT_IP}       10.0.0.6
+${CLIENT_PORT_NAME}     client
+${SERVER_PORT_NAME}     server
+${REMOTE_IP_PREFIX}     10.0.0.0/24
+${SUBNET_IP_PREFIX}     10.0.0.0/24
+${ROUTER_NAME}          router123
+${TENANT_ID}            ${EMPTY}
+${SUBNET_ID}            ${EMPTY}
+${FLOOD_DOMAIN_ID}      ${EMPTY}
+${BRIDGE_DOMAIN_ID}     ${EMPTY}
+${L3_CONTEXT_ID}        ${EMPTY}
+${GROUP_RULE_ID}        ${EMPTY}
+${CLIENT_MAC_ADDR}      ${EMPTY}
+${SERVER_MAC_ADDR}      ${EMPTY}
+${CLIENT_SG_ID}         ${EMPTY}
+${SERVER_SG_ID}         ${EMPTY}
+${ROUTER_ID}            ${EMPTY}
+
 
 *** Test Cases ***
 Test Resolve Tenant ID
     [Documentation]    Test reading tenant id from default security group
     ${tenant_id}    Get Tenant ID From Security Group
 
 *** Test Cases ***
 Test Resolve Tenant ID
     [Documentation]    Test reading tenant id from default security group
     ${tenant_id}    Get Tenant ID From Security Group
-    ${tenant_id}=    To Uuid    ${tenant_id}
+    ${tenant_id}    To Uuid    ${tenant_id}
     Should Match Regexp    ${tenant_id}    ${UUID_PATTERN}
     Set Global Variable    ${TENANT_ID}    ${tenant_id}
 
     Should Match Regexp    ${tenant_id}    ${UUID_PATTERN}
     Set Global Variable    ${TENANT_ID}    ${tenant_id}
 
@@ -64,25 +68,26 @@ Test Create Network
     Set Global Variable    ${BRIDGE_DOMAIN_ID}    ${l2_bd_id}
     Set Global Variable    ${L3_CONTEXT_ID}    ${l3_ctx_id}
 
     Set Global Variable    ${BRIDGE_DOMAIN_ID}    ${l2_bd_id}
     Set Global Variable    ${L3_CONTEXT_ID}    ${l3_ctx_id}
 
+
 *** Keywords ***
 Create Neutron Entity And Return ID
 *** Keywords ***
 Create Neutron Entity And Return ID
-    [Arguments]    ${cmd}    ${pattern}=${UUID_PATTERN}
     [Documentation]    Designed for creating neutron entities and returing their IDs.
     [Documentation]    Designed for creating neutron entities and returing their IDs.
+    [Arguments]    ${cmd}    ${pattern}=${UUID_PATTERN}
     ${output}    Write Commands Until Prompt    ${cmd} | grep -w id | awk '{print $4}'
     Should Not Be Empty    ${output}
     ${id}    Should Match Regexp    ${output}    ${pattern}
     ${output}    Write Commands Until Prompt    ${cmd} | grep -w id | awk '{print $4}'
     Should Not Be Empty    ${output}
     ${id}    Should Match Regexp    ${output}    ${pattern}
-    [Return]    ${id}
+    RETURN    ${id}
 
 To Uuid
 
 To Uuid
-    [Arguments]    ${init_string}
     [Documentation]    Insert dashes if missing to generate proper UUID string.
     [Documentation]    Insert dashes if missing to generate proper UUID string.
+    [Arguments]    ${init_string}
     Should Match Regexp    ${init_string}    ${UUID_NO_DASHES}
     ${first}    Get Substring    ${init_string}    0    8
     ${second}    Get Substring    ${init_string}    8    12
     ${third}    Get Substring    ${init_string}    12    16
     ${fourth}    Get Substring    ${init_string}    16    20
     ${fifth}    Get Substring    ${init_string}    20    32
     Should Match Regexp    ${init_string}    ${UUID_NO_DASHES}
     ${first}    Get Substring    ${init_string}    0    8
     ${second}    Get Substring    ${init_string}    8    12
     ${third}    Get Substring    ${init_string}    12    16
     ${fourth}    Get Substring    ${init_string}    16    20
     ${fifth}    Get Substring    ${init_string}    20    32
-    [Return]    ${first}-${second}-${third}-${fourth}-${fifth}
+    RETURN    ${first}-${second}-${third}-${fourth}-${fifth}
 
 Clean Suite
     [Documentation]    Clears Openstack. This is also helpful when debugging tests locally.
 
 Clean Suite
     [Documentation]    Clears Openstack. This is also helpful when debugging tests locally.
index 4f280a5e62b5f4c62790c8325cb39b187649f79a..591c09f9e7eb82fa83c042ccd265aab62ee94e81 100644 (file)
@@ -1,18 +1,20 @@
 *** Settings ***
 *** Settings ***
-Documentation     Global variables for GBPSFC 6node topology. Some variables are release specific and their value depend on
-...               ODL_STREAM variable which contains release name and is defined in Jenkins job. Keywords for setting release specific
-...               data are located in this file.
-Variables         ../../../../variables/Variables.py
+Documentation       Global variables for GBPSFC 6node topology. Some variables are release specific and their value depend on
+...                 ODL_STREAM variable which contains release name and is defined in Jenkins job. Keywords for setting release specific
+...                 data are located in this file.
+
+Variables           ../../../../variables/Variables.py
+
 
 *** Variables ***
 ${NEURONMAPPER_BOOT_URL}    restconf/config/neutron-mapper:mappings
 
 *** Variables ***
 ${NEURONMAPPER_BOOT_URL}    restconf/config/neutron-mapper:mappings
-${OF_OVERLAY_BOOT_URL}    restconf/config/ofoverlay:of-overlay-config
-${PROMPT_TIMEOUT}    ${DEFAULT_TIMEOUT}
-${DEVSTACK_BRANCH}    ${OPENSTACK_BRANCH}
-${DEVSTACK_IP}    ${TOOLS_SYSTEM_IP}
-${DEVSTACK_USER}    ${TOOLS_SYSTEM_USER}
-${DEVSTACK_PROMPT}    ${DEFAULT_LINUX_PROMPT}
+${OF_OVERLAY_BOOT_URL}      restconf/config/ofoverlay:of-overlay-config
+${PROMPT_TIMEOUT}           ${DEFAULT_TIMEOUT}
+${DEVSTACK_BRANCH}          ${OPENSTACK_BRANCH}
+${DEVSTACK_IP}              ${TOOLS_SYSTEM_IP}
+${DEVSTACK_USER}            ${TOOLS_SYSTEM_USER}
+${DEVSTACK_PROMPT}          ${DEFAULT_LINUX_PROMPT}
 # modify the below var for local testing
 # modify the below var for local testing
-${DEVSTACK_DIR}    ${DEVSTACK_DEPLOY_PATH}
+${DEVSTACK_DIR}             ${DEVSTACK_DEPLOY_PATH}
 # modify the below var for local testing
 # modify the below var for local testing
-${DEVSTACK_PWD}    ${EMPTY}
+${DEVSTACK_PWD}             ${EMPTY}
index d3916667b3136f9ac9bb9bc36d16a997ec2c63de..9952de6181807507adbca6a639c393c5e4e71751 100644 (file)
@@ -1,9 +1,10 @@
 *** Settings ***
 *** Settings ***
-Library           SSHLibrary
-Resource          ../../../../libraries/SSHKeywords.robot
-Resource          ../../../../libraries/GBP/ConnUtils.robot
-Variables         ../../../../variables/Variables.py
-Resource          Variables.robot
+Library         SSHLibrary
+Resource        ../../../../libraries/SSHKeywords.robot
+Resource        ../../../../libraries/GBP/ConnUtils.robot
+Variables       ../../../../variables/Variables.py
+Resource        Variables.robot
+
 
 *** Keywords ***
 Start Connections
 
 *** Keywords ***
 Start Connections
index 1686c56754081f582b958fb8583d3f4fe1771066..c19a190fd0150225cb7b657fa2a1cec7a35e9705 100644 (file)
@@ -1,42 +1,60 @@
 *** Settings ***
 *** Settings ***
-Library           SSHLibrary
-Resource          Variables.robot
-Resource          ../../../../libraries/Utils.robot
-Resource          ../../../../libraries/GBP/ConnUtils.robot
-Variables         ../../../../variables/Variables.py
+Library         SSHLibrary
+Resource        Variables.robot
+Resource        ../../../../libraries/Utils.robot
+Resource        ../../../../libraries/GBP/ConnUtils.robot
+Variables       ../../../../variables/Variables.py
+
 
 *** Keywords ***
 Setup Node
 
 *** Keywords ***
 Setup Node
-    [Arguments]    ${GBPSFC}    ${sw_index}    ${suite_dir}    ${timeout}=10s
     [Documentation]    Configures underlying infrastructure composed of Docker containers and OVS switches on remote VM.
     ...    Python and Bash scripts are used.
     [Documentation]    Configures underlying infrastructure composed of Docker containers and OVS switches on remote VM.
     ...    Python and Bash scripts are used.
+    [Arguments]    ${GBPSFC}    ${sw_index}    ${suite_dir}    ${timeout}=10s
     ConnUtils.Connect and Login    ${GBPSFC}    timeout=${timeout}
     SSHLibrary.Put File    ${suite_dir}/*    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/    mode=0755
     ConnUtils.Connect and Login    ${GBPSFC}    timeout=${timeout}
     SSHLibrary.Put File    ${suite_dir}/*    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/    mode=0755
-    ${stdout}    ${stderr}    ${rc}    Execute in VE    python ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/infrastructure_launch.py ${ODL} ${sw_index}    timeout=${timeout}
+    ${stdout}    ${stderr}    ${rc}    Execute in VE
+    ...    python ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/infrastructure_launch.py ${ODL} ${sw_index}
+    ...    timeout=${timeout}
     Should Be Equal As Numbers    ${rc}    0
     ${stderr}    Set Variable
     # Flows for GBPSFC3 and GBPSFC5 have to be written manually.
     # GBPSFC2 is SFF for GBPSFC3 and GBPSFC4 is SFF for GBPSFC5
     Should Be Equal As Numbers    ${rc}    0
     ${stderr}    Set Variable
     # Flows for GBPSFC3 and GBPSFC5 have to be written manually.
     # GBPSFC2 is SFF for GBPSFC3 and GBPSFC4 is SFF for GBPSFC5
-    Run Keyword If    "${GBPSFC}" == "${GBPSFC3}"    Write SF Flows    ${GBPSFC2}    ${stderr}
-    ...    ELSE IF    "${GBPSFC}" == "${GBPSFC5}"    Write SF Flows    ${GBPSFC4}    ${stderr}
+    IF    "${GBPSFC}" == "${GBPSFC3}"
+        Write SF Flows    ${GBPSFC2}    ${stderr}
+    ELSE IF    "${GBPSFC}" == "${GBPSFC5}"
+        Write SF Flows    ${GBPSFC4}    ${stderr}
+    END
     Should Be Empty    ${stderr}
     SSHLibrary.Close Connection
 
 Write SF Flows
     Should Be Empty    ${stderr}
     SSHLibrary.Close Connection
 
 Write SF Flows
-    [Arguments]    ${SFF}    ${stderr}
     [Documentation]    Writes flows to SF node. SFF for given SF has to be specified in arguments.
     [Documentation]    Writes flows to SF node. SFF for given SF has to be specified in arguments.
-    ${stderr}    SSHLibrary.Execute Command    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/sf-flows.sh ${SFF}    return_stderr=True    return_stdout=False
+    [Arguments]    ${SFF}    ${stderr}
+    ${stderr}    SSHLibrary.Execute Command
+    ...    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/sf-flows.sh ${SFF}
+    ...    return_stderr=True
+    ...    return_stdout=False
 
 Teardown Node
 
 Teardown Node
-    [Arguments]    ${GBPSFC}    ${suite_dir}    ${timeout}=3s
     [Documentation]    Clears underlying infrastructure composed of Docker containers and OVS switches from remote VM.
     ...    Python and Bash scripts are used.
     [Documentation]    Clears underlying infrastructure composed of Docker containers and OVS switches from remote VM.
     ...    Python and Bash scripts are used.
+    [Arguments]    ${GBPSFC}    ${suite_dir}    ${timeout}=3s
     ConnUtils.Connect and Login    ${GBPSFC}    timeout=${timeout}
     ConnUtils.Connect and Login    ${GBPSFC}    timeout=${timeout}
-    ${stderr}    SSHLibrary.Execute Command    rm ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/infrastructure_config.py    return_stderr=True    return_stdout=False
+    ${stderr}    SSHLibrary.Execute Command
+    ...    rm ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/infrastructure_config.py
+    ...    return_stderr=True
+    ...    return_stdout=False
     Should Be Empty    ${stderr}
     Should Be Empty    ${stderr}
-    ${stderr}    SSHLibrary.Execute Command    rm ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/sf-flows.sh    return_stderr=True    return_stdout=False
+    ${stderr}    SSHLibrary.Execute Command
+    ...    rm ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/sf-flows.sh
+    ...    return_stderr=True
+    ...    return_stdout=False
     Should Be Empty    ${stderr}
     Should Be Empty    ${stderr}
-    ${stderr}    SSHLibrary.Execute Command    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/clean-demo.sh    return_stderr=True    return_stdout=False
+    ${stderr}    SSHLibrary.Execute Command
+    ...    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/clean-demo.sh
+    ...    return_stderr=True
+    ...    return_stdout=False
     Should Be Empty    ${stderr}
     SSHLibrary.Close Connection
 
     Should Be Empty    ${stderr}
     SSHLibrary.Close Connection
 
index 817adf70ecd26647a547c2873b1ac760e0473519..a7cd753ae0db5bd396a52fc8a2d8551cf2d7cad8 100644 (file)
@@ -1,44 +1,51 @@
 *** Settings ***
 *** Settings ***
-Documentation     Global variables for GBPSFC 6node topology. Some variables are release specific and their value depend on
-...               ODL_STREAM variable which contains release name and is defined in Jenkins job. Keywords for setting release specific
-...               data are located in this file.
-Variables         ../../../../variables/Variables.py
-Resource          ../../../../libraries/CompareStream.robot
+Documentation       Global variables for GBPSFC 6node topology. Some variables are release specific and their value depend on
+...                 ODL_STREAM variable which contains release name and is defined in Jenkins job. Keywords for setting release specific
+...                 data are located in this file.
+
+Variables           ../../../../variables/Variables.py
+Resource            ../../../../libraries/CompareStream.robot
+
 
 *** Variables ***
 
 *** Variables ***
-${VM_HOME_FOLDER}    ${WORKSPACE}
-${VM_SCRIPTS_FOLDER}    scripts
-${ODL}            ${ODL_SYSTEM_IP}
-${GBPSFC1}        ${TOOLS_SYSTEM_IP}
-${GBPSFC2}        ${TOOLS_SYSTEM_2_IP}
-${GBPSFC3}        ${TOOLS_SYSTEM_3_IP}
-${GBPSFC4}        ${TOOLS_SYSTEM_4_IP}
-${GBPSFC5}        ${TOOLS_SYSTEM_5_IP}
-${GBPSFC6}        ${TOOLS_SYSTEM_6_IP}
-@{GBPSFCs}        ${GBPSFC1}    ${GBPSFC2}    ${GBPSFC3}    ${GBPSFC4}    ${GBPSFC5}    ${GBPSFC6}
-${OF_OVERLAY_CONFIG_PATH}    /restconf/config/ofoverlay:of-overlay-config
-${TOPOLOGY_PATH}    ${CONFIG_TOPO_API}/topology/ovsdb:1
-${SF_PATH}        /restconf/config/service-function:service-functions
-${SF_FILE}        ${CURDIR}/../../../../variables/gbp/6node/service_functions.json
-${SFF_PATH}       /restconf/config/service-function-forwarder:service-function-forwarders
-${SFF_FILE}       ${CURDIR}/../../../../variables/gbp/6node/service_function_forwarders.json
-${SFC_PATH}       /restconf/config/service-function-chain:service-function-chains
-${TUNNELS_PATH}    ${CONFIG_NODES_API}
-${TUNNELS_FILE}    ${CURDIR}/../../../../variables/gbp/6node/tunnels.json
-${SFC_ASYMM_FILE}    ${CURDIR}/../../../../variables/gbp/6node/demo-asymmetric-chain/service_function_chains.json
-${SFC_SYMM_FILE}    ${CURDIR}/../../../../variables/gbp/6node/demo-symmetric-chain/service_function_chains.json
-${SFP_PATH}       /restconf/config/service-function-path:service-function-paths
-${SFP_ASYMM_FILE}    ${CURDIR}/../../../../variables/gbp/6node/demo-asymmetric-chain/service_function_paths.json
-${SFP_SYMM_FILE}    ${CURDIR}/../../../../variables/gbp/6node/demo-symmetric-chain/service_function_paths.json
-${ENDPOINT_REG_PATH}    ${GBP_REGEP_API}
-${ENDPOINT_UNREG_PATH}    ${GBP_UNREGEP_API}
-${ENDPOINTS_OPER_PATH}    /restconf/operational/endpoint:endpoints
+${VM_HOME_FOLDER}               ${WORKSPACE}
+${VM_SCRIPTS_FOLDER}            scripts
+${ODL}                          ${ODL_SYSTEM_IP}
+${GBPSFC1}                      ${TOOLS_SYSTEM_IP}
+${GBPSFC2}                      ${TOOLS_SYSTEM_2_IP}
+${GBPSFC3}                      ${TOOLS_SYSTEM_3_IP}
+${GBPSFC4}                      ${TOOLS_SYSTEM_4_IP}
+${GBPSFC5}                      ${TOOLS_SYSTEM_5_IP}
+${GBPSFC6}                      ${TOOLS_SYSTEM_6_IP}
+@{GBPSFCs}                      ${GBPSFC1}    ${GBPSFC2}    ${GBPSFC3}    ${GBPSFC4}    ${GBPSFC5}    ${GBPSFC6}
+${OF_OVERLAY_CONFIG_PATH}       /restconf/config/ofoverlay:of-overlay-config
+${TOPOLOGY_PATH}                ${CONFIG_TOPO_API}/topology/ovsdb:1
+${SF_PATH}                      /restconf/config/service-function:service-functions
+${SF_FILE}                      ${CURDIR}/../../../../variables/gbp/6node/service_functions.json
+${SFF_PATH}                     /restconf/config/service-function-forwarder:service-function-forwarders
+${SFF_FILE}                     ${CURDIR}/../../../../variables/gbp/6node/service_function_forwarders.json
+${SFC_PATH}                     /restconf/config/service-function-chain:service-function-chains
+${TUNNELS_PATH}                 ${CONFIG_NODES_API}
+${TUNNELS_FILE}                 ${CURDIR}/../../../../variables/gbp/6node/tunnels.json
+${SFC_ASYMM_FILE}
+...                             ${CURDIR}/../../../../variables/gbp/6node/demo-asymmetric-chain/service_function_chains.json
+${SFC_SYMM_FILE}
+...                             ${CURDIR}/../../../../variables/gbp/6node/demo-symmetric-chain/service_function_chains.json
+${SFP_PATH}                     /restconf/config/service-function-path:service-function-paths
+${SFP_ASYMM_FILE}
+...                             ${CURDIR}/../../../../variables/gbp/6node/demo-asymmetric-chain/service_function_paths.json
+${SFP_SYMM_FILE}
+...                             ${CURDIR}/../../../../variables/gbp/6node/demo-symmetric-chain/service_function_paths.json
+${ENDPOINT_REG_PATH}            ${GBP_REGEP_API}
+${ENDPOINT_UNREG_PATH}          ${GBP_UNREGEP_API}
+${ENDPOINTS_OPER_PATH}          /restconf/operational/endpoint:endpoints
+
 
 *** Keywords ***
 Set Test Variables
 
 *** Keywords ***
 Set Test Variables
+    [Documentation]    Sets variables used in 6node test cases.
     [Arguments]    ${client_ip}    ${client_name}    ${server_ip}    ${server_name}    ${ether_type}    ${proto}
     ...    ${service_port}=${EMPTY}    ${vxlan_port}=${EMPTY}    ${vxlan_gpe_port}=${EMPTY}
     [Arguments]    ${client_ip}    ${client_name}    ${server_ip}    ${server_name}    ${ether_type}    ${proto}
     ...    ${service_port}=${EMPTY}    ${vxlan_port}=${EMPTY}    ${vxlan_gpe_port}=${EMPTY}
-    [Documentation]    Sets variables used in 6node test cases.
     Set Global Variable    ${CLIENT_IP}    ${client_ip}
     Set Global Variable    ${CLIENT_NAME}    ${client_name}
     Set Global Variable    ${SERVER_IP}    ${server_ip}
     Set Global Variable    ${CLIENT_IP}    ${client_ip}
     Set Global Variable    ${CLIENT_NAME}    ${client_name}
     Set Global Variable    ${SERVER_IP}    ${server_ip}
@@ -57,8 +64,18 @@ Set ODL Variables Master
     [Documentation]    Sets variables specific to latest(master) version
     Set Global Variable    ${GBP_TENANT_ID}    tenant-red
     Set Global Variable    ${TENANT_PATH}    ${GBP_TENANTS_API}/tenant/${GBP_TENANT_ID}
     [Documentation]    Sets variables specific to latest(master) version
     Set Global Variable    ${GBP_TENANT_ID}    tenant-red
     Set Global Variable    ${TENANT_PATH}    ${GBP_TENANTS_API}/tenant/${GBP_TENANT_ID}
-    Set Global Variable    ${TENANT_ASYMM_FILE}    ${CURDIR}/../../../../variables/gbp/6node/demo-asymmetric-chain/master/tenants.json
-    Set Global Variable    ${TENANT_SYMM_FILE}    ${CURDIR}/../../../../variables/gbp/6node/demo-symmetric-chain/master/tenants.json
-    Set Global Variable    ${SFF_FILE}    ${CURDIR}/../../../../variables/gbp/6node/master/service_function_forwarders.json
-    Set Global Variable    ${ENDPOINTS_ASYMM_DIR}    ${CURDIR}/../../../../variables/gbp/6node/demo-asymmetric-chain/master/
-    Set Global Variable    ${ENDPOINTS_SYMM_DIR}    ${CURDIR}/../../../../variables/gbp/6node/demo-symmetric-chain/master/
+    Set Global Variable
+    ...    ${TENANT_ASYMM_FILE}
+    ...    ${CURDIR}/../../../../variables/gbp/6node/demo-asymmetric-chain/master/tenants.json
+    Set Global Variable
+    ...    ${TENANT_SYMM_FILE}
+    ...    ${CURDIR}/../../../../variables/gbp/6node/demo-symmetric-chain/master/tenants.json
+    Set Global Variable
+    ...    ${SFF_FILE}
+    ...    ${CURDIR}/../../../../variables/gbp/6node/master/service_function_forwarders.json
+    Set Global Variable
+    ...    ${ENDPOINTS_ASYMM_DIR}
+    ...    ${CURDIR}/../../../../variables/gbp/6node/demo-asymmetric-chain/master/
+    Set Global Variable
+    ...    ${ENDPOINTS_SYMM_DIR}
+    ...    ${CURDIR}/../../../../variables/gbp/6node/demo-symmetric-chain/master/
index 27f85830ddd338309c99582528f8b6b4fa17297b..9c857801cf166be4729f462b9c2f14b822f83eb3 100644 (file)
@@ -1,30 +1,49 @@
 *** Settings ***
 *** Settings ***
-Documentation     Setup/teardown for GBPSFC 6-node topology
-Suite Setup       Setup Everything
-Suite Teardown    Teardown Everything
-Library           SSHLibrary
-Library           RequestsLibrary
-Resource          ../../../../libraries/Utils.robot
-Resource          ../../../../libraries/GBP/ConnUtils.robot
-Resource          Variables.robot
-Variables         ../../../../variables/Variables.py
+Documentation       Setup/teardown for GBPSFC 6-node topology
+
+Library             SSHLibrary
+Library             RequestsLibrary
+Resource            ../../../../libraries/Utils.robot
+Resource            ../../../../libraries/GBP/ConnUtils.robot
+Resource            Variables.robot
+Variables           ../../../../variables/Variables.py
+
+Suite Setup         Setup Everything
+Suite Teardown      Teardown Everything
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Keywords ***
 Setup Everything
     [Documentation]    Initial setup of remote VM. Copying of scripts and installation python packages to virtual env if missing.
     Create Session    session    http://${ODL}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
 
 *** Keywords ***
 Setup Everything
     [Documentation]    Initial setup of remote VM. Copying of scripts and installation python packages to virtual env if missing.
     Create Session    session    http://${ODL}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-    Wait Until Keyword Succeeds    10x    30 s    Get Data From URI    session    ${OF_OVERLAY_CONFIG_PATH}    headers=${headers}
+    Wait Until Keyword Succeeds
+    ...    10x
+    ...    30 s
+    ...    Get Data From URI
+    ...    session
+    ...    ${OF_OVERLAY_CONFIG_PATH}
+    ...    headers=${headers}
     Delete All Sessions
     FOR    ${GBPSFC}    IN    @{GBPSFCs}
         ConnUtils.Connect and Login    ${GBPSFC}    timeout=${timeout}
         # TODO if something extra needs to be installed, please do it in virt-env
     Delete All Sessions
     FOR    ${GBPSFC}    IN    @{GBPSFCs}
         ConnUtils.Connect and Login    ${GBPSFC}    timeout=${timeout}
         # TODO if something extra needs to be installed, please do it in virt-env
-        ${stderr}    SSHLibrary.Execute Command    virtualenv --system-site-packages ${VE_DIR}    return_stdout=False    return_stderr=True    return_rc=False
+        ${stderr}    SSHLibrary.Execute Command
+        ...    virtualenv --system-site-packages ${VE_DIR}
+        ...    return_stdout=False
+        ...    return_stderr=True
+        ...    return_rc=False
         Should Be Empty    ${stderr}
         Should Be Empty    ${stderr}
-        SSHLibrary.Put File    ${CURDIR}/../../common_scripts/*    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/    mode=0755
-        ${stdout}    ${stderr}    ${rc}    ConnUtils.Execute in VE    pip freeze | grep ipaddr -q || pip install ipaddr    timeout=${timeout}
+        SSHLibrary.Put File
+        ...    ${CURDIR}/../../common_scripts/*
+        ...    ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/
+        ...    mode=0755
+        ${stdout}    ${stderr}    ${rc}    ConnUtils.Execute in VE
+        ...    pip freeze | grep ipaddr -q || pip install ipaddr
+        ...    timeout=${timeout}
         Should Be Equal As Numbers    ${rc}    0
         SSHLibrary.Close Connection
     END
         Should Be Equal As Numbers    ${rc}    0
         SSHLibrary.Close Connection
     END
index fffd7b9b7bbaca72a76c9060a2d3bf0fa5260c30..73333ab378fb19392738a645ff9063dccd08cfb5 100644 (file)
@@ -1,6 +1,7 @@
 *** Settings ***
 *** Settings ***
-Resource          ../Variables.robot
-Resource          ../GBPSFC_6node.robot
+Resource    ../Variables.robot
+Resource    ../GBPSFC_6node.robot
+
 
 *** Test Cases ***
 Initialize Nodes
 
 *** Test Cases ***
 Initialize Nodes
index f1315365a76a90e4408da5beff3f973f0d673374..c571be72408218c70d0919d4a923fe6bd771c3e5 100644 (file)
@@ -1,12 +1,15 @@
 *** Settings ***
 *** Settings ***
-Documentation     Waiting for manager and switch connections.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Waiting for manager and switch connections.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
+
 
 *** Test Cases ***
 Wait For Manager Connected on GBPSFC2
 
 *** Test Cases ***
 Wait For Manager Connected on GBPSFC2
index 61746484f37d5f940e05a9419b4b10dd17f794a4..56340ccf38f6627acb8b23002e259a30d8502c84 100644 (file)
@@ -1,13 +1,16 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for setting up infrastructure for demo-asymmetric-chain
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_YANG_JSON}
-Suite Teardown    Delete All Sessions
-Library           RequestsLibrary
-Library           OperatingSystem
-Variables         ../../../../../variables/Variables.py
-Resource          ../../../../../libraries/SSHKeywords.robot
-Resource          ../Variables.robot
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
+Documentation       Test suite for setting up infrastructure for demo-asymmetric-chain
+
+Library             RequestsLibrary
+Library             OperatingSystem
+Variables           ../../../../../variables/Variables.py
+Resource            ../../../../../libraries/SSHKeywords.robot
+Resource            ../Variables.robot
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_YANG_JSON}
+Suite Teardown      Delete All Sessions
+
 
 *** Test Cases ***
 Put Service Functions
 
 *** Test Cases ***
 Put Service Functions
@@ -59,7 +62,7 @@ Put Tenant
 
 Register Endpoints
     [Documentation]    Endpoints registration
 
 Register Endpoints
     [Documentation]    Endpoints registration
-    @{endpoint_files}    OperatingSystem.List Files In Directory    ${ENDPOINTS_ASYMM_DIR}    vethl*.*json    absolute
+    @{endpoint_files}    OperatingSystem.List Files In Directory    ${ENDPOINTS_ASYMM_DIR}    vethl*.*json    absolute
     FOR    ${endpoint_file}    IN    @{endpoint_files}
         Post Elements To URI From File    ${ENDPOINT_REG_PATH}    ${endpoint_file}    ${HEADERS_YANG_JSON}
     END
     FOR    ${endpoint_file}    IN    @{endpoint_files}
         Post Elements To URI From File    ${ENDPOINT_REG_PATH}    ${endpoint_file}    ${HEADERS_YANG_JSON}
     END
index a9c58cac7aaa75cae6739829682748ec396d93e0..b85d73e559d34036466f676d2d7ee3052b99cae8 100644 (file)
@@ -1,15 +1,18 @@
 *** Settings ***
 *** Settings ***
-Documentation     Documentation Waiting for flows to appear on switches.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../../../../../libraries/GBP/DockerUtils.robot
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Documentation Waiting for flows to appear on switches.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../../../../../libraries/GBP/DockerUtils.robot
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Variables           ../../../../../variables/Variables.py
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
+
 
 *** Test Cases ***
 Wait For Flows on GBPSFC1
 
 *** Test Cases ***
 Wait For Flows on GBPSFC1
index 95c74e84b836a8dfc5a4c753d6289480570570f7..c31a6392a9c2dced70687cecf7d54d4ff4fe21a3 100644 (file)
@@ -1,19 +1,26 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep icmp traffic inspection.
-...               Nodes are located on the same VM in different subnets and are members of the same EPG.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep icmp traffic inspection.
+...                 Nodes are located on the same VM in different subnets and are members of the same EPG.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
 
 
-*** Variables ***
 
 *** Test Cases ***
 Ping Once from h35_2 to h36_2
     [Documentation]    Test icmp request.
 
 *** Test Cases ***
 Ping Once from h35_2 to h36_2
     [Documentation]    Test icmp request.
-    Set Test Variables    client_name=h35_2    client_ip=10.0.35.2    server_name=h36_2    server_ip=10.0.36.2    ether_type=0x0800    proto=1
+    Set Test Variables
+    ...    client_name=h35_2
+    ...    client_ip=10.0.35.2
+    ...    server_name=h36_2
+    ...    server_ip=10.0.36.2
+    ...    ether_type=0x0800
+    ...    proto=1
     Switch Connection    GPSFC1_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
 
     Switch Connection    GPSFC1_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
 
@@ -24,13 +31,23 @@ Start Endless Ping from h35_2 to h36_2
 Find ICMP Req from h35_2 to h36_2 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
 Find ICMP Req from h35_2 to h36_2 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=4    out_port=6    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=4
+    ...    out_port=6
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
     ...    proto=${PROTO}
 
 Find ICMP Resp from h36_2 to h35_2 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
     ...    proto=${PROTO}
 
 Find ICMP Resp from h36_2 to h35_2 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=6    out_port=4    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=6
+    ...    out_port=4
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
     ...    proto=${PROTO}
 
 Stop Endless Ping from h35_2 to h36_2
     ...    proto=${PROTO}
 
 Stop Endless Ping from h35_2 to h36_2
index be10e1882d33542c2fb52727f7f006cc0ca93d8e..b5e823bccbe298e7bb9e125e490f02bea4dc31cd 100644 (file)
@@ -1,19 +1,26 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep icmp traffic inspection.
-...               Nodes are located on the same VM in the same subnet and are members of the same EPG.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep icmp traffic inspection.
+...                 Nodes are located on the same VM in the same subnet and are members of the same EPG.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
 
 
-*** Variables ***
 
 *** Test Cases ***
 Ping Once from h35_2 to h35_3
     [Documentation]    Test icmp request.
 
 *** Test Cases ***
 Ping Once from h35_2 to h35_3
     [Documentation]    Test icmp request.
-    Set Test Variables    client_name=h35_2    client_ip=10.0.35.2    server_name=h35_3    server_ip=10.0.35.3    ether_type=0x0800    proto=1
+    Set Test Variables
+    ...    client_name=h35_2
+    ...    client_ip=10.0.35.2
+    ...    server_name=h35_3
+    ...    server_ip=10.0.35.3
+    ...    ether_type=0x0800
+    ...    proto=1
     Switch Connection    GPSFC1_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
 
     Switch Connection    GPSFC1_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
 
@@ -24,13 +31,23 @@ Start Endless Ping from h35_2 to h35_3
 Find ICMP Req from h35_2 to h35_3 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
 Find ICMP Req from h35_2 to h35_3 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=4    out_port=5    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=4
+    ...    out_port=5
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
     ...    proto=${PROTO}
 
 Find ICMP Resp from h35_3 to h35_2 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
     ...    proto=${PROTO}
 
 Find ICMP Resp from h35_3 to h35_2 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=5    out_port=4    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=5
+    ...    out_port=4
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
     ...    proto=${PROTO}
 
 Stop Endless Ping from h35_2 to h35_3
     ...    proto=${PROTO}
 
 Stop Endless Ping from h35_2 to h35_3
index 5424519acf8e7907f94c8c64fa6ca8eb40309e39..d0a02d5317c1c7a207413fb4a9e9fa6ddfc289ed 100644 (file)
@@ -1,19 +1,26 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep icmp traffic inspection.
-...               Nodes are located on the same VM, in different subnets and are members of the same EPG.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep icmp traffic inspection.
+...                 Nodes are located on the same VM, in different subnets and are members of the same EPG.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
 
 
-*** Variables ***
 
 *** Test Cases ***
 Ping from h36_4 to h35_4
     [Documentation]    Test icmp request.
 
 *** Test Cases ***
 Ping from h36_4 to h35_4
     [Documentation]    Test icmp request.
-    Set Test Variables    client_name=h36_4    client_ip=10.0.36.4    server_name=h35_4    server_ip=10.0.35.4    ether_type=0x0800    proto=1
+    Set Test Variables
+    ...    client_name=h36_4
+    ...    client_ip=10.0.36.4
+    ...    server_name=h35_4
+    ...    server_ip=10.0.35.4
+    ...    ether_type=0x0800
+    ...    proto=1
     Switch Connection    GPSFC6_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
 
     Switch Connection    GPSFC6_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
 
@@ -24,13 +31,23 @@ Start Endless Ping from h36_4 to h35_4
 Find ICMP Req from h36_4 to h35_4 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
 Find ICMP Req from h36_4 to h35_4 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=6    out_port=4    eth_type=0x0800    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=6
+    ...    out_port=4
+    ...    eth_type=0x0800
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
     ...    proto=${PROTO}
 
 Find ICMP Resp from h35_4 to h36_4 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
     ...    proto=${PROTO}
 
 Find ICMP Resp from h35_4 to h36_4 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=4    out_port=6    eth_type=0x0800    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=4
+    ...    out_port=6
+    ...    eth_type=0x0800
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
     ...    proto=${PROTO}
 
 Stop Endless Ping from h36_4 to h35_4
     ...    proto=${PROTO}
 
 Stop Endless Ping from h36_4 to h35_4
index eab6c9c2b80a306a420277eb898c9bae1161cdfc..46eb0da05ccff38a1eb8b0261a0d21b49395c32e 100644 (file)
@@ -1,19 +1,26 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep icmp traffic inspection.
-...               Nodes are located on different VMs in different subnets and are members of different EPGs.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep icmp traffic inspection.
+...                 Nodes are located on different VMs in different subnets and are members of different EPGs.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
 
 
-*** Variables ***
 
 *** Test Cases ***
 Ping from h36_5 to h35_2
     [Documentation]    Test icmp request.
 
 *** Test Cases ***
 Ping from h36_5 to h35_2
     [Documentation]    Test icmp request.
-    Set Test Variables    client_name=h36_5    client_ip=10.0.36.5    server_name=h35_2    server_ip=10.0.35.2    ether_type=0x0800    proto=1
+    Set Test Variables
+    ...    client_name=h36_5
+    ...    client_ip=10.0.36.5
+    ...    server_name=h35_2
+    ...    server_ip=10.0.35.2
+    ...    ether_type=0x0800
+    ...    proto=1
     ...    vxlan_port=3
     Switch Connection    GPSFC6_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
     ...    vxlan_port=3
     Switch Connection    GPSFC6_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
@@ -25,26 +32,52 @@ Start Endless Ping from h36_5 to h35_2
 Find ICMP Req from h36_5 to h35_2 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
 Find ICMP Req from h36_5 to h35_2 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=7    out_port=${VXLAN_PORT}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}
-    ...    next_hop_ip=${GBPSFC1}    proto=${PROTO}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=7
+    ...    out_port=${VXLAN_PORT}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC1}
+    ...    proto=${PROTO}
 
 Find ICMP Req from h36_5 to h35_2 on GBPSFC1
     [Documentation]    Inspecting icmp req on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
 
 Find ICMP Req from h36_5 to h35_2 on GBPSFC1
     [Documentation]    Inspecting icmp req on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
-    Inspect Classifier Inbound    in_port=${VXLAN_PORT}    out_port=4    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}    outer_src_ip=${GBPSFC6}
-    ...    outer_dst_ip=${GBPSFC1}    proto=${PROTO}
+    Inspect Classifier Inbound
+    ...    in_port=${VXLAN_PORT}
+    ...    out_port=4
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    outer_src_ip=${GBPSFC6}
+    ...    outer_dst_ip=${GBPSFC1}
+    ...    proto=${PROTO}
 
 Find ICMP Resp from h35_2 to h36_5 on GBPSFC1
     [Documentation]    Inspecting icmp resp on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
 
 Find ICMP Resp from h35_2 to h36_5 on GBPSFC1
     [Documentation]    Inspecting icmp resp on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=4    out_port=${VXLAN_PORT}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}
-    ...    next_hop_ip=${GBPSFC6}    proto=${PROTO}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=4
+    ...    out_port=${VXLAN_PORT}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC6}
+    ...    proto=${PROTO}
 
 Find ICMP Resp from h35_2 to h36_5 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
 
 Find ICMP Resp from h35_2 to h36_5 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
-    Inspect Classifier Inbound    in_port=${VXLAN_PORT}    out_port=7    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}    outer_src_ip=${GBPSFC1}
-    ...    outer_dst_ip=${GBPSFC6}    proto=${PROTO}
+    Inspect Classifier Inbound
+    ...    in_port=${VXLAN_PORT}
+    ...    out_port=7
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    outer_src_ip=${GBPSFC1}
+    ...    outer_dst_ip=${GBPSFC6}
+    ...    proto=${PROTO}
 
 Stop Endless Ping from h36_5 to h35_2
     [Documentation]    Stoping of endless pinging after traffic inspection finishes.
 
 Stop Endless Ping from h36_5 to h35_2
     [Documentation]    Stoping of endless pinging after traffic inspection finishes.
index 4a8865657e75dc3fec482c76f4801701324af814..5c9e0264a02ccc775d2253409a04f2407ce92261 100644 (file)
@@ -1,21 +1,29 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep inspection of HTTP traffic on asymmetric chain.
-...               Nodes are located on the same VM.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
-
-*** Variables ***
+Documentation       Deep inspection of HTTP traffic on asymmetric chain.
+...                 Nodes are located on the same VM.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
+
 
 *** Test Cases ***
 Start HTTP on h36_2 on Port 80
     [Documentation]    Starting HTTP service on docker container.
 
 *** Test Cases ***
 Start HTTP on h36_2 on Port 80
     [Documentation]    Starting HTTP service on docker container.
-    Set Test Variables    client_name=h35_2    client_ip=10.0.35.2    server_name=h36_2    server_ip=10.0.36.2    service_port=80    ether_type=0x0800
-    ...    proto=6    vxlan_gpe_port=2
+    Set Test Variables
+    ...    client_name=h35_2
+    ...    client_ip=10.0.35.2
+    ...    server_name=h36_2
+    ...    server_ip=10.0.36.2
+    ...    service_port=80
+    ...    ether_type=0x0800
+    ...    proto=6
+    ...    vxlan_gpe_port=2
     Switch Connection    GPSFC1_CONNECTION
     Start HTTP Service on Docker    ${SERVER_NAME}    ${SERVICE_PORT}
 
     Switch Connection    GPSFC1_CONNECTION
     Start HTTP Service on Docker    ${SERVER_NAME}    ${SERVICE_PORT}
 
@@ -30,58 +38,139 @@ Start Endless Curl on h35_2 on port 80
 On GBPSFC1 Send HTTP req h35_2-h36_2 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
 On GBPSFC1 Send HTTP req h35_2-h36_2 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=4    out_port=${VXLAN_GPE_PORT}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}
-    ...    next_hop_ip=${GBPSFC2}    nsi=255    proto=${PROTO}    dst_port=${SERVICE_PORT}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=4
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC2}
+    ...    nsi=255
+    ...    proto=${PROTO}
+    ...    dst_port=${SERVICE_PORT}
     ${nsp_35_2-nsp_36_2}    GET NSP Value From Flow    ${flow}
     Set Global Variable    ${NSP}    ${nsp_35_2-nsp_36_2}
 
 On GBPSFC2 Send HTTP req h35_2-h36_2 to GBPSFC3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
     ${nsp_35_2-nsp_36_2}    GET NSP Value From Flow    ${flow}
     Set Global Variable    ${NSP}    ${nsp_35_2-nsp_36_2}
 
 On GBPSFC2 Send HTTP req h35_2-h36_2 to GBPSFC3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC1}    outer_dst_ip=${GBPSFC2}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC3}    nsp=${NSP}    nsi=255    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC1}
+    ...    outer_dst_ip=${GBPSFC2}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC3}
+    ...    nsp=${NSP}
+    ...    nsi=255
+    ...    proto=${PROTO}
 
 On GBPSFC3 Send HTTP req h35_2-h36_2 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC3_CONNECTION
 
 On GBPSFC3 Send HTTP req h35_2-h36_2 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC3_CONNECTION
-    Inspect Service Function    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC2}    outer_dst_ip=${GBPSFC3}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC2}    nsp=${NSP}    received_nsi=255
+    Inspect Service Function
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC2}
+    ...    outer_dst_ip=${GBPSFC3}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC2}
+    ...    nsp=${NSP}
+    ...    received_nsi=255
 
 On GBPSFC2 Send HTTP req h35_2-h36_2 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
 
 On GBPSFC2 Send HTTP req h35_2-h36_2 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC3}    outer_dst_ip=${GBPSFC2}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC4}    nsp=${NSP}    nsi=254    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC3}
+    ...    outer_dst_ip=${GBPSFC2}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC4}
+    ...    nsp=${NSP}
+    ...    nsi=254
+    ...    proto=${PROTO}
 
 On GBPSFC4 Send HTTP req h35_2-h36_2 to GBPSFC5
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
 
 On GBPSFC4 Send HTTP req h35_2-h36_2 to GBPSFC5
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC2}    outer_dst_ip=${GBPSFC4}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC5}    nsp=${NSP}    nsi=254    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC2}
+    ...    outer_dst_ip=${GBPSFC4}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC5}
+    ...    nsp=${NSP}
+    ...    nsi=254
+    ...    proto=${PROTO}
 
 On GBPSFC5 Send HTTP req h35_2-h36_2 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC5_CONNECTION
 
 On GBPSFC5 Send HTTP req h35_2-h36_2 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC5_CONNECTION
-    Inspect Service Function    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC4}    outer_dst_ip=${GBPSFC5}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC4}    nsp=${NSP}    received_nsi=254
+    Inspect Service Function
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC4}
+    ...    outer_dst_ip=${GBPSFC5}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC4}
+    ...    nsp=${NSP}
+    ...    received_nsi=254
 
 On GBPSFC4 Send HTTP req h35_2-h36_2 to GBPSFC1
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
 
 On GBPSFC4 Send HTTP req h35_2-h36_2 to GBPSFC1
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC5}    outer_dst_ip=${GBPSFC4}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC1}    nsp=${NSP}    nsi=253    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC5}
+    ...    outer_dst_ip=${GBPSFC4}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC1}
+    ...    nsp=${NSP}
+    ...    nsi=253
+    ...    proto=${PROTO}
 
 On GBPSFC1 Send HTTP req h35_2-h36_2 to h36_2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
 
 On GBPSFC1 Send HTTP req h35_2-h36_2 to h36_2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
-    Inspect Classifier Inbound    in_port=${VXLAN_GPE_PORT}    out_port=6    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}    outer_src_ip=${GBPSFC4}
-    ...    outer_dst_ip=${GBPSFC1}    nsp=${NSP}    nsi=253    proto=${PROTO}
+    Inspect Classifier Inbound
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=6
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    outer_src_ip=${GBPSFC4}
+    ...    outer_dst_ip=${GBPSFC1}
+    ...    nsp=${NSP}
+    ...    nsi=253
+    ...    proto=${PROTO}
 
 On GBPSFC1 Send HTTP resp h36_2-h35_2 to h35_2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
 
 On GBPSFC1 Send HTTP resp h36_2-h35_2 to h35_2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=6    out_port=4    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}
-    ...    proto=${PROTO}    src_port=${SERVICE_PORT}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=6
+    ...    out_port=4
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    proto=${PROTO}
+    ...    src_port=${SERVICE_PORT}
 
 Stop Endless Curl on h36_2 on port 80
     [Documentation]    Stopping endless HTTP session after traffic inspection finishes.
 
 Stop Endless Curl on h36_2 on port 80
     [Documentation]    Stopping endless HTTP session after traffic inspection finishes.
index e54aca1fe3c31a0b0472c34e94cbe31114d396da..784f0f6c4b08bc4af95686dff6ab4dc848cbc19e 100644 (file)
@@ -1,21 +1,30 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep inspection of HTTP traffic on asymmetric chain.
-...               Nodes are located on different VMs.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
-
-*** Variables ***
+Documentation       Deep inspection of HTTP traffic on asymmetric chain.
+...                 Nodes are located on different VMs.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
+
 
 *** Test Cases ***
 Start HTTP on h36_4 on Port 80
     [Documentation]    Starting HTTP service on docker container.
 
 *** Test Cases ***
 Start HTTP on h36_4 on Port 80
     [Documentation]    Starting HTTP service on docker container.
-    Set Test Variables    client_name=h35_3    client_ip=10.0.35.3    server_name=h36_4    server_ip=10.0.36.4    service_port=80    ether_type=0x0800
-    ...    proto=6    vxlan_gpe_port=2    vxlan_port=3
+    Set Test Variables
+    ...    client_name=h35_3
+    ...    client_ip=10.0.35.3
+    ...    server_name=h36_4
+    ...    server_ip=10.0.36.4
+    ...    service_port=80
+    ...    ether_type=0x0800
+    ...    proto=6
+    ...    vxlan_gpe_port=2
+    ...    vxlan_port=3
     Switch Connection    GPSFC6_CONNECTION
     Start HTTP Service on Docker    ${SERVER_NAME}    ${SERVICE_PORT}
 
     Switch Connection    GPSFC6_CONNECTION
     Start HTTP Service on Docker    ${SERVER_NAME}    ${SERVICE_PORT}
 
@@ -31,64 +40,153 @@ Start Endless Curl on h35_3 on port 80
 On GBPSFC1 Send HTTP req h35_3-h36_4 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
 On GBPSFC1 Send HTTP req h35_3-h36_4 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=5    out_port=${VXLAN_GPE_PORT}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}
-    ...    next_hop_ip=${GBPSFC2}    nsi=255    proto=${PROTO}    dst_port=${SERVICE_PORT}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=5
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC2}
+    ...    nsi=255
+    ...    proto=${PROTO}
+    ...    dst_port=${SERVICE_PORT}
     ${nsp_35_3-nsp_36_4}    GET NSP Value From Flow    ${flow}
     Set Global Variable    ${NSP}    ${nsp_35_3-nsp_36_4}
 
 On GBPSFC2 Send HTTP req h35_3-h36_4 to GBPSFC3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
     ${nsp_35_3-nsp_36_4}    GET NSP Value From Flow    ${flow}
     Set Global Variable    ${NSP}    ${nsp_35_3-nsp_36_4}
 
 On GBPSFC2 Send HTTP req h35_3-h36_4 to GBPSFC3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC1}    outer_dst_ip=${GBPSFC2}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC3}    nsp=${NSP}    nsi=255    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC1}
+    ...    outer_dst_ip=${GBPSFC2}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC3}
+    ...    nsp=${NSP}
+    ...    nsi=255
+    ...    proto=${PROTO}
 
 On GBPSFC3 Send HTTP req h35_3-h36_4 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC3_CONNECTION
 
 On GBPSFC3 Send HTTP req h35_3-h36_4 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC3_CONNECTION
-    Inspect Service Function    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC2}    outer_dst_ip=${GBPSFC3}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC2}    nsp=${NSP}    received_nsi=255
+    Inspect Service Function
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC2}
+    ...    outer_dst_ip=${GBPSFC3}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC2}
+    ...    nsp=${NSP}
+    ...    received_nsi=255
 
 On GBPSFC2 Send HTTP req h35_3-h36_4 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
 
 On GBPSFC2 Send HTTP req h35_3-h36_4 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC3}    outer_dst_ip=${GBPSFC2}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC4}    nsp=${NSP}    nsi=254    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC3}
+    ...    outer_dst_ip=${GBPSFC2}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC4}
+    ...    nsp=${NSP}
+    ...    nsi=254
+    ...    proto=${PROTO}
 
 On GBPSFC4 Send HTTP req h35_3-h36_4 to GBPSFC5
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
 
 On GBPSFC4 Send HTTP req h35_3-h36_4 to GBPSFC5
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC2}    outer_dst_ip=${GBPSFC4}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC5}    nsp=${NSP}    nsi=254    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC2}
+    ...    outer_dst_ip=${GBPSFC4}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC5}
+    ...    nsp=${NSP}
+    ...    nsi=254
+    ...    proto=${PROTO}
 
 On GBPSFC5 Send HTTP req h35_3-h36_4 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC5_CONNECTION
 
 On GBPSFC5 Send HTTP req h35_3-h36_4 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC5_CONNECTION
-    Inspect Service Function    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC4}    outer_dst_ip=${GBPSFC5}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC4}    nsp=${NSP}    received_nsi=254
+    Inspect Service Function
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC4}
+    ...    outer_dst_ip=${GBPSFC5}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC4}
+    ...    nsp=${NSP}
+    ...    received_nsi=254
 
 On GBPSFC4 Send HTTP req h35_3-h36_4 to GBPSFC6
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
 
 On GBPSFC4 Send HTTP req h35_3-h36_4 to GBPSFC6
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC5}    outer_dst_ip=${GBPSFC4}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC6}    nsp=${NSP}    nsi=253    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC5}
+    ...    outer_dst_ip=${GBPSFC4}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC6}
+    ...    nsp=${NSP}
+    ...    nsi=253
+    ...    proto=${PROTO}
 
 On GBPSFC6 Send HTTP req h35_3-h36_4 to h36_4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC6_CONNECTION
 
 On GBPSFC6 Send HTTP req h35_3-h36_4 to h36_4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC6_CONNECTION
-    Inspect Classifier Inbound    in_port=${VXLAN_GPE_PORT}    out_port=6    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}    outer_src_ip=${GBPSFC4}
-    ...    outer_dst_ip=${GBPSFC6}    nsp=${NSP}    nsi=253    proto=${PROTO}
+    Inspect Classifier Inbound
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=6
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    outer_src_ip=${GBPSFC4}
+    ...    outer_dst_ip=${GBPSFC6}
+    ...    nsp=${NSP}
+    ...    nsi=253
+    ...    proto=${PROTO}
 
 On GBPSFC6 Send HTTP resp h36_4-h35_3 to GBPSFC1
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC6_CONNECTION
 
 On GBPSFC6 Send HTTP resp h36_4-h35_3 to GBPSFC1
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC6_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=6    out_port=${VXLAN_PORT}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}
-    ...    next_hop_ip=${GBPSFC1}    proto=${PROTO}    src_port=${SERVICE_PORT}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=6
+    ...    out_port=${VXLAN_PORT}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC1}
+    ...    proto=${PROTO}
+    ...    src_port=${SERVICE_PORT}
 
 On GBPSFC1 Send HTTP resp h36_4-h35_3 to h35_3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
 
 On GBPSFC1 Send HTTP resp h36_4-h35_3 to h35_3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
-    Inspect Classifier Inbound    in_port=${VXLAN_PORT}    out_port=5    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}    outer_src_ip=${GBPSFC6}
-    ...    outer_dst_ip=${GBPSFC1}    proto=${PROTO}
+    Inspect Classifier Inbound
+    ...    in_port=${VXLAN_PORT}
+    ...    out_port=5
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    outer_src_ip=${GBPSFC6}
+    ...    outer_dst_ip=${GBPSFC1}
+    ...    proto=${PROTO}
 
 Stop Endless Curl on h36_2 on port 80
     [Documentation]    Stopping endless HTTP session after traffic inspection finishes.
 
 Stop Endless Curl on h36_2 on port 80
     [Documentation]    Stopping endless HTTP session after traffic inspection finishes.
index 49408b1e94f3470cbe73000f3e7190358f6bec85..2c3093564ba1a2b79fae587778f30101a67b6427 100644 (file)
@@ -1,13 +1,13 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep inspection of HTTP traffic on asymmetric chain.
-...               Nodes are located on different VMs.
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep inspection of HTTP traffic on asymmetric chain.
+...                 Nodes are located on different VMs.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
 
 
-*** Variables ***
 
 *** Test Cases ***
 Show GBPSFC1 Status
 
 *** Test Cases ***
 Show GBPSFC1 Status
@@ -44,7 +44,11 @@ Show GBPSFC6 Status
 
 Read Tenants Confing From ODL
     [Documentation]    Logs ODL data store.
 
 Read Tenants Confing From ODL
     [Documentation]    Logs ODL data store.
-    Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_YANG_JSON}
+    Create Session
+    ...    session
+    ...    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}
+    ...    auth=${AUTH}
+    ...    headers=${HEADERS_YANG_JSON}
     ${resp}    RequestsLibrary.Get Request    session    ${GBP_TENANTS_API}
     Log    ${resp.content}
 
     ${resp}    RequestsLibrary.Get Request    session    ${GBP_TENANTS_API}
     Log    ${resp.content}
 
index f9c9b61ea04e3bb51acd625a52e4c61fca8bcbbc..65e3389adb3e025821d986b188f21d2b568bdb1a 100644 (file)
@@ -1,54 +1,59 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for cleaning up / unregister infrastructure constructs like endpoints for demo-asymmetric-chain
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Library           RequestsLibrary
-Library           OperatingSystem
-Library           Collections
-Library           json
-Variables         ../../../../../variables/Variables.py
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/RestconfUtils.robot
-Resource          ../Variables.robot
+Documentation       Test suite for cleaning up / unregister infrastructure constructs like endpoints for demo-asymmetric-chain
+
+Library             RequestsLibrary
+Library             OperatingSystem
+Library             Collections
+Library             json
+Variables           ../../../../../variables/Variables.py
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../../../../../libraries/GBP/RestconfUtils.robot
+Resource            ../Variables.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown      Delete All Sessions
+
 
 *** Test Cases ***
 Delete Service Function Paths
     [Documentation]    Delete Service Function Paths from ODL
 
 *** Test Cases ***
 Delete Service Function Paths
     [Documentation]    Delete Service Function Paths from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     Remove All Elements At URI And Verify    ${SFP_PATH}
 
 Delete Service Function Chains
     [Documentation]    Delete Service Function Chains from ODL
     Remove All Elements At URI And Verify    ${SFP_PATH}
 
 Delete Service Function Chains
     [Documentation]    Delete Service Function Chains from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     Remove All Elements At URI And Verify    ${SFC_PATH}
 
 Delete Service Functions
     [Documentation]    Delete Service Function from ODL
     Remove All Elements At URI And Verify    ${SFC_PATH}
 
 Delete Service Functions
     [Documentation]    Delete Service Function from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     Remove All Elements At URI And Verify    ${SF_PATH}
 
 Delete Service Function Forwarders
     [Documentation]    Delete Service Function Forwarders from ODL
     Remove All Elements At URI And Verify    ${SF_PATH}
 
 Delete Service Function Forwarders
     [Documentation]    Delete Service Function Forwarders from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     Remove All Elements At URI And Verify    ${SFF_PATH}
 
 Delete Tunnels
     [Documentation]    Delete Tunnels from ODL
     Remove All Elements At URI And Verify    ${SFF_PATH}
 
 Delete Tunnels
     [Documentation]    Delete Tunnels from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     Remove All Elements At URI And Verify    ${TUNNELS_PATH}
 
 Delete Tenant
     [Documentation]    Delete Tenant from ODL
     Remove All Elements At URI And Verify    ${TUNNELS_PATH}
 
 Delete Tenant
     [Documentation]    Delete Tenant from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     Remove All Elements At URI And Verify    ${TENANT_PATH}
 
 Unregister Endpoints
     [Documentation]    Unregister Endpoints Endpoints from ODL
     Remove All Elements At URI And Verify    ${TENANT_PATH}
 
 Unregister Endpoints
     [Documentation]    Unregister Endpoints Endpoints from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     RestconfUtils.Unregister Endpoints
 
 Delete OVSDB Topology If Present
     [Documentation]    Delete OVSDB topology from ODL
     RestconfUtils.Unregister Endpoints
 
 Delete OVSDB Topology If Present
     [Documentation]    Delete OVSDB topology from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     ${resp}    RequestsLibrary.Get Request    session    ${TOPOLOGY_PATH}
     ${resp}    RequestsLibrary.Get Request    session    ${TOPOLOGY_PATH}
-    Run Keyword If    ${resp.status_code} == 200    Remove All Elements At URI And Verify    ${TOPOLOGY_PATH}
+    IF    ${resp.status_code} == 200
+        Remove All Elements At URI And Verify    ${TOPOLOGY_PATH}
+    END
index 86d9de2d6eb74db852b5d176be206dfff87c08ba..8ba338c5947724351b47a3987c6965fd22f9409d 100644 (file)
@@ -1,13 +1,15 @@
 *** Settings ***
 *** Settings ***
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
-Resource          ../GBPSFC_6node.robot
+Library         SSHLibrary
+Resource        ../../../../../libraries/Utils.robot
+Resource        ../../../../../libraries/GBP/ConnUtils.robot
+Variables       ../../../../../variables/Variables.py
+Resource        ../Variables.robot
+Resource        ../GBPSFC_6node.robot
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Test Cases ***
 Teardown Suite
 
 *** Test Cases ***
 Teardown Suite
index fffd7b9b7bbaca72a76c9060a2d3bf0fa5260c30..73333ab378fb19392738a645ff9063dccd08cfb5 100644 (file)
@@ -1,6 +1,7 @@
 *** Settings ***
 *** Settings ***
-Resource          ../Variables.robot
-Resource          ../GBPSFC_6node.robot
+Resource    ../Variables.robot
+Resource    ../GBPSFC_6node.robot
+
 
 *** Test Cases ***
 Initialize Nodes
 
 *** Test Cases ***
 Initialize Nodes
index 42475c4a27397f7b74e69c553ab31c0d5b70a3c3..0cb598492790696b7ebd8f88a7ffccdb87878aae 100644 (file)
@@ -1,12 +1,15 @@
 *** Settings ***
 *** Settings ***
-Documentation     Waiting for manager and switch connections.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Waiting for manager and switch connections.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
+
 
 *** Test Cases ***
 Wait For Manager Connected on GBPSFC2
 
 *** Test Cases ***
 Wait For Manager Connected on GBPSFC2
index 18ea63ba30814b0d55cb1f4aacf71320c5117a40..da26e120a2b42f77c987f20b820e6157cec86adb 100644 (file)
@@ -1,13 +1,16 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for setting up infrastructure for demo-symmetric-chain
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Library           RequestsLibrary
-Library           OperatingSystem
-Variables         ../../../../../variables/Variables.py
-Resource          ../../../../../libraries/SSHKeywords.robot
-Resource          ../Variables.robot
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
+Documentation       Test suite for setting up infrastructure for demo-symmetric-chain
+
+Library             RequestsLibrary
+Library             OperatingSystem
+Variables           ../../../../../variables/Variables.py
+Resource            ../../../../../libraries/SSHKeywords.robot
+Resource            ../Variables.robot
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown      Delete All Sessions
+
 
 *** Test Cases ***
 Put Service Functions
 
 *** Test Cases ***
 Put Service Functions
@@ -59,7 +62,7 @@ Put Tenant
 
 Register Endpoints
     [Documentation]    Endpoints registration
 
 Register Endpoints
     [Documentation]    Endpoints registration
-    @{endpoint_files}    OperatingSystem.List Files In Directory    ${ENDPOINTS_SYMM_DIR}    vethl*.*json    absolute
+    @{endpoint_files}    OperatingSystem.List Files In Directory    ${ENDPOINTS_SYMM_DIR}    vethl*.*json    absolute
     FOR    ${endpoint_file}    IN    @{endpoint_files}
         Post Elements To URI From File    ${ENDPOINT_REG_PATH}    ${endpoint_file}    ${HEADERS_YANG_JSON}
     END
     FOR    ${endpoint_file}    IN    @{endpoint_files}
         Post Elements To URI From File    ${ENDPOINT_REG_PATH}    ${endpoint_file}    ${HEADERS_YANG_JSON}
     END
index a9c58cac7aaa75cae6739829682748ec396d93e0..b85d73e559d34036466f676d2d7ee3052b99cae8 100644 (file)
@@ -1,15 +1,18 @@
 *** Settings ***
 *** Settings ***
-Documentation     Documentation Waiting for flows to appear on switches.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../../../../../libraries/GBP/DockerUtils.robot
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Documentation Waiting for flows to appear on switches.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../../../../../libraries/GBP/DockerUtils.robot
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Variables           ../../../../../variables/Variables.py
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
+
 
 *** Test Cases ***
 Wait For Flows on GBPSFC1
 
 *** Test Cases ***
 Wait For Flows on GBPSFC1
index 95c74e84b836a8dfc5a4c753d6289480570570f7..c31a6392a9c2dced70687cecf7d54d4ff4fe21a3 100644 (file)
@@ -1,19 +1,26 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep icmp traffic inspection.
-...               Nodes are located on the same VM in different subnets and are members of the same EPG.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep icmp traffic inspection.
+...                 Nodes are located on the same VM in different subnets and are members of the same EPG.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
 
 
-*** Variables ***
 
 *** Test Cases ***
 Ping Once from h35_2 to h36_2
     [Documentation]    Test icmp request.
 
 *** Test Cases ***
 Ping Once from h35_2 to h36_2
     [Documentation]    Test icmp request.
-    Set Test Variables    client_name=h35_2    client_ip=10.0.35.2    server_name=h36_2    server_ip=10.0.36.2    ether_type=0x0800    proto=1
+    Set Test Variables
+    ...    client_name=h35_2
+    ...    client_ip=10.0.35.2
+    ...    server_name=h36_2
+    ...    server_ip=10.0.36.2
+    ...    ether_type=0x0800
+    ...    proto=1
     Switch Connection    GPSFC1_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
 
     Switch Connection    GPSFC1_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
 
@@ -24,13 +31,23 @@ Start Endless Ping from h35_2 to h36_2
 Find ICMP Req from h35_2 to h36_2 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
 Find ICMP Req from h35_2 to h36_2 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=4    out_port=6    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=4
+    ...    out_port=6
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
     ...    proto=${PROTO}
 
 Find ICMP Resp from h36_2 to h35_2 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
     ...    proto=${PROTO}
 
 Find ICMP Resp from h36_2 to h35_2 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=6    out_port=4    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=6
+    ...    out_port=4
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
     ...    proto=${PROTO}
 
 Stop Endless Ping from h35_2 to h36_2
     ...    proto=${PROTO}
 
 Stop Endless Ping from h35_2 to h36_2
index be10e1882d33542c2fb52727f7f006cc0ca93d8e..b5e823bccbe298e7bb9e125e490f02bea4dc31cd 100644 (file)
@@ -1,19 +1,26 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep icmp traffic inspection.
-...               Nodes are located on the same VM in the same subnet and are members of the same EPG.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep icmp traffic inspection.
+...                 Nodes are located on the same VM in the same subnet and are members of the same EPG.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
 
 
-*** Variables ***
 
 *** Test Cases ***
 Ping Once from h35_2 to h35_3
     [Documentation]    Test icmp request.
 
 *** Test Cases ***
 Ping Once from h35_2 to h35_3
     [Documentation]    Test icmp request.
-    Set Test Variables    client_name=h35_2    client_ip=10.0.35.2    server_name=h35_3    server_ip=10.0.35.3    ether_type=0x0800    proto=1
+    Set Test Variables
+    ...    client_name=h35_2
+    ...    client_ip=10.0.35.2
+    ...    server_name=h35_3
+    ...    server_ip=10.0.35.3
+    ...    ether_type=0x0800
+    ...    proto=1
     Switch Connection    GPSFC1_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
 
     Switch Connection    GPSFC1_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
 
@@ -24,13 +31,23 @@ Start Endless Ping from h35_2 to h35_3
 Find ICMP Req from h35_2 to h35_3 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
 Find ICMP Req from h35_2 to h35_3 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=4    out_port=5    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=4
+    ...    out_port=5
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
     ...    proto=${PROTO}
 
 Find ICMP Resp from h35_3 to h35_2 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
     ...    proto=${PROTO}
 
 Find ICMP Resp from h35_3 to h35_2 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=5    out_port=4    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=5
+    ...    out_port=4
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
     ...    proto=${PROTO}
 
 Stop Endless Ping from h35_2 to h35_3
     ...    proto=${PROTO}
 
 Stop Endless Ping from h35_2 to h35_3
index 5424519acf8e7907f94c8c64fa6ca8eb40309e39..d0a02d5317c1c7a207413fb4a9e9fa6ddfc289ed 100644 (file)
@@ -1,19 +1,26 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep icmp traffic inspection.
-...               Nodes are located on the same VM, in different subnets and are members of the same EPG.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep icmp traffic inspection.
+...                 Nodes are located on the same VM, in different subnets and are members of the same EPG.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
 
 
-*** Variables ***
 
 *** Test Cases ***
 Ping from h36_4 to h35_4
     [Documentation]    Test icmp request.
 
 *** Test Cases ***
 Ping from h36_4 to h35_4
     [Documentation]    Test icmp request.
-    Set Test Variables    client_name=h36_4    client_ip=10.0.36.4    server_name=h35_4    server_ip=10.0.35.4    ether_type=0x0800    proto=1
+    Set Test Variables
+    ...    client_name=h36_4
+    ...    client_ip=10.0.36.4
+    ...    server_name=h35_4
+    ...    server_ip=10.0.35.4
+    ...    ether_type=0x0800
+    ...    proto=1
     Switch Connection    GPSFC6_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
 
     Switch Connection    GPSFC6_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
 
@@ -24,13 +31,23 @@ Start Endless Ping from h36_4 to h35_4
 Find ICMP Req from h36_4 to h35_4 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
 Find ICMP Req from h36_4 to h35_4 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=6    out_port=4    eth_type=0x0800    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=6
+    ...    out_port=4
+    ...    eth_type=0x0800
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
     ...    proto=${PROTO}
 
 Find ICMP Resp from h35_4 to h36_4 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
     ...    proto=${PROTO}
 
 Find ICMP Resp from h35_4 to h36_4 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=4    out_port=6    eth_type=0x0800    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=4
+    ...    out_port=6
+    ...    eth_type=0x0800
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
     ...    proto=${PROTO}
 
 Stop Endless Ping from h36_4 to h35_4
     ...    proto=${PROTO}
 
 Stop Endless Ping from h36_4 to h35_4
index eab6c9c2b80a306a420277eb898c9bae1161cdfc..46eb0da05ccff38a1eb8b0261a0d21b49395c32e 100644 (file)
@@ -1,19 +1,26 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep icmp traffic inspection.
-...               Nodes are located on different VMs in different subnets and are members of different EPGs.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep icmp traffic inspection.
+...                 Nodes are located on different VMs in different subnets and are members of different EPGs.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
 
 
-*** Variables ***
 
 *** Test Cases ***
 Ping from h36_5 to h35_2
     [Documentation]    Test icmp request.
 
 *** Test Cases ***
 Ping from h36_5 to h35_2
     [Documentation]    Test icmp request.
-    Set Test Variables    client_name=h36_5    client_ip=10.0.36.5    server_name=h35_2    server_ip=10.0.35.2    ether_type=0x0800    proto=1
+    Set Test Variables
+    ...    client_name=h36_5
+    ...    client_ip=10.0.36.5
+    ...    server_name=h35_2
+    ...    server_ip=10.0.35.2
+    ...    ether_type=0x0800
+    ...    proto=1
     ...    vxlan_port=3
     Switch Connection    GPSFC6_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
     ...    vxlan_port=3
     Switch Connection    GPSFC6_CONNECTION
     Ping from Docker    ${CLIENT_NAME}    ${SERVER_IP}
@@ -25,26 +32,52 @@ Start Endless Ping from h36_5 to h35_2
 Find ICMP Req from h36_5 to h35_2 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
 Find ICMP Req from h36_5 to h35_2 on GBPSFC6
     [Documentation]    Inspecting icmp req on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=7    out_port=${VXLAN_PORT}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}
-    ...    next_hop_ip=${GBPSFC1}    proto=${PROTO}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=7
+    ...    out_port=${VXLAN_PORT}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC1}
+    ...    proto=${PROTO}
 
 Find ICMP Req from h36_5 to h35_2 on GBPSFC1
     [Documentation]    Inspecting icmp req on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
 
 Find ICMP Req from h36_5 to h35_2 on GBPSFC1
     [Documentation]    Inspecting icmp req on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
-    Inspect Classifier Inbound    in_port=${VXLAN_PORT}    out_port=4    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}    outer_src_ip=${GBPSFC6}
-    ...    outer_dst_ip=${GBPSFC1}    proto=${PROTO}
+    Inspect Classifier Inbound
+    ...    in_port=${VXLAN_PORT}
+    ...    out_port=4
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    outer_src_ip=${GBPSFC6}
+    ...    outer_dst_ip=${GBPSFC1}
+    ...    proto=${PROTO}
 
 Find ICMP Resp from h35_2 to h36_5 on GBPSFC1
     [Documentation]    Inspecting icmp resp on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
 
 Find ICMP Resp from h35_2 to h36_5 on GBPSFC1
     [Documentation]    Inspecting icmp resp on GBPSFC1.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=4    out_port=${VXLAN_PORT}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}
-    ...    next_hop_ip=${GBPSFC6}    proto=${PROTO}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=4
+    ...    out_port=${VXLAN_PORT}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC6}
+    ...    proto=${PROTO}
 
 Find ICMP Resp from h35_2 to h36_5 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
 
 Find ICMP Resp from h35_2 to h36_5 on GBPSFC6
     [Documentation]    Inspecting icmp resp on GBPSFC6.
     Switch Connection    GPSFC6_CONNECTION
-    Inspect Classifier Inbound    in_port=${VXLAN_PORT}    out_port=7    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}    outer_src_ip=${GBPSFC1}
-    ...    outer_dst_ip=${GBPSFC6}    proto=${PROTO}
+    Inspect Classifier Inbound
+    ...    in_port=${VXLAN_PORT}
+    ...    out_port=7
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    outer_src_ip=${GBPSFC1}
+    ...    outer_dst_ip=${GBPSFC6}
+    ...    proto=${PROTO}
 
 Stop Endless Ping from h36_5 to h35_2
     [Documentation]    Stoping of endless pinging after traffic inspection finishes.
 
 Stop Endless Ping from h36_5 to h35_2
     [Documentation]    Stoping of endless pinging after traffic inspection finishes.
index f2c4157ea353e68c85320f643f33fd3159b65c65..2883361bc98c09b8183c8938c3e24b0ba7faece0 100644 (file)
@@ -1,20 +1,28 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep inspection of HTTP traffic on symmetric chain.
-...               Nodes are located on the same VM.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep inspection of HTTP traffic on symmetric chain.
+...                 Nodes are located on the same VM.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
 
 
-*** Variables ***
 
 *** Test Cases ***
 Start HTTP on h36_2 on Port 80
     [Documentation]    Starting HTTP service on docker container.
 
 *** Test Cases ***
 Start HTTP on h36_2 on Port 80
     [Documentation]    Starting HTTP service on docker container.
-    Set Test Variables    client_name=h35_2    client_ip=10.0.35.2    server_name=h36_2    server_ip=10.0.36.2    service_port=80    ether_type=0x0800
-    ...    proto=6    vxlan_gpe_port=2
+    Set Test Variables
+    ...    client_name=h35_2
+    ...    client_ip=10.0.35.2
+    ...    server_name=h36_2
+    ...    server_ip=10.0.36.2
+    ...    service_port=80
+    ...    ether_type=0x0800
+    ...    proto=6
+    ...    vxlan_gpe_port=2
     Switch Connection    GPSFC1_CONNECTION
     Start HTTP Service on Docker    ${SERVER_NAME}    ${SERVICE_PORT}
 
     Switch Connection    GPSFC1_CONNECTION
     Start HTTP Service on Docker    ${SERVER_NAME}    ${SERVICE_PORT}
 
@@ -29,102 +37,252 @@ Start Endless Curl on h35_2 on port 80
 On GBPSFC1 Send HTTP req h35_2-h36_2 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
 On GBPSFC1 Send HTTP req h35_2-h36_2 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=4    out_port=${VXLAN_GPE_PORT}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}
-    ...    next_hop_ip=${GBPSFC2}    nsi=255    proto=${PROTO}    dst_port=${SERVICE_PORT}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=4
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC2}
+    ...    nsi=255
+    ...    proto=${PROTO}
+    ...    dst_port=${SERVICE_PORT}
     ${nsp_35_2-nsp_36_2}    GET NSP Value From Flow    ${flow}
     Set Global Variable    ${NSP_path1}    ${nsp_35_2-nsp_36_2}
 
 On GBPSFC2 Send HTTP req h35_2-h36_2 to GBPSFC3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
     ${nsp_35_2-nsp_36_2}    GET NSP Value From Flow    ${flow}
     Set Global Variable    ${NSP_path1}    ${nsp_35_2-nsp_36_2}
 
 On GBPSFC2 Send HTTP req h35_2-h36_2 to GBPSFC3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC1}    outer_dst_ip=${GBPSFC2}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC3}    nsp=${NSP_path1}    nsi=255    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC1}
+    ...    outer_dst_ip=${GBPSFC2}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC3}
+    ...    nsp=${NSP_path1}
+    ...    nsi=255
+    ...    proto=${PROTO}
 
 On GBPSFC3 Send HTTP req h35_2-h36_2 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC3_CONNECTION
 
 On GBPSFC3 Send HTTP req h35_2-h36_2 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC3_CONNECTION
-    Inspect Service Function    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC2}    outer_dst_ip=${GBPSFC3}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC2}    nsp=${NSP_path1}    received_nsi=255
+    Inspect Service Function
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC2}
+    ...    outer_dst_ip=${GBPSFC3}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC2}
+    ...    nsp=${NSP_path1}
+    ...    received_nsi=255
 
 On GBPSFC2 Send HTTP req h35_2-h36_2 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
 
 On GBPSFC2 Send HTTP req h35_2-h36_2 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC3}    outer_dst_ip=${GBPSFC2}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC4}    nsp=${NSP_path1}    nsi=254    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC3}
+    ...    outer_dst_ip=${GBPSFC2}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC4}
+    ...    nsp=${NSP_path1}
+    ...    nsi=254
+    ...    proto=${PROTO}
 
 On GBPSFC4 Send HTTP req h35_2-h36_2 to GBPSFC5
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
 
 On GBPSFC4 Send HTTP req h35_2-h36_2 to GBPSFC5
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC2}    outer_dst_ip=${GBPSFC4}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC5}    nsp=${NSP_path1}    nsi=254    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC2}
+    ...    outer_dst_ip=${GBPSFC4}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC5}
+    ...    nsp=${NSP_path1}
+    ...    nsi=254
+    ...    proto=${PROTO}
 
 On GBPSFC5 Send HTTP req h35_2-h36_2 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC5_CONNECTION
 
 On GBPSFC5 Send HTTP req h35_2-h36_2 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC5_CONNECTION
-    Inspect Service Function    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC4}    outer_dst_ip=${GBPSFC5}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC4}    nsp=${NSP_path1}    received_nsi=254
+    Inspect Service Function
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC4}
+    ...    outer_dst_ip=${GBPSFC5}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC4}
+    ...    nsp=${NSP_path1}
+    ...    received_nsi=254
 
 On GBPSFC4 Send HTTP req h35_2-h36_2 to GBPSFC1
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
 
 On GBPSFC4 Send HTTP req h35_2-h36_2 to GBPSFC1
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC5}    outer_dst_ip=${GBPSFC4}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC1}    nsp=${NSP_path1}    nsi=253    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC5}
+    ...    outer_dst_ip=${GBPSFC4}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC1}
+    ...    nsp=${NSP_path1}
+    ...    nsi=253
+    ...    proto=${PROTO}
 
 On GBPSFC1 Send HTTP req h35_2-h36_2 to h36_2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
 
 On GBPSFC1 Send HTTP req h35_2-h36_2 to h36_2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
-    Inspect Classifier Inbound    in_port=${VXLAN_GPE_PORT}    out_port=6    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}    outer_src_ip=${GBPSFC4}
-    ...    outer_dst_ip=${GBPSFC1}    nsp=${NSP_path1}    nsi=253    proto=${PROTO}
+    Inspect Classifier Inbound
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=6
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    outer_src_ip=${GBPSFC4}
+    ...    outer_dst_ip=${GBPSFC1}
+    ...    nsp=${NSP_path1}
+    ...    nsi=253
+    ...    proto=${PROTO}
 
 On GBPSFC1 Send HTTP resp h36_2-h35_2 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
 
 On GBPSFC1 Send HTTP resp h36_2-h35_2 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=6    out_port=${VXLAN_GPE_PORT}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}
-    ...    next_hop_ip=${GBPSFC4}    nsi=255    proto=${PROTO}    src_port=${SERVICE_PORT}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=6
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC4}
+    ...    nsi=255
+    ...    proto=${PROTO}
+    ...    src_port=${SERVICE_PORT}
     ${nsp_36_2-nsp_35_2}    GET NSP Value From Flow    ${flow}
     Set Global Variable    ${NSP_path2}    ${nsp_36_2-nsp_35_2}
 
 On GBPSFC4 Send HTTP resp h36_2-h35_2 to GBPSFC5
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
     ${nsp_36_2-nsp_35_2}    GET NSP Value From Flow    ${flow}
     Set Global Variable    ${NSP_path2}    ${nsp_36_2-nsp_35_2}
 
 On GBPSFC4 Send HTTP resp h36_2-h35_2 to GBPSFC5
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC1}    outer_dst_ip=${GBPSFC4}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}
-    ...    inner_dst_ip=${CLIENT_IP}    next_hop_ip=${GBPSFC5}    nsp=${NSP_path2}    nsi=255    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC1}
+    ...    outer_dst_ip=${GBPSFC4}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC5}
+    ...    nsp=${NSP_path2}
+    ...    nsi=255
+    ...    proto=${PROTO}
 
 On GBPSFC5 Send HTTP resp h36_2-h35_2 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC5_CONNECTION
 
 On GBPSFC5 Send HTTP resp h36_2-h35_2 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC5_CONNECTION
-    Inspect Service Function    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC4}    outer_dst_ip=${GBPSFC5}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}
-    ...    inner_dst_ip=${CLIENT_IP}    next_hop_ip=${GBPSFC4}    nsp=${NSP_path2}    received_nsi=255
+    Inspect Service Function
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC4}
+    ...    outer_dst_ip=${GBPSFC5}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC4}
+    ...    nsp=${NSP_path2}
+    ...    received_nsi=255
 
 On GBPSFC4 Send HTTP resp h36_2-h35_2 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
 
 On GBPSFC4 Send HTTP resp h36_2-h35_2 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC5}    outer_dst_ip=${GBPSFC4}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}
-    ...    inner_dst_ip=${CLIENT_IP}    next_hop_ip=${GBPSFC2}    nsp=${NSP_path2}    nsi=254    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC5}
+    ...    outer_dst_ip=${GBPSFC4}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC2}
+    ...    nsp=${NSP_path2}
+    ...    nsi=254
+    ...    proto=${PROTO}
 
 On GBPSFC2 Send HTTP resp h36_2-h35_2 to GBPSFC3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
 
 On GBPSFC2 Send HTTP resp h36_2-h35_2 to GBPSFC3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC4}    outer_dst_ip=${GBPSFC2}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}
-    ...    inner_dst_ip=${CLIENT_IP}    next_hop_ip=${GBPSFC3}    nsp=${NSP_path2}    nsi=254    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC4}
+    ...    outer_dst_ip=${GBPSFC2}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC3}
+    ...    nsp=${NSP_path2}
+    ...    nsi=254
+    ...    proto=${PROTO}
 
 On GBPSFC3 Send HTTP resp h36_2-h35_2 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC3_CONNECTION
 
 On GBPSFC3 Send HTTP resp h36_2-h35_2 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC3_CONNECTION
-    Inspect Service Function    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC2}    outer_dst_ip=${GBPSFC3}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}
-    ...    inner_dst_ip=${CLIENT_IP}    next_hop_ip=${GBPSFC2}    nsp=${NSP_path2}    received_nsi=254
+    Inspect Service Function
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC2}
+    ...    outer_dst_ip=${GBPSFC3}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC2}
+    ...    nsp=${NSP_path2}
+    ...    received_nsi=254
 
 On GBPSFC2 Send HTTP resp h36_2-h35_2 to GBPSFC1
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
 
 On GBPSFC2 Send HTTP resp h36_2-h35_2 to GBPSFC1
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC3}    outer_dst_ip=${GBPSFC2}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}
-    ...    inner_dst_ip=${CLIENT_IP}    next_hop_ip=${GBPSFC1}    nsp=${NSP_path2}    nsi=253    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC3}
+    ...    outer_dst_ip=${GBPSFC2}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC1}
+    ...    nsp=${NSP_path2}
+    ...    nsi=253
+    ...    proto=${PROTO}
 
 On GBPSFC1 Send HTTP resp h36_2-h35_2 to h35_2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
 
 On GBPSFC1 Send HTTP resp h36_2-h35_2 to h35_2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
-    Inspect Classifier Inbound    in_port=${VXLAN_GPE_PORT}    out_port=4    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}    outer_src_ip=${GBPSFC2}
-    ...    outer_dst_ip=${GBPSFC1}    nsp=${NSP_path2}    nsi=253    proto=${PROTO}
+    Inspect Classifier Inbound
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=4
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    outer_src_ip=${GBPSFC2}
+    ...    outer_dst_ip=${GBPSFC1}
+    ...    nsp=${NSP_path2}
+    ...    nsi=253
+    ...    proto=${PROTO}
 
 Compare NSPs
     [Documentation]    Verifying that different paths were taken.
 
 Compare NSPs
     [Documentation]    Verifying that different paths were taken.
index 95830596233ea547b4d487744dd7fbf76e344c24..6db92f1230871e017d4dc3a857d9166357aabcf8 100644 (file)
@@ -1,20 +1,28 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep inspection of HTTP traffic on symmetric chain.
-...               Nodes are located on different VMs.
-Suite Setup       Start Connections
-Suite Teardown    Close Connections
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep inspection of HTTP traffic on symmetric chain.
+...                 Nodes are located on different VMs.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
+
+Suite Setup         Start Connections
+Suite Teardown      Close Connections
 
 
-*** Variables ***
 
 *** Test Cases ***
 Start HTTP on h36_4 on Port 80
     [Documentation]    Starting HTTP service on docker container.
 
 *** Test Cases ***
 Start HTTP on h36_4 on Port 80
     [Documentation]    Starting HTTP service on docker container.
-    Set Test Variables    client_name=h35_3    client_ip=10.0.35.3    server_name=h36_4    server_ip=10.0.36.4    service_port=80    ether_type=0x0800
-    ...    proto=6    vxlan_gpe_port=2
+    Set Test Variables
+    ...    client_name=h35_3
+    ...    client_ip=10.0.35.3
+    ...    server_name=h36_4
+    ...    server_ip=10.0.36.4
+    ...    service_port=80
+    ...    ether_type=0x0800
+    ...    proto=6
+    ...    vxlan_gpe_port=2
     Switch Connection    GPSFC6_CONNECTION
     Start HTTP Service on Docker    ${SERVER_NAME}    ${SERVICE_PORT}
 
     Switch Connection    GPSFC6_CONNECTION
     Start HTTP Service on Docker    ${SERVER_NAME}    ${SERVICE_PORT}
 
@@ -30,102 +38,252 @@ Start Endless Curl on h35_3 on port 80
 On GBPSFC1 Send HTTP req h35_3-h36_4 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
 On GBPSFC1 Send HTTP req h35_3-h36_4 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=5    out_port=${VXLAN_GPE_PORT}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}
-    ...    next_hop_ip=${GBPSFC2}    nsi=255    proto=${PROTO}    dst_port=${SERVICE_PORT}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=5
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC2}
+    ...    nsi=255
+    ...    proto=${PROTO}
+    ...    dst_port=${SERVICE_PORT}
     ${nsp_35_3-nsp_36_4}    GET NSP Value From Flow    ${flow}
     Set Global Variable    ${NSP_path1}    ${nsp_35_3-nsp_36_4}
 
 On GBPSFC2 Send HTTP req h35_3-h36_4 to GBPSFC3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
     ${nsp_35_3-nsp_36_4}    GET NSP Value From Flow    ${flow}
     Set Global Variable    ${NSP_path1}    ${nsp_35_3-nsp_36_4}
 
 On GBPSFC2 Send HTTP req h35_3-h36_4 to GBPSFC3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC1}    outer_dst_ip=${GBPSFC2}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC3}    nsp=${NSP_path1}    nsi=255    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC1}
+    ...    outer_dst_ip=${GBPSFC2}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC3}
+    ...    nsp=${NSP_path1}
+    ...    nsi=255
+    ...    proto=${PROTO}
 
 On GBPSFC3 Send HTTP req h35_3-h36_4 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC3_CONNECTION
 
 On GBPSFC3 Send HTTP req h35_3-h36_4 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC3_CONNECTION
-    Inspect Service Function    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC2}    outer_dst_ip=${GBPSFC3}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC2}    nsp=${NSP_path1}    received_nsi=255
+    Inspect Service Function
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC2}
+    ...    outer_dst_ip=${GBPSFC3}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC2}
+    ...    nsp=${NSP_path1}
+    ...    received_nsi=255
 
 On GBPSFC2 Send HTTP req h35_3-h36_4 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
 
 On GBPSFC2 Send HTTP req h35_3-h36_4 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC3}    outer_dst_ip=${GBPSFC2}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC4}    nsp=${NSP_path1}    nsi=254    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC3}
+    ...    outer_dst_ip=${GBPSFC2}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC4}
+    ...    nsp=${NSP_path1}
+    ...    nsi=254
+    ...    proto=${PROTO}
 
 On GBPSFC4 Send HTTP req h35_3-h36_4 to GBPSFC5
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
 
 On GBPSFC4 Send HTTP req h35_3-h36_4 to GBPSFC5
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC2}    outer_dst_ip=${GBPSFC4}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC5}    nsp=${NSP_path1}    nsi=254    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC2}
+    ...    outer_dst_ip=${GBPSFC4}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC5}
+    ...    nsp=${NSP_path1}
+    ...    nsi=254
+    ...    proto=${PROTO}
 
 On GBPSFC5 Send HTTP req h35_3-h36_4 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC5_CONNECTION
 
 On GBPSFC5 Send HTTP req h35_3-h36_4 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC5_CONNECTION
-    Inspect Service Function    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC4}    outer_dst_ip=${GBPSFC5}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC4}    nsp=${NSP_path1}    received_nsi=254
+    Inspect Service Function
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC4}
+    ...    outer_dst_ip=${GBPSFC5}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC4}
+    ...    nsp=${NSP_path1}
+    ...    received_nsi=254
 
 On GBPSFC4 Send HTTP req h35_3-h36_4 to GBPSFC6
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
 
 On GBPSFC4 Send HTTP req h35_3-h36_4 to GBPSFC6
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC5}    outer_dst_ip=${GBPSFC4}    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}
-    ...    inner_dst_ip=${SERVER_IP}    next_hop_ip=${GBPSFC6}    nsp=${NSP_path1}    nsi=253    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC5}
+    ...    outer_dst_ip=${GBPSFC4}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    next_hop_ip=${GBPSFC6}
+    ...    nsp=${NSP_path1}
+    ...    nsi=253
+    ...    proto=${PROTO}
 
 On GBPSFC6 Send HTTP req h35_3-h36_4 to h36_4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC6_CONNECTION
 
 On GBPSFC6 Send HTTP req h35_3-h36_4 to h36_4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC6_CONNECTION
-    Inspect Classifier Inbound    in_port=${VXLAN_GPE_PORT}    out_port=6    eth_type=${ETHER_TYPE}    inner_src_ip=${CLIENT_IP}    inner_dst_ip=${SERVER_IP}    outer_src_ip=${GBPSFC4}
-    ...    outer_dst_ip=${GBPSFC6}    nsp=${NSP_path1}    nsi=253    proto=${PROTO}
+    Inspect Classifier Inbound
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=6
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${CLIENT_IP}
+    ...    inner_dst_ip=${SERVER_IP}
+    ...    outer_src_ip=${GBPSFC4}
+    ...    outer_dst_ip=${GBPSFC6}
+    ...    nsp=${NSP_path1}
+    ...    nsi=253
+    ...    proto=${PROTO}
 
 On GBPSFC6 Send HTTP resp h36_4-h35_3 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC6_CONNECTION
 
 On GBPSFC6 Send HTTP resp h36_4-h35_3 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC6_CONNECTION
-    ${flow}    Inspect Classifier Outbound    in_port=6    out_port=${VXLAN_GPE_PORT}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}
-    ...    next_hop_ip=${GBPSFC4}    nsi=255    proto=${PROTO}    src_port=${SERVICE_PORT}
+    ${flow}    Inspect Classifier Outbound
+    ...    in_port=6
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC4}
+    ...    nsi=255
+    ...    proto=${PROTO}
+    ...    src_port=${SERVICE_PORT}
     ${nsp_36_4-nsp_35_3}    GET NSP Value From Flow    ${flow}
     Set Global Variable    ${NSP_path2}    ${nsp_36_4-nsp_35_3}
 
 On GBPSFC4 Send HTTP resp h36_4-h35_3 to GBPSFC5
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
     ${nsp_36_4-nsp_35_3}    GET NSP Value From Flow    ${flow}
     Set Global Variable    ${NSP_path2}    ${nsp_36_4-nsp_35_3}
 
 On GBPSFC4 Send HTTP resp h36_4-h35_3 to GBPSFC5
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC6}    outer_dst_ip=${GBPSFC4}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}
-    ...    inner_dst_ip=${CLIENT_IP}    next_hop_ip=${GBPSFC5}    nsp=${NSP_path2}    nsi=255    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC6}
+    ...    outer_dst_ip=${GBPSFC4}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC5}
+    ...    nsp=${NSP_path2}
+    ...    nsi=255
+    ...    proto=${PROTO}
 
 On GBPSFC5 Send HTTP resp h36_4-h35_3 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC5_CONNECTION
 
 On GBPSFC5 Send HTTP resp h36_4-h35_3 to GBPSFC4
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC5_CONNECTION
-    Inspect Service Function    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC4}    outer_dst_ip=${GBPSFC5}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}
-    ...    inner_dst_ip=${CLIENT_IP}    next_hop_ip=${GBPSFC4}    nsp=${NSP_path2}    received_nsi=255
+    Inspect Service Function
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC4}
+    ...    outer_dst_ip=${GBPSFC5}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC4}
+    ...    nsp=${NSP_path2}
+    ...    received_nsi=255
 
 On GBPSFC4 Send HTTP resp h36_4-h35_3 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
 
 On GBPSFC4 Send HTTP resp h36_4-h35_3 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC4_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC5}    outer_dst_ip=${GBPSFC4}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}
-    ...    inner_dst_ip=${CLIENT_IP}    next_hop_ip=${GBPSFC2}    nsp=${NSP_path2}    nsi=254    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC5}
+    ...    outer_dst_ip=${GBPSFC4}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC2}
+    ...    nsp=${NSP_path2}
+    ...    nsi=254
+    ...    proto=${PROTO}
 
 On GBPSFC2 Send HTTP resp h36_4-h35_3 to GBPSFC3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
 
 On GBPSFC2 Send HTTP resp h36_4-h35_3 to GBPSFC3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC4}    outer_dst_ip=${GBPSFC2}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}
-    ...    inner_dst_ip=${CLIENT_IP}    next_hop_ip=${GBPSFC3}    nsp=${NSP_path2}    nsi=254    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC4}
+    ...    outer_dst_ip=${GBPSFC2}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC3}
+    ...    nsp=${NSP_path2}
+    ...    nsi=254
+    ...    proto=${PROTO}
 
 On GBPSFC3 Send HTTP resp h36_4-h35_3 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC3_CONNECTION
 
 On GBPSFC3 Send HTTP resp h36_4-h35_3 to GBPSFC2
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC3_CONNECTION
-    Inspect Service Function    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC2}    outer_dst_ip=${GBPSFC3}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}
-    ...    inner_dst_ip=${CLIENT_IP}    next_hop_ip=${GBPSFC2}    nsp=${NSP_path2}    received_nsi=254
+    Inspect Service Function
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC2}
+    ...    outer_dst_ip=${GBPSFC3}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC2}
+    ...    nsp=${NSP_path2}
+    ...    received_nsi=254
 
 On GBPSFC2 Send HTTP resp h36_4-h35_3 to GBPSFC1
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
 
 On GBPSFC2 Send HTTP resp h36_4-h35_3 to GBPSFC1
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC2_CONNECTION
-    Inspect Service Function Forwarder    in_port=${VXLAN_GPE_PORT}    out_port=${VXLAN_GPE_PORT}    outer_src_ip=${GBPSFC3}    outer_dst_ip=${GBPSFC2}    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}
-    ...    inner_dst_ip=${CLIENT_IP}    next_hop_ip=${GBPSFC1}    nsp=${NSP_path2}    nsi=253    proto=${PROTO}
+    Inspect Service Function Forwarder
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=${VXLAN_GPE_PORT}
+    ...    outer_src_ip=${GBPSFC3}
+    ...    outer_dst_ip=${GBPSFC2}
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    next_hop_ip=${GBPSFC1}
+    ...    nsp=${NSP_path2}
+    ...    nsi=253
+    ...    proto=${PROTO}
 
 On GBPSFC1 Send HTTP resp h36_4-h35_3 to h35_3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
 
 On GBPSFC1 Send HTTP resp h36_4-h35_3 to h35_3
     [Documentation]    HTTP traffic inspection.
     Switch Connection    GPSFC1_CONNECTION
-    Inspect Classifier Inbound    in_port=${VXLAN_GPE_PORT}    out_port=5    eth_type=${ETHER_TYPE}    inner_src_ip=${SERVER_IP}    inner_dst_ip=${CLIENT_IP}    outer_src_ip=${GBPSFC2}
-    ...    outer_dst_ip=${GBPSFC1}    nsp=${NSP_path2}    nsi=253    proto=${PROTO}
+    Inspect Classifier Inbound
+    ...    in_port=${VXLAN_GPE_PORT}
+    ...    out_port=5
+    ...    eth_type=${ETHER_TYPE}
+    ...    inner_src_ip=${SERVER_IP}
+    ...    inner_dst_ip=${CLIENT_IP}
+    ...    outer_src_ip=${GBPSFC2}
+    ...    outer_dst_ip=${GBPSFC1}
+    ...    nsp=${NSP_path2}
+    ...    nsi=253
+    ...    proto=${PROTO}
 
 Compare NSPs
     [Documentation]    Verifying that different paths were taken.
 
 Compare NSPs
     [Documentation]    Verifying that different paths were taken.
index 49408b1e94f3470cbe73000f3e7190358f6bec85..2c3093564ba1a2b79fae587778f30101a67b6427 100644 (file)
@@ -1,13 +1,13 @@
 *** Settings ***
 *** Settings ***
-Documentation     Deep inspection of HTTP traffic on asymmetric chain.
-...               Nodes are located on different VMs.
-Library           SSHLibrary
-Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Resource          ../Variables.robot
-Resource          ../Connections.robot
+Documentation       Deep inspection of HTTP traffic on asymmetric chain.
+...                 Nodes are located on different VMs.
+
+Library             SSHLibrary
+Resource            ../../../../../libraries/GBP/OpenFlowUtils.robot
+Resource            ../../../../../libraries/GBP/ConnUtils.robot
+Resource            ../Variables.robot
+Resource            ../Connections.robot
 
 
-*** Variables ***
 
 *** Test Cases ***
 Show GBPSFC1 Status
 
 *** Test Cases ***
 Show GBPSFC1 Status
@@ -44,7 +44,11 @@ Show GBPSFC6 Status
 
 Read Tenants Confing From ODL
     [Documentation]    Logs ODL data store.
 
 Read Tenants Confing From ODL
     [Documentation]    Logs ODL data store.
-    Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_YANG_JSON}
+    Create Session
+    ...    session
+    ...    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}
+    ...    auth=${AUTH}
+    ...    headers=${HEADERS_YANG_JSON}
     ${resp}    RequestsLibrary.Get Request    session    ${GBP_TENANTS_API}
     Log    ${resp.content}
 
     ${resp}    RequestsLibrary.Get Request    session    ${GBP_TENANTS_API}
     Log    ${resp.content}
 
index dcf8cf9c5c168870955856d101dc9155792c6c5f..85a587313d24c706c7ed899021282907dd58d598 100644 (file)
@@ -1,54 +1,59 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for cleaning up / unregister infrastructure constructs like endpoints for demo-symmetric-chain
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Library           RequestsLibrary
-Library           OperatingSystem
-Library           Collections
-Library           json
-Variables         ../../../../../variables/Variables.py
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/RestconfUtils.robot
-Resource          ../Variables.robot
+Documentation       Test suite for cleaning up / unregister infrastructure constructs like endpoints for demo-symmetric-chain
+
+Library             RequestsLibrary
+Library             OperatingSystem
+Library             Collections
+Library             json
+Variables           ../../../../../variables/Variables.py
+Resource            ../../../../../libraries/Utils.robot
+Resource            ../../../../../libraries/GBP/RestconfUtils.robot
+Resource            ../Variables.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown      Delete All Sessions
+
 
 *** Test Cases ***
 Delete Service Function Paths
     [Documentation]    Delete Service Function Paths from ODL
 
 *** Test Cases ***
 Delete Service Function Paths
     [Documentation]    Delete Service Function Paths from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     Remove All Elements At URI And Verify    ${SFP_PATH}
 
 Delete Service Function Chains
     [Documentation]    Delete Service Function Chains from ODL
     Remove All Elements At URI And Verify    ${SFP_PATH}
 
 Delete Service Function Chains
     [Documentation]    Delete Service Function Chains from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     Remove All Elements At URI And Verify    ${SFC_PATH}
 
 Delete Service Functions
     [Documentation]    Delete Service Function from ODL
     Remove All Elements At URI And Verify    ${SFC_PATH}
 
 Delete Service Functions
     [Documentation]    Delete Service Function from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     Remove All Elements At URI And Verify    ${SF_PATH}
 
 Delete Service Function Forwarders
     [Documentation]    Delete Service Function Forwarders from ODL
     Remove All Elements At URI And Verify    ${SF_PATH}
 
 Delete Service Function Forwarders
     [Documentation]    Delete Service Function Forwarders from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     Remove All Elements At URI And Verify    ${SFF_PATH}
 
 Delete Tunnels
     [Documentation]    Delete Tenant from ODL
     Remove All Elements At URI And Verify    ${SFF_PATH}
 
 Delete Tunnels
     [Documentation]    Delete Tenant from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     Remove All Elements At URI And Verify    ${TUNNELS_PATH}
 
 Delete Tenant
     [Documentation]    Delete Tenant from ODL
     Remove All Elements At URI And Verify    ${TUNNELS_PATH}
 
 Delete Tenant
     [Documentation]    Delete Tenant from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     Remove All Elements At URI And Verify    ${TENANT_PATH}
 
 Unregister Endpoints
     [Documentation]    Unregister Endpoints Endpoints from ODL
     Remove All Elements At URI And Verify    ${TENANT_PATH}
 
 Unregister Endpoints
     [Documentation]    Unregister Endpoints Endpoints from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     RestconfUtils.Unregister Endpoints
 
 Delete OVSDB Topology If Present
     [Documentation]    Delete OVSDB topology from ODL
     RestconfUtils.Unregister Endpoints
 
 Delete OVSDB Topology If Present
     [Documentation]    Delete OVSDB topology from ODL
-    [Tags]    GBPSFCTEAR
+    [Tags]    gbpsfctear
     ${resp}    RequestsLibrary.Get Request    session    ${TOPOLOGY_PATH}
     ${resp}    RequestsLibrary.Get Request    session    ${TOPOLOGY_PATH}
-    Run Keyword If    ${resp.status_code} == 200    Remove All Elements At URI And Verify    ${TOPOLOGY_PATH}
+    IF    ${resp.status_code} == 200
+        Remove All Elements At URI And Verify    ${TOPOLOGY_PATH}
+    END
index 2c386c2b31336f4c794a2807500f51cf35e95704..9ade7001b5a271fc2849b49d086bacb693611e1d 100644 (file)
@@ -1,13 +1,15 @@
 *** Settings ***
 *** Settings ***
-Library           SSHLibrary
-Resource          ../../../../../libraries/Utils.robot
-Resource          ../../../../../libraries/GBP/ConnUtils.robot
-Variables         ../../../../../variables/Variables.py
-Resource          ../Variables.robot
-Resource          ../GBPSFC_6node.robot
+Library         SSHLibrary
+Resource        ../../../../../libraries/Utils.robot
+Resource        ../../../../../libraries/GBP/ConnUtils.robot
+Variables       ../../../../../variables/Variables.py
+Resource        ../Variables.robot
+Resource        ../GBPSFC_6node.robot
+
 
 *** Variables ***
 
 *** Variables ***
-${timeout}        10s
+${timeout}      10s
+
 
 *** Test Cases ***
 Teardown Suite
 
 *** Test Cases ***
 Teardown Suite
index dda330bb1cda03ab7e2802a25598d86a3534b99f..9bfc54ba58c2f18ba85b15e8ba7d0dc658910c22 100644 (file)
@@ -1,28 +1,32 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for Group Based Policy, sxp-ep-provider component.
-Suite Setup       Suite_Startup
-Suite Teardown    Suite_Cleanup
-Test Setup        GbpSxp.Prepare_Ssh_Tooling
-Test Teardown     Wipe_Clean_Ep_Templates_And_Sxp_Node
-Library           OperatingSystem    WITH NAME    os
-Library           RequestsLibrary
-Library           SSHLibrary
-Library           ../../../libraries/GbpSxp.py    WITH NAME    gbpsxp
-Resource          ../../../variables/Variables.robot
-Resource          ../../../libraries/Utils.robot
-Resource          ../../../libraries/TemplatedRequests.robot
-Resource          ${CURDIR}/../../../libraries/KarafKeywords.robot
-Resource          ../../../libraries/GbpSxp.robot
+Documentation       Test suite for Group Based Policy, sxp-ep-provider component.
+
+Library             OperatingSystem    WITH NAME    os
+Library             RequestsLibrary
+Library             SSHLibrary
+Library             ../../../libraries/GbpSxp.py    WITH NAME    gbpsxp
+Resource            ../../../variables/Variables.robot
+Resource            ../../../libraries/Utils.robot
+Resource            ../../../libraries/TemplatedRequests.robot
+Resource            ${CURDIR}/../../../libraries/KarafKeywords.robot
+Resource            ../../../libraries/GbpSxp.robot
+
+Suite Setup         Suite_Startup
+Suite Teardown      Suite_Cleanup
+Test Setup          GbpSxp.Prepare_Ssh_Tooling
+Test Teardown       Wipe_Clean_Ep_Templates_And_Sxp_Node
+
 
 *** Variables ***
 
 *** Variables ***
-${EP_PROVIDER_TEMPLATES_FILE}    ${CURDIR}/../../../variables/gbp/gbpsxp-ep-provider-templates
-${SXP_NODE_CONFIG_FILE}    ${CURDIR}/../../../variables/gbp/gbpsxp-node.json
-${SXP_NODE_ADD_ENTRY_FILE}    ${CURDIR}/../../../variables/gbp/gbpsxp-node-add-entry.json
-${GBP_RPC_UNREGISTER_ENDPOINT_FILE}    ${CURDIR}/../../../variables/gbp/gbpsxp-rpc-unregister-endpoint.json
-${GBP_EXPECTED_ENDPOINTS_FILE}    ${CURDIR}/../../../variables/gbp/gbpsxp-endpoint
-${ISE_MOCK_SERVER_API_FOLDER}    mock-server-tc010
-${CONFIGURE_ISE_SOURCE_FILE}    ${CURDIR}/../../../variables/gbp/gbpsxp-ise-source.json
-${SXP_NODE_NAME}    1.1.1.1
+${EP_PROVIDER_TEMPLATES_FILE}           ${CURDIR}/../../../variables/gbp/gbpsxp-ep-provider-templates
+${SXP_NODE_CONFIG_FILE}                 ${CURDIR}/../../../variables/gbp/gbpsxp-node.json
+${SXP_NODE_ADD_ENTRY_FILE}              ${CURDIR}/../../../variables/gbp/gbpsxp-node-add-entry.json
+${GBP_RPC_UNREGISTER_ENDPOINT_FILE}     ${CURDIR}/../../../variables/gbp/gbpsxp-rpc-unregister-endpoint.json
+${GBP_EXPECTED_ENDPOINTS_FILE}          ${CURDIR}/../../../variables/gbp/gbpsxp-endpoint
+${ISE_MOCK_SERVER_API_FOLDER}           mock-server-tc010
+${CONFIGURE_ISE_SOURCE_FILE}            ${CURDIR}/../../../variables/gbp/gbpsxp-ise-source.json
+${SXP_NODE_NAME}                        1.1.1.1
+
 
 *** Test Cases ***
 Register_EP_Using_Manual_Inputs
 
 *** Test Cases ***
 Register_EP_Using_Manual_Inputs
@@ -37,7 +41,10 @@ Register_EP_Using_Manual_Inputs_And_Ise
     [Documentation]    Elicit endpoint registration by providing ep-forwarding-template and ip-sgt binding (ep-policy-template will loaded from ise-API)
     Utils.Add_Elements_To_URI_From_File    ${SXP_EP_PROVIDER_CONFIG_URI}    ${EP_PROVIDER_TEMPLATES_FILE}-2.2.json
     gbpsxp.Deploy_Ise_Mock_Server    ${ISE_MOCK_SERVER_API_FOLDER}    ${ISE_REST_PORT}
     [Documentation]    Elicit endpoint registration by providing ep-forwarding-template and ip-sgt binding (ep-policy-template will loaded from ise-API)
     Utils.Add_Elements_To_URI_From_File    ${SXP_EP_PROVIDER_CONFIG_URI}    ${EP_PROVIDER_TEMPLATES_FILE}-2.2.json
     gbpsxp.Deploy_Ise_Mock_Server    ${ISE_MOCK_SERVER_API_FOLDER}    ${ISE_REST_PORT}
-    ${ise_harvest_status_json}    gbpsxp.Configure_Ise_Source_And_Gain_Harvest_Status    session    ${CONFIGURE_ISE_SOURCE_FILE}    http://${TOOLS_SYSTEM_IP}:${ISE_REST_PORT}
+    ${ise_harvest_status_json}    gbpsxp.Configure_Ise_Source_And_Gain_Harvest_Status
+    ...    session
+    ...    ${CONFIGURE_ISE_SOURCE_FILE}
+    ...    http://${TOOLS_SYSTEM_IP}:${ISE_REST_PORT}
     gbpsxp.Check_Ise_Harvest_Status    ${ise_harvest_status_json}    5
     Create_sxp_node    session    ${SXP_NODE_CONFIG_FILE}    ${SXP_NODE_NAME}
     Utils.Post_Elements_To_URI_From_File    ${SXP_NODE_RPC_ADD_ENTRY_URI}    ${SXP_NODE_ADD_ENTRY_FILE}
     gbpsxp.Check_Ise_Harvest_Status    ${ise_harvest_status_json}    5
     Create_sxp_node    session    ${SXP_NODE_CONFIG_FILE}    ${SXP_NODE_NAME}
     Utils.Post_Elements_To_URI_From_File    ${SXP_NODE_RPC_ADD_ENTRY_URI}    ${SXP_NODE_ADD_ENTRY_FILE}
@@ -46,68 +53,113 @@ Register_EP_Using_Manual_Inputs_And_Ise
     gbpsxp.Clean_ise_source_config
     gbpsxp.Teardown_Ise_Mock_Server    ${ISE_MOCK_SERVER_API_FOLDER}
 
     gbpsxp.Clean_ise_source_config
     gbpsxp.Teardown_Ise_Mock_Server    ${ISE_MOCK_SERVER_API_FOLDER}
 
+
 *** Keywords ***
 Suite_Startup
     [Documentation]    Setup session and set karaf log levels
 *** Keywords ***
 Suite_Startup
     [Documentation]    Setup session and set karaf log levels
-    RequestsLibrary.Create_Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+    RequestsLibrary.Create_Session
+    ...    session
+    ...    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}
+    ...    auth=${AUTH}
+    ...    headers=${HEADERS}
     KarafKeywords.Setup_Karaf_Keywords
     ${karaf_debug_enabled}    BuiltIn.Get_Variable_Value    ${KARAF_DEBUG}    ${False}
     KarafKeywords.Setup_Karaf_Keywords
     ${karaf_debug_enabled}    BuiltIn.Get_Variable_Value    ${KARAF_DEBUG}    ${False}
-    BuiltIn.run_keyword_if    ${karaf_debug_enabled}    KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set DEBUG org.opendaylight.sxp
-    BuiltIn.run_keyword_if    ${karaf_debug_enabled}    KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set DEBUG org.opendaylight.groupbasedpolicy.renderer
-    BuiltIn.run_keyword_if    ${karaf_debug_enabled}    KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set DEBUG org.opendaylight.groupbasedpolicy.sxp
-    BuiltIn.run_keyword_if    ${karaf_debug_enabled}    KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set DEBUG org.opendaylight.groupbasedpolicy.sxp_ep_provider
+    IF    ${karaf_debug_enabled}
+        KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set DEBUG org.opendaylight.sxp
+    END
+    IF    ${karaf_debug_enabled}
+        KarafKeywords.Execute_Controller_Karaf_Command_On_Background
+        ...    log:set DEBUG org.opendaylight.groupbasedpolicy.renderer
+    END
+    IF    ${karaf_debug_enabled}
+        KarafKeywords.Execute_Controller_Karaf_Command_On_Background
+        ...    log:set DEBUG org.opendaylight.groupbasedpolicy.sxp
+    END
+    IF    ${karaf_debug_enabled}
+        KarafKeywords.Execute_Controller_Karaf_Command_On_Background
+        ...    log:set DEBUG org.opendaylight.groupbasedpolicy.sxp_ep_provider
+    END
 
 Suite_Cleanup
     [Documentation]    Cleanup session and set karaf log levels to default
     ${karaf_debug_enabled}    BuiltIn.Get_Variable_Value    ${KARAF_DEBUG}    ${False}
 
 Suite_Cleanup
     [Documentation]    Cleanup session and set karaf log levels to default
     ${karaf_debug_enabled}    BuiltIn.Get_Variable_Value    ${KARAF_DEBUG}    ${False}
-    BuiltIn.run_keyword_if    ${karaf_debug_enabled}    KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set INFO org.opendaylight.sxp
-    BuiltIn.run_keyword_if    ${karaf_debug_enabled}    KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set INFO org.opendaylight.groupbasedpolicy.renderer
-    BuiltIn.run_keyword_if    ${karaf_debug_enabled}    KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set INFO org.opendaylight.groupbasedpolicy.sxp
-    BuiltIn.run_keyword_if    ${karaf_debug_enabled}    KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set INFO org.opendaylight.groupbasedpolicy.sxp_ep_provider
+    IF    ${karaf_debug_enabled}
+        KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set INFO org.opendaylight.sxp
+    END
+    IF    ${karaf_debug_enabled}
+        KarafKeywords.Execute_Controller_Karaf_Command_On_Background
+        ...    log:set INFO org.opendaylight.groupbasedpolicy.renderer
+    END
+    IF    ${karaf_debug_enabled}
+        KarafKeywords.Execute_Controller_Karaf_Command_On_Background
+        ...    log:set INFO org.opendaylight.groupbasedpolicy.sxp
+    END
+    IF    ${karaf_debug_enabled}
+        KarafKeywords.Execute_Controller_Karaf_Command_On_Background
+        ...    log:set INFO org.opendaylight.groupbasedpolicy.sxp_ep_provider
+    END
     RequestsLibrary.Delete_All_Sessions
 
 Wipe_Clean_Ep_Templates_And_Sxp_Node
     [Documentation]    Delete sxp-ep-provider templates and sxp node
     BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Remove_All_Elements_If_Exist    ${SXP_EP_PROVIDER_CONFIG_URI}
     RequestsLibrary.Delete_All_Sessions
 
 Wipe_Clean_Ep_Templates_And_Sxp_Node
     [Documentation]    Delete sxp-ep-provider templates and sxp node
     BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Remove_All_Elements_If_Exist    ${SXP_EP_PROVIDER_CONFIG_URI}
-    BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Remove_All_Elements_If_Exist    ${SXP_TOPOLOGY_NODE_CONFIG_URI}/node/${SXP_NODE_NAME}
+    BuiltIn.Run_Keyword_And_Ignore_Error
+    ...    Utils.Remove_All_Elements_If_Exist
+    ...    ${SXP_TOPOLOGY_NODE_CONFIG_URI}/node/${SXP_NODE_NAME}
     BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Remove_All_Elements_If_Exist    ${GBP_TENANT_CONFIG_URI}
     Utils.Post_Elements_To_URI_From_File    ${GBP_RPC_UNREGISTER_ENDPOINT_URI}    ${GBP_RPC_UNREGISTER_ENDPOINT_FILE}
     BuiltIn.Wait_Until_Keyword_Succeeds    5    1    Check_For_Clean_Endpoints    session
     gbpsxp.Teardown_Ssh_Tooling
 
 Check_For_Clean_Endpoints
     BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Remove_All_Elements_If_Exist    ${GBP_TENANT_CONFIG_URI}
     Utils.Post_Elements_To_URI_From_File    ${GBP_RPC_UNREGISTER_ENDPOINT_URI}    ${GBP_RPC_UNREGISTER_ENDPOINT_FILE}
     BuiltIn.Wait_Until_Keyword_Succeeds    5    1    Check_For_Clean_Endpoints    session
     gbpsxp.Teardown_Ssh_Tooling
 
 Check_For_Clean_Endpoints
-    [Arguments]    ${session_arg}
     [Documentation]    Ensure that there are no endpoints in the system
     [Documentation]    Ensure that there are no endpoints in the system
+    [Arguments]    ${session_arg}
     ${actual_endpoints}    Utils.Get_Data_From_URI    ${session_arg}    ${GBP_ENDPOINTS_URI}
     ${actual_endpoints_json}    Utils.Json_Parse_From_String    ${actual_endpoints}
     BuiltIn.Should_Be_Empty    ${actual_endpoints_json['endpoints']['address-endpoints']}
 
 Wait_For_Endpoint_And_Check
     ${actual_endpoints}    Utils.Get_Data_From_URI    ${session_arg}    ${GBP_ENDPOINTS_URI}
     ${actual_endpoints_json}    Utils.Json_Parse_From_String    ${actual_endpoints}
     BuiltIn.Should_Be_Empty    ${actual_endpoints_json['endpoints']['address-endpoints']}
 
 Wait_For_Endpoint_And_Check
-    [Arguments]    ${session_arg}    ${expected_endpoints}
     [Documentation]    Wait for endpoint to appear in DS/operational and compare to expected endpoint
     [Documentation]    Wait for endpoint to appear in DS/operational and compare to expected endpoint
-    ${actual_endpoints_no_timestamp}    BuiltIn.Wait_Until_Keyword_Succeeds    5    1    Get_Endpoints_And_Clean_Timestamp    ${session_arg}
+    [Arguments]    ${session_arg}    ${expected_endpoints}
+    ${actual_endpoints_no_timestamp}    BuiltIn.Wait_Until_Keyword_Succeeds
+    ...    5
+    ...    1
+    ...    Get_Endpoints_And_Clean_Timestamp
+    ...    ${session_arg}
     TemplatedRequests.Normalize_Jsons_And_Compare    ${expected_endpoints}    ${actual_endpoints_no_timestamp}
 
 Get_Endpoints_And_Clean_Timestamp
     TemplatedRequests.Normalize_Jsons_And_Compare    ${expected_endpoints}    ${actual_endpoints_no_timestamp}
 
 Get_Endpoints_And_Clean_Timestamp
-    [Arguments]    ${session_arg}
     [Documentation]    Read endpoints from DS/operational and clean timestamp for simple comparison
     [Documentation]    Read endpoints from DS/operational and clean timestamp for simple comparison
+    [Arguments]    ${session_arg}
     ${actual_endpoints}    Utils.Get_Data_From_URI    ${session_arg}    ${GBP_ENDPOINTS_URI}
     ${actual_endpoints_json}    Utils.Json_Parse_From_String    ${actual_endpoints}
     ${actual_endpoints_no_timestamp}    gbpsxp.Remove_Endpoint_Timestamp    ${actual_endpoints_json}
     ${actual_endpoints}    Utils.Get_Data_From_URI    ${session_arg}    ${GBP_ENDPOINTS_URI}
     ${actual_endpoints_json}    Utils.Json_Parse_From_String    ${actual_endpoints}
     ${actual_endpoints_no_timestamp}    gbpsxp.Remove_Endpoint_Timestamp    ${actual_endpoints_json}
-    [Return]    ${actual_endpoints_no_timestamp}
+    RETURN    ${actual_endpoints_no_timestamp}
 
 Create_sxp_node
 
 Create_sxp_node
-    [Arguments]    ${session_arg}    ${sxp_node_config_file}    ${sxp_node_id}
     [Documentation]    Create sxp node and wait till it appears in DS/operational
     [Documentation]    Create sxp node and wait till it appears in DS/operational
-    ${previous_topology_config}    BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Get_Data_From_URI    ${session_arg}    ${SXP_TOPOLOGY_NODE_CONFIG_URI}
+    [Arguments]    ${session_arg}    ${sxp_node_config_file}    ${sxp_node_id}
+    ${previous_topology_config}    BuiltIn.Run_Keyword_And_Ignore_Error
+    ...    Utils.Get_Data_From_URI
+    ...    ${session_arg}
+    ...    ${SXP_TOPOLOGY_NODE_CONFIG_URI}
     BuiltIn.Log    ${previous_topology_config}
     BuiltIn.Log    ${previous_topology_config}
-    Utils.Add_Elements_To_URI_From_File_And_Verify    ${SXP_TOPOLOGY_NODE_CONFIG_URI}/node/${sxp_node_id}    ${sxp_node_config_file}
-    ${sxp_node_config_readback}    Utils.Get_Data_From_URI    ${session_arg}    ${SXP_TOPOLOGY_NODE_CONFIG_URI}/node/${sxp_node_id}
-    BuiltIn.Wait_Until_Keyword_Succeeds    20    2    Check_If_Sxp_Node_Is_Enabled    ${session_arg}    ${SXP_TOPOLOGY_NODE_OPERATIONAL_URI}/node/${sxp_node_id}
+    Utils.Add_Elements_To_URI_From_File_And_Verify
+    ...    ${SXP_TOPOLOGY_NODE_CONFIG_URI}/node/${sxp_node_id}
+    ...    ${sxp_node_config_file}
+    ${sxp_node_config_readback}    Utils.Get_Data_From_URI
+    ...    ${session_arg}
+    ...    ${SXP_TOPOLOGY_NODE_CONFIG_URI}/node/${sxp_node_id}
+    BuiltIn.Wait_Until_Keyword_Succeeds
+    ...    20
+    ...    2
+    ...    Check_If_Sxp_Node_Is_Enabled
+    ...    ${session_arg}
+    ...    ${SXP_TOPOLOGY_NODE_OPERATIONAL_URI}/node/${sxp_node_id}
 
 Check_If_Sxp_Node_Is_Enabled
 
 Check_If_Sxp_Node_Is_Enabled
-    [Arguments]    ${session_arg}    ${node_uri}
     [Documentation]    Read node enabled leaf and check if it is true
     [Documentation]    Read node enabled leaf and check if it is true
+    [Arguments]    ${session_arg}    ${node_uri}
     ${sxp_node}    Utils.Get_Data_From_URI    ${session_arg}    ${node_uri}
     ${sxp_node_json}    Utils.Json_Parse_From_String    ${sxp_node}
     ${sxp_node_enabled}    gbpsxp.Resolve_sxp_node_is_enabled    ${sxp_node_json}
     ${sxp_node}    Utils.Get_Data_From_URI    ${session_arg}    ${node_uri}
     ${sxp_node_json}    Utils.Json_Parse_From_String    ${sxp_node}
     ${sxp_node_enabled}    gbpsxp.Resolve_sxp_node_is_enabled    ${sxp_node_json}
index 91bb35b6be61971773814fbac246a3ae9c1b3551..0e828ce4ad785c0e4ded7617c63fd9864e740579 100644 (file)
@@ -1,41 +1,55 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for Group Based Policy, sxp-ep-provider component.
-Suite Setup       Setup_Http_And_Netconf
-Suite Teardown    Teardown_Http_And_Netconf
-Test Setup        Prepare_Renderer_Prerequisities
-Test Teardown     Wipe_Clean_Renderer_Policy_Cohort
-Library           OperatingSystem    WITH NAME    os
-Library           RequestsLibrary    WITH NAME    reqLib
-Library           SSHLibrary
-Library           ../../../libraries/GbpSxp.py    WITH NAME    gbpsxp
-Resource          ../../../variables/Variables.robot
-Resource          ../../../variables/sfc/Variables.robot
-Resource          ../../../libraries/Utils.robot
-Resource          ../../../libraries/TemplatedRequests.robot
-Resource          ../../../libraries/NetconfKeywords.robot
-Resource          ../../../libraries/GbpSxp.robot
+Documentation       Test suite for Group Based Policy, sxp-ep-provider component.
+
+Library             OperatingSystem    WITH NAME    os
+Library             RequestsLibrary    WITH NAME    reqLib
+Library             SSHLibrary
+Library             ../../../libraries/GbpSxp.py    WITH NAME    gbpsxp
+Resource            ../../../variables/Variables.robot
+Resource            ../../../variables/sfc/Variables.robot
+Resource            ../../../libraries/Utils.robot
+Resource            ../../../libraries/TemplatedRequests.robot
+Resource            ../../../libraries/NetconfKeywords.robot
+Resource            ../../../libraries/GbpSxp.robot
+
+Suite Setup         Setup_Http_And_Netconf
+Suite Teardown      Teardown_Http_And_Netconf
+Test Setup          Prepare_Renderer_Prerequisities
+Test Teardown       Wipe_Clean_Renderer_Policy_Cohort
+
 
 *** Variables ***
 
 *** Variables ***
-${EP_PROVIDER_TEMPLATES_FILE}    ${CURDIR}/../../../variables/gbp/gbpsxp-ep-policy-templates
-${IOS_XE_SCHEMAS_FOLDER}    ${CURDIR}/../../../variables/gbp/ios-xe-schemas
-${GBP_RENDERER_POLICY_FILE}    ${CURDIR}/../../../variables/gbp/gbpsxp-renderer-policy.json
+${EP_PROVIDER_TEMPLATES_FILE}           ${CURDIR}/../../../variables/gbp/gbpsxp-ep-policy-templates
+${IOS_XE_SCHEMAS_FOLDER}                ${CURDIR}/../../../variables/gbp/ios-xe-schemas
+${GBP_RENDERER_POLICY_FILE}             ${CURDIR}/../../../variables/gbp/gbpsxp-renderer-policy.json
 # netconf
 # netconf
-@{IOS_XE_IP}      ${TOOLS_SYSTEM_IP}    ${TOOLS_SYSTEM_2_IP}
-@{IOS_XE_NODE_NAMES}    ios-xe-mock-1    ios-xe-mock-2
-${NETCONF_CONFIG_IOSXE_NODE_FILE}    ${CURDIR}/../../../variables/gbp/ios-xe-netconf-node.json
+@{IOS_XE_IP}                            ${TOOLS_SYSTEM_IP}    ${TOOLS_SYSTEM_2_IP}
+@{IOS_XE_NODE_NAMES}                    ios-xe-mock-1    ios-xe-mock-2
+${NETCONF_CONFIG_IOSXE_NODE_FILE}       ${CURDIR}/../../../variables/gbp/ios-xe-netconf-node.json
 # sfc configuration
 # sfc configuration
-${SFC_SERVICE_FUNCTIONS_FILE}    ${CURDIR}/../../../variables/gbp/sfc/service-functions.json
-${SFC_SF_FORWARDERS_FILE}    ${CURDIR}/../../../variables/gbp/sfc/service-function-forwarders.json
-${SFC_SF_CHAINS_FILE}    ${CURDIR}/../../../variables/gbp/sfc/service-function-chains.json
-${SFC_SF_PATHS_FILE}    ${CURDIR}/../../../variables/gbp/sfc/service-function-paths.json
+${SFC_SERVICE_FUNCTIONS_FILE}           ${CURDIR}/../../../variables/gbp/sfc/service-functions.json
+${SFC_SF_FORWARDERS_FILE}               ${CURDIR}/../../../variables/gbp/sfc/service-function-forwarders.json
+${SFC_SF_CHAINS_FILE}                   ${CURDIR}/../../../variables/gbp/sfc/service-function-chains.json
+${SFC_SF_PATHS_FILE}                    ${CURDIR}/../../../variables/gbp/sfc/service-function-paths.json
+
 
 *** Test Cases ***
 Configure_Sfc_And_Ios_Xe_Renderer_Using_Generated_Sgt
     [Documentation]    Elicit netconf device configuration by providing sfc configurations and ios-xe renderer policy
     ${renderer_policy}    ${next_version}    Provision_renderer_policy    session    ${GBP_RENDERER_POLICY_FILE}
     Utils.Add_Elements_To_URI_And_Verify    ${GBP_RENDERER_CONFIG_URI}/renderer-policy    ${renderer_policy}
 
 *** Test Cases ***
 Configure_Sfc_And_Ios_Xe_Renderer_Using_Generated_Sgt
     [Documentation]    Elicit netconf device configuration by providing sfc configurations and ios-xe renderer policy
     ${renderer_policy}    ${next_version}    Provision_renderer_policy    session    ${GBP_RENDERER_POLICY_FILE}
     Utils.Add_Elements_To_URI_And_Verify    ${GBP_RENDERER_CONFIG_URI}/renderer-policy    ${renderer_policy}
-    BuiltIn.Wait_Until_Keyword_Succeeds    30    2    Check_Renderer_Policy_Status_Version    session    ${next_version}
-    ${security_group_json}    BuiltIn.Wait_Until_Keyword_Succeeds    20    2    Seek_Security_Group    session    ${NETCONF_CONFIG_URI}/node/${IOS_XE_NODE_NAMES[1]}/${MOUNTPOINT_IOSXE_SUFFIX}
+    BuiltIn.Wait_Until_Keyword_Succeeds
+    ...    30
+    ...    2
+    ...    Check_Renderer_Policy_Status_Version
+    ...    session
+    ...    ${next_version}
+    ${security_group_json}    BuiltIn.Wait_Until_Keyword_Succeeds
+    ...    20
+    ...    2
+    ...    Seek_Security_Group
+    ...    session
+    ...    ${NETCONF_CONFIG_URI}/node/${IOS_XE_NODE_NAMES[1]}/${MOUNTPOINT_IOSXE_SUFFIX}
     BuiltIn.Log    ${security_group_json['source']['tag']}    level=DEBUG
     BuiltIn.Log    ${security_group_json['destination']['tag']}    level=DEBUG
     BuiltIn.Should_Be_Equal_As_Integers    100    ${security_group_json['source']['tag']}
     BuiltIn.Log    ${security_group_json['source']['tag']}    level=DEBUG
     BuiltIn.Log    ${security_group_json['destination']['tag']}    level=DEBUG
     BuiltIn.Should_Be_Equal_As_Integers    100    ${security_group_json['source']['tag']}
@@ -49,13 +63,24 @@ Configure_Sfc_And_Ios_Xe_Renderer_Using_Existing_Sgt
     Utils.Add_Elements_To_URI_From_File    ${SXP_EP_PROVIDER_CONFIG_URI}    ${EP_PROVIDER_TEMPLATES_FILE}-3.2.json
     ${renderer_policy}    ${next_version}    Provision_renderer_policy    session    ${GBP_RENDERER_POLICY_FILE}
     Utils.Add_Elements_To_URI_And_Verify    ${GBP_RENDERER_CONFIG_URI}/renderer-policy    ${renderer_policy}
     Utils.Add_Elements_To_URI_From_File    ${SXP_EP_PROVIDER_CONFIG_URI}    ${EP_PROVIDER_TEMPLATES_FILE}-3.2.json
     ${renderer_policy}    ${next_version}    Provision_renderer_policy    session    ${GBP_RENDERER_POLICY_FILE}
     Utils.Add_Elements_To_URI_And_Verify    ${GBP_RENDERER_CONFIG_URI}/renderer-policy    ${renderer_policy}
-    BuiltIn.Wait_Until_Keyword_Succeeds    30    2    Check_Renderer_Policy_Status_Version    session    ${next_version}
-    ${security_group_json}    BuiltIn.Wait_Until_Keyword_Succeeds    20    2    Seek_Security_Group    session    ${NETCONF_CONFIG_URI}/node/${IOS_XE_NODE_NAMES[1]}/${MOUNTPOINT_IOSXE_SUFFIX}
+    BuiltIn.Wait_Until_Keyword_Succeeds
+    ...    30
+    ...    2
+    ...    Check_Renderer_Policy_Status_Version
+    ...    session
+    ...    ${next_version}
+    ${security_group_json}    BuiltIn.Wait_Until_Keyword_Succeeds
+    ...    20
+    ...    2
+    ...    Seek_Security_Group
+    ...    session
+    ...    ${NETCONF_CONFIG_URI}/node/${IOS_XE_NODE_NAMES[1]}/${MOUNTPOINT_IOSXE_SUFFIX}
     BuiltIn.Log    ${security_group_json['source']['tag']}    level=DEBUG
     BuiltIn.Log    ${security_group_json['destination']['tag']}    level=DEBUG
     BuiltIn.Should_Be_Equal_As_Integers    43    ${security_group_json['source']['tag']}
     BuiltIn.Should_Be_Equal_As_Integers    42    ${security_group_json['destination']['tag']}
 
     BuiltIn.Log    ${security_group_json['source']['tag']}    level=DEBUG
     BuiltIn.Log    ${security_group_json['destination']['tag']}    level=DEBUG
     BuiltIn.Should_Be_Equal_As_Integers    43    ${security_group_json['source']['tag']}
     BuiltIn.Should_Be_Equal_As_Integers    42    ${security_group_json['destination']['tag']}
 
+
 *** Keywords ***
 Setup_Http_And_Netconf
     [Documentation]    Setup http session, setup ssh session to tools, deploy netconf-testtool (with ios-xe schemas) and start
 *** Keywords ***
 Setup_Http_And_Netconf
     [Documentation]    Setup http session, setup ssh session to tools, deploy netconf-testtool (with ios-xe schemas) and start
@@ -67,11 +92,18 @@ Setup_Http_And_Netconf
     NetconfKeywords.Setup_NetconfKeywords
     ${run_netconf_testtool_manually}    BuiltIn.Get_Variable_Value    ${run_netconf_testtool_manually}    ${False}
     ${logfile}    Utils.Get_Log_File_Name    testtool
     NetconfKeywords.Setup_NetconfKeywords
     ${run_netconf_testtool_manually}    BuiltIn.Get_Variable_Value    ${run_netconf_testtool_manually}    ${False}
     ${logfile}    Utils.Get_Log_File_Name    testtool
-    BuiltIn.Run_Keyword_If    ${run_netconf_testtool_manually}    BuiltIn.Set_Suite_Variable    ${testtool_log}    ${logfile}
+    IF    ${run_netconf_testtool_manually}
+        BuiltIn.Set_Suite_Variable    ${testtool_log}    ${logfile}
+    END
     FOR    ${ssh_session}    IN    @{TOOLS_SESSIONS}
         SSHKeywords.Restore_Current_Ssh_Connection_From_Index    ${ssh_session}
     FOR    ${ssh_session}    IN    @{TOOLS_SESSIONS}
         SSHKeywords.Restore_Current_Ssh_Connection_From_Index    ${ssh_session}
-        BuiltIn.Run_Keyword_If    not ${run_netconf_testtool_manually}    Install_And_Start_Testtool    device-count=1    debug=false    schemas=${IOS_XE_SCHEMAS_FOLDER}
-        ...    mdsal=true
+        IF    not ${run_netconf_testtool_manually}
+            Install_And_Start_Testtool
+            ...    device-count=1
+            ...    debug=false
+            ...    schemas=${IOS_XE_SCHEMAS_FOLDER}
+            ...    mdsal=true
+        END
     END
 
 Teardown_Http_And_Netconf
     END
 
 Teardown_Http_And_Netconf
@@ -89,14 +121,29 @@ Prepare_Renderer_Prerequisities
     FOR    ${INDEX}    IN RANGE    0    2
         BuiltIn.Log    ${INDEX}
         ${netconf_node_configuration_json}    Utils.Json_Parse_From_File    ${NETCONF_CONFIG_IOSXE_NODE_FILE}
     FOR    ${INDEX}    IN RANGE    0    2
         BuiltIn.Log    ${INDEX}
         ${netconf_node_configuration_json}    Utils.Json_Parse_From_File    ${NETCONF_CONFIG_IOSXE_NODE_FILE}
-        ${netconf_node_configuration}    gbpsxp.Replace_Netconf_Node_Host    ${netconf_node_configuration_json}    ${IOS_XE_NODE_NAMES[${INDEX}]}    ${IOS_XE_IP[${INDEX}]}
+        ${netconf_node_configuration}    gbpsxp.Replace_Netconf_Node_Host
+        ...    ${netconf_node_configuration_json}
+        ...    ${IOS_XE_NODE_NAMES[${INDEX}]}
+        ...    ${IOS_XE_IP[${INDEX}]}
         BuiltIn.Log    ${netconf_node_configuration}    level=DEBUG
         BuiltIn.Log    ${netconf_node_configuration}    level=DEBUG
-        Utils.Add_Elements_To_URI_And_Verify    ${NETCONF_CONFIG_URI}/node/${IOS_XE_NODE_NAMES[${INDEX}]}    ${netconf_node_configuration}
+        Utils.Add_Elements_To_URI_And_Verify
+        ...    ${NETCONF_CONFIG_URI}/node/${IOS_XE_NODE_NAMES[${INDEX}]}
+        ...    ${netconf_node_configuration}
     END
     FOR    ${INDEX}    IN RANGE    0    2
         BuiltIn.Log    ${INDEX}
     END
     FOR    ${INDEX}    IN RANGE    0    2
         BuiltIn.Log    ${INDEX}
-        BuiltIn.Wait_Until_Keyword_Succeeds    30    2    Check_Netconf_Node_Status    session    ${NETCONF_OPERATIONAL_URI}/node/${IOS_XE_NODE_NAMES[${INDEX}]}
-        BuiltIn.Wait_Until_Keyword_Succeeds    10x    3s    TemplatedRequests.Get_From_Uri    ${NETCONF_CONFIG_URI}/node/${IOS_XE_NODE_NAMES[${INDEX}]}/yang-ext:mount    session=session
+        BuiltIn.Wait_Until_Keyword_Succeeds
+        ...    30
+        ...    2
+        ...    Check_Netconf_Node_Status
+        ...    session
+        ...    ${NETCONF_OPERATIONAL_URI}/node/${IOS_XE_NODE_NAMES[${INDEX}]}
+        BuiltIn.Wait_Until_Keyword_Succeeds
+        ...    10x
+        ...    3s
+        ...    TemplatedRequests.Get_From_Uri
+        ...    ${NETCONF_CONFIG_URI}/node/${IOS_XE_NODE_NAMES[${INDEX}]}/yang-ext:mount
+        ...    session=session
     END
     Utils.Add_Elements_To_URI_From_File    ${SERVICE_FUNCTIONS_URI}    ${SFC_SERVICE_FUNCTIONS_FILE}
     &{ip_mgmt_map}    BuiltIn.Create_Dictionary    SFF1=${TOOLS_SYSTEM_2_IP}    SFF2=${TOOLS_SYSTEM_IP}
     END
     Utils.Add_Elements_To_URI_From_File    ${SERVICE_FUNCTIONS_URI}    ${SFC_SERVICE_FUNCTIONS_FILE}
     &{ip_mgmt_map}    BuiltIn.Create_Dictionary    SFF1=${TOOLS_SYSTEM_2_IP}    SFF2=${TOOLS_SYSTEM_IP}
@@ -107,11 +154,13 @@ Prepare_Renderer_Prerequisities
     Utils.Add_Elements_To_URI_From_File    ${SERVICE_FUNCTION_PATHS_URI}    ${SFC_SF_PATHS_FILE}
 
 Check_Netconf_Node_Status
     Utils.Add_Elements_To_URI_From_File    ${SERVICE_FUNCTION_PATHS_URI}    ${SFC_SF_PATHS_FILE}
 
 Check_Netconf_Node_Status
-    [Arguments]    ${session_arg}    ${node_operational_uri}
     [Documentation]    Check if connection status of given node is 'connected'
     [Documentation]    Check if connection status of given node is 'connected'
+    [Arguments]    ${session_arg}    ${node_operational_uri}
     ${node_content}    Utils.Get_Data_From_URI    ${session_arg}    ${node_operational_uri}
     ${node_content_json}    Utils.Json_Parse_From_String    ${node_content}
     ${node_content}    Utils.Get_Data_From_URI    ${session_arg}    ${node_operational_uri}
     ${node_content_json}    Utils.Json_Parse_From_String    ${node_content}
-    BuiltIn.Should_Be_Equal_As_Strings    connected    ${node_content_json['node'][0]['netconf-node-topology:connection-status']}
+    BuiltIn.Should_Be_Equal_As_Strings
+    ...    connected
+    ...    ${node_content_json['node'][0]['netconf-node-topology:connection-status']}
 
 Wipe_Clean_Renderer_Policy_Cohort
     [Documentation]    Delete ep-policy-templates, renderer-policy, sfc configuraions, netconf-device config
 
 Wipe_Clean_Renderer_Policy_Cohort
     [Documentation]    Delete ep-policy-templates, renderer-policy, sfc configuraions, netconf-device config
@@ -122,42 +171,54 @@ Wipe_Clean_Renderer_Policy_Cohort
     BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Remove_All_Elements_If_Exist    ${GBP_RENDERER_CONFIG_URI}
     # clean netconf-device config (behind mountpoint) and disconnect by removing it from DS/config
     FOR    ${ios_xe_node_name}    IN    @{IOS_XE_NODE_NAMES}
     BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Remove_All_Elements_If_Exist    ${GBP_RENDERER_CONFIG_URI}
     # clean netconf-device config (behind mountpoint) and disconnect by removing it from DS/config
     FOR    ${ios_xe_node_name}    IN    @{IOS_XE_NODE_NAMES}
-        BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Remove_All_Elements_If_Exist    ${NETCONF_CONFIG_URI}/node/${ios_xe_node_name}/${MOUNTPOINT_IOSXE_SUFFIX}
-        BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Remove_All_Elements_If_Exist    ${NETCONF_CONFIG_URI}/node/${ios_xe_node_name}
+        BuiltIn.Run_Keyword_And_Ignore_Error
+        ...    Utils.Remove_All_Elements_If_Exist
+        ...    ${NETCONF_CONFIG_URI}/node/${ios_xe_node_name}/${MOUNTPOINT_IOSXE_SUFFIX}
+        BuiltIn.Run_Keyword_And_Ignore_Error
+        ...    Utils.Remove_All_Elements_If_Exist
+        ...    ${NETCONF_CONFIG_URI}/node/${ios_xe_node_name}
     END
     FOR    ${ios_xe_node_name}    IN    @{IOS_XE_NODE_NAMES}
     END
     FOR    ${ios_xe_node_name}    IN    @{IOS_XE_NODE_NAMES}
-        BuiltIn.Wait_Until_Keyword_Succeeds    5    1    Utils.No_Content_From_URI    session    ${NETCONF_OPERATIONAL_URI}/node/${ios_xe_node_name}
+        BuiltIn.Wait_Until_Keyword_Succeeds
+        ...    5
+        ...    1
+        ...    Utils.No_Content_From_URI
+        ...    session
+        ...    ${NETCONF_OPERATIONAL_URI}/node/${ios_xe_node_name}
     END
     BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Remove_All_Elements_If_Exist    ${SXP_EP_PROVIDER_CONFIG_URI}
     BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Remove_All_Elements_If_Exist    ${GBP_TENANT_CONFIG_URI}
 
 Seek_Security_Group
     END
     BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Remove_All_Elements_If_Exist    ${SXP_EP_PROVIDER_CONFIG_URI}
     BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Remove_All_Elements_If_Exist    ${GBP_TENANT_CONFIG_URI}
 
 Seek_Security_Group
-    [Arguments]    ${session_arg}    ${config_uri}
     [Documentation]    Read given DS and seek CONFIG['native']['class-map'][0]['match']['security-group']
     [Documentation]    Read given DS and seek CONFIG['native']['class-map'][0]['match']['security-group']
+    [Arguments]    ${session_arg}    ${config_uri}
     ${device_ds_config}    Utils.Get_Data_From_URI    ${session_arg}    ${config_uri}
     ${device_ds_config_json}    Utils.Json_Parse_From_String    ${device_ds_config}
     ${device_ds_config}    Utils.Get_Data_From_URI    ${session_arg}    ${config_uri}
     ${device_ds_config_json}    Utils.Json_Parse_From_String    ${device_ds_config}
-    [Return]    ${device_ds_config_json['native']['class-map'][0]['match']['security-group']}
+    RETURN    ${device_ds_config_json['native']['class-map'][0]['match']['security-group']}
 
 Propose_Renderer_Configuration_Next_Version
 
 Propose_Renderer_Configuration_Next_Version
-    [Arguments]    ${session_arg}
     [Documentation]    Read current renderer configuration status and compute next version or use 0 if status absents
     [Documentation]    Read current renderer configuration status and compute next version or use 0 if status absents
-    ${renderer_policy}    BuiltIn.Run_Keyword_And_Ignore_Error    Utils.Get_Data_From_URI    ${session_arg}    ${GBP_RENDERER_POLICY_OPERATIONAL_URI}
-    BuiltIn.Return_From_Keyword_If    '${renderer_policy[0]}' != 'PASS'    0
+    [Arguments]    ${session_arg}
+    ${renderer_policy}    BuiltIn.Run_Keyword_And_Ignore_Error
+    ...    Utils.Get_Data_From_URI
+    ...    ${session_arg}
+    ...    ${GBP_RENDERER_POLICY_OPERATIONAL_URI}
+    IF    '${renderer_policy[0]}' != 'PASS'    RETURN    0
     ${renderer_policy_json}    Utils.Json_Parse_From_String    ${renderer_policy[1]}
     ${current_version}    BuiltIn.Convert_To_Integer    ${renderer_policy_json['renderer-policy']['version']}
     ${renderer_policy_json}    Utils.Json_Parse_From_String    ${renderer_policy[1]}
     ${current_version}    BuiltIn.Convert_To_Integer    ${renderer_policy_json['renderer-policy']['version']}
-    [Return]    ${current_version + 1}
+    RETURN    ${current_version + 1}
 
 Provision_renderer_policy
 
 Provision_renderer_policy
-    [Arguments]    ${session_arg}    ${renderer_policy_file}
     [Documentation]    Replace version number in given renderer-policy in order to be the next expected value
     [Documentation]    Replace version number in given renderer-policy in order to be the next expected value
+    [Arguments]    ${session_arg}    ${renderer_policy_file}
     ${renderer_policy_json}    Utils.Json_Parse_From_File    ${renderer_policy_file}
     ${next_version}    Propose_Renderer_Configuration_Next_Version    ${session_arg}
     ${renderer_policy_updated}    gbpsxp.Replace_Renderer_Policy_Version    ${renderer_policy_json}    ${next_version}
     ${renderer_policy_json}    Utils.Json_Parse_From_File    ${renderer_policy_file}
     ${next_version}    Propose_Renderer_Configuration_Next_Version    ${session_arg}
     ${renderer_policy_updated}    gbpsxp.Replace_Renderer_Policy_Version    ${renderer_policy_json}    ${next_version}
-    [Return]    ${renderer_policy_updated}    ${next_version}
+    RETURN    ${renderer_policy_updated}    ${next_version}
 
 Check_Renderer_Policy_Status_Version
 
 Check_Renderer_Policy_Status_Version
-    [Arguments]    ${session_arg}    ${expected_version}
     [Documentation]    Read current renderer policy version and compare it to expected version
     [Documentation]    Read current renderer policy version and compare it to expected version
+    [Arguments]    ${session_arg}    ${expected_version}
     ${renderer_policy}    Utils.Get_Data_From_URI    ${session_arg}    ${GBP_RENDERER_POLICY_OPERATIONAL_URI}
     ${renderer_policy_json}    Utils.Json_Parse_From_String    ${renderer_policy}
     BuiltIn.Should_Be_Equal_As_Integers    ${renderer_policy_json['renderer-policy']['version']}    ${expected_version}
     ${renderer_policy}    Utils.Get_Data_From_URI    ${session_arg}    ${GBP_RENDERER_POLICY_OPERATIONAL_URI}
     ${renderer_policy_json}    Utils.Json_Parse_From_String    ${renderer_policy}
     BuiltIn.Should_Be_Equal_As_Integers    ${renderer_policy_json['renderer-policy']['version']}    ${expected_version}
index 4549afdd05afa5cd694594a7ac9ccd35653ca90f..51ca8cb1b27d858cd77c858aad527fd67fc2bcb3 100644 (file)
@@ -1,30 +1,37 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for Group Based Policy, sxp-ise-adapter component.
-Suite Setup       Setup_Ise_Cohort
-Suite Teardown    Wipe_Clean_Ise_Source_Cohort
-Library           OperatingSystem    WITH NAME    os
-Library           SSHLibrary
-Library           RequestsLibrary
-Library           DateTime
-Library           ../../../libraries/GbpSxp.py    WITH NAME    gbpsxp
-Resource          ../../../variables/Variables.robot
-Resource          ../../../libraries/Utils.robot
-Resource          ../../../libraries/TemplatedRequests.robot
-Resource          ../../../libraries/GbpSxp.robot
+Documentation       Test suite for Group Based Policy, sxp-ise-adapter component.
+
+Library             OperatingSystem    WITH NAME    os
+Library             SSHLibrary
+Library             RequestsLibrary
+Library             DateTime
+Library             ../../../libraries/GbpSxp.py    WITH NAME    gbpsxp
+Resource            ../../../variables/Variables.robot
+Resource            ../../../libraries/Utils.robot
+Resource            ../../../libraries/TemplatedRequests.robot
+Resource            ../../../libraries/GbpSxp.robot
+
+Suite Setup         Setup_Ise_Cohort
+Suite Teardown      Wipe_Clean_Ise_Source_Cohort
+
 
 *** Variables ***
 
 *** Variables ***
-${CONFIGURE_ISE_SOURCE_FILE}    ${CURDIR}/../../../variables/gbp/gbpsxp-ise-source.json
+${CONFIGURE_ISE_SOURCE_FILE}            ${CURDIR}/../../../variables/gbp/gbpsxp-ise-source.json
 ${EXPECTED_EP_POLICY_TEMPLATES_FILE}    ${CURDIR}/../../../variables/gbp/gbpsxp-ep-policy-templates.json
 ${EXPECTED_EP_POLICY_TEMPLATES_FILE}    ${CURDIR}/../../../variables/gbp/gbpsxp-ep-policy-templates.json
-${EXPECTED_TENANT_FILE}    ${CURDIR}/../../../variables/gbp/gbpsxp-tenant.json
-${ISE_API_DIR}    ${CURDIR}/../../../variables/gbp/ise-mock-server-api
-${ISE_MOCK_SERVER_API_FOLDER}    mock-server-tc010
+${EXPECTED_TENANT_FILE}                 ${CURDIR}/../../../variables/gbp/gbpsxp-tenant.json
+${ISE_API_DIR}                          ${CURDIR}/../../../variables/gbp/ise-mock-server-api
+${ISE_MOCK_SERVER_API_FOLDER}           mock-server-tc010
+
 
 *** Test Cases ***
 Configure_Ise_Source_And_Check_Results
     [Documentation]    Configure ise source using JSON file,
     ...    read status of ise-source harvest action (DS/operational/ise-source),
     ...    read+check ep-templates and endpoint-groups
 
 *** Test Cases ***
 Configure_Ise_Source_And_Check_Results
     [Documentation]    Configure ise source using JSON file,
     ...    read status of ise-source harvest action (DS/operational/ise-source),
     ...    read+check ep-templates and endpoint-groups
-    ${ise_harvest_status_json}    gbpsxp.Configure_Ise_Source_And_Gain_Harvest_Status    session    ${CONFIGURE_ISE_SOURCE_FILE}    http://${TOOLS_SYSTEM_IP}:${ISE_REST_PORT}
+    ${ise_harvest_status_json}    gbpsxp.Configure_Ise_Source_And_Gain_Harvest_Status
+    ...    session
+    ...    ${CONFIGURE_ISE_SOURCE_FILE}
+    ...    http://${TOOLS_SYSTEM_IP}:${ISE_REST_PORT}
     gbpsxp.Check_Ise_Harvest_Status    ${ise_harvest_status_json}    5
     ${expected_templates}    os.Get_File    ${EXPECTED_EP_POLICY_TEMPLATES_FILE}
     ${actual_templates}    Utils.Get_Data_From_URI    session    ${GBP_EP_TEMPLATES_CONFIG_URI}
     gbpsxp.Check_Ise_Harvest_Status    ${ise_harvest_status_json}    5
     ${expected_templates}    os.Get_File    ${EXPECTED_EP_POLICY_TEMPLATES_FILE}
     ${actual_templates}    Utils.Get_Data_From_URI    session    ${GBP_EP_TEMPLATES_CONFIG_URI}
@@ -33,10 +40,15 @@ Configure_Ise_Source_And_Check_Results
     ${actual_tenant}    Utils.Get_Data_From_URI    session    ${GBP_TENANT_CONFIG_URI}
     TemplatedRequests.Normalize_Jsons_And_Compare    ${expected_tenant}    ${actual_tenant}
 
     ${actual_tenant}    Utils.Get_Data_From_URI    session    ${GBP_TENANT_CONFIG_URI}
     TemplatedRequests.Normalize_Jsons_And_Compare    ${expected_tenant}    ${actual_tenant}
 
+
 *** Keywords ***
 Setup_Ise_Cohort
     [Documentation]    Start ise mock and prepare restconf session
 *** Keywords ***
 Setup_Ise_Cohort
     [Documentation]    Start ise mock and prepare restconf session
-    RequestsLibrary.Create_Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+    RequestsLibrary.Create_Session
+    ...    session
+    ...    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}
+    ...    auth=${AUTH}
+    ...    headers=${HEADERS}
     GbpSxp.Prepare_Ssh_Tooling
     gbpsxp.Deploy_Ise_Mock_Server    ${ISE_MOCK_SERVER_API_FOLDER}    ${ISE_REST_PORT}
 
     GbpSxp.Prepare_Ssh_Tooling
     gbpsxp.Deploy_Ise_Mock_Server    ${ISE_MOCK_SERVER_API_FOLDER}    ${ISE_REST_PORT}
 
index 757652793ddd404e692f2e3115e6c9ee7cb1cd9c..109d06bdd9497abee677154cd54665842961d14a 100644 (file)
@@ -1,17 +1,21 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for Group Based Policy, Operates functions from Restconf APIs.
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Library           SSHLibrary
-Library           Collections
-Library           OperatingSystem
-Library           RequestsLibrary
-Variables         ../../../variables/Variables.py
-Resource          ../../../libraries/Utils.robot
+Documentation       Test suite for Group Based Policy, Operates functions from Restconf APIs.
+
+Library             SSHLibrary
+Library             Collections
+Library             OperatingSystem
+Library             RequestsLibrary
+Variables           ../../../variables/Variables.py
+Resource            ../../../libraries/Utils.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown      Delete All Sessions
+
 
 *** Variables ***
 
 *** Variables ***
-${REGISTER_ENDPOINT_FILE}    ../../../variables/gbp/register-endpoint.json
-${UNREGISTER_ENDPOINT_FILE}    ../../../variables/gbp/unregister-endpoint.json
+${REGISTER_ENDPOINT_FILE}       ../../../variables/gbp/register-endpoint.json
+${UNREGISTER_ENDPOINT_FILE}     ../../../variables/gbp/unregister-endpoint.json
+
 
 *** Test Cases ***
 Register and Unregister Endpoint
 
 *** Test Cases ***
 Register and Unregister Endpoint
index 8cf76167fa4bf1191fd70157e9c761dead1a4a63..dcf2c4d3699b2bc3f358f2e93c90bb5bcb5934bf 100644 (file)
@@ -1,14 +1,17 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for GBP Tenants, Operates functions from Restconf APIs.
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Library           SSHLibrary
-Library           Collections
-Library           OperatingSystem
-Library           RequestsLibrary
-Variables         ../../../variables/Variables.py
-Resource          ../../../libraries/CompareStream.robot
-Resource          ../../../libraries/Utils.robot
+Documentation       Test suite for GBP Tenants, Operates functions from Restconf APIs.
+
+Library             SSHLibrary
+Library             Collections
+Library             OperatingSystem
+Library             RequestsLibrary
+Variables           ../../../variables/Variables.py
+Resource            ../../../libraries/CompareStream.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 ***
 Init Variables
 
 *** Test Cases ***
 Init Variables
@@ -65,6 +68,7 @@ Clean Datastore After Tests
     [Documentation]    Clean All Tenants In Datastore After Tests
     Remove All Elements At URI    ${GBP_TENANTS_API}
 
     [Documentation]    Clean All Tenants In Datastore After Tests
     Remove All Elements At URI    ${GBP_TENANTS_API}
 
+
 *** Keywords ***
 Init Variables Master
     [Documentation]    Sets variables specific to latest(master) version
 *** Keywords ***
 Init Variables Master
     [Documentation]    Sets variables specific to latest(master) version
index 1c6e64ca156339a6db9617f409995285c593878e..6376b82baff5c5ea1fe58eb4f9dd7d8f101579fa 100644 (file)
@@ -1,19 +1,23 @@
 *** Settings ***
 *** Settings ***
-Documentation     Test suite for GBP Tunnels, Operates functions from Restconf APIs.
-Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
-Suite Teardown    Delete All Sessions
-Library           SSHLibrary
-Library           Collections
-Library           OperatingSystem
-Library           RequestsLibrary
-Variables         ../../../variables/Variables.py
-Resource          ../../../libraries/Utils.robot
+Documentation       Test suite for GBP Tunnels, Operates functions from Restconf APIs.
+
+Library             SSHLibrary
+Library             Collections
+Library             OperatingSystem
+Library             RequestsLibrary
+Variables           ../../../variables/Variables.py
+Resource            ../../../libraries/Utils.robot
+
+Suite Setup         Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown      Delete All Sessions
+
 
 *** Variables ***
 
 *** Variables ***
-${GBP_TUNNELS_FILE}    ../../../variables/gbp/tunnels.json
-${GBP_TUNNEL_ID}    openflow:1
-${GBP_TUNNEL1_URL}    /restconf/config/opendaylight-inventory:nodes/opendaylight-inventory:node/${GBP_TUNNEL_ID}
-${GBP_TUNNEL1_FILE}    ../../../variables/gbp/tunnel1.json
+${GBP_TUNNELS_FILE}     ../../../variables/gbp/tunnels.json
+${GBP_TUNNEL_ID}        openflow:1
+${GBP_TUNNEL1_URL}      /restconf/config/opendaylight-inventory:nodes/opendaylight-inventory:node/${GBP_TUNNEL_ID}
+${GBP_TUNNEL1_FILE}     ../../../variables/gbp/tunnel1.json
+
 
 *** Test Cases ***
 Add Tunnels
 
 *** Test Cases ***
 Add Tunnels