From ba5b450c8caa31ff2d7c2947d05aaff876fd42b0 Mon Sep 17 00:00:00 2001 From: Oleksandr Zharov Date: Wed, 3 Jan 2024 20:17:53 +0100 Subject: [PATCH] Remove suites for groupbasedpolicy Removed suites for no more active groupbasedpolicy project. JIRA: INTTEST-140 Change-Id: Ib08a6d12c705d9a1ad37ba8fa1a200e79111cf1a Signed-off-by: Oleksandr Zharov --- .../020_simple_clustering.robot | 50 --- .../GBP/3-node/Connections.robot | 27 -- .../GBP/3-node/GBP_3node.robot | 33 -- .../GBP/3-node/Variables.robot | 54 --- .../GBP/3-node/__init__.robot | 57 --- .../GBP/3-node/gbp1/000_setup.robot | 21 - .../GBP/3-node/gbp1/001_set_odl.robot | 34 -- .../GBP/3-node/gbp1/002_wait_flows.robot | 25 -- .../GBP/3-node/gbp1/010_icmp.robot | 167 ------- .../GBP/3-node/gbp1/020_http.robot | 191 -------- .../GBP/3-node/gbp1/040_show_data.robot | 63 --- .../GBP/3-node/gbp1/998_clean_odl.robot | 29 -- .../GBP/3-node/gbp1/999_teardown.robot | 21 - .../init_scripts/infrastructure_config.py | 67 --- .../3-node/gbp2-multitenant/000_setup.robot | 21 - .../3-node/gbp2-multitenant/001_set_odl.robot | 35 -- .../gbp2-multitenant/002_wait_flows.robot | 25 -- .../3-node/gbp2-multitenant/010_icmp.robot | 358 --------------- .../3-node/gbp2-multitenant/020_http.robot | 419 ------------------ .../gbp2-multitenant/040_show_data.robot | 63 --- .../gbp2-multitenant/998_clean_odl.robot | 30 -- .../gbp2-multitenant/999_teardown.robot | 21 - .../init_scripts/infrastructure_config.py | 126 ------ .../GBP/Devstack/01__wait_for_odl.robot | 28 -- .../Devstack/02__neutron-mapper_test.robot | 96 ---- .../GBP/Devstack/Variables.robot | 20 - .../GBPSFC/6-node/Connections.robot | 38 -- .../GBPSFC/6-node/GBPSFC_6node.robot | 67 --- .../GBPSFC/6-node/Variables.robot | 81 ---- .../GBPSFC/6-node/__init__.robot | 59 --- .../demo-asymmetric-chain/000_setup.robot | 8 - .../005_wait_for_connections.robot | 21 - .../demo-asymmetric-chain/010_set_odl.robot | 70 --- .../015_wait_for_flows.robot | 46 -- .../031_track_icmp_h35_2_h36_2.robot | 56 --- .../032_track_icmp_h35_2_h35_3.robot | 56 --- .../033_track_icmp_h35_4_h36_4.robot | 56 --- .../034_track_icmp_h36_5_h35_2.robot | 85 ---- .../035_track_curl_h35_2_h36_2.robot | 181 -------- .../036_track_curl_h35_3_h36_4.robot | 199 --------- .../demo-asymmetric-chain/040_show_data.robot | 78 ---- .../demo-asymmetric-chain/998_clean_odl.robot | 59 --- .../demo-asymmetric-chain/999_teardown.robot | 19 - .../init_scripts/infrastructure_config.py | 66 --- .../init_scripts/sf-flows.sh | 18 - .../demo-symmetric-chain/000_setup.robot | 8 - .../005_wait_for_connections.robot | 21 - .../demo-symmetric-chain/010_set_odl.robot | 70 --- .../015_wait_for_flows.robot | 46 -- .../031_track_icmp_h35_2_h36_2.robot | 56 --- .../032_track_icmp_h35_2_h35_3.robot | 56 --- .../033_track_icmp_h35_4_h36_4.robot | 56 --- .../034_track_icmp_h36_5_h35_2.robot | 85 ---- .../035_track_curl_h35_2_h36_2.robot | 298 ------------- .../036_track_curl_h35_3_h36_4.robot | 300 ------------- .../demo-symmetric-chain/040_show_data.robot | 78 ---- .../demo-symmetric-chain/998_clean_odl.robot | 59 --- .../demo-symmetric-chain/999_teardown.robot | 19 - .../init_scripts/infrastructure_config.py | 66 --- .../init_scripts/sf-flows.sh | 18 - .../GBPSXP/ep_provider_register_part.robot | 166 ------- .../GBPSXP/ep_provider_renderer_part.robot | 224 ---------- .../groupbasedpolicy/GBPSXP/ise-adapter.robot | 62 --- .../GBP_Basic/010_gbp_endpoint.robot | 24 - .../GBP_Basic/020_gbp_tenant.robot | 78 ---- .../GBP_Basic/030_gbp_tunnel.robot | 71 --- .../common_scripts/clean-demo.sh | 17 - .../common_scripts/dpdumpflows.py | 15 - .../common_scripts/dumpflows.sh | 17 - .../common_scripts/flowcount.sh | 31 -- .../common_scripts/infrastructure_launch.py | 351 --------------- .../common_scripts/ovswork.sh | 83 ---- .../common_scripts/pollflows.sh | 4 - .../common_scripts/resetcontroller.sh | 11 - .../common_scripts/sf-config.sh | 8 - .../common_scripts/traceflow.sh | 1 - 76 files changed, 5743 deletions(-) delete mode 100644 csit/suites/groupbasedpolicy/Clustering_Datastore/020_simple_clustering.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/Connections.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/GBP_3node.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/Variables.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/__init__.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp1/000_setup.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp1/001_set_odl.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp1/002_wait_flows.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp1/010_icmp.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp1/020_http.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp1/040_show_data.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp1/998_clean_odl.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp1/999_teardown.robot delete mode 100755 csit/suites/groupbasedpolicy/GBP/3-node/gbp1/init_scripts/infrastructure_config.py delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/000_setup.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/001_set_odl.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/002_wait_flows.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/010_icmp.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/020_http.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/040_show_data.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/998_clean_odl.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/999_teardown.robot delete mode 100755 csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/init_scripts/infrastructure_config.py delete mode 100644 csit/suites/groupbasedpolicy/GBP/Devstack/01__wait_for_odl.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/Devstack/02__neutron-mapper_test.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP/Devstack/Variables.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/Connections.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/GBPSFC_6node.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/Variables.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/__init__.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/000_setup.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/005_wait_for_connections.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/010_set_odl.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/015_wait_for_flows.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/031_track_icmp_h35_2_h36_2.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/032_track_icmp_h35_2_h35_3.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/033_track_icmp_h35_4_h36_4.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/034_track_icmp_h36_5_h35_2.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/035_track_curl_h35_2_h36_2.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/036_track_curl_h35_3_h36_4.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/040_show_data.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/998_clean_odl.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/999_teardown.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/init_scripts/infrastructure_config.py delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/init_scripts/sf-flows.sh delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/000_setup.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/005_wait_for_connections.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/010_set_odl.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/015_wait_for_flows.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/031_track_icmp_h35_2_h36_2.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/032_track_icmp_h35_2_h35_3.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/033_track_icmp_h35_4_h36_4.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/034_track_icmp_h36_5_h35_2.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/035_track_curl_h35_2_h36_2.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/036_track_curl_h35_3_h36_4.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/040_show_data.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/998_clean_odl.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/999_teardown.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/init_scripts/infrastructure_config.py delete mode 100644 csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/init_scripts/sf-flows.sh delete mode 100644 csit/suites/groupbasedpolicy/GBPSXP/ep_provider_register_part.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSXP/ep_provider_renderer_part.robot delete mode 100644 csit/suites/groupbasedpolicy/GBPSXP/ise-adapter.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP_Basic/010_gbp_endpoint.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP_Basic/020_gbp_tenant.robot delete mode 100644 csit/suites/groupbasedpolicy/GBP_Basic/030_gbp_tunnel.robot delete mode 100644 csit/suites/groupbasedpolicy/common_scripts/clean-demo.sh delete mode 100644 csit/suites/groupbasedpolicy/common_scripts/dpdumpflows.py delete mode 100644 csit/suites/groupbasedpolicy/common_scripts/dumpflows.sh delete mode 100644 csit/suites/groupbasedpolicy/common_scripts/flowcount.sh delete mode 100644 csit/suites/groupbasedpolicy/common_scripts/infrastructure_launch.py delete mode 100644 csit/suites/groupbasedpolicy/common_scripts/ovswork.sh delete mode 100644 csit/suites/groupbasedpolicy/common_scripts/pollflows.sh delete mode 100644 csit/suites/groupbasedpolicy/common_scripts/resetcontroller.sh delete mode 100644 csit/suites/groupbasedpolicy/common_scripts/sf-config.sh delete mode 100644 csit/suites/groupbasedpolicy/common_scripts/traceflow.sh diff --git a/csit/suites/groupbasedpolicy/Clustering_Datastore/020_simple_clustering.robot b/csit/suites/groupbasedpolicy/Clustering_Datastore/020_simple_clustering.robot deleted file mode 100644 index 00180529f5..0000000000 --- a/csit/suites/groupbasedpolicy/Clustering_Datastore/020_simple_clustering.robot +++ /dev/null @@ -1,50 +0,0 @@ -*** Settings *** -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 - [Documentation] Initialize ODL version specific variables using resource CompareStream. - Init Variables Master - -Add Tenant to one node - [Documentation] Add one Tenant from JSON file - Create Session session http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} - ${jsonbody} Read JSON From File ${GBP_TENANT1_FILE} - Add Elements To URI From File ${GBP_TENANT1_API} ${GBP_TENANT1_FILE} headers=${HEADERS_YANG_JSON} - ${resp} RequestsLibrary.Get Request session ${GBP_TENANT1_API} - Should Be Equal As Strings ${resp.status_code} 200 - ${result} To JSON ${resp.content} - Lists Should be Equal ${result} ${jsonbody} - -Read Tenant from other node - Create Session session http://${ODL_SYSTEM_2_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} - ${jsonbody} Read JSON From File ${GBP_TENANT1_FILE} - ${resp} RequestsLibrary.Get Request session ${GBP_TENANT1_API} - Should Be Equal As Strings ${resp.status_code} 200 - ${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} - RETURN ${jsonbody} - -Init Variables Master - [Documentation] Sets variables specific to latest(master) version - Set Suite Variable ${GBP_TENANT_ID} tenant-red - Set Suite Variable ${GBP_TENANT1_API} /restconf/config/policy:tenants/tenant/${GBP_TENANT_ID} - Set Suite Variable ${GBP_TENANT1_FILE} ${CURDIR}/../../../variables/gbp/master/tenant1.json diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/Connections.robot b/csit/suites/groupbasedpolicy/GBP/3-node/Connections.robot deleted file mode 100644 index 08ae7c24ea..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/Connections.robot +++ /dev/null @@ -1,27 +0,0 @@ -*** 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 - - -*** Keywords *** -Start Connections - [Documentation] Establishes connections to remote VMs. - SSHLibrary.Open Connection ${GBP1} alias=GBP1_CONNECTION - SSHKeywords.Flexible Mininet Login - SSHLibrary.Open Connection ${GBP2} alias=GBP2_CONNECTION - SSHKeywords.Flexible Mininet Login - SSHLibrary.Open Connection ${GBP3} alias=GBP3_CONNECTION - SSHKeywords.Flexible Mininet Login - -Close Connections - [Documentation] Closes connections to remote VMs. - Switch Connection GBP1_CONNECTION - SSHLibrary.Close Connection - Switch Connection GBP2_CONNECTION - SSHLibrary.Close Connection - Switch Connection GBP3_CONNECTION - SSHLibrary.Close Connection diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/GBP_3node.robot b/csit/suites/groupbasedpolicy/GBP/3-node/GBP_3node.robot deleted file mode 100644 index bfa18e392d..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/GBP_3node.robot +++ /dev/null @@ -1,33 +0,0 @@ -*** Settings *** -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 - ${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} - ${stderr} SSHLibrary.Execute Command - ... rm ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/infrastructure_config.py - ... return_stderr=True - ... return_stdout=False - Should Be Empty ${stderr} - ${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 diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/Variables.robot b/csit/suites/groupbasedpolicy/GBP/3-node/Variables.robot deleted file mode 100644 index 1c1107463e..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/Variables.robot +++ /dev/null @@ -1,54 +0,0 @@ -*** Settings *** -Documentation Global variables for GBPSFC 3-node topology - -Variables ../../../../variables/Variables.py -Resource ../../../../libraries/CompareStream.robot - - -*** 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 - - -*** 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} - 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_MAC} ${client_mac} - Set Global Variable ${SAME_WEBSERVER_DOCKER} ${same_webserver_docker} - Set Global Variable ${SAME_WEBSERVER_IP} ${same_webserver_ip} - Set Global Variable ${SAME_WEBSERVER_MAC} ${same_webserver_mac} - Set Global Variable ${DIFF_WEBSERVER_SWITCH_IP} ${diff_webserver_switch_ip} - Set Global Variable ${DIFF_WEBSERVER_DOCKER} ${diff_webserver_docker} - Set Global Variable ${DIFF_WEBSERVER_IP} ${diff_webserver_ip} - Set Global Variable ${DIFF_WEBSERVER_MAC} ${diff_webserver_mac} - -Init Variables - [Documentation] Initialize ODL version specific variables using resource CompareStream. - Init Variables Master - -Init Variables Master - [Documentation] Sets variables specific to latest(master) version - Set Global Variable ${GBP_TENANT1_ID} tenant-red - Set Global Variable ${GBP_TENANT2_ID} tenant-blue - Set Global Variable ${TENANT1_PATH} ${GBP_TENANTS_API}/policy:tenant/${GBP_TENANT1_ID} - Set Global Variable ${TENANT2_PATH} ${GBP_TENANTS_API}/policy:tenant/${GBP_TENANT2_ID} - Set Global Variable ${TENANT1_FILE} ${CURDIR}/../../../../variables/gbp/3node/master/tenant1.json - Set Global Variable ${TENANT2_FILE} ${CURDIR}/../../../../variables/gbp/3node/master/tenant2.json - Set Global Variable ${ENDPOINTS_GBP1_DIR} ${CURDIR}/../../../../variables/gbp/3node/master/demo-gbp1 - Set Global Variable ${ENDPOINTS_GBP2_DIR} ${CURDIR}/../../../../variables/gbp/3node/master/demo-gbp2 diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/__init__.robot b/csit/suites/groupbasedpolicy/GBP/3-node/__init__.robot deleted file mode 100644 index 0c9f5cbbd9..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/__init__.robot +++ /dev/null @@ -1,57 +0,0 @@ -*** Settings *** -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 *** -${timeout} 10s - - -*** 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} - 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 - 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} - Should Be Equal As Numbers ${rc} 0 - SSHLibrary.Close Connection - END - Init Variables - -Teardown Everything - Log stop_suite_in_3_node - FOR ${GBP} IN @{GBPs} - ConnUtils.Connect and Login ${GBP} timeout=${timeout} - SSHLibrary.Execute Command sudo rm -rf ${VM_SCRIPTS_FOLDER} - SSHLibrary.Close Connection - END diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/000_setup.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/000_setup.robot deleted file mode 100644 index f885effbc9..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/000_setup.robot +++ /dev/null @@ -1,21 +0,0 @@ -*** Settings *** -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 *** -${timeout} 10s - - -*** Test Cases *** -Setup Suite - Log Setup suite in gbp1 - GBP_3node.Setup Node ${GBP1} ${CURDIR} 0 timeout=${timeout} - GBP_3node.Setup Node ${GBP2} ${CURDIR} 1 timeout=${timeout} - GBP_3node.Setup Node ${GBP3} ${CURDIR} 2 timeout=${timeout} diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/001_set_odl.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/001_set_odl.robot deleted file mode 100644 index 93510a8de4..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/001_set_odl.robot +++ /dev/null @@ -1,34 +0,0 @@ -*** Settings *** -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 - - -*** Test Cases *** -Put Tunnels - [Documentation] Send tunnel augmentation to ODL - ${json_to_edit} OperatingSystem.Get File ${TUNNELS_FILE} - ${edited_json} Replace String ${json_to_edit} _CLASSIFIER1 ${GBP1} - ${edited_json} Replace String ${edited_json} _CLASSIFIER2 ${GBP2} - ${edited_json} Replace String ${edited_json} _CLASSIFIER3 ${GBP3} - Add Elements To URI And Verify ${TUNNELS_PATH} ${edited_json} ${HEADERS_YANG_JSON} - -Register Endpoints - [Documentation] Endpoints registration - @{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 - -Put Tenant - [Documentation] Send GBP policy to ODL - Add Elements To URI From File ${TENANT1_PATH} ${TENANT1_FILE} ${HEADERS_YANG_JSON} diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/002_wait_flows.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/002_wait_flows.robot deleted file mode 100644 index b6420ea529..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/002_wait_flows.robot +++ /dev/null @@ -1,25 +0,0 @@ -*** Settings *** -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 *** -${timeout} 10s - - -*** Test Cases *** -Wait For Flows - Sleep 30s - ${passed} = Run Keyword And Return Status OpenFlowUtils.Wait For Flows On Switch ${GBP1} 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 - IF not ${passed} Fatal Error Flows not created on sw2! - ${passed} = Run Keyword And Return Status OpenFlowUtils.Wait For Flows On Switch ${GBP3} sw3 - IF not ${passed} Fatal Error Flows not created on sw3! diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/010_icmp.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/010_icmp.robot deleted file mode 100644 index 0cf1492b4e..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/010_icmp.robot +++ /dev/null @@ -1,167 +0,0 @@ -*** Settings *** -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 *** -${timeout} 10s - - -*** Test Cases *** -Same switch, ping once from h35_2 to h36_4 - [Documentation] Ping between endpoints located on the same switch "sw1". - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Ping From Docker ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} - SSHLibrary.Close Connection - -Same switch, start endless ping from h35_2 to h36_4 - [Documentation] Start endless ping from h35_2 to h36_4 so that icmp traffic - ... can be inspected. - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start Endless Ping from Docker ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} - SSHLibrary.Close Connection - -Same switch, ICMP request ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of ICMP request from h35_2 to h36_4 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 4 - Append Inner MAC Check ${matches} src_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${SAME_WEBSERVER_IP} - Append Proto Check ${matches} 1 - Append Inner MAC Check ${actions} dst_addr=${SAME_WEBSERVER_MAC} - Append Inner IPs Check ${actions} ${CLIENT_IP} ${SAME_WEBSERVER_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 6 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Same switch, ICMP reply ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of ICMP reply from h36_4 to h35_2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - Set Suite Variable @{matches} @{EMPTY} - Set Suite Variable @{actions} @{EMPTY} - Append In Port Check ${matches} 6 - Append Inner MAC Check ${matches} src_addr=${SAME_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${SAME_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 1 - Append Inner MAC Check ${actions} dst_addr=${CLIENT_MAC} - Append Inner IPs Check ${actions} ${SAME_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 4 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Same switch, stop endless ping from h35_2 to h36_4 - [Documentation] Stops endless pinging from h35_2 to h36_4 when traffic inspection finishes. - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop Endless Ping from Docker to Address ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} - SSHLibrary.Close Connection - -Different switches, ping once from h35_2 to h36_3 - [Documentation] Different switches (sw1 -> sw3) - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Ping From Docker ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} - SSHLibrary.Close Connection - -Different switches, start endless ping from h35_2 to h36_3 - [Documentation] Starting icmp session for traffic inspection between endpoints located - ... on different switches. - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start Endless Ping from Docker ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} - SSHLibrary.Close Connection - -Different switches, ICMP request ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of ICMP request from h35_2 to h36_3 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 4 - Append Inner MAC Check ${matches} src_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${matches} 1 - Append Tunnel Set Check ${actions} - Append Inner MAC Check ${actions} dst_addr=${DIFF_WEBSERVER_MAC} - Append Inner IPs Check ${actions} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 3 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Different switches, ICMP request ovs-dpctl output check on sw3 - [Documentation] Assert matches and actions on megaflow of ICMP request from h35_2 to h36_3 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append Tunnel Set Check ${matches} - Append Outer IPs Check ${matches} src_ip=${CLIENT_SWITCH_IP} - Append Outer IPs Check ${matches} dst_ip=${DIFF_WEBSERVER_SWITCH_IP} - Append In Port Check ${matches} 3 - Append Inner MAC Check ${matches} dst_addr=${DIFF_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${matches} 1 - Append Inner IPs Check ${actions} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 5 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Different switches, ICMP reply ovs-dpctl output check on sw3 - [Documentation] assert matches and actions on megaflow of ICMP reply from h36_3 to h35_2 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 5 - Append Inner MAC Check ${matches} src_addr=${DIFF_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 1 - Append Tunnel Set Check ${actions} - Append Inner MAC Check ${actions} dst_addr=${CLIENT_MAC} - Append Inner IPs Check ${actions} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 3 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Different switches, ICMP reply ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of ICMP reply from h36_3 to h35_2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append Tunnel Set Check ${matches} - Append Outer IPs Check ${matches} src_ip=${DIFF_WEBSERVER_SWITCH_IP} - Append Outer IPs Check ${matches} dst_ip=${CLIENT_SWITCH_IP} - Append In Port Check ${matches} 3 - Append Inner MAC Check ${matches} dst_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 1 - Append Inner IPs Check ${actions} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 4 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Different switches, stop endless ping from h35_2 to h36_3 - [Documentation] Stops endless pinging from h35_2 to h36_3 when traffic inspection finishes. - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop Endless Ping from Docker to Address ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} - SSHLibrary.Close Connection diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/020_http.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/020_http.robot deleted file mode 100644 index e925ccb133..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/020_http.robot +++ /dev/null @@ -1,191 +0,0 @@ -*** Settings *** -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 *** -${timeout} 10s - - -*** Test Cases *** -Same switch, start SimpleHttpServer on h36_4 - [Documentation] Same Switch (sw1) - # Same subnet tests are not supported by current topology configuration; - # clients and webservers are put in two different subnets - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start HTTP Service on Docker ${SAME_WEBSERVER_DOCKER} 80 - SSHLibrary.Close Connection - -Same switch, curl once from h35_2 to h36_4 - [Documentation] Test HTTP req/resp from h35_2 to h36_4. - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Curl from Docker ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} 80 - SSHLibrary.Close Connection - -Same switch, start endless curl from h35_2 to h36_4 - [Documentation] Init of endless HTTP session for purposes of traffic inspection. - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start Endless Curl from Docker ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} 80 - SSHLibrary.Close Connection - -Same switch, HTTP request ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of HTTP request from h35_2 to h36_4 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 4 - Append Inner MAC Check ${matches} src_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${SAME_WEBSERVER_IP} - Append Proto Check ${matches} 6 - Append Inner MAC Check ${actions} dst_addr=${SAME_WEBSERVER_MAC} - Append Inner IPs Check ${actions} ${CLIENT_IP} ${SAME_WEBSERVER_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 6 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Same switch, HTTP reply ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of HTTP reply from h36_4 to h35_2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 6 - Append Inner MAC Check ${matches} src_addr=${SAME_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${SAME_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 6 - Append Inner MAC Check ${actions} dst_addr=${CLIENT_MAC} - Append Inner IPs Check ${actions} ${SAME_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 4 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Same switch, stop endless curl from h35_2 to h36_4 - [Documentation] Stopping endless HTTP session when traffic inspection finishes. - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop Endless Curl from Docker ${CLIENT_DOCKER} - SSHLibrary.Close Connection - -Same switch, stop SimpleHttpServer on h36_4 - [Documentation] Shutting down HTTP service on h36_4. - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop HTTP Service on Docker ${SAME_WEBSERVER_DOCKER} - SSHLibrary.Close Connection - -Different switches, start SimpleHttpServer on h36_3 - [Documentation] Different switches (sw1 -> sw3) - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - DockerUtils.Start HTTP Service on Docker ${DIFF_WEBSERVER_DOCKER} 80 - SSHLibrary.Close Connection - -Different switches, curl once from h35_2 to h36_3 - [Documentation] Test HTTP req/resp from h35_2 to h36_3. - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Curl from Docker ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} 80 - SSHLibrary.Close Connection - -Different switches, start endless curl from h35_2 to h36_3 - [Documentation] Init of endless HTTP session for purposes of traffic inspection. - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start Endless Curl from Docker ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} 80 - SSHLibrary.Close Connection - -Different switches, HTTP request ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of HTTP request from h35_2 to h36_3 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 4 - Append Inner MAC Check ${matches} src_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${matches} 6 - Append Tunnel Set Check ${actions} - Append Inner MAC Check ${actions} dst_addr=${DIFF_WEBSERVER_MAC} - Append Inner IPs Check ${actions} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 3 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Different switches, HTTP request ovs-dpctl output check on sw3 - [Documentation] Assert matches and actions on megaflow of HTTP request from h35_2 to h36_3 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append Tunnel Set Check ${matches} - Append Outer IPs Check ${matches} src_ip=${CLIENT_SWITCH_IP} - Append Outer IPs Check ${matches} dst_ip=${DIFF_WEBSERVER_SWITCH_IP} - Append In Port Check ${matches} 3 - Append Inner MAC Check ${matches} dst_addr=${DIFF_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${matches} 6 - Append Inner IPs Check ${actions} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 5 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Different switches, HTTP reply ovs-dpctl output check on sw3 - [Documentation] Assert matches and actions on megaflow of HTTP reply from h36_3 to h35_2 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 5 - Append Inner MAC Check ${matches} src_addr=${DIFF_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 6 - Append Tunnel Set Check ${actions} - Append Inner MAC Check ${actions} dst_addr=${CLIENT_MAC} - Append Inner IPs Check ${actions} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 3 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Different switches, HTTP reply ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of HTTP request from h36_3 to h35_2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append Tunnel Set Check ${matches} - Append Outer IPs Check ${matches} src_ip=${DIFF_WEBSERVER_SWITCH_IP} - Append Outer IPs Check ${matches} dst_ip=${CLIENT_SWITCH_IP} - Append In Port Check ${matches} 3 - Append Inner MAC Check ${matches} dst_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 6 - Append Inner IPs Check ${actions} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 4 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Different switches, stop endless curl from h35_2 to h36_3 - [Documentation] Stopping endless HTTP session when traffic inspection finishes. - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop Endless Curl from Docker ${CLIENT_DOCKER} - SSHLibrary.Close Connection - -Different switches, stop SimpleHttpServer on h36_3 - [Documentation] Shutting down HTTP service on h36_3. - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop HTTP Service on Docker ${DIFF_WEBSERVER_DOCKER} - SSHLibrary.Close Connection diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/040_show_data.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/040_show_data.robot deleted file mode 100644 index b17460fccb..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/040_show_data.robot +++ /dev/null @@ -1,63 +0,0 @@ -*** 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 - - -*** Test Cases *** -Show GBPSFC1 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Start Connections - Switch Connection GBP1_CONNECTION - Show Switch Status sw1 - -Show GBPSFC2 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GBP2_CONNECTION - Show Switch Status sw2 - -Show GBPSFC3 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GBP3_CONNECTION - Show Switch Status sw3 - Close Connections - -Read Tenants Confing From ODL - [Documentation] Logs ODL data store. - 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} - -Read Tenants Operational From ODL - ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_GBP_TENANTS_API} - Log ${resp.content} - -Read Nodes Config From ODL - ${resp} RequestsLibrary.Get Request session ${CONFIG_NODES_API} - Log ${resp.content} - -Read Nodes Operational From ODL - ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_NODES_API} - Log ${resp.content} - -Read Topology Config From ODL - ${resp} RequestsLibrary.Get Request session ${CONFIG_TOPO_API} - Log ${resp.content} - -Read Topology Operational From ODL - ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_TOPO_API} - Log ${resp.content} - -Read Endpoints From ODL - ${resp} RequestsLibrary.Get Request session ${GBP_ENDPOINTS_API} - Log ${resp.content} - Delete All Sessions diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/998_clean_odl.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/998_clean_odl.robot deleted file mode 100644 index d79664b01e..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/998_clean_odl.robot +++ /dev/null @@ -1,29 +0,0 @@ -*** Settings *** -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 - - -*** Test Cases *** -Delete Tenant - [Documentation] Delete Tenants from ODL - Remove All Elements At URI ${TENANT1_PATH} - -Unregister Endpoints - [Documentation] Unregister Endpoints Endpoints from ODL - RestconfUtils.Unregister Endpoints - -Delete Nodes - [Documentation] Delete Nodes from ODL - Remove All Elements At URI ${TUNNELS_PATH} diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/999_teardown.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/999_teardown.robot deleted file mode 100644 index 480e59451e..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/999_teardown.robot +++ /dev/null @@ -1,21 +0,0 @@ -*** Settings *** -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 *** -${timeout} 10s - - -*** Test Cases *** -Teardown Suite - Log Teardown suite in gbp1 - FOR ${GBP} IN @{GBPs} - GBP_3node.Teardown Node ${GBP} ${CURDIR} timeout=${timeout} - END diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/init_scripts/infrastructure_config.py b/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/init_scripts/infrastructure_config.py deleted file mode 100755 index 24468e2e31..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp1/init_scripts/infrastructure_config.py +++ /dev/null @@ -1,67 +0,0 @@ -# Config for switches, tunnelIP is the local IP address. -switches = [ - {"name": "sw1", "type": "gbp", "dpid": "1"}, - {"name": "sw2", "type": "gbp", "dpid": "2"}, - {"name": "sw3", "type": "gbp", "dpid": "3"}, - {"name": "sw4", "type": "none", "dpid": "4"}, - {"name": "sw5", "type": "none", "dpid": "5"}, - {"name": "sw6", "type": "none", "dpid": "6"}, - {"name": "sw7", "type": "none", "dpid": "7"}, - {"name": "sw8", "type": "none", "dpid": "8"}, -] - -defaultContainerImage = "alagalah/odlpoc_ovs230" -# defaultContainerImage='ubuntu:14.04' - -# Note that tenant name and endpointGroup name come from policy_config.py - -hosts = [ - { - "name": "h35_2", - "mac": "00:00:00:00:35:02", - "ip": "10.0.35.2/24", - "switch": "sw1", - }, - { - "name": "h35_3", - "ip": "10.0.35.3/24", - "mac": "00:00:00:00:35:03", - "switch": "sw2", - }, - { - "name": "h35_4", - "ip": "10.0.35.4/24", - "mac": "00:00:00:00:35:04", - "switch": "sw3", - }, - { - "name": "h35_5", - "ip": "10.0.35.5/24", - "mac": "00:00:00:00:35:05", - "switch": "sw1", - }, - { - "name": "h36_2", - "ip": "10.0.36.2/24", - "mac": "00:00:00:00:36:02", - "switch": "sw2", - }, - { - "name": "h36_3", - "ip": "10.0.36.3/24", - "mac": "00:00:00:00:36:03", - "switch": "sw3", - }, - { - "name": "h36_4", - "ip": "10.0.36.4/24", - "mac": "00:00:00:00:36:04", - "switch": "sw1", - }, - { - "name": "h36_5", - "ip": "10.0.36.5/24", - "mac": "00:00:00:00:36:05", - "switch": "sw2", - }, -] diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/000_setup.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/000_setup.robot deleted file mode 100644 index b0095fc3db..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/000_setup.robot +++ /dev/null @@ -1,21 +0,0 @@ -*** Settings *** -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 *** -${timeout} 10s - - -*** Test Cases *** -Setup Suite - Log Setup suite in gbp2-multitenant - GBP_3node.Setup Node ${GBP1} ${CURDIR} 0 timeout=${timeout} - GBP_3node.Setup Node ${GBP2} ${CURDIR} 1 timeout=${timeout} - GBP_3node.Setup Node ${GBP3} ${CURDIR} 2 timeout=${timeout} diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/001_set_odl.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/001_set_odl.robot deleted file mode 100644 index c62321d89c..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/001_set_odl.robot +++ /dev/null @@ -1,35 +0,0 @@ -*** Settings *** -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 - - -*** Test Cases *** -Put Tunnels - [Documentation] Send tunnel augmentation to ODL - ${json_to_edit} OperatingSystem.Get File ${TUNNELS_FILE} - ${edited_json} Replace String ${json_to_edit} _CLASSIFIER1 ${GBP1} - ${edited_json} Replace String ${edited_json} _CLASSIFIER2 ${GBP2} - ${edited_json} Replace String ${edited_json} _CLASSIFIER3 ${GBP3} - Add Elements To URI And Verify ${TUNNELS_PATH} ${edited_json} ${HEADERS_YANG_JSON} - -Register Endpoints - [Documentation] Endpoints registration - @{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 - -Put Tenants - [Documentation] Send GBP policy to ODL - Add Elements To URI From File ${TENANT1_PATH} ${TENANT1_FILE} ${HEADERS_YANG_JSON} - Add Elements To URI From File ${TENANT2_PATH} ${TENANT2_FILE} ${HEADERS_YANG_JSON} diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/002_wait_flows.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/002_wait_flows.robot deleted file mode 100644 index a4d0dcde50..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/002_wait_flows.robot +++ /dev/null @@ -1,25 +0,0 @@ -*** Settings *** -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 *** -${timeout} 10s - - -*** Test Cases *** -Wait For Flows - Sleep 30s - ${passed} = Run Keyword And Return Status OpenFlowUtils.Wait For Flows On Switch ${GBP1} 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 - IF not ${passed} Fatal Error Flows not created on sw2! - ${passed} = Run Keyword And Return Status OpenFlowUtils.Wait For Flows On Switch ${GBP3} sw3 - IF not ${passed} Fatal Error Flows not created on sw3! diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/010_icmp.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/010_icmp.robot deleted file mode 100644 index fb9c6711a4..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/010_icmp.robot +++ /dev/null @@ -1,358 +0,0 @@ -*** Settings *** -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 *** -${timeout} 10s - - -*** 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 - -Tenant 1 Same switch, ping once from h35_2 to h36_3 - [Documentation] Ping between endpoints located on the same switch "sw1". - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Ping From Docker ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} - SSHLibrary.Close Connection - -Tenant 1 Same switch, start endless ping from h35_2 to h36_3 - [Documentation] Start endless ping from h35_2 to h36_4 so that icmp traffic - ... can be inspected. - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start Endless Ping from Docker ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} - SSHLibrary.Close Connection - -Tenant 1 Same switch, ICMP request ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of ICMP request from h35_2 to h36_3 - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 4 - Append Inner MAC Check ${matches} src_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${SAME_WEBSERVER_IP} - Append Proto Check ${matches} 1 - Append Inner MAC Check ${actions} dst_addr=${SAME_WEBSERVER_MAC} - Append Inner IPs Check ${actions} ${CLIENT_IP} ${SAME_WEBSERVER_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 7 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 1 Same switch, ICMP reply ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of ICMP reply from h36_3 to h35_2. - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 7 - Append Inner MAC Check ${matches} src_addr=${SAME_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${SAME_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 1 - Append Inner MAC Check ${actions} dst_addr=${CLIENT_MAC} - Append Inner IPs Check ${actions} ${SAME_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 4 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 1 Same switch, stop endless ping from h35_2 to h36_3 - [Documentation] Stops endless pinging from h35_8 to h36_6 when traffic inspection finishes. - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop Endless Ping from Docker to Address ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} - SSHLibrary.Close Connection - -Tenant 1 Different switches, ping once from h35_2 to h36_2 - [Documentation] Different switches (sw1 -> sw3) - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Ping From Docker ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} - SSHLibrary.Close Connection - -Tenant 1 Different switches, start endless ping from h35_2 to h36_2 - [Documentation] Different switches (sw1 -> sw3) - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start Endless Ping from Docker ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} - SSHLibrary.Close Connection - -Tenant 1 Different switches, ICMP request ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of ICMP request from h35_2 to h36_2 - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 4 - Append Inner MAC Check ${matches} src_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${matches} 1 - Append Tunnel Set Check ${actions} - Append Inner MAC Check ${actions} dst_addr=${DIFF_WEBSERVER_MAC} - Append Inner IPs Check ${actions} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 3 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 1 Different switches, ICMP request ovs-dpctl output check on sw3 - [Documentation] Assert matches and actions on megaflow of ICMP request from h35_2 to h36_2 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append Tunnel Set Check ${matches} - Append Outer IPs Check ${matches} src_ip=${CLIENT_SWITCH_IP} - Append Outer IPs Check ${matches} dst_ip=${DIFF_WEBSERVER_SWITCH_IP} - Append In Port Check ${matches} 3 - Append Inner MAC Check ${matches} dst_addr=${DIFF_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${matches} 1 - Append Inner IPs Check ${actions} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 6 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 1 Different switches, ICMP reply ovs-dpctl output check on sw3 - [Documentation] Assert matches and actions on megaflow of ICMP request from h36_2 to h35_2 - [Tags] tenant1 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 6 - Append Inner MAC Check ${matches} src_addr=${DIFF_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 1 - Append Tunnel Set Check ${actions} - Append Inner MAC Check ${actions} dst_addr=${CLIENT_MAC} - Append Inner IPs Check ${actions} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 3 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 1 Different switches, ICMP reply ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of ICMP reply from h36_2 to h35_2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append Tunnel Set Check ${matches} - Append Outer IPs Check ${matches} src_ip=${DIFF_WEBSERVER_SWITCH_IP} - Append Outer IPs Check ${matches} dst_ip=${CLIENT_SWITCH_IP} - Append In Port Check ${matches} 3 - Append Inner MAC Check ${matches} dst_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 1 - Append Inner IPs Check ${actions} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 4 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 1 Different switches, stop endless ping from h35_2 to h36_2 - [Documentation] Stops endless pinging from h35_2 to h36_2 when traffic inspection finishes. - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop Endless Ping from Docker to Address ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} - SSHLibrary.Close Connection - -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 - -Tenant 2 Same switch, ping once from h35_8 to h36_6 - [Documentation] Same switch (sw1) - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Ping From Docker ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} - SSHLibrary.Close Connection - -Tenant 2 Same switch, start endless ping from h35_8 to h36_6 - [Documentation] Starting icmp between hosts on the same switch so that - ... traffic can be inspected. - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start Endless Ping from Docker ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} - SSHLibrary.Close Connection - -Tenant 2 Same switch, ICMP request ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of ICMP request from h35_8 to h36_6 - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 6 - Append Inner MAC Check ${matches} src_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${SAME_WEBSERVER_IP} - Append Proto Check ${matches} 1 - Append Inner MAC Check ${actions} dst_addr=${SAME_WEBSERVER_MAC} - Append Inner IPs Check ${actions} ${CLIENT_IP} ${SAME_WEBSERVER_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 8 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 2 Same switch, ICMP reply ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of ICMP reply from h35_8 to h36_6 - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 8 - Append Inner MAC Check ${matches} src_addr=${SAME_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${SAME_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 1 - Append Inner MAC Check ${actions} dst_addr=${CLIENT_MAC} - Append Inner IPs Check ${actions} ${SAME_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 6 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 2 Same switch, stop endless ping from h35_8 to h36_6 - [Documentation] Stops endless pinging from h35_8 to h36_6 when traffic inspection finishes. - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop Endless Ping from Docker to Address ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} - SSHLibrary.Close Connection - -Tenant 2 Different switches, ping once from h35_8 to h36_7 - [Documentation] Different switches (sw1 -> sw3) - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Ping From Docker ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} - SSHLibrary.Close Connection - -Tenant 2 Different switches, start endless ping from h35_8 to h36_7 - [Documentation] Different switches (sw1 -> sw3) - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start Endless Ping from Docker ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} - SSHLibrary.Close Connection - -Tenant 2 Different switches, ICMP request ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of ICMP request from h35_8 to h36_7 - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 6 - Append Inner MAC Check ${matches} src_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${matches} 1 - Append Tunnel Set Check ${actions} - Append Inner MAC Check ${actions} dst_addr=${DIFF_WEBSERVER_MAC} - Append Inner IPs Check ${actions} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 3 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 2 Different switches, ICMP request ovs-dpctl output check on sw3 - [Documentation] Assert matches and actions on megaflow of ICMP request from h35_8 to h36_7 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append Tunnel Set Check ${matches} - Append Outer IPs Check ${matches} src_ip=${CLIENT_SWITCH_IP} - Append Outer IPs Check ${matches} dst_ip=${DIFF_WEBSERVER_SWITCH_IP} - Append In Port Check ${matches} 3 - Append Inner MAC Check ${matches} dst_addr=${DIFF_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${matches} 1 - Append Inner IPs Check ${actions} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 8 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 2 Different switches, ICMP reply ovs-dpctl output check on sw3 - [Documentation] Assert matches and actions on megaflow of ICMP request from h36_7 to h35_8 - [Tags] tenant2 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 8 - Append Inner MAC Check ${matches} src_addr=${DIFF_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 1 - Append Tunnel Set Check ${actions} - Append Inner MAC Check ${actions} dst_addr=${CLIENT_MAC} - Append Inner IPs Check ${actions} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 3 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 2 Different switches, ICMP reply ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of ICMP reply from h36_7 to h35_8 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append Tunnel Set Check ${matches} - Append Outer IPs Check ${matches} src_ip=${DIFF_WEBSERVER_SWITCH_IP} - Append Outer IPs Check ${matches} dst_ip=${CLIENT_SWITCH_IP} - Append In Port Check ${matches} 3 - Append Inner MAC Check ${matches} dst_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 1 - Append Inner IPs Check ${actions} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 1 - Append Out Port Check ${actions} 6 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 2 Different switches, stop endless ping from h35_8 to h36_7 - [Documentation] Stops endless pinging from h35_8 to h36_7 when traffic inspection finishes. - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop Endless Ping from Docker to Address ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} - SSHLibrary.Close Connection diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/020_http.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/020_http.robot deleted file mode 100644 index c36d73ceb9..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/020_http.robot +++ /dev/null @@ -1,419 +0,0 @@ -*** Settings *** -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 *** -${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 - 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) - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start HTTP Service on Docker ${SAME_WEBSERVER_DOCKER} 80 - SSHLibrary.Close Connection - -Tenant 1 Same switch, curl once from h35_2 to h36_3 - [Documentation] Test HTTP req/rest session between docker located on the same switch. - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Curl from Docker ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} 80 - SSHLibrary.Close Connection - -Tenant 1 Same switch, start endless curl from h35_2 to h36_3 - [Documentation] Init of endless HTTP session between endpoints so that - ... HTTP traffic can be inspected. - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start Endless Curl from Docker ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} 80 - SSHLibrary.Close Connection - -Tenant 1 Same switch, HTTP request ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of HTTP request from h35_2 to h36_3 - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 4 - Append Inner MAC Check ${matches} src_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${SAME_WEBSERVER_IP} - Append Proto Check ${matches} 6 - Append Inner MAC Check ${actions} dst_addr=${SAME_WEBSERVER_MAC} - Append Inner IPs Check ${actions} ${CLIENT_IP} ${SAME_WEBSERVER_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 7 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 1 Same switch, HTTP reply ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of HTTP request from h36_3 to h35_2 - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 7 - Append Inner MAC Check ${matches} src_addr=${SAME_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${SAME_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 6 - Append Inner MAC Check ${actions} dst_addr=${CLIENT_MAC} - Append Inner IPs Check ${actions} ${SAME_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 4 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 1 Same switch, stop endless curl from h35_2 to h36_3 - [Documentation] Stopping endless HTTP session after traffic inspection is done. - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop Endless Curl from Docker ${CLIENT_DOCKER} - SSHLibrary.Close Connection - -Tenant 1 Same switch, stop SimpleHttpServer on h36_3 - [Documentation] Stoping HTTP service on docker container. - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop HTTP Service on Docker ${SAME_WEBSERVER_DOCKER} - SSHLibrary.Close Connection - -Tenant 1 Different switches, start SimpleHttpServer on h36_2 - [Documentation] Different switches (sw1 -> sw3) - [Tags] tenant1 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - DockerUtils.Start HTTP Service on Docker ${DIFF_WEBSERVER_DOCKER} 80 - SSHLibrary.Close Connection - -Tenant 1 Different switches, curl once from h35_2 to h36_2 - [Documentation] Test HTTP req/resp between endpoints located on different switches. - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Curl from Docker ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} 80 - SSHLibrary.Close Connection - -Tenant 1 Different switches, start endless curl from h35_2 to h36_2 - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start Endless Curl from Docker ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} 80 - SSHLibrary.Close Connection - -Tenant 1 Different switches, HTTP request ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of HTTP request from h35_2 to h36_2 - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 4 - Append Inner MAC Check ${matches} src_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${matches} 6 - Append Tunnel Set Check ${actions} - Append Inner MAC Check ${actions} dst_addr=${DIFF_WEBSERVER_MAC} - Append Inner IPs Check ${actions} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 3 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 1 Different switches, HTTP request ovs-dpctl output check on sw3 - [Documentation] Assert matches and actions on megaflow of HTTP request from h35_2 to h36_2 - [Tags] tenant1 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append Tunnel Set Check ${matches} - Append Outer IPs Check ${matches} src_ip=${CLIENT_SWITCH_IP} - Append Outer IPs Check ${matches} dst_ip=${DIFF_WEBSERVER_SWITCH_IP} - Append In Port Check ${matches} 3 - Append Inner MAC Check ${matches} dst_addr=${DIFF_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${matches} 6 - Append Inner IPs Check ${actions} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 6 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 1 Different switches, HTTP reply ovs-dpctl output check on sw3 - [Documentation] Assert matches and actions on megaflow of HTTP request from h36_2 to h35_2 - [Tags] tenant1 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 6 - Append Inner MAC Check ${matches} src_addr=${DIFF_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 6 - Append Tunnel Set Check ${actions} - Append Inner MAC Check ${actions} dst_addr=${CLIENT_MAC} - Append Inner IPs Check ${actions} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 3 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 1 Different switches, HTTP reply ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of HTTP request from h36_2 to h35_2 - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append Tunnel Set Check ${matches} - Append Outer IPs Check ${matches} src_ip=${DIFF_WEBSERVER_SWITCH_IP} - Append Outer IPs Check ${matches} dst_ip=${CLIENT_SWITCH_IP} - Append In Port Check ${matches} 3 - Append Inner MAC Check ${matches} dst_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 6 - Append Inner IPs Check ${actions} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 4 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 1 Different switches, stop endless curl from h35_2 to h36_2 - [Documentation] Stopping endless HTTP session when traffic inspection finishes. - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop Endless Curl from Docker ${CLIENT_DOCKER} - SSHLibrary.Close Connection - -Tenant 1 Different switches, stop SimpleHttpServer on h36_2 - [Documentation] Terminating HTTP service on docker container. - [Tags] tenant1 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop HTTP Service on Docker ${DIFF_WEBSERVER_DOCKER} - SSHLibrary.Close Connection - -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 - -Tenant 2 Same switch, start SimpleHttpServer on h36_6 - [Documentation] Same Switch (sw1) - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start HTTP Service on Docker ${SAME_WEBSERVER_DOCKER} 80 - SSHLibrary.Close Connection - -Tenant 2 Same switch, curl once from h35_8 to h36_6 - [Documentation] Test HTTP req/resp between endpoints on the same switch. - [Tags] tenant1 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Curl from Docker ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} 80 - SSHLibrary.Close Connection - -Tenant 2 Same switch, start endless curl from h35_8 to h36_6 - [Documentation] Init if endless HTTP Session between endpoints on the same switch. - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start Endless Curl from Docker ${CLIENT_DOCKER} ${SAME_WEBSERVER_IP} 80 - SSHLibrary.Close Connection - -Tenant 2 Same switch, HTTP request ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of HTTP request from h35_8 to h36_6 - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 6 - Append Inner MAC Check ${matches} src_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${SAME_WEBSERVER_IP} - Append Proto Check ${matches} 6 - Append Inner MAC Check ${actions} dst_addr=${SAME_WEBSERVER_MAC} - Append Inner IPs Check ${actions} ${CLIENT_IP} ${SAME_WEBSERVER_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 8 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 2 Same switch, HTTP reply ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of HTTP request from h36_6 to h35_8 - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 8 - Append Inner MAC Check ${matches} src_addr=${SAME_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${SAME_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 6 - Append Inner MAC Check ${actions} dst_addr=${CLIENT_MAC} - Append Inner IPs Check ${actions} ${SAME_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 6 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 2 Same switch, stop endless curl from h35_8 to h36_6 - [Documentation] Terminating endless HTTP session after traffic inspection is done. - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop Endless Curl from Docker ${CLIENT_DOCKER} - SSHLibrary.Close Connection - -Tenant 2 Same switch, stop SimpleHttpServer on h36_6 - [Documentation] Stoping HTTP service on serving docker container. - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop HTTP Service on Docker ${SAME_WEBSERVER_DOCKER} - SSHLibrary.Close Connection - -Tenant 2 Different switches, start SimpleHttpServer on h36_7 - [Documentation] Different switches (sw1 -> sw3) - [Tags] tenant2 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - DockerUtils.Start HTTP Service on Docker ${DIFF_WEBSERVER_DOCKER} 80 - SSHLibrary.Close Connection - -Tenant 2 Different switches, curl once from h35_8 to h36_7 - [Documentation] Test HTTP req/resp between endpoints located on different switches. - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Curl from Docker ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} 80 - SSHLibrary.Close Connection - -Tenant 2 Different switches, start endless curl from h35_8 to h36_7 - [Documentation] Starting endless HTTP session so that the traffic can be inspected. - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Start Endless Curl from Docker ${CLIENT_DOCKER} ${DIFF_WEBSERVER_IP} 80 - SSHLibrary.Close Connection - -Tenant 2 Different switches, HTTP request ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of HTTP request from h35_8 to h36_7 - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 6 - Append Inner MAC Check ${matches} src_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${matches} 6 - Append Tunnel Set Check ${actions} - Append Inner MAC Check ${actions} dst_addr=${DIFF_WEBSERVER_MAC} - Append Inner IPs Check ${actions} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 3 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 2 Different switches, HTTP request ovs-dpctl output check on sw3 - [Documentation] Assert matches and actions on megaflow of HTTP request from h35_8 to h36_7 - [Tags] tenant1 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append Tunnel Set Check ${matches} - Append Outer IPs Check ${matches} src_ip=${CLIENT_SWITCH_IP} - Append Outer IPs Check ${matches} dst_ip=${DIFF_WEBSERVER_SWITCH_IP} - Append In Port Check ${matches} 3 - Append Inner MAC Check ${matches} dst_addr=${DIFF_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${matches} 6 - Append Inner IPs Check ${actions} ${CLIENT_IP} ${DIFF_WEBSERVER_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 8 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 2 Different switches, HTTP reply ovs-dpctl output check on sw3 - [Documentation] Assert matches and actions on megaflow of HTTP request from h36_7 to h35_8 - [Tags] tenant2 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append In Port Check ${matches} 8 - Append Inner MAC Check ${matches} src_addr=${DIFF_WEBSERVER_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 6 - Append Tunnel Set Check ${actions} - Append Inner MAC Check ${actions} dst_addr=${CLIENT_MAC} - Append Inner IPs Check ${actions} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 3 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 2 Different switches, HTTP reply ovs-dpctl output check on sw1 - [Documentation] Assert matches and actions on megaflow of HTTP reply from h36_7 to h35_8 - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - @{matches} Create List - @{actions} Create List - Append Tunnel Set Check ${matches} - Append Outer IPs Check ${matches} src_ip=${DIFF_WEBSERVER_SWITCH_IP} - Append Outer IPs Check ${matches} dst_ip=${CLIENT_SWITCH_IP} - Append In Port Check ${matches} 3 - Append Inner MAC Check ${matches} dst_addr=${CLIENT_MAC} - Append Ether-Type Check ${matches} 0x0800 - Append Inner IPs Check ${matches} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${matches} 6 - Append Inner IPs Check ${actions} ${DIFF_WEBSERVER_IP} ${CLIENT_IP} - Append Proto Check ${actions} 6 - Append Out Port Check ${actions} 6 - ${output} Find Flow in DPCTL Output ${matches} ${actions} - SSHLibrary.Close Connection - -Tenant 2 Different switches, stop endless curl from h35_8 to h36_7 - [Documentation] Terminanting endless HTTP session after traffic inspection - ... finishes. - [Tags] tenant2 - ConnUtils.Connect and Login ${CLIENT_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop Endless Curl from Docker ${CLIENT_DOCKER} - SSHLibrary.Close Connection - -Tenant 2 Different switches, stop SimpleHttpServer on h36_7 - [Documentation] Stopping HTTP service on docker container. - [Tags] tenant2 - ConnUtils.Connect and Login ${DIFF_WEBSERVER_SWITCH_IP} timeout=${timeout} - DockerUtils.Stop HTTP Service on Docker ${DIFF_WEBSERVER_DOCKER} - SSHLibrary.Close Connection diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/040_show_data.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/040_show_data.robot deleted file mode 100644 index b17460fccb..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/040_show_data.robot +++ /dev/null @@ -1,63 +0,0 @@ -*** 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 - - -*** Test Cases *** -Show GBPSFC1 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Start Connections - Switch Connection GBP1_CONNECTION - Show Switch Status sw1 - -Show GBPSFC2 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GBP2_CONNECTION - Show Switch Status sw2 - -Show GBPSFC3 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GBP3_CONNECTION - Show Switch Status sw3 - Close Connections - -Read Tenants Confing From ODL - [Documentation] Logs ODL data store. - 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} - -Read Tenants Operational From ODL - ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_GBP_TENANTS_API} - Log ${resp.content} - -Read Nodes Config From ODL - ${resp} RequestsLibrary.Get Request session ${CONFIG_NODES_API} - Log ${resp.content} - -Read Nodes Operational From ODL - ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_NODES_API} - Log ${resp.content} - -Read Topology Config From ODL - ${resp} RequestsLibrary.Get Request session ${CONFIG_TOPO_API} - Log ${resp.content} - -Read Topology Operational From ODL - ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_TOPO_API} - Log ${resp.content} - -Read Endpoints From ODL - ${resp} RequestsLibrary.Get Request session ${GBP_ENDPOINTS_API} - Log ${resp.content} - Delete All Sessions diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/998_clean_odl.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/998_clean_odl.robot deleted file mode 100644 index c4d7701412..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/998_clean_odl.robot +++ /dev/null @@ -1,30 +0,0 @@ -*** Settings *** -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 - - -*** Test Cases *** -Delete Tenants - [Documentation] Delete Tenants from ODL - Remove All Elements At URI ${TENANT1_PATH} - Remove All Elements At URI ${TENANT2_PATH} - -Unregister Endpoints - [Documentation] Unregister Endpoints Endpoints from ODL - RestconfUtils.Unregister Endpoints - -Delete Nodes - [Documentation] Delete Nodes from ODL - Remove All Elements At URI ${TUNNELS_PATH} diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/999_teardown.robot b/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/999_teardown.robot deleted file mode 100644 index edc90deed3..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/999_teardown.robot +++ /dev/null @@ -1,21 +0,0 @@ -*** Settings *** -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 *** -${timeout} 10s - - -*** Test Cases *** -Teardown Suite - Log Teardown suite in gbp1 - FOR ${GBP} IN @{GBPs} - GBP_3node.Teardown Node ${GBP} ${CURDIR} timeout=${timeout} - END diff --git a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/init_scripts/infrastructure_config.py b/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/init_scripts/infrastructure_config.py deleted file mode 100755 index 5d9f610006..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/3-node/gbp2-multitenant/init_scripts/infrastructure_config.py +++ /dev/null @@ -1,126 +0,0 @@ -# Config for switches, tunnelIP is the local IP address. -switches = [ - {"name": "sw1", "type": "gbp", "dpid": "1"}, - {"name": "sw2", "type": "gbp", "dpid": "2"}, - {"name": "sw3", "type": "gbp", "dpid": "3"}, -] - -defaultContainerImage = "alagalah/odlpoc_ovs230" -# defaultContainerImage='ubuntu:14.04' - -# Note that tenant name and endpointGroup name come from policy_config.py - -hosts = [ - { - "name": "h35_2", - "mac": "00:00:00:00:35:02", - "ip": "10.0.35.2/24", - "switch": "sw1", - }, - { - "name": "h35_3", - "ip": "10.0.35.3/24", - "mac": "00:00:00:00:35:03", - "switch": "sw2", - }, - { - "name": "h35_4", - "ip": "10.0.35.4/24", - "mac": "00:00:00:00:35:04", - "switch": "sw3", - }, - { - "name": "h35_5", - "ip": "10.0.35.5/24", - "mac": "00:00:00:00:35:05", - "switch": "sw1", - }, - { - "name": "h35_6", - "ip": "10.0.35.6/24", - "mac": "00:00:00:00:35:06", - "switch": "sw2", - "tenant": "GBPPOC2", - "endpointGroup": "test", - }, - { - "name": "h35_7", - "ip": "10.0.35.7/24", - "mac": "00:00:00:00:35:07", - "switch": "sw3", - "tenant": "GBPPOC2", - "endpointGroup": "test", - }, - { - "name": "h35_8", - "ip": "10.0.35.8/24", - "mac": "00:00:00:00:35:08", - "switch": "sw1", - "tenant": "GBPPOC2", - "endpointGroup": "test", - }, - { - "name": "h35_9", - "ip": "10.0.35.9/24", - "mac": "00:00:00:00:35:09", - "switch": "sw2", - "tenant": "GBPPOC2", - "endpointGroup": "test", - }, - { - "name": "h36_2", - "ip": "10.0.36.2/24", - "mac": "00:00:00:00:36:02", - "switch": "sw3", - }, - { - "name": "h36_3", - "ip": "10.0.36.3/24", - "mac": "00:00:00:00:36:03", - "switch": "sw1", - }, - { - "name": "h36_4", - "ip": "10.0.36.4/24", - "mac": "00:00:00:00:36:04", - "switch": "sw2", - }, - { - "name": "h36_5", - "ip": "10.0.36.5/24", - "mac": "00:00:00:00:36:05", - "switch": "sw3", - }, - { - "name": "h36_6", - "ip": "10.0.36.6/24", - "mac": "00:00:00:00:36:06", - "switch": "sw1", - "tenant": "GBPPOC2", - "endpointGroup": "test", - }, - { - "name": "h36_7", - "ip": "10.0.36.7/24", - "mac": "00:00:00:00:36:07", - "switch": "sw2", - "tenant": "GBPPOC2", - "endpointGroup": "test", - }, - { - "name": "h36_8", - "ip": "10.0.36.8/24", - "mac": "00:00:00:00:36:08", - "switch": "sw3", - "tenant": "GBPPOC2", - "endpointGroup": "test", - }, - { - "name": "h36_9", - "ip": "10.0.36.9/24", - "mac": "00:00:00:00:36:09", - "switch": "sw1", - "tenant": "GBPPOC2", - "endpointGroup": "test", - }, -] diff --git a/csit/suites/groupbasedpolicy/GBP/Devstack/01__wait_for_odl.robot b/csit/suites/groupbasedpolicy/GBP/Devstack/01__wait_for_odl.robot deleted file mode 100644 index 0454aa62e2..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/Devstack/01__wait_for_odl.robot +++ /dev/null @@ -1,28 +0,0 @@ -*** Settings *** -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 - - -*** Test Cases *** -Wait for Renderers and NeutronMapper - Create Session session http://${ODL_SYSTEM_IP}:8181 auth=${AUTH} headers=${headers} - Wait Until Keyword Succeeds 60x 5s Renderers And NeutronMapper Initialized session - Delete All Sessions - - -*** Keywords *** -Renderers And NeutronMapper Initialized - [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} diff --git a/csit/suites/groupbasedpolicy/GBP/Devstack/02__neutron-mapper_test.robot b/csit/suites/groupbasedpolicy/GBP/Devstack/02__neutron-mapper_test.robot deleted file mode 100644 index 16922f00c9..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/Devstack/02__neutron-mapper_test.robot +++ /dev/null @@ -1,96 +0,0 @@ -*** Settings *** -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 *** -${NETWORK_NAME} net123 -${SUBNET_NAME} subnet123 -${CLIENT_SG} client_sg -${SERVER_SG} server_sg -${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} - - -*** 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} - Should Match Regexp ${tenant_id} ${UUID_PATTERN} - Set Global Variable ${TENANT_ID} ${tenant_id} - -Test Create Network - [Documentation] Create sec group and verify data generated in GBP - ${uuid} Create Network net123 verbose=FALSE - ${l2_fd_id} Should Match Regexp ${uuid} ${UUID_PATTERN} - ${l2_fd_path} Get L2 Flood Domain Path ${TENANT_ID} ${l2_fd_id} - ${l2_fd} Get Data From URI session ${l2_fd_path} headers=${headers} - ${l2_bd_id} Assert L2-Flood-Domain ${l2_fd} ${NETWORK_NAME} - ${l2_bd_path} Get L2 Bridge Domain Path ${TENANT_ID} ${l2_bd_id} - ${l2_bd} Get Data From URI session ${l2_bd_path} headers=${headers} - ${l3_ctx_id} Assert L2-Bridge-Domain ${l2_bd} ${NETWORK_NAME} - ${l3_ctx_path} Get L3 Context Path ${TENANT_ID} ${l3_ctx_id} - ${l3_ctx} Get Data From URI session ${l3_ctx_path} headers=${headers} - Assert L3-Context ${l3_ctx} ${NETWORK_NAME} - Set Global Variable ${FLOOD_DOMAIN_ID} ${l2_fd_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 - [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} - RETURN ${id} - -To Uuid - [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 - RETURN ${first}-${second}-${third}-${fourth}-${fifth} - -Clean Suite - [Documentation] Clears Openstack. This is also helpful when debugging tests locally. - ${output} Write Commands Until Prompt neutron net-delete net123 - Should Match Regexp ${output} Deleted|Removed - Delete All Sessions diff --git a/csit/suites/groupbasedpolicy/GBP/Devstack/Variables.robot b/csit/suites/groupbasedpolicy/GBP/Devstack/Variables.robot deleted file mode 100644 index 591c09f9e7..0000000000 --- a/csit/suites/groupbasedpolicy/GBP/Devstack/Variables.robot +++ /dev/null @@ -1,20 +0,0 @@ -*** 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 - - -*** 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} -# modify the below var for local testing -${DEVSTACK_DIR} ${DEVSTACK_DEPLOY_PATH} -# modify the below var for local testing -${DEVSTACK_PWD} ${EMPTY} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/Connections.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/Connections.robot deleted file mode 100644 index 9952de6181..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/Connections.robot +++ /dev/null @@ -1,38 +0,0 @@ -*** Settings *** -Library SSHLibrary -Resource ../../../../libraries/SSHKeywords.robot -Resource ../../../../libraries/GBP/ConnUtils.robot -Variables ../../../../variables/Variables.py -Resource Variables.robot - - -*** Keywords *** -Start Connections - [Documentation] Establishes connections to remote VMs. - SSHLibrary.Open Connection ${GBPSFC1} alias=GPSFC1_CONNECTION - SSHKeywords.Flexible Mininet Login - SSHLibrary.Open Connection ${GBPSFC2} alias=GPSFC2_CONNECTION - SSHKeywords.Flexible Mininet Login - SSHLibrary.Open Connection ${GBPSFC3} alias=GPSFC3_CONNECTION - SSHKeywords.Flexible Mininet Login - SSHLibrary.Open Connection ${GBPSFC4} alias=GPSFC4_CONNECTION - SSHKeywords.Flexible Mininet Login - SSHLibrary.Open Connection ${GBPSFC5} alias=GPSFC5_CONNECTION - SSHKeywords.Flexible Mininet Login - SSHLibrary.Open Connection ${GBPSFC6} alias=GPSFC6_CONNECTION - SSHKeywords.Flexible Mininet Login - -Close Connections - [Documentation] Closes connections to remote VMs. - Switch Connection GPSFC1_CONNECTION - SSHLibrary.Close Connection - Switch Connection GPSFC2_CONNECTION - SSHLibrary.Close Connection - Switch Connection GPSFC3_CONNECTION - SSHLibrary.Close Connection - Switch Connection GPSFC4_CONNECTION - SSHLibrary.Close Connection - Switch Connection GPSFC5_CONNECTION - SSHLibrary.Close Connection - Switch Connection GPSFC6_CONNECTION - SSHLibrary.Close Connection diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/GBPSFC_6node.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/GBPSFC_6node.robot deleted file mode 100644 index c19a190fd0..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/GBPSFC_6node.robot +++ /dev/null @@ -1,67 +0,0 @@ -*** Settings *** -Library SSHLibrary -Resource Variables.robot -Resource ../../../../libraries/Utils.robot -Resource ../../../../libraries/GBP/ConnUtils.robot -Variables ../../../../variables/Variables.py - - -*** Keywords *** -Setup Node - [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 - ${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 - 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 - [Documentation] Writes flows to SF node. SFF for given SF has to be specified in arguments. - [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 - [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} - ${stderr} SSHLibrary.Execute Command - ... rm ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/infrastructure_config.py - ... return_stderr=True - ... return_stdout=False - Should Be Empty ${stderr} - ${stderr} SSHLibrary.Execute Command - ... rm ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER}/sf-flows.sh - ... return_stderr=True - ... return_stdout=False - Should Be Empty ${stderr} - ${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 - -Setup Nodes - [Arguments] ${GBPSFCs} ${init_scripts_dir} - ${sw_index} Set Variable 0 - FOR ${GBPSFC} IN @{GBPSFCs} - Setup Node ${GBPSFC} ${sw_index} ${init_scripts_dir} timeout=10s - ${sw_index} Evaluate ${sw_index} + 1 - END diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/Variables.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/Variables.robot deleted file mode 100644 index a7cd753ae0..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/Variables.robot +++ /dev/null @@ -1,81 +0,0 @@ -*** 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 - - -*** 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 - - -*** 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} - Set Global Variable ${CLIENT_IP} ${client_ip} - Set Global Variable ${CLIENT_NAME} ${client_name} - Set Global Variable ${SERVER_IP} ${server_ip} - Set Global Variable ${SERVER_NAME} ${server_name} - Set Global Variable ${SERVICE_PORT} ${service_port} - Set Global Variable ${ETHER_TYPE} ${ether_type} - Set Global Variable ${PROTO} ${proto} - Set Global Variable ${VXLAN_PORT} ${vxlan_port} - Set Global Variable ${VXLAN_GPE_PORT} ${vxlan_gpe_port} - -Set ODL Variables - [Documentation] Initialize ODL version specific variables using resource CompareStream. - Set ODL Variables Master - -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} - 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/ diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/__init__.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/__init__.robot deleted file mode 100644 index 9c857801cf..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/__init__.robot +++ /dev/null @@ -1,59 +0,0 @@ -*** Settings *** -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 *** -${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} - 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 - ${stderr} SSHLibrary.Execute Command - ... virtualenv --system-site-packages ${VE_DIR} - ... return_stdout=False - ... return_stderr=True - ... return_rc=False - 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} - Should Be Equal As Numbers ${rc} 0 - SSHLibrary.Close Connection - END - Set ODL Variables - -Teardown Everything - [Documentation] Clearing remote VM - removing copied scripts. - Log stop_suite_in_6_node - FOR ${GBPSFC} IN @{GBPSFCs} - ConnUtils.Connect and Login ${GBPSFC} timeout=${timeout} - SSHLibrary.Execute Command sudo rm -rf ${VM_HOME_FOLDER}${/}${VM_SCRIPTS_FOLDER} - SSHLibrary.Close Connection - END diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/000_setup.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/000_setup.robot deleted file mode 100644 index 73333ab378..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/000_setup.robot +++ /dev/null @@ -1,8 +0,0 @@ -*** Settings *** -Resource ../Variables.robot -Resource ../GBPSFC_6node.robot - - -*** Test Cases *** -Initialize Nodes - Setup Nodes ${GBPSFCs} ${CURDIR}/init_scripts diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/005_wait_for_connections.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/005_wait_for_connections.robot deleted file mode 100644 index c571be7240..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/005_wait_for_connections.robot +++ /dev/null @@ -1,21 +0,0 @@ -*** Settings *** -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 - Switch Connection GPSFC2_CONNECTION - Wait Until Keyword Succeeds 2 min 3s Manager is Connected - -Wait For Manager Connected on GBPSFC4 - Switch Connection GPSFC4_CONNECTION - Wait Until Keyword Succeeds 2 min 3s Manager is Connected diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/010_set_odl.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/010_set_odl.robot deleted file mode 100644 index 56340ccf38..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/010_set_odl.robot +++ /dev/null @@ -1,70 +0,0 @@ -*** Settings *** -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 - [Documentation] Register Service Functions to ODL - ${json_to_edit} OperatingSystem.Get File ${SF_FILE} - ${edited_json} Replace String ${json_to_edit} _SF1 ${GBPSFC3} - ${edited_json} Replace String ${edited_json} _SF2 ${GBPSFC5} - Add Elements To URI And Verify ${SF_PATH} ${edited_json} ${HEADERS_YANG_JSON} - -Put Service Function Forwarders - [Documentation] Register Service Function Forwarders to ODL - ${json_to_edit} OperatingSystem.Get File ${SFF_FILE} - ${edited_json} Replace String ${json_to_edit} _SFF1 ${GBPSFC2} - ${edited_json} Replace String ${edited_json} _SFF2 ${GBPSFC4} - Add Elements To URI And Verify ${SFF_PATH} ${edited_json} ${HEADERS_YANG_JSON} - -Wait For Manager and Switch Connected on GBPSFC2 - [Documentation] Making sure that manager is connected for further processing. - SSHLibrary.Open Connection ${GBPSFC2} - SSHKeywords.Flexible Mininet Login - Wait Until Keyword Succeeds 2min 3s Manager and Switch Connected sw_name=sw2 - SSHLibrary.Close Connection - -Wait For Manager and Switch Connected on GBPSFC4 - [Documentation] Making sure that manager is connected for further processing. - SSHLibrary.Open Connection ${GBPSFC4} - SSHKeywords.Flexible Mininet Login - Wait Until Keyword Succeeds 2min 3s Manager and Switch Connected sw_name=sw4 - SSHLibrary.Close Connection - -Put Service Function Chains - [Documentation] Register Service Function Chains to ODL - Add Elements To URI From File And Verify ${SFC_PATH} ${SFC_ASYMM_FILE} ${HEADERS_YANG_JSON} - -Put Service Function Paths - [Documentation] Register Service Function Paths to ODL - Add Elements To URI From File And Verify ${SFP_PATH} ${SFP_ASYMM_FILE} ${HEADERS_YANG_JSON} - -Put Tunnels - [Documentation] Send tunnel augmentation to ODL - ${json_to_edit} OperatingSystem.Get File ${TUNNELS_FILE} - ${edited_json} Replace String ${json_to_edit} _CLASSIFIER1 ${GBPSFC1} - ${edited_json} Replace String ${edited_json} _CLASSIFIER2 ${GBPSFC6} - Add Elements To URI And Verify ${TUNNELS_PATH} ${edited_json} ${HEADERS_YANG_JSON} - -Put Tenant - [Documentation] Send Tenant Data to ODL - Add Elements To URI From File And Verify ${TENANT_PATH} ${TENANT_ASYMM_FILE} ${HEADERS_YANG_JSON} - -Register Endpoints - [Documentation] Endpoints registration - @{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 - ${resp} RequestsLibrary.Get Request session ${ENDPOINTS_OPER_PATH} - Log ${resp.content} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/015_wait_for_flows.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/015_wait_for_flows.robot deleted file mode 100644 index b85d73e559..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/015_wait_for_flows.robot +++ /dev/null @@ -1,46 +0,0 @@ -*** Settings *** -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 - [Documentation] Waiting for flows to appear on OVS switch. - Switch Connection GPSFC1_CONNECTION - Wait For Flows On Switch ${GBPSFC1} sw1 - -Wait For Flows on GBPSFC2 - [Documentation] Waiting for flows to appear on OVS switch. - Switch Connection GPSFC2_CONNECTION - Wait For Flows On Switch ${GBPSFC2} sw2 - -Wait For Flows on GBPSFC3 - [Documentation] Waiting for flows to appear on OVS switch. - Switch Connection GPSFC3_CONNECTION - Wait For Flows On Switch ${GBPSFC3} sw3 - -Wait For Flows on GBPSFC4 - [Documentation] Waiting for flows to appear on OVS switch. - Switch Connection GPSFC4_CONNECTION - Wait For Flows On Switch ${GBPSFC4} sw4 - -Wait For Flows on GBPSFC5 - [Documentation] Waiting for flows to appear on OVS switch. - Switch Connection GPSFC5_CONNECTION - Wait For Flows On Switch ${GBPSFC5} sw5 - -Wait For Flows on GBPSFC6 - [Documentation] Waiting for flows to appear on OVS switch. - Switch Connection GPSFC6_CONNECTION - Wait For Flows On Switch ${GBPSFC6} sw6 diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/031_track_icmp_h35_2_h36_2.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/031_track_icmp_h35_2_h36_2.robot deleted file mode 100644 index c31a6392a9..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/031_track_icmp_h35_2_h36_2.robot +++ /dev/null @@ -1,56 +0,0 @@ -*** Settings *** -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 - - -*** 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 - Switch Connection GPSFC1_CONNECTION - Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -Start Endless Ping from h35_2 to h36_2 - [Documentation] Starting of endless pinging for traffic inspection. - Start Endless Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -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} - ... 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} - ... proto=${PROTO} - -Stop Endless Ping from h35_2 to h36_2 - [Documentation] Stoping of endless pinging after traffic inspection finishes. - Switch Connection GPSFC1_CONNECTION - Stop Endless Ping from Docker to Address ${CLIENT_NAME} ${SERVER_IP} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/032_track_icmp_h35_2_h35_3.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/032_track_icmp_h35_2_h35_3.robot deleted file mode 100644 index b5e823bccb..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/032_track_icmp_h35_2_h35_3.robot +++ /dev/null @@ -1,56 +0,0 @@ -*** Settings *** -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 - - -*** 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 - Switch Connection GPSFC1_CONNECTION - Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -Start Endless Ping from h35_2 to h35_3 - [Documentation] Starting of endless pinging for traffic inspection. - Start Endless Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -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} - ... 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} - ... proto=${PROTO} - -Stop Endless Ping from h35_2 to h35_3 - [Documentation] Stoping of endless pinging after traffic inspection finishes. - Switch Connection GPSFC1_CONNECTION - Stop Endless Ping from Docker to Address ${CLIENT_NAME} ${SERVER_IP} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/033_track_icmp_h35_4_h36_4.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/033_track_icmp_h35_4_h36_4.robot deleted file mode 100644 index d0a02d5317..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/033_track_icmp_h35_4_h36_4.robot +++ /dev/null @@ -1,56 +0,0 @@ -*** Settings *** -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 - - -*** 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 - Switch Connection GPSFC6_CONNECTION - Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -Start Endless Ping from h36_4 to h35_4 - [Documentation] Starting of endless pinging for traffic inspection. - Start Endless Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -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} - ... 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} - ... proto=${PROTO} - -Stop Endless Ping from h36_4 to h35_4 - [Documentation] Stoping of endless pinging after traffic inspection finishes. - Switch Connection GPSFC6_CONNECTION - Stop Endless Ping from Docker to Address ${CLIENT_NAME} ${SERVER_IP} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/034_track_icmp_h36_5_h35_2.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/034_track_icmp_h36_5_h35_2.robot deleted file mode 100644 index 46eb0da05c..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/034_track_icmp_h36_5_h35_2.robot +++ /dev/null @@ -1,85 +0,0 @@ -*** Settings *** -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 - - -*** 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 - ... vxlan_port=3 - Switch Connection GPSFC6_CONNECTION - Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -Start Endless Ping from h36_5 to h35_2 - [Documentation] Starting of endless pinging for traffic inspection. - Start Endless Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -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} - -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} - -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} - -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} - -Stop Endless Ping from h36_5 to h35_2 - [Documentation] Stoping of endless pinging after traffic inspection finishes. - Switch Connection GPSFC6_CONNECTION - Stop Endless Ping from Docker to Address ${CLIENT_NAME} ${SERVER_IP} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/035_track_curl_h35_2_h36_2.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/035_track_curl_h35_2_h36_2.robot deleted file mode 100644 index 5c9e0264a0..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/035_track_curl_h35_2_h36_2.robot +++ /dev/null @@ -1,181 +0,0 @@ -*** Settings *** -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. - 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} - -Curl h36_2 from h35_2 - [Documentation] Test HTTP request from a docker container to serving docker container. - Curl from Docker ${CLIENT_NAME} ${SERVER_IP} ${SERVICE_PORT} - -Start Endless Curl on h35_2 on port 80 - [Documentation] Starting endless HTTP session for traffic inspection. - Start Endless Curl from Docker ${CLIENT_NAME} ${SERVER_IP} ${SERVICE_PORT} sleep=1 - -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} - ${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} - -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 - -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} - -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} - -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 - -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} - -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} - -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} - -Stop Endless Curl on h36_2 on port 80 - [Documentation] Stopping endless HTTP session after traffic inspection finishes. - Stop Endless Curl from Docker ${CLIENT_NAME} - -Stop HTTP on h36_2 on Port 80 - [Documentation] Stopping HTTP service on the docker container. - Stop HTTP Service on Docker ${SERVER_NAME} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/036_track_curl_h35_3_h36_4.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/036_track_curl_h35_3_h36_4.robot deleted file mode 100644 index 784f0f6c4b..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/036_track_curl_h35_3_h36_4.robot +++ /dev/null @@ -1,199 +0,0 @@ -*** 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 - -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. - 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} - -Curl h36_2 from h35_3 - [Documentation] Test HTTP request from a docker container to serving docker container. - Switch Connection GPSFC1_CONNECTION - Curl from Docker ${CLIENT_NAME} ${SERVER_IP} service_port=${SERVICE_PORT} - -Start Endless Curl on h35_3 on port 80 - [Documentation] Starting endless HTTP session for traffic inspection. - Start Endless Curl from Docker ${CLIENT_NAME} ${SERVER_IP} ${SERVICE_PORT} sleep=1 - -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} - ${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} - -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 - -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} - -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} - -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 - -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} - -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} - -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} - -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} - -Stop Endless Curl on h36_2 on port 80 - [Documentation] Stopping endless HTTP session after traffic inspection finishes. - Switch Connection GPSFC1_CONNECTION - Stop Endless Curl from Docker ${CLIENT_NAME} - -Stop HTTP on h36_2 on Port 80 - [Documentation] Stopping HTTP service on the docker container. - Switch Connection GPSFC6_CONNECTION - Stop HTTP Service on Docker ${SERVER_NAME} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/040_show_data.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/040_show_data.robot deleted file mode 100644 index 2c3093564b..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/040_show_data.robot +++ /dev/null @@ -1,78 +0,0 @@ -*** 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 - - -*** Test Cases *** -Show GBPSFC1 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Start Connections - Switch Connection GPSFC1_CONNECTION - Show Switch Status sw1 - -Show GBPSFC2 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GPSFC2_CONNECTION - Show Switch Status sw2 - -Show GBPSFC3 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GPSFC3_CONNECTION - Show Switch Status sw3 - -Show GBPSFC4 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GPSFC4_CONNECTION - Show Switch Status sw4 - -Show GBPSFC5 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GPSFC5_CONNECTION - Show Switch Status sw5 - -Show GBPSFC6 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GPSFC6_CONNECTION - Show Switch Status sw6 - Close Connections - -Read Tenants Confing From ODL - [Documentation] Logs ODL data store. - 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} - -Read Tenants Operational From ODL - ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_GBP_TENANTS_API} - Log ${resp.content} - -Read Nodes Config From ODL - ${resp} RequestsLibrary.Get Request session ${CONFIG_NODES_API} - Log ${resp.content} - -Read Nodes Operational From ODL - ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_NODES_API} - Log ${resp.content} - -Read Topology Config From ODL - ${resp} RequestsLibrary.Get Request session ${CONFIG_TOPO_API} - Log ${resp.content} - -Read Topology Operational From ODL - ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_TOPO_API} - Log ${resp.content} - -Read Endpoints From ODL - ${resp} RequestsLibrary.Get Request session ${GBP_ENDPOINTS_API} - Log ${resp.content} - Delete All Sessions diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/998_clean_odl.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/998_clean_odl.robot deleted file mode 100644 index 65e3389adb..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/998_clean_odl.robot +++ /dev/null @@ -1,59 +0,0 @@ -*** Settings *** -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 - [Tags] gbpsfctear - Remove All Elements At URI And Verify ${SFP_PATH} - -Delete Service Function Chains - [Documentation] Delete Service Function Chains from ODL - [Tags] gbpsfctear - Remove All Elements At URI And Verify ${SFC_PATH} - -Delete Service Functions - [Documentation] Delete Service Function from ODL - [Tags] gbpsfctear - Remove All Elements At URI And Verify ${SF_PATH} - -Delete Service Function Forwarders - [Documentation] Delete Service Function Forwarders from ODL - [Tags] gbpsfctear - Remove All Elements At URI And Verify ${SFF_PATH} - -Delete Tunnels - [Documentation] Delete Tunnels from ODL - [Tags] gbpsfctear - Remove All Elements At URI And Verify ${TUNNELS_PATH} - -Delete Tenant - [Documentation] Delete Tenant from ODL - [Tags] gbpsfctear - Remove All Elements At URI And Verify ${TENANT_PATH} - -Unregister Endpoints - [Documentation] Unregister Endpoints Endpoints from ODL - [Tags] gbpsfctear - RestconfUtils.Unregister Endpoints - -Delete OVSDB Topology If Present - [Documentation] Delete OVSDB topology from ODL - [Tags] gbpsfctear - ${resp} RequestsLibrary.Get Request session ${TOPOLOGY_PATH} - IF ${resp.status_code} == 200 - Remove All Elements At URI And Verify ${TOPOLOGY_PATH} - END diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/999_teardown.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/999_teardown.robot deleted file mode 100644 index 8ba338c594..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/999_teardown.robot +++ /dev/null @@ -1,19 +0,0 @@ -*** Settings *** -Library SSHLibrary -Resource ../../../../../libraries/Utils.robot -Resource ../../../../../libraries/GBP/ConnUtils.robot -Variables ../../../../../variables/Variables.py -Resource ../Variables.robot -Resource ../GBPSFC_6node.robot - - -*** Variables *** -${timeout} 10s - - -*** Test Cases *** -Teardown Suite - Log Teardown suite in asymetric-chain - FOR ${GBPSFC} IN @{GBPSFCs} - GBPSFC_6node.Teardown Node ${GBPSFC} ${CURDIR} timeout=${timeout} - END diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/init_scripts/infrastructure_config.py b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/init_scripts/infrastructure_config.py deleted file mode 100644 index f951b1d9c9..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/init_scripts/infrastructure_config.py +++ /dev/null @@ -1,66 +0,0 @@ -# Config for switches, tunnelIP is the local IP address. -switches = [ - {"name": "sw1", "type": "gbp", "dpid": "1"}, - {"name": "sw2", "type": "sff", "dpid": "2"}, - {"name": "sw3", "type": "sf", "dpid": "3"}, - {"name": "sw4", "type": "sff", "dpid": "4"}, - {"name": "sw5", "type": "sf", "dpid": "5"}, - {"name": "sw6", "type": "gbp", "dpid": "6"}, - {"name": "sw7", "type": "none", "dpid": "7"}, - {"name": "sw8", "type": "none", "dpid": "8"}, -] - -defaultContainerImage = "alagalah/odlpoc_ovs230" - -# Note that tenant name and endpointGroup name come from policy_config.py - -hosts = [ - { - "name": "h35_2", - "mac": "00:00:00:00:35:02", - "ip": "10.0.35.2/24", - "switch": "sw1", - }, - { - "name": "h35_3", - "ip": "10.0.35.3/24", - "mac": "00:00:00:00:35:03", - "switch": "sw1", - }, - { - "name": "h35_4", - "ip": "10.0.35.4/24", - "mac": "00:00:00:00:35:04", - "switch": "sw6", - }, - { - "name": "h35_5", - "ip": "10.0.35.5/24", - "mac": "00:00:00:00:35:05", - "switch": "sw6", - }, - { - "name": "h36_2", - "ip": "10.0.36.2/24", - "mac": "00:00:00:00:36:02", - "switch": "sw1", - }, - { - "name": "h36_3", - "ip": "10.0.36.3/24", - "mac": "00:00:00:00:36:03", - "switch": "sw1", - }, - { - "name": "h36_4", - "ip": "10.0.36.4/24", - "mac": "00:00:00:00:36:04", - "switch": "sw6", - }, - { - "name": "h36_5", - "ip": "10.0.36.5/24", - "mac": "00:00:00:00:36:05", - "switch": "sw6", - }, -] diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/init_scripts/sf-flows.sh b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/init_scripts/sf-flows.sh deleted file mode 100644 index 0c7fc960fd..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/init_scripts/sf-flows.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash - -set -e - -SFF_IP=$1 -SFF_HEX=$(printf '%02X' ${SFF_IP//./ }) -SFF_HEX=0x$SFF_HEX -sw=$(sudo ovs-vsctl show | egrep -E 'Bridge.*sw' | awk '{print $2}' | sed -e 's/^"//' -e 's/"$//') - -if [ $sw = "sw3" ] || [ $sw = "sw5" ] ; then - # delete NORMAL, if present - sudo ovs-ofctl --strict del-flows $sw priority=0 - sudo ovs-ofctl add-flow $sw "priority=1000,nsi=255 actions=move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$SFF_HEX->NXM_NX_TUN_IPV4_DST[],set_nsi:254,IN_PORT" -OOpenFlow13 - sudo ovs-ofctl add-flow $sw "priority=1000,nsi=254 actions=move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$SFF_HEX->NXM_NX_TUN_IPV4_DST[],set_nsi:253,IN_PORT" -OOpenFlow13 -else - echo "Invalid SF for this demo"; - exit -fi diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/000_setup.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/000_setup.robot deleted file mode 100644 index 73333ab378..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/000_setup.robot +++ /dev/null @@ -1,8 +0,0 @@ -*** Settings *** -Resource ../Variables.robot -Resource ../GBPSFC_6node.robot - - -*** Test Cases *** -Initialize Nodes - Setup Nodes ${GBPSFCs} ${CURDIR}/init_scripts diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/005_wait_for_connections.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/005_wait_for_connections.robot deleted file mode 100644 index 0cb5984927..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/005_wait_for_connections.robot +++ /dev/null @@ -1,21 +0,0 @@ -*** Settings *** -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 - Switch Connection GPSFC2_CONNECTION - Wait Until Keyword Succeeds 2 min 3s Manager is Connected - -Wait For Manager Connected on GBPSFC4 - Switch Connection GPSFC4_CONNECTION - Wait Until Keyword Succeeds 4x 5s Manager is Connected diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/010_set_odl.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/010_set_odl.robot deleted file mode 100644 index da26e120a2..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/010_set_odl.robot +++ /dev/null @@ -1,70 +0,0 @@ -*** Settings *** -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 - [Documentation] Register Service Functions to ODL - ${json_to_edit} OperatingSystem.Get File ${SF_FILE} - ${edited_json} Replace String ${json_to_edit} _SF1 ${GBPSFC3} - ${edited_json} Replace String ${edited_json} _SF2 ${GBPSFC5} - Add Elements To URI And Verify ${SF_PATH} ${edited_json} ${HEADERS_YANG_JSON} - -Put Service Function Forwarders - [Documentation] Register Service Function Forwarders to ODL - ${json_to_edit} OperatingSystem.Get File ${SFF_FILE} - ${edited_json} Replace String ${json_to_edit} _SFF1 ${GBPSFC2} - ${edited_json} Replace String ${edited_json} _SFF2 ${GBPSFC4} - Add Elements To URI And Verify ${SFF_PATH} ${edited_json} ${HEADERS_YANG_JSON} - -Wait For Manager and Switch Connected on GBPSFC2 - [Documentation] Making sure that manager is connected for further processing. - SSHLibrary.Open Connection ${GBPSFC2} - SSHKeywords.Flexible Mininet Login - Wait Until Keyword Succeeds 2min 3s Manager and Switch Connected sw_name=sw2 - SSHLibrary.Close Connection - -Wait For Manager and Switch Connected on GBPSFC4 - [Documentation] Making sure that manager is connected for further processing. - SSHLibrary.Open Connection ${GBPSFC4} - SSHKeywords.Flexible Mininet Login - Wait Until Keyword Succeeds 2min 3s Manager and Switch Connected sw_name=sw4 - SSHLibrary.Close Connection - -Put Service Function Chains - [Documentation] Register Service Function Chains to ODL - Add Elements To URI From File And Verify ${SFC_PATH} ${SFC_SYMM_FILE} ${HEADERS_YANG_JSON} - -Put Service Function Paths - [Documentation] Register Service Function Paths to ODL - Add Elements To URI From File And Verify ${SFP_PATH} ${SFP_SYMM_FILE} ${HEADERS_YANG_JSON} - -Put Tunnels - [Documentation] Send tunnel augmentation to ODL - ${json_to_edit} OperatingSystem.Get File ${TUNNELS_FILE} - ${edited_json} Replace String ${json_to_edit} _CLASSIFIER1 ${GBPSFC1} - ${edited_json} Replace String ${edited_json} _CLASSIFIER2 ${GBPSFC6} - Add Elements To URI And Verify ${TUNNELS_PATH} ${edited_json} ${HEADERS_YANG_JSON} - -Put Tenant - [Documentation] Send Tenant Data to ODL - Add Elements To URI From File And Verify ${TENANT_PATH} ${TENANT_SYMM_FILE} ${HEADERS_YANG_JSON} - -Register Endpoints - [Documentation] Endpoints registration - @{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 - ${resp} RequestsLibrary.Get Request session ${ENDPOINTS_OPER_PATH} - Log ${resp.content} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/015_wait_for_flows.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/015_wait_for_flows.robot deleted file mode 100644 index b85d73e559..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/015_wait_for_flows.robot +++ /dev/null @@ -1,46 +0,0 @@ -*** Settings *** -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 - [Documentation] Waiting for flows to appear on OVS switch. - Switch Connection GPSFC1_CONNECTION - Wait For Flows On Switch ${GBPSFC1} sw1 - -Wait For Flows on GBPSFC2 - [Documentation] Waiting for flows to appear on OVS switch. - Switch Connection GPSFC2_CONNECTION - Wait For Flows On Switch ${GBPSFC2} sw2 - -Wait For Flows on GBPSFC3 - [Documentation] Waiting for flows to appear on OVS switch. - Switch Connection GPSFC3_CONNECTION - Wait For Flows On Switch ${GBPSFC3} sw3 - -Wait For Flows on GBPSFC4 - [Documentation] Waiting for flows to appear on OVS switch. - Switch Connection GPSFC4_CONNECTION - Wait For Flows On Switch ${GBPSFC4} sw4 - -Wait For Flows on GBPSFC5 - [Documentation] Waiting for flows to appear on OVS switch. - Switch Connection GPSFC5_CONNECTION - Wait For Flows On Switch ${GBPSFC5} sw5 - -Wait For Flows on GBPSFC6 - [Documentation] Waiting for flows to appear on OVS switch. - Switch Connection GPSFC6_CONNECTION - Wait For Flows On Switch ${GBPSFC6} sw6 diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/031_track_icmp_h35_2_h36_2.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/031_track_icmp_h35_2_h36_2.robot deleted file mode 100644 index c31a6392a9..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/031_track_icmp_h35_2_h36_2.robot +++ /dev/null @@ -1,56 +0,0 @@ -*** Settings *** -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 - - -*** 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 - Switch Connection GPSFC1_CONNECTION - Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -Start Endless Ping from h35_2 to h36_2 - [Documentation] Starting of endless pinging for traffic inspection. - Start Endless Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -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} - ... 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} - ... proto=${PROTO} - -Stop Endless Ping from h35_2 to h36_2 - [Documentation] Stoping of endless pinging after traffic inspection finishes. - Switch Connection GPSFC1_CONNECTION - Stop Endless Ping from Docker to Address ${CLIENT_NAME} ${SERVER_IP} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/032_track_icmp_h35_2_h35_3.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/032_track_icmp_h35_2_h35_3.robot deleted file mode 100644 index b5e823bccb..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/032_track_icmp_h35_2_h35_3.robot +++ /dev/null @@ -1,56 +0,0 @@ -*** Settings *** -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 - - -*** 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 - Switch Connection GPSFC1_CONNECTION - Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -Start Endless Ping from h35_2 to h35_3 - [Documentation] Starting of endless pinging for traffic inspection. - Start Endless Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -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} - ... 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} - ... proto=${PROTO} - -Stop Endless Ping from h35_2 to h35_3 - [Documentation] Stoping of endless pinging after traffic inspection finishes. - Switch Connection GPSFC1_CONNECTION - Stop Endless Ping from Docker to Address ${CLIENT_NAME} ${SERVER_IP} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/033_track_icmp_h35_4_h36_4.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/033_track_icmp_h35_4_h36_4.robot deleted file mode 100644 index d0a02d5317..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/033_track_icmp_h35_4_h36_4.robot +++ /dev/null @@ -1,56 +0,0 @@ -*** Settings *** -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 - - -*** 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 - Switch Connection GPSFC6_CONNECTION - Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -Start Endless Ping from h36_4 to h35_4 - [Documentation] Starting of endless pinging for traffic inspection. - Start Endless Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -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} - ... 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} - ... proto=${PROTO} - -Stop Endless Ping from h36_4 to h35_4 - [Documentation] Stoping of endless pinging after traffic inspection finishes. - Switch Connection GPSFC6_CONNECTION - Stop Endless Ping from Docker to Address ${CLIENT_NAME} ${SERVER_IP} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/034_track_icmp_h36_5_h35_2.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/034_track_icmp_h36_5_h35_2.robot deleted file mode 100644 index 46eb0da05c..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/034_track_icmp_h36_5_h35_2.robot +++ /dev/null @@ -1,85 +0,0 @@ -*** Settings *** -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 - - -*** 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 - ... vxlan_port=3 - Switch Connection GPSFC6_CONNECTION - Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -Start Endless Ping from h36_5 to h35_2 - [Documentation] Starting of endless pinging for traffic inspection. - Start Endless Ping from Docker ${CLIENT_NAME} ${SERVER_IP} - -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} - -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} - -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} - -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} - -Stop Endless Ping from h36_5 to h35_2 - [Documentation] Stoping of endless pinging after traffic inspection finishes. - Switch Connection GPSFC6_CONNECTION - Stop Endless Ping from Docker to Address ${CLIENT_NAME} ${SERVER_IP} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/035_track_curl_h35_2_h36_2.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/035_track_curl_h35_2_h36_2.robot deleted file mode 100644 index 2883361bc9..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/035_track_curl_h35_2_h36_2.robot +++ /dev/null @@ -1,298 +0,0 @@ -*** Settings *** -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 - - -*** 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 - Switch Connection GPSFC1_CONNECTION - Start HTTP Service on Docker ${SERVER_NAME} ${SERVICE_PORT} - -Curl h36_2 from h35_2 - [Documentation] Test HTTP request from a docker container to serving docker container. - Curl from Docker ${CLIENT_NAME} ${SERVER_IP} service_port=${SERVICE_PORT} - -Start Endless Curl on h35_2 on port 80 - [Documentation] Starting endless HTTP session for traffic inspection. - Start Endless Curl from Docker ${CLIENT_NAME} ${SERVER_IP} ${SERVICE_PORT} sleep=1 - -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} - ${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} - -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 - -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} - -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} - -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 - -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} - -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} - -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} - ${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} - -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 - -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} - -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} - -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 - -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} - -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} - -Compare NSPs - [Documentation] Verifying that different paths were taken. - Should Not Be Equal As Numbers ${NSP_path1} ${NSP_path2} - -Stop Endless Curl on h35_2 on port 80 - [Documentation] Stopping endless HTTP session after traffic inspection finishes. - Switch Connection GPSFC1_CONNECTION - Stop Endless Curl from Docker ${CLIENT_NAME} - -Stop HTTP on h36_2 on Port 80 - [Documentation] Stopping HTTP service on the docker container. - Stop HTTP Service on Docker ${SERVER_NAME} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/036_track_curl_h35_3_h36_4.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/036_track_curl_h35_3_h36_4.robot deleted file mode 100644 index 6db92f1230..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/036_track_curl_h35_3_h36_4.robot +++ /dev/null @@ -1,300 +0,0 @@ -*** Settings *** -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 - - -*** 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 - Switch Connection GPSFC6_CONNECTION - Start HTTP Service on Docker ${SERVER_NAME} ${SERVICE_PORT} - -Curl h36_4 from h35_3 - [Documentation] Test HTTP request from a docker container to serving docker container. - Switch Connection GPSFC1_CONNECTION - Curl from Docker ${CLIENT_NAME} ${SERVER_IP} service_port=${SERVICE_PORT} - -Start Endless Curl on h35_3 on port 80 - [Documentation] Starting endless HTTP session for traffic inspection. - Start Endless Curl from Docker ${CLIENT_NAME} ${SERVER_IP} ${SERVICE_PORT} sleep=1 - -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} - ${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} - -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 - -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} - -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} - -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 - -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} - -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} - -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} - ${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} - -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 - -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} - -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} - -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 - -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} - -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} - -Compare NSPs - [Documentation] Verifying that different paths were taken. - Should Not Be Equal As Numbers ${NSP_path1} ${NSP_path2} - -Stop Endless Curl on h35_3 on port 80 - [Documentation] Stopping endless HTTP session after traffic inspection finishes. - Switch Connection GPSFC1_CONNECTION - Stop Endless Curl from Docker ${CLIENT_NAME} - -Stop HTTP on h36_4 on Port 80 - [Documentation] Stopping HTTP service on the docker container. - Switch Connection GPSFC6_CONNECTION - Stop HTTP Service on Docker ${SERVER_NAME} diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/040_show_data.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/040_show_data.robot deleted file mode 100644 index 2c3093564b..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/040_show_data.robot +++ /dev/null @@ -1,78 +0,0 @@ -*** 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 - - -*** Test Cases *** -Show GBPSFC1 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Start Connections - Switch Connection GPSFC1_CONNECTION - Show Switch Status sw1 - -Show GBPSFC2 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GPSFC2_CONNECTION - Show Switch Status sw2 - -Show GBPSFC3 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GPSFC3_CONNECTION - Show Switch Status sw3 - -Show GBPSFC4 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GPSFC4_CONNECTION - Show Switch Status sw4 - -Show GBPSFC5 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GPSFC5_CONNECTION - Show Switch Status sw5 - -Show GBPSFC6 Status - [Documentation] Shows flows and configuration of a switch for easier debugging. - Switch Connection GPSFC6_CONNECTION - Show Switch Status sw6 - Close Connections - -Read Tenants Confing From ODL - [Documentation] Logs ODL data store. - 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} - -Read Tenants Operational From ODL - ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_GBP_TENANTS_API} - Log ${resp.content} - -Read Nodes Config From ODL - ${resp} RequestsLibrary.Get Request session ${CONFIG_NODES_API} - Log ${resp.content} - -Read Nodes Operational From ODL - ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_NODES_API} - Log ${resp.content} - -Read Topology Config From ODL - ${resp} RequestsLibrary.Get Request session ${CONFIG_TOPO_API} - Log ${resp.content} - -Read Topology Operational From ODL - ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_TOPO_API} - Log ${resp.content} - -Read Endpoints From ODL - ${resp} RequestsLibrary.Get Request session ${GBP_ENDPOINTS_API} - Log ${resp.content} - Delete All Sessions diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/998_clean_odl.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/998_clean_odl.robot deleted file mode 100644 index 85a587313d..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/998_clean_odl.robot +++ /dev/null @@ -1,59 +0,0 @@ -*** Settings *** -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 - [Tags] gbpsfctear - Remove All Elements At URI And Verify ${SFP_PATH} - -Delete Service Function Chains - [Documentation] Delete Service Function Chains from ODL - [Tags] gbpsfctear - Remove All Elements At URI And Verify ${SFC_PATH} - -Delete Service Functions - [Documentation] Delete Service Function from ODL - [Tags] gbpsfctear - Remove All Elements At URI And Verify ${SF_PATH} - -Delete Service Function Forwarders - [Documentation] Delete Service Function Forwarders from ODL - [Tags] gbpsfctear - Remove All Elements At URI And Verify ${SFF_PATH} - -Delete Tunnels - [Documentation] Delete Tenant from ODL - [Tags] gbpsfctear - Remove All Elements At URI And Verify ${TUNNELS_PATH} - -Delete Tenant - [Documentation] Delete Tenant from ODL - [Tags] gbpsfctear - Remove All Elements At URI And Verify ${TENANT_PATH} - -Unregister Endpoints - [Documentation] Unregister Endpoints Endpoints from ODL - [Tags] gbpsfctear - RestconfUtils.Unregister Endpoints - -Delete OVSDB Topology If Present - [Documentation] Delete OVSDB topology from ODL - [Tags] gbpsfctear - ${resp} RequestsLibrary.Get Request session ${TOPOLOGY_PATH} - IF ${resp.status_code} == 200 - Remove All Elements At URI And Verify ${TOPOLOGY_PATH} - END diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/999_teardown.robot b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/999_teardown.robot deleted file mode 100644 index 9ade7001b5..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/999_teardown.robot +++ /dev/null @@ -1,19 +0,0 @@ -*** Settings *** -Library SSHLibrary -Resource ../../../../../libraries/Utils.robot -Resource ../../../../../libraries/GBP/ConnUtils.robot -Variables ../../../../../variables/Variables.py -Resource ../Variables.robot -Resource ../GBPSFC_6node.robot - - -*** Variables *** -${timeout} 10s - - -*** Test Cases *** -Teardown Suite - Log Teardown suite in symetric-chain - FOR ${GBPSFC} IN @{GBPSFCs} - GBPSFC_6node.Teardown Node ${GBPSFC} ${CURDIR} timeout=${timeout} - END diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/init_scripts/infrastructure_config.py b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/init_scripts/infrastructure_config.py deleted file mode 100644 index f951b1d9c9..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/init_scripts/infrastructure_config.py +++ /dev/null @@ -1,66 +0,0 @@ -# Config for switches, tunnelIP is the local IP address. -switches = [ - {"name": "sw1", "type": "gbp", "dpid": "1"}, - {"name": "sw2", "type": "sff", "dpid": "2"}, - {"name": "sw3", "type": "sf", "dpid": "3"}, - {"name": "sw4", "type": "sff", "dpid": "4"}, - {"name": "sw5", "type": "sf", "dpid": "5"}, - {"name": "sw6", "type": "gbp", "dpid": "6"}, - {"name": "sw7", "type": "none", "dpid": "7"}, - {"name": "sw8", "type": "none", "dpid": "8"}, -] - -defaultContainerImage = "alagalah/odlpoc_ovs230" - -# Note that tenant name and endpointGroup name come from policy_config.py - -hosts = [ - { - "name": "h35_2", - "mac": "00:00:00:00:35:02", - "ip": "10.0.35.2/24", - "switch": "sw1", - }, - { - "name": "h35_3", - "ip": "10.0.35.3/24", - "mac": "00:00:00:00:35:03", - "switch": "sw1", - }, - { - "name": "h35_4", - "ip": "10.0.35.4/24", - "mac": "00:00:00:00:35:04", - "switch": "sw6", - }, - { - "name": "h35_5", - "ip": "10.0.35.5/24", - "mac": "00:00:00:00:35:05", - "switch": "sw6", - }, - { - "name": "h36_2", - "ip": "10.0.36.2/24", - "mac": "00:00:00:00:36:02", - "switch": "sw1", - }, - { - "name": "h36_3", - "ip": "10.0.36.3/24", - "mac": "00:00:00:00:36:03", - "switch": "sw1", - }, - { - "name": "h36_4", - "ip": "10.0.36.4/24", - "mac": "00:00:00:00:36:04", - "switch": "sw6", - }, - { - "name": "h36_5", - "ip": "10.0.36.5/24", - "mac": "00:00:00:00:36:05", - "switch": "sw6", - }, -] diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/init_scripts/sf-flows.sh b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/init_scripts/sf-flows.sh deleted file mode 100644 index 0c7fc960fd..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-symmetric-chain/init_scripts/sf-flows.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash - -set -e - -SFF_IP=$1 -SFF_HEX=$(printf '%02X' ${SFF_IP//./ }) -SFF_HEX=0x$SFF_HEX -sw=$(sudo ovs-vsctl show | egrep -E 'Bridge.*sw' | awk '{print $2}' | sed -e 's/^"//' -e 's/"$//') - -if [ $sw = "sw3" ] || [ $sw = "sw5" ] ; then - # delete NORMAL, if present - sudo ovs-ofctl --strict del-flows $sw priority=0 - sudo ovs-ofctl add-flow $sw "priority=1000,nsi=255 actions=move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$SFF_HEX->NXM_NX_TUN_IPV4_DST[],set_nsi:254,IN_PORT" -OOpenFlow13 - sudo ovs-ofctl add-flow $sw "priority=1000,nsi=254 actions=move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$SFF_HEX->NXM_NX_TUN_IPV4_DST[],set_nsi:253,IN_PORT" -OOpenFlow13 -else - echo "Invalid SF for this demo"; - exit -fi diff --git a/csit/suites/groupbasedpolicy/GBPSXP/ep_provider_register_part.robot b/csit/suites/groupbasedpolicy/GBPSXP/ep_provider_register_part.robot deleted file mode 100644 index 9bfc54ba58..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSXP/ep_provider_register_part.robot +++ /dev/null @@ -1,166 +0,0 @@ -*** Settings *** -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 *** -${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 - [Documentation] Elicit endpoint registration by providing ep-policy-template, ep-forwarding-template and ip-sgt binding - Utils.Add_Elements_To_URI_From_File ${SXP_EP_PROVIDER_CONFIG_URI} ${EP_PROVIDER_TEMPLATES_FILE}-2.1.json - Create_sxp_node session ${SXP_NODE_CONFIG_FILE} 1.1.1.1 - Utils.Post_Elements_To_URI_From_File ${SXP_NODE_RPC_ADD_ENTRY_URI} ${SXP_NODE_ADD_ENTRY_FILE} - ${expected_endpoints} os.Get_File ${GBP_EXPECTED_ENDPOINTS_FILE}-2.1.json - Wait_For_Endpoint_And_Check session ${expected_endpoints} - -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} - ${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} - ${expected_endpoints} os.Get_File ${GBP_EXPECTED_ENDPOINTS_FILE}-2.2.json - Wait_For_Endpoint_And_Check session ${expected_endpoints} - 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 - 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} - 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} - 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} - 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 - [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 - [Documentation] Wait for endpoint to appear in DS/operational and compare to expected endpoint - [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 - [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} - RETURN ${actual_endpoints_no_timestamp} - -Create_sxp_node - [Documentation] Create sxp node and wait till it appears in DS/operational - [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} - 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 - [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} - BuiltIn.Should_Be_Equal_As_Strings True ${sxp_node_enabled} diff --git a/csit/suites/groupbasedpolicy/GBPSXP/ep_provider_renderer_part.robot b/csit/suites/groupbasedpolicy/GBPSXP/ep_provider_renderer_part.robot deleted file mode 100644 index 0e828ce4ad..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSXP/ep_provider_renderer_part.robot +++ /dev/null @@ -1,224 +0,0 @@ -*** Settings *** -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 *** -${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 -@{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_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} - 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.Should_Be_Equal_As_Integers 101 ${security_group_json['destination']['tag']} - ${expected_templates} os.Get_File ${EP_PROVIDER_TEMPLATES_FILE}-3.1.json - ${actual_templates} Utils.Get_Data_From_URI session ${SXP_EP_PROVIDER_CONFIG_URI} - TemplatedRequests.Normalize_Jsons_And_Compare ${expected_templates} ${actual_templates} - -Configure_Sfc_And_Ios_Xe_Renderer_Using_Existing_Sgt - [Documentation] Elicit netconf device configuration by providing sfc configurations and ios-xe renderer policy and ep-policy-templates - 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.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 - reqLib.Create_Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} - ${tools_1_session} GbpSxp.Prepare_Ssh_Tooling ${TOOLS_SYSTEM_IP} - ${tools_2_session} GbpSxp.Prepare_Ssh_Tooling ${TOOLS_SYSTEM_2_IP} - @{tools_sessions} BuiltIn.Create_List ${tools_1_session} ${tools_2_session} - BuiltIn.Set_Suite_Variable ${TOOLS_SESSIONS} ${tools_sessions} - NetconfKeywords.Setup_NetconfKeywords - ${run_netconf_testtool_manually} BuiltIn.Get_Variable_Value ${run_netconf_testtool_manually} ${False} - ${logfile} Utils.Get_Log_File_Name testtool - 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} - 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 - [Documentation] Close http session, close ssh session to tools, stop netconf-testtool - FOR ${ssh_session} IN @{TOOLS_SESSIONS} - BuiltIn.Log ${ssh_session} - SSHKeywords.Restore_Current_Ssh_Connection_From_Index ${ssh_session} - Stop_Testtool - END - gbpsxp.Teardown_Ssh_Tooling ${TOOLS_SESSIONS} - RequestsLibrary.Delete_All_Sessions - -Prepare_Renderer_Prerequisities - [Documentation] Prepare sfc configurations, connect netconf device - 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}]} - 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} - 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 - 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} - ${sfc_sf_forwarders_json} Utils.Json_Parse_From_File ${SFC_SF_FORWARDERS_FILE} - ${sfc_sf_forwarders} gbpsxp.Replace_Ip_Mgmt_Address_In_Forwarder ${sfc_sf_forwarders_json} ${ip_mgmt_map} - Utils.Add_Elements_To_URI_And_Verify ${SERVICE_FORWARDERS_URI} ${sfc_sf_forwarders} - Utils.Add_Elements_To_URI_From_File ${SERVICE_CHAINS_URI} ${SFC_SF_CHAINS_FILE} - Utils.Add_Elements_To_URI_From_File ${SERVICE_FUNCTION_PATHS_URI} ${SFC_SF_PATHS_FILE} - -Check_Netconf_Node_Status - [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} - 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 - BuiltIn.Run_Keyword_And_Ignore_Error Utils.Remove_All_Elements_If_Exist ${SERVICE_FUNCTIONS_URI} - BuiltIn.Run_Keyword_And_Ignore_Error Utils.Remove_All_Elements_If_Exist ${SERVICE_FORWARDERS_URI} - BuiltIn.Run_Keyword_And_Ignore_Error Utils.Remove_All_Elements_If_Exist ${SERVICE_CHAINS_URI} - BuiltIn.Run_Keyword_And_Ignore_Error Utils.Remove_All_Elements_If_Exist ${SERVICE_FUNCTION_PATHS_URI} - 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} - 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} - 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 - [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} - RETURN ${device_ds_config_json['native']['class-map'][0]['match']['security-group']} - -Propose_Renderer_Configuration_Next_Version - [Documentation] Read current renderer configuration status and compute next version or use 0 if status absents - [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']} - RETURN ${current_version + 1} - -Provision_renderer_policy - [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} - RETURN ${renderer_policy_updated} ${next_version} - -Check_Renderer_Policy_Status_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} diff --git a/csit/suites/groupbasedpolicy/GBPSXP/ise-adapter.robot b/csit/suites/groupbasedpolicy/GBPSXP/ise-adapter.robot deleted file mode 100644 index 51ca8cb1b2..0000000000 --- a/csit/suites/groupbasedpolicy/GBPSXP/ise-adapter.robot +++ /dev/null @@ -1,62 +0,0 @@ -*** Settings *** -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 *** -${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_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 - ${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} - TemplatedRequests.Normalize_Jsons_And_Compare ${expected_templates} ${actual_templates} - ${expected_tenant} os.Get_File ${EXPECTED_TENANT_FILE} - ${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 - 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} - -Wipe_Clean_Ise_Source_Cohort - [Documentation] Delete ise-source config, all ep-policy-templates, all endpoint-groups - gbpsxp.Clean_ise_source_config - BuiltIn.Run_Keyword_And_Ignore_Error Utils.Remove_All_Elements_If_Exist ${GBP_EP_TEMPLATES_CONFIG_URI} - BuiltIn.Run_Keyword_And_Ignore_Error Utils.Remove_All_Elements_If_Exist ${GBP_TENANT_CONFIG_URI} - gbpsxp.Teardown_Ise_Mock_Server ${ISE_MOCK_SERVER_API_FOLDER} - gbpsxp.Teardown_Ssh_Tooling - RequestsLibrary.Delete_All_Sessions diff --git a/csit/suites/groupbasedpolicy/GBP_Basic/010_gbp_endpoint.robot b/csit/suites/groupbasedpolicy/GBP_Basic/010_gbp_endpoint.robot deleted file mode 100644 index 109d06bdd9..0000000000 --- a/csit/suites/groupbasedpolicy/GBP_Basic/010_gbp_endpoint.robot +++ /dev/null @@ -1,24 +0,0 @@ -*** Settings *** -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 *** -${REGISTER_ENDPOINT_FILE} ../../../variables/gbp/register-endpoint.json -${UNREGISTER_ENDPOINT_FILE} ../../../variables/gbp/unregister-endpoint.json - - -*** Test Cases *** -Register and Unregister Endpoint - [Documentation] Register and Unregister Endpoint from JSON file - Post Elements To URI From File ${GBP_REGEP_API} ${REGISTER_ENDPOINT_FILE} - Post Elements To URI From File ${GBP_UNREGEP_API} ${UNREGISTER_ENDPOINT_FILE} diff --git a/csit/suites/groupbasedpolicy/GBP_Basic/020_gbp_tenant.robot b/csit/suites/groupbasedpolicy/GBP_Basic/020_gbp_tenant.robot deleted file mode 100644 index dcf2c4d369..0000000000 --- a/csit/suites/groupbasedpolicy/GBP_Basic/020_gbp_tenant.robot +++ /dev/null @@ -1,78 +0,0 @@ -*** Settings *** -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 - [Documentation] Initialize ODL version specific variables using resource CompareStream. - Init Variables Master - -Add Tenants - [Documentation] Add Tenants from JSON file - Add Elements To URI From File ${GBP_TENANTS_API} ${GBP_TENANTS_FILE} - ${body} OperatingSystem.Get File ${GBP_TENANTS_FILE} - ${jsonbody} To Json ${body} - ${resp} RequestsLibrary.Get Request session ${GBP_TENANTS_API} - Should Be Equal As Strings ${resp.status_code} 200 - ${result} To JSON ${resp.content} - Lists Should be Equal ${jsonbody} ${result} - -Delete All Tenants - [Documentation] Delete all Tenants - Add Elements To URI From File ${GBP_TENANTS_API} ${GBP_TENANTS_FILE} - ${body} OperatingSystem.Get File ${GBP_TENANTS_FILE} - ${jsonbody} To Json ${body} - ${resp} RequestsLibrary.Get Request session ${GBP_TENANTS_API} - Should Be Equal As Strings ${resp.status_code} 200 - Remove All Elements At URI ${GBP_TENANTS_API} - ${resp} RequestsLibrary.Get Request session ${GBP_TENANTS_API} - Should Be Equal As Strings ${resp.status_code} 404 - -Add one Tenant - [Documentation] Add one Tenant from JSON file - Add Elements To URI From File ${GBP_TENANT1_API} ${GBP_TENANT1_FILE} - ${body} OperatingSystem.Get File ${GBP_TENANT1_FILE} - ${jsonbody} To Json ${body} - ${resp} RequestsLibrary.Get Request session ${GBP_TENANT1_API} - Should Be Equal As Strings ${resp.status_code} 200 - ${result} To JSON ${resp.content} - Lists Should be Equal ${result} ${jsonbody} - -Get A Non-existing Tenant - [Documentation] Get A Non-existing Tenant - Remove All Elements At URI ${GBP_TENANTS_API} - ${resp} RequestsLibrary.Get Request session ${GBP_TENANT1_API} - Should Be Equal As Strings ${resp.status_code} 404 - -Delete one Tenant - [Documentation] Delete one Tenant - Remove All Elements At URI ${GBP_TENANTS_API} - Add Elements To URI From File ${GBP_TENANT1_API} ${GBP_TENANT1_FILE} - Remove All Elements At URI ${GBP_TENANT1_API} - ${resp} RequestsLibrary.Get Request session ${GBP_TENANTS_API} - Should Be Equal As Strings ${resp.status_code} 200 - Should Not Contain ${resp.content} ${GBP_TENANT_ID} - -Clean Datastore After Tests - [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 - Set Suite Variable ${GBP_TENANT_ID} tenant-red - Set Suite Variable ${GBP_TENANT1_API} /restconf/config/policy:tenants/policy:tenant/${GBP_TENANT_ID} - Set Suite Variable ${GBP_TENANTS_FILE} ${CURDIR}../../../variables/gbp/master/tenants.json - Set Suite Variable ${GBP_TENANT1_FILE} ${CURDIR}../../../variables/gbp/master/tenant1.json diff --git a/csit/suites/groupbasedpolicy/GBP_Basic/030_gbp_tunnel.robot b/csit/suites/groupbasedpolicy/GBP_Basic/030_gbp_tunnel.robot deleted file mode 100644 index 6376b82baf..0000000000 --- a/csit/suites/groupbasedpolicy/GBP_Basic/030_gbp_tunnel.robot +++ /dev/null @@ -1,71 +0,0 @@ -*** Settings *** -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 *** -${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 - [Documentation] Add Tunnels from JSON file - Add Elements To URI From File ${GBP_TUNNELS_API} ${GBP_TUNNELS_FILE} - ${body} OperatingSystem.Get File ${GBP_TUNNELS_FILE} - ${jsonbody} To Json ${body} - ${resp} RequestsLibrary.Get Request session ${GBP_TUNNELS_API} - Should Be Equal As Strings ${resp.status_code} 200 - ${result} To JSON ${resp.content} - Lists Should be Equal ${jsonbody} ${result} - -Delete All Tunnels - [Documentation] Delete all Tunnels - Add Elements To URI From File ${GBP_TUNNELS_API} ${GBP_TUNNELS_FILE} - ${body} OperatingSystem.Get File ${GBP_TUNNELS_FILE} - ${jsonbody} To Json ${body} - ${resp} RequestsLibrary.Get Request session ${GBP_TUNNELS_API} - Should Be Equal As Strings ${resp.status_code} 200 - Remove All Elements At URI ${GBP_TUNNELS_API} - ${resp} RequestsLibrary.Get Request session ${GBP_TUNNELS_API} - Should Be Equal As Strings ${resp.status_code} 404 - -Add one Tunnel - [Documentation] Add one Tunnel from JSON file - Add Elements To URI From File ${GBP_TUNNEL1_URL} ${GBP_TUNNEL1_FILE} - ${body} OperatingSystem.Get File ${GBP_TUNNEL1_FILE} - ${jsonbody} To Json ${body} - ${resp} RequestsLibrary.Get Request session ${GBP_TUNNEL1_URL} - Should Be Equal As Strings ${resp.status_code} 200 - ${result} To JSON ${resp.content} - Lists Should be Equal ${result} ${jsonbody} - -Get A Non-existing Tunnel - [Documentation] Get A Non-existing Tunnel - Remove All Elements At URI ${GBP_TUNNELS_API} - ${resp} RequestsLibrary.Get Request session ${GBP_TUNNEL1_URL} - Should Be Equal As Strings ${resp.status_code} 404 - -Delete one Tunnel - [Documentation] Delete one Tunnel - Remove All Elements At URI ${GBP_TUNNELS_API} - Add Elements To URI From File ${GBP_TUNNEL1_URL} ${GBP_TUNNEL1_FILE} - Remove All Elements At URI ${GBP_TUNNEL1_URL} - ${resp} RequestsLibrary.Get Request session ${GBP_TUNNELS_API} - Should Be Equal As Strings ${resp.status_code} 200 - Should Not Contain ${resp.content} ${GBP_TUNNEL_ID} - -Clean Datastore After Tests - [Documentation] Clean All Tunnels In Datastore After Tests - Remove All Elements At URI ${GBP_TUNNELS_API} diff --git a/csit/suites/groupbasedpolicy/common_scripts/clean-demo.sh b/csit/suites/groupbasedpolicy/common_scripts/clean-demo.sh deleted file mode 100644 index 24e7b91d1e..0000000000 --- a/csit/suites/groupbasedpolicy/common_scripts/clean-demo.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -set -e - -sw=$(sudo ovs-vsctl show | egrep -E 'Bridge.*sw' | awk '{print $2}' | sed -e 's/^"//' -e 's/"$//') -if [ "$sw" ] -then - sudo ovs-vsctl del-br $sw -fi -sudo ovs-vsctl del-manager; - -docker stop -t=1 $(docker ps -a -q) > /dev/null 2>&1 -docker rm $(docker ps -a -q) > /dev/null 2>&1 - -sudo /etc/init.d/openvswitch-switch stop > /dev/null -sudo rm /etc/openvswitch/conf.db > /dev/null -sudo /etc/init.d/openvswitch-switch start > /dev/null \ No newline at end of file diff --git a/csit/suites/groupbasedpolicy/common_scripts/dpdumpflows.py b/csit/suites/groupbasedpolicy/common_scripts/dpdumpflows.py deleted file mode 100644 index 7bcf6709de..0000000000 --- a/csit/suites/groupbasedpolicy/common_scripts/dpdumpflows.py +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/python - -from subprocess import check_output - - -def call_dpctl(): - cmd = "ovs-dpctl dump-flows" - listcmd = cmd.split() - return check_output(listcmd) - - -if __name__ == "__main__": - flows = call_dpctl().split("recirc_id") - for flow in flows: - print(flow) diff --git a/csit/suites/groupbasedpolicy/common_scripts/dumpflows.sh b/csit/suites/groupbasedpolicy/common_scripts/dumpflows.sh deleted file mode 100644 index ba8f271126..0000000000 --- a/csit/suites/groupbasedpolicy/common_scripts/dumpflows.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -set -e -hostnum=${HOSTNAME#"gbpsfc"} -sw="sw$hostnum" - -TABLE=$1 - -clear -ovs-ofctl dump-groups $sw -OOpenFlow13 -if [ "$TABLE" ] -then - ovs-ofctl dump-flows $sw -OOpenFlow13 table=$TABLE -else - ovs-ofctl dump-flows $sw -OOpenFlow13 -fi - diff --git a/csit/suites/groupbasedpolicy/common_scripts/flowcount.sh b/csit/suites/groupbasedpolicy/common_scripts/flowcount.sh deleted file mode 100644 index 5cdeac32bc..0000000000 --- a/csit/suites/groupbasedpolicy/common_scripts/flowcount.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash - -: ' Returns ovs-ofctl dump-flows command output for a table - specified in argument by table ID and ovs-ofctl dump-groups - output. If no table specified in args, the sum of flows for - each table is returned in the output. -' - -set -e - -sw=$(sudo ovs-vsctl show | egrep -E 'Bridge.*sw' | awk '{print $2}' | sed -e 's/"//g') -if [ "$1" ] -then - echo "GROUPS:"; - ovs-ofctl dump-groups $sw -OOpenFlow13; - echo;echo "FLOWS:";ovs-ofctl dump-flows $sw -OOpenFlow13 table=$1 --rsort=priority - echo - printf "Flow count: " - echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=$1 | wc -l)-1)) -else - printf "No table entered. $sw flow count: "; - echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 | wc -l)-1)) - printf "\nTable0: PortSecurity: "; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=0| wc -l)-1)) - printf "\nTable1: IngressNat: "; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=1| wc -l)-1)) - printf "\nTable2: SourceMapper: "; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=2| wc -l)-1)) - printf "\nTable3: DestMapper: "; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=3| wc -l)-1)) - printf "\nTable4: PolicyEnforcer:"; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=4| wc -l)-1)) - printf "\nTable5: EgressNAT: "; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=5| wc -l)-1)) - printf "\nTable6: External: "; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=6| wc -l)-1)) -fi - diff --git a/csit/suites/groupbasedpolicy/common_scripts/infrastructure_launch.py b/csit/suites/groupbasedpolicy/common_scripts/infrastructure_launch.py deleted file mode 100644 index 4899d293c4..0000000000 --- a/csit/suites/groupbasedpolicy/common_scripts/infrastructure_launch.py +++ /dev/null @@ -1,351 +0,0 @@ -#!/usr/bin/python - -""" -Spin-up script for Opendaylight GBP and GBPSFC sample concept demonstrations. - -This script has to be run from the environment on which OVS switches and Docker -containers are located. This script works together with infrastructure_config.py -configuration script where the entire topology for specific scenario is configured. This -file defines to which already existing switch docker containers have to be connected. -OVS switch have to be created on the same hosting environment as this script is executed -from. Local switch name should match one of the names specified in configuration file so that -docker containers are created and connected to it. - -Updated: 22.10.2015 - -""" - -import socket -import os -import sys -import ipaddr -from subprocess import call -from subprocess import check_output -from infrastructure_config import switches -from infrastructure_config import hosts -from infrastructure_config import defaultContainerImage - - -def add_controller(sw, ip): - """Connects OVS switch to a controller. The switch is specified - by it's name and the controller by it's IP address. - - Args: - :param sw: name of a switch on which controller is set - - :param ip: IP address of controller - - NOTE: - :Required controller should listen on TCP port 6653. - """ - - try: - socket.inet_aton(ip) - except socket.error: - print("Error: %s is not a valid IPv4 address of controller!" % (ip)) - os.exit(2) - - call(["sudo", "ovs-vsctl", "set-controller", sw, "tcp:%s:6653" % ip]) - - -def add_manager(ip): - """Sets OVSDB manager for OVS instance. - - Args: - :param ip: IP address of specified manager - - NOTE: - :Required manager should listen on TCP port 6640. - """ - - try: - socket.inet_aton(ip) - except socket.error: - print("Error: %s is not a valid IPv4 address of manager!" % (ip)) - os.exit(2) - - cmd = ["sudo", "ovs-vsctl", "set-manager", "tcp:%s:6640" % ip] - call(cmd) - - -def add_switch(name, dpid=None): - """Adds switch to OVS instance and sets it's DataPath ID - if specified. - - Args: - :param ip: name of new switch - - :param dpid: DataPath ID of new switch - """ - - call(["sudo", "ovs-vsctl", "add-br", name]) # Add bridge - if dpid: - if len(dpid) < 16: # DPID must be 16-bytes in later versions of OVS - filler = "0000000000000000" - # prepending zeros to match 16-byt length, e.g. 123 -> 0000000000000123 - dpid = filler[: len(filler) - len(dpid)] + dpid - elif len(dpid) > 16: - print("DPID: %s is too long" % dpid) - sys.exit(3) - call( - [ - "sudo", - "ovs-vsctl", - "set", - "bridge", - name, - "other-config:datapath-id=%s" % dpid, - ] - ) - - -def set_of_version(sw, version="OpenFlow13,OpenFlow12,OpenFlow10"): - """Sets OpenFlow protocol versions on OVS switch - - Args: - :param sw: name of switch - - :param sw: OpenFlow versions to support on switch - """ - - call(["sudo", "ovs-vsctl", "set", "bridge", sw, "protocols={}".format(version)]) - - -def add_vxlan_tunnel(sw): - """Adds VXLAN tunnel to OVS switch. - - Args: - :param sw: name of switch - - NOTE: - :Remote IP is read from flows. - """ - ifaceName = "{}-vxlan-0".format(sw) - cmd = [ - "sudo", - "ovs-vsctl", - "add-port", - sw, - ifaceName, - "--", - "set", - "Interface", - ifaceName, - "type=vxlan", - "options:remote_ip=flow", - "options:key=flow", - ] - call(cmd) - - -def add_gpe_tunnel(sw): - """Adds GPE tunnel to OVS switch. - - Args: - :param sw: name of switch - - :param dpid: DataPath ID of new switches - - NOTE: - :Remote IP is read from flows. - """ - - ifaceName = "{}-vxlangpe-0".format(sw) - cmd = [ - "sudo", - "ovs-vsctl", - "add-port", - sw, - ifaceName, - "--", - "set", - "Interface", - ifaceName, - "type=vxlan", - "options:remote_ip=flow", - "options:dst_port=6633", - "options:nshc1=flow", - "options:nshc2=flow", - "options:nshc3=flow", - "options:nshc4=flow", - "options:nsp=flow", - "options:nsi=flow", - "options:key=flow", - ] - call(cmd) - - -def launch_container(host, containerImage): - # TODO use Docker.py - """Runs docker container in background. - - Args: - :param host: container host name - - :param dpid: DataPath ID of new switch - - Returns: - :returns string: container ID - - NOTE: - :No networking set. - - """ - - containerID = check_output( - [ - "docker", - "run", - "-d", - "--net=none", - "--name=%s" % host["name"], - "-h", - host["name"], - "-t", - "-i", - "--privileged=True", - containerImage, - "/bin/bash", - ] - ) - return containerID[:-1] # Remove extraneous \n from output of above - - -def connect_container_to_switch(sw, host, containerID): - """Connects docker to OVS switch. - - Args: - :param sw: name of switch - - :param host: host object to process. - Here is an example of such as object - {'name': 'h35_2', - 'mac': '00:00:00:00:35:02', - 'ip': '10.0.35.2/24', - 'switch': 'sw1'} - Note: 'switch' - name of OVS switch to - which the host will be connected - - :param containerID: ID of docker container - """ - - hostIP = host["ip"] - mac = host["mac"] - nw = ipaddr.IPv4Network(hostIP) - broadcast = "{}".format(nw.broadcast) - router = "{}".format(nw.network + 1) - ovswork_path = os.path.dirname(os.path.realpath(__file__)) + "/ovswork.sh" - cmd = [ovswork_path, sw, containerID, hostIP, broadcast, router, mac, host["name"]] - if ("vlan") in host: - cmd.append(host["vlan"]) - call(cmd) - - -def launch(switches, hosts, odl_ip="127.0.0.1"): - """Connects hosts to switches. Arguments are - tied to underlying configuration file. Processing runs - for switch, that is present on local environment and - for hosts configured to be connected to the switch. - - Args: - :param switches: switches to connect to - Example of switch object - {'name': 'sw1', - 'dpid': '1'} - - :param hosts: hosts to connect - Example of host object - {'name': 'h35_2', - 'mac': '00:00:00:00:35:02', - 'ip': '10.0.35.2/24', - 'switch': 'sw1'} - Note: 'switch' - name of OVS switch to - which the host will be connected - - :param odl_ip: IP address of ODL, acting as - both - manager and controller. - Default value is '127.0.0.1' - """ - - for sw in switches: - add_manager(odl_ip) - ports = 0 - first_host = True - for host in hosts: - if host["switch"] == sw["name"]: - if first_host: - add_switch(sw["name"], sw["dpid"]) - set_of_version(sw["name"]) - add_controller(sw["name"], odl_ip) - add_gpe_tunnel(sw["name"]) - add_vxlan_tunnel(sw["name"]) - first_host = False - containerImage = defaultContainerImage # from Config - if ("container_image") in host: # from Config - containerImage = host["container_image"] - containerID = launch_container(host, containerImage) - ports += 1 - connect_container_to_switch(sw["name"], host, containerID) - host["port-name"] = "vethl-" + host["name"] - print( - "Created container: %s with IP: %s. Connect using docker attach %s," - "disconnect with 'ctrl-p-q'." - % (host["name"], host["ip"], host["name"]) - ) - - -if __name__ == "__main__": - if len(sys.argv) < 2 or len(sys.argv) > 3: - print("Please, specify IP of ODL and switch index in arguments.") - print("usage: ./infrastructure_launch.py ODL_IP SWITCH_INDEX") - sys.exit(2) - - controller = sys.argv[1] - try: - socket.inet_aton(controller) - except socket.error: - print("Error: %s is not a valid IPv4 address!" % (controller)) - sys.exit(2) - - sw_index = int(sys.argv[2]) - print(sw_index) - print(switches[sw_index]) - if sw_index not in range(0, len(switches) + 1): - print(len(switches) + 1) - print("Error: %s is not a valid switch index!" % (sw_index)) - sys.exit(2) - - sw_type = switches[sw_index]["type"] - sw_name = switches[sw_index]["name"] - if sw_type == "gbp": - print("*****************************") - print("Configuring %s as a GBP node." % (sw_name)) - print("*****************************") - print - launch([switches[sw_index]], hosts, controller) - print("*****************************") - print("OVS status:") - print("-----------") - print - call(["sudo", "ovs-vsctl", "show"]) - print - print("Docker containers:") - print("------------------") - call(["docker", "ps"]) - print("*****************************") - elif sw_type == "sff": - print("*****************************") - print("Configuring %s as an SFF." % (sw_name)) - print("*****************************") - call(["sudo", "ovs-vsctl", "set-manager", "tcp:%s:6640" % controller]) - print - elif sw_type == "sf": - print("*****************************") - print("Configuring %s as an SF." % (sw_name)) - print("*****************************") - call( - [ - "%s/sf-config.sh" % os.path.dirname(os.path.realpath(__file__)), - "%s" % sw_name, - ] - ) diff --git a/csit/suites/groupbasedpolicy/common_scripts/ovswork.sh b/csit/suites/groupbasedpolicy/common_scripts/ovswork.sh deleted file mode 100644 index 28e0862566..0000000000 --- a/csit/suites/groupbasedpolicy/common_scripts/ovswork.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env bash -set -e - -BRIDGE=$1 -GUEST_ID=$2 -IPADDR=$3 -BROADCAST=$4 -GWADDR=$5 -MAC=$6 -GUESTNAME=$7 -VLANTAG=$8 - -[ "$IPADDR" ] || { - echo "Syntax:" - echo "pipework / [vlan tag]" - exit 1 -} - -# Step 1: Find the guest (for now, we only support LXC containers) -while read dev mnt fstype options dump fsck -do - [ "$fstype" != "cgroup" ] && continue - echo $options | grep -qw devices || continue - CGROUPMNT=$mnt -done < /proc/mounts - -[ "$CGROUPMNT" ] || { - echo "Could not locate cgroup mount point." - exit 1 -} - -N=$(find "$CGROUPMNT" -name "$GUEST_ID*" | wc -l) -case "$N" in - 0) - echo "Could not find any container matching $GUEST_ID" - exit 1 - ;; - 1) - true - ;; - *) - echo "Found more than one container matching $GUEST_ID" - exit 1 - ;; -esac - -NSPID=$(head -n 1 $(find "$CGROUPMNT" -name "$GUEST_ID*" | head -n 1)/tasks) -[ "$NSPID" ] || { - echo "Could not find a process inside container $GUEST_ID" - exit 1 -} - -# Step 2: Prepare the working directory -sudo mkdir -p /var/run/netns -sudo rm -f /var/run/netns/$NSPID -sudo ln -s /proc/$NSPID/ns/net /var/run/netns/$NSPID - -# Step 3: Creating virtual interfaces -LOCAL_IFNAME=vethl-$GUESTNAME #$NSPID -GUEST_IFNAME=vethg-$GUESTNAME #$NSPID -sudo ip link add name $LOCAL_IFNAME type veth peer name $GUEST_IFNAME -sudo ip link set $LOCAL_IFNAME up - -# Step 4: Adding the virtual interface to the bridge -sudo ip link set $GUEST_IFNAME netns $NSPID -if [ "$VLANTAG" ] -then - sudo ovs-vsctl add-port $BRIDGE $LOCAL_IFNAME tag=$VLANTAG - echo $LOCAL_IFNAME -else - sudo ovs-vsctl add-port $BRIDGE $LOCAL_IFNAME - echo $LOCAL_IFNAME -fi - -# Step 5: Configure networking within the container -sudo ip netns exec $NSPID ip link set $GUEST_IFNAME name eth0 -sudo ip netns exec $NSPID ip addr add $IPADDR broadcast $BROADCAST dev eth0 -sudo ip netns exec $NSPID ifconfig eth0 hw ether $MAC -sudo ip netns exec $NSPID ip addr add 127.0.0.1 dev lo -sudo ip netns exec $NSPID ip link set eth0 up -sudo ip netns exec $NSPID ip link set lo up -sudo ip netns exec $NSPID ip route add default via $GWADDR - diff --git a/csit/suites/groupbasedpolicy/common_scripts/pollflows.sh b/csit/suites/groupbasedpolicy/common_scripts/pollflows.sh deleted file mode 100644 index 108cf0e3d6..0000000000 --- a/csit/suites/groupbasedpolicy/common_scripts/pollflows.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -TABLE=$1 -watch -n 1 -d "flowCount.sh $1" - diff --git a/csit/suites/groupbasedpolicy/common_scripts/resetcontroller.sh b/csit/suites/groupbasedpolicy/common_scripts/resetcontroller.sh deleted file mode 100644 index ac72564b34..0000000000 --- a/csit/suites/groupbasedpolicy/common_scripts/resetcontroller.sh +++ /dev/null @@ -1,11 +0,0 @@ -hostnum=${HOSTNAME#"gbpsfc"} -sw="sw$hostnum" -echo "Deleting controller for $sw" -ovs-vsctl del-controller $sw; -if [[ $? -ne 0 ]] ; then - exit 1 -fi -echo "Sleeping for 6sec..." -sleep 6 -echo "Setting controller to $ODL" -ovs-vsctl set-controller $sw tcp:$ODL:6653 diff --git a/csit/suites/groupbasedpolicy/common_scripts/sf-config.sh b/csit/suites/groupbasedpolicy/common_scripts/sf-config.sh deleted file mode 100644 index be379139ad..0000000000 --- a/csit/suites/groupbasedpolicy/common_scripts/sf-config.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -e - -sw=$1 - -sudo ovs-vsctl add-br $sw -sudo ovs-vsctl add-port $sw $sw-vxlangpe-0 -- set interface $sw-vxlangpe-0 type=vxlan options:remote_ip=flow options:dst_port=6633 options:nshc1=flow options:nshc2=flow options:nshc3=flow options:nshc4=flow options:nsp=flow options:nsi=flow options:key=flow diff --git a/csit/suites/groupbasedpolicy/common_scripts/traceflow.sh b/csit/suites/groupbasedpolicy/common_scripts/traceflow.sh deleted file mode 100644 index ca2426e592..0000000000 --- a/csit/suites/groupbasedpolicy/common_scripts/traceflow.sh +++ /dev/null @@ -1 +0,0 @@ -ovs-appctl ofproto/trace $1 -- 2.36.6