*** Settings ***
Documentation This suite is a common keywordis file for genius project.
+Library Collections
Library OperatingSystem
Library RequestsLibrary
Library SSHLibrary
+Library re
+Library string
+Resource KarafKeywords.robot
+Resource Utils.robot
Resource ../variables/Variables.robot
*** Variables ***
*** Keywords ***
+Genius Suite Setup
+ [Documentation] Create Rest Session to http://${ODL_SYSTEM_IP}:${RESTCONFPORT}
+ Start Suite
+ Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} timeout=5
+
+Genius Suite Teardown
+ [Documentation] Delete all sessions
+ Delete All Sessions
+ Stop Suite
+
+Start Suite
+ [Documentation] Initial setup for Genius test suites
+ Run_Keyword_If_At_Least_Oxygen Check Service Status ACTIVE OPERATIONAL
+ Log Start the tests
+ ${conn_id_1}= Open Connection ${TOOLS_SYSTEM_IP} prompt=${DEFAULT_LINUX_PROMPT} timeout=30s
+ Set Global Variable ${conn_id_1}
+ KarafKeywords.Setup_Karaf_Keywords
+ ${karaf_debug_enabled} BuiltIn.Get_Variable_Value ${KARAF_DEBUG} ${False}
+ BuiltIn.run_keyword_if ${karaf_debug_enabled} KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set DEBUG org.opendaylight.genius
+ Login With Public Key ${TOOLS_SYSTEM_USER} ${USER_HOME}/.ssh/${SSH_KEY} any
+ Log ${conn_id_1}
+ Execute Command sudo ovs-vsctl add-br BR1
+ Execute Command sudo ovs-vsctl set bridge BR1 protocols=OpenFlow13
+ Execute Command sudo ovs-vsctl set-controller BR1 tcp:${ODL_SYSTEM_IP}:6633
+ Execute Command sudo ifconfig BR1 up
+ Execute Command sudo ovs-vsctl add-port BR1 tap8ed70586-6c -- set Interface tap8ed70586-6c type=tap
+ Execute Command sudo ovs-vsctl set-manager tcp:${ODL_SYSTEM_IP}:6640
+ ${output_1} Execute Command sudo ovs-vsctl show
+ Log ${output_1}
+ ${check} Wait Until Keyword Succeeds 30 10 check establishment ${conn_id_1} 6633
+ log ${check}
+ ${check_2} Wait Until Keyword Succeeds 30 10 check establishment ${conn_id_1} 6640
+ log ${check_2}
+ Log >>>>>Switch 2 configuration <<<<<
+ ${conn_id_2}= Open Connection ${TOOLS_SYSTEM_2_IP} prompt=${DEFAULT_LINUX_PROMPT} timeout=30s
+ Set Global Variable ${conn_id_2}
+ Login With Public Key ${TOOLS_SYSTEM_USER} ${USER_HOME}/.ssh/${SSH_KEY} any
+ Log ${conn_id_2}
+ Execute Command sudo ovs-vsctl add-br BR2
+ Execute Command sudo ovs-vsctl set bridge BR2 protocols=OpenFlow13
+ Execute Command sudo ovs-vsctl set-controller BR2 tcp:${ODL_SYSTEM_IP}:6633
+ Execute Command sudo ifconfig BR2 up
+ Execute Command sudo ovs-vsctl set-manager tcp:${ODL_SYSTEM_IP}:6640
+ ${output_2} Execute Command sudo ovs-vsctl show
+ Log ${output_2}
+
+Stop Suite
+ Log Stop the tests
+ Switch Connection ${conn_id_1}
+ Log ${conn_id_1}
+ Execute Command sudo ovs-vsctl del-br BR1
+ Execute Command sudo ovs-vsctl del-manager
+ Write exit
+ close connection
+ Switch Connection ${conn_id_2}
+ Log ${conn_id_2}
+ Execute Command sudo ovs-vsctl del-br BR2
+ Execute Command sudo ovs-vsctl del-manager
+ Write exit
+ close connection
+
+check establishment
+ [Arguments] ${conn_id} ${port}
+ Switch Connection ${conn_id}
+ ${check_establishment} Execute Command netstat -anp | grep ${port}
+ Should contain ${check_establishment} ESTABLISHED
+ [Return] ${check_establishment}
+
+Check Service Status
+ [Arguments] ${system_ready_state} ${service_state}
+ [Documentation] Issues the karaf shell command showSvcStatus to verify the ready and service states are the same as the arguments passed
+ ${service_status_output} Issue_Command_On_Karaf_Console showSvcStatus ${ODL_SYSTEM_IP} 8101
+ Should Contain ${service_status_output} ${system_ready_state}
+ @{split} Split To Lines ${service_status_output} 3 7
+ : FOR ${var} IN @{split}
+ \ Should Contain ${var} ${service_state}
+
Create Vteps
[Arguments] ${TOOLS_SYSTEM_IP} ${TOOLS_SYSTEM_2_IP} ${vlan} ${gateway-ip}
[Documentation] This keyword creates VTEPs between ${TOOLS_SYSTEM_IP} and ${TOOLS_SYSTEM_2_IP}
log ${Dpn_id}
[Return] ${Dpn_id}
-Delete All Sessions
+BFD Suite Stop
+ [Documentation] Run at end of BFD suite
+ Delete All Vteps
+ Stop Suite
+
+Delete All Vteps
[Documentation] This will delete vtep.
${resp} RequestsLibrary.Delete Request session ${CONFIG_API}/itm:transport-zones/ data=${vtep_body}
Log ${resp.status_code}
*** Settings ***
Documentation Test Suite for BFD tunnel monitoring
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Genius.Delete All Sessions
+Suite Setup Genius Suite Setup
+Suite Teardown BFD Suite Stop
Test Teardown Get Model Dump ${ODL_SYSTEM_IP} ${data_models}
Library OperatingSystem
Library String
Library Collections
Library re
Library SSHLibrary
-Resource ../../variables/Variables.robot
Variables ../../variables/genius/Modules.py
-Resource ../../libraries/Genius.robot
Resource ../../libraries/DataModels.robot
-Resource ../../libraries/Utils.robot
-Resource ../../libraries/VpnOperations.robot
+Resource ../../libraries/Genius.robot
Resource ../../libraries/KarafKeywords.robot
Resource ../../libraries/OVSDB.robot
+Resource ../../libraries/Utils.robot
+Resource ../../libraries/VpnOperations.robot
+Resource ../../variables/Variables.robot
*** Variables ***
@{itm_created} TZA
${OK_201} 201
${ENABLE_MONITORING} {"tunnel-monitor-params":{"enabled":true,"monitor-protocol":"odl-interface:tunnel-monitoring-type-bfd"}}
${DISABLE_MONITORING} {"tunnel-monitor-params":{"enabled":"false","monitor-protocol":"odl-interface:tunnel-monitoring-type-bfd"}}
+${TUNNEL_MONI_PARAMS_TRUE} true
+${TUNNEL_MONI_PARAMS_FALSE} false
${INTERFACE_DS_MONI_FALSE} "odl-interface:monitor-enabled": false
${INTERFACE_DS_MONI_TRUE} "odl-interface:monitor-enabled": true
${INTERFACE_DS_MONI_INT_1000} "odl-interface:monitor-interval": 1000
BFD_TC01 Verify by default BFD monitoring is enabled on Controller
[Documentation] Verify by default BFD monitoring is enabled on Controller
- Verify Tunnel Monitoring Is On
- Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_1000} ${TUNNEL_MONI_PROTO}
+ Wait Until Keyword Succeeds 10s 2s Verify Tunnel Monitoring Is On
+ Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_1000} ${TUNNEL_MONI_PROTO}
BFD_TC02 Verify that BFD tunnel monitoring interval is set with appropriate default value i.e.,1000
[Documentation] This will verify BFD tunnel monitoring default interval
${output}= Issue Command On Karaf Console ${TEP_SHOW}
Log ${output}
Should Contain ${output} ${DEFAULT_MONITORING_INTERVAL}
- Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_1000} ${TUNNEL_MONI_PROTO}
+ Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_1000} ${TUNNEL_MONI_PROTO}
BFD_TC04 Verify that in controller tunnel status is up when ITM tunnel interface is brought up.
[Documentation] Verify that in controller tunnel status is up when ITM tunnel interface is brought up.
- Verify Tunnel Monitoring Is On
+ Wait Until Keyword Succeeds 10s 2s Verify Tunnel Monitoring Is On
Wait Until Keyword Succeeds 10s 1s Verify Tunnel Status as UP
- Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_1000} ${TUNNEL_MONI_PROTO}
+ Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_1000} ${TUNNEL_MONI_PROTO}
BFD_TC05 Verify BFD tunnel monitoring interval can be changed.
[Documentation] Verify BFD tunnel monitoring interval can be changed.
${Bfd_updated_value}= Create List 5000
Wait Until Keyword Succeeds 30s 10s Check For Elements At Uri ${OPERATIONAL_API}/itm-config:tunnel-monitor-interval/ ${Bfd_updated_value}
Wait Until Keyword Succeeds 30s 10s Check For Elements At Uri ${CONFIG_API}/itm-config:tunnel-monitor-interval/ ${Bfd_updated_value}
- Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
+ Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
SSHLibrary.Switch Connection ${conn_id_1}
Execute Command sudo ovs-vsctl del-port ${Bridge-1} tap8ed70586-6c
${ovs_1} Execute Command sudo ovs-vsctl show
${output}= Issue Command On Karaf Console ${TEP_SHOW_STATE}
Log ${output}
Wait Until Keyword Succeeds 10s 1s Verify Tunnel Status as UNKNOWN
- Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
+ Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
SSHLibrary.Switch Connection ${conn_id_1}
Execute Command sudo ovs-vsctl set-controller BR1 tcp:${ODL_SYSTEM_IP}:${ODL_OF_PORT}
SSHLibrary.Switch Connection ${conn_id_2}
${output}= Issue Command On Karaf Console ${TEP_SHOW_STATE}
Log ${output}
Wait Until Keyword Succeeds 10s 1s Verify Tunnel Status as UP
- Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
+ Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
BFD_TC07 Verify that BFD monitoring is disabled on Controller
[Documentation] Verify that BFD monitoring is disabled on Controller
${resp} RequestsLibrary.Put Request session ${CONFIG_API}/itm-config:tunnel-monitor-params/ data=${DISABLE_MONITORING}
Should Be Equal As Strings ${resp.status_code} 201
- ${oper} RequestsLibrary.Get Request session ${OPERATIONAL_API}/itm-config:tunnel-monitor-params/
- Log ${oper}
- ${respjson} RequestsLibrary.To Json ${oper.content} pretty_print=True
- Log ${respjson}
- Should Contain ${respjson} false
+ Wait Until Keyword Succeeds 10s 2s Verify Tunnel Monitoring Params ${TUNNEL_MONI_PARAMS_FALSE}
${output}= Issue Command On Karaf Console ${TEP_SHOW}
Log ${output}
Should Contain ${output} ${TUNNEL_MONITOR_OFF}
- Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_FALSE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
+ Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_FALSE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
Log "Verifying tunnel is UP after BFD is disabled"
Wait Until Keyword Succeeds 10s 1s Verify Tunnel Status as UP
Log "Enabling tunnel monitoring once again"
${resp} RequestsLibrary.Put Request session ${CONFIG_API}/itm-config:tunnel-monitor-params/ data=${ENABLE_MONITORING}
Should Be Equal As Strings ${resp.status_code} 200
- ${oper} RequestsLibrary.Get Request session ${OPERATIONAL_API}/itm-config:tunnel-monitor-params/
- Log ${oper}
- ${respjson} RequestsLibrary.To Json ${oper.content} pretty_print=True
- Log ${respjson}
- Should Contain ${respjson} true
- Verify Tunnel Monitoring Is On
- Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
+ Wait Until Keyword Succeeds 10s 2s Verify Tunnel Monitoring Params ${TUNNEL_MONI_PARAMS_TRUE}
+ Wait Until Keyword Succeeds 10s 2s Verify Tunnel Monitoring Is On
+ Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
*** Keywords ***
Verify Config Ietf Interface Output
log ${tun_name}
Should Not Be Empty ${tun_name}
[Return] ${tun_name}
+
+Verify Tunnel Monitoring Params
+ [Arguments] ${flag}
+ @{checklist} create list ${flag}
+ Check For Elements At URI ${OPERATIONAL_API}/itm-config:tunnel-monitor-params/ ${checklist}
*** Settings ***
Documentation Test Suite for ITM
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
+Suite Setup Genius Suite Setup
+Suite Teardown Genius Suite Teardown
Test Teardown Get Model Dump ${ODL_SYSTEM_IP} ${data_models}
+Library Collections
Library OperatingSystem
-Library String
Library RequestsLibrary
-Variables ../../variables/Variables.py
+Library String
+Library re
Variables ../../variables/genius/Modules.py
Resource ../../libraries/DataModels.robot
-Library Collections
+Resource ../../libraries/Genius.robot
Resource ../../libraries/Utils.robot
-Library re
+Resource ../../variables/Variables.robot
*** Variables ***
@{itm_created} TZA
*** Settings ***
Documentation Test Suite for IdManager
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
+Suite Setup Genius Suite Setup
+Suite Teardown Genius Suite Teardown
Test Teardown Get Model Dump ${ODL_SYSTEM_IP} ${idmanager_data_models}
Library OperatingSystem
Library String
Library RequestsLibrary
Library Collections
Library re
-Variables ../../variables/Variables.py
Variables ../../variables/genius/Modules.py
Resource ../../libraries/DataModels.robot
Resource ../../libraries/Utils.robot
+Resource ../../libraries/Genius.robot
+Resource ../../variables/Variables.robot
*** Variables ***
${genius_config_dir} ${CURDIR}/../../variables/genius
*** Settings ***
Documentation Test Suite for Interface manager
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
+Suite Setup Genius Suite Setup
+Suite Teardown Genius Suite Teardown
Test Teardown Get Model Dump ${ODL_SYSTEM_IP} ${data_models}
Library OperatingSystem
Library String
Library RequestsLibrary
Library Collections
Library re
-Variables ../../variables/Variables.py
Variables ../../variables/genius/Modules.py
Resource ../../libraries/DataModels.robot
+Resource ../../libraries/Genius.robot
Resource ../../libraries/Utils.robot
+Resource ../../variables/Variables.robot
*** Variables ***
${genius_config_dir} ${CURDIR}/../../variables/genius
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Genius Modules
-Suite Setup Start Suite
-Suite Teardown Stop Suite
-Library SSHLibrary
-Library BuiltIn
-Variables ../../variables/Variables.py
-Resource ../../libraries/Utils.robot
-Library re
-Library Collections
-Library string
-Resource ../../libraries/KarafKeywords.robot
-
-*** Variables ***
-
-*** Keywords ***
-Start Suite
- [Documentation] Test suit for vpn service using mininet OF13 and OVS 2.3.1
- Run_Keyword_If_At_Least_Oxygen Check Service Status ACTIVE OPERATIONAL
- Log Start the tests
- ${conn_id_1}= Open Connection ${TOOLS_SYSTEM_IP} prompt=${DEFAULT_LINUX_PROMPT} timeout=30s
- Set Global Variable ${conn_id_1}
- KarafKeywords.Setup_Karaf_Keywords
- ${karaf_debug_enabled} BuiltIn.Get_Variable_Value ${KARAF_DEBUG} ${False}
- BuiltIn.run_keyword_if ${karaf_debug_enabled} KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set DEBUG org.opendaylight.genius
- Login With Public Key ${TOOLS_SYSTEM_USER} ${USER_HOME}/.ssh/${SSH_KEY} any
- Log ${conn_id_1}
- Execute Command sudo ovs-vsctl add-br BR1
- Execute Command sudo ovs-vsctl set bridge BR1 protocols=OpenFlow13
- Execute Command sudo ovs-vsctl set-controller BR1 tcp:${ODL_SYSTEM_IP}:6633
- Execute Command sudo ifconfig BR1 up
- Execute Command sudo ovs-vsctl add-port BR1 tap8ed70586-6c -- set Interface tap8ed70586-6c type=tap
- Execute Command sudo ovs-vsctl set-manager tcp:${ODL_SYSTEM_IP}:6640
- ${output_1} Execute Command sudo ovs-vsctl show
- Log ${output_1}
- ${check} Wait Until Keyword Succeeds 30 10 check establishment ${conn_id_1} 6633
- log ${check}
- ${check_2} Wait Until Keyword Succeeds 30 10 check establishment ${conn_id_1} 6640
- log ${check_2}
- Log >>>>>Switch 2 configuration <<<<<
- ${conn_id_2}= Open Connection ${TOOLS_SYSTEM_2_IP} prompt=${DEFAULT_LINUX_PROMPT} timeout=30s
- Set Global Variable ${conn_id_2}
- Login With Public Key ${TOOLS_SYSTEM_USER} ${USER_HOME}/.ssh/${SSH_KEY} any
- Log ${conn_id_2}
- Execute Command sudo ovs-vsctl add-br BR2
- Execute Command sudo ovs-vsctl set bridge BR2 protocols=OpenFlow13
- Execute Command sudo ovs-vsctl set-controller BR2 tcp:${ODL_SYSTEM_IP}:6633
- Execute Command sudo ifconfig BR2 up
- Execute Command sudo ovs-vsctl set-manager tcp:${ODL_SYSTEM_IP}:6640
- ${output_2} Execute Command sudo ovs-vsctl show
- Log ${output_2}
-
-Stop Suite
- Log Stop the tests
- Switch Connection ${conn_id_1}
- Log ${conn_id_1}
- Execute Command sudo ovs-vsctl del-br BR1
- Execute Command sudo ovs-vsctl del-manager
- Write exit
- close connection
- Switch Connection ${conn_id_2}
- Log ${conn_id_2}
- Execute Command sudo ovs-vsctl del-br BR2
- Execute Command sudo ovs-vsctl del-manager
- Write exit
- close connection
-
-check establishment
- [Arguments] ${conn_id} ${port}
- Switch Connection ${conn_id}
- ${check_establishment} Execute Command netstat -anp | grep ${port}
- Should contain ${check_establishment} ESTABLISHED
- [Return] ${check_establishment}
-
-Check Service Status
- [Arguments] ${system_ready_state} ${service_state}
- [Documentation] Issues the karaf shell command showSvcStatus to verify the ready and service states are the same as the arguments passed
- ${service_status_output} Issue_Command_On_Karaf_Console showSvcStatus ${ODL_SYSTEM_IP} 8101
- Should Contain ${service_status_output} ${system_ready_state}
- @{split} Split To Lines ${service_status_output} 3 7
- : FOR ${var} IN @{split}
- \ Should Contain ${var} ${service_state}