Variables ${CURDIR}/../../../variables/Variables.py
Resource ${CURDIR}/../../../libraries/SetupUtils.robot
Resource ${CURDIR}/../../../libraries/ClusterManagement.robot
+Resource ${CURDIR}/../../../libraries/RemoteBash.robot
Resource ${CURDIR}/../../../libraries/SSHKeywords.robot
Resource ${CURDIR}/../../../libraries/TemplatedRequests.robot
*** Variables ***
${BGP_VAR_FOLDER} ${CURDIR}/../../../variables/bgpclustering
-${BGP_PEER_FOLDER} ${CURDIR}/../../../variables/bgpfunctional/openconfig_bgp_peer
+${BGP_PEER_FOLDER} ${CURDIR}/../../../variables/bgpclustering/bgp_peer_openconf
${DEFAUTL_EXA_CFG} exa.cfg
${EXA_CMD} env exabgp.tcp.port=1790 exabgp
${PEER_CHECK_URL} /restconf/operational/bgp-rib:bgp-rib/rib/example-bgp-rib/peer/bgp:%2F%2F
-${DEVICE_NAME} peer-controller-config
${HOLDTIME} 180
${RIB_INSTANCE} example-bgp-rib
*** Test Cases ***
Get Example Bgp Rib Owner
[Documentation] Find an odl node which is able to accept incomming connection. To this node netconf connector should be configured.
- ${rib_owner} ${rib_candidates}= ClusterManagement.Get_Owner_And_Successors_For_device example-bgp-rib org.opendaylight.mdsal.ServiceEntityType 1
- BuiltIn.Set Suite variable ${rib_owner} ${rib_owner}
- BuiltIn.Set Suite variable ${rib_owner_node_id} ${ODL_SYSTEM_${rib_owner}_IP}
- BuiltIn.Set Suite variable ${rib_candidates} ${rib_candidates}
+ ${rib_owner} ${rib_candidates}= BuiltIn.Wait_Until_Keyword_Succeeds 5x 2s ClusterManagement.Get_Owner_And_Successors_For_Device example-bgp-rib
+ ... Bgpcep 1
+ BuiltIn.Set Suite variable ${rib_owner}
+ BuiltIn.Log ${ODL_SYSTEM_${rib_owner}_IP}
+ BuiltIn.Set Suite variable ${rib_candidates}
${session}= Resolve_Http_Session_For_Member member_index=${rib_owner}
BuiltIn.Set_Suite_Variable ${living_session} ${session}
BuiltIn.Set_Suite_Variable ${living_node} ${rib_owner}
Reconfigure_ODL_To_Accept_Connection
[Documentation] Configure BGP peer module with initiate-connection set to false.
[Setup] SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
- &{mapping} Create Dictionary IP=${TOOLS_SYSTEM_IP} HOLDTIME=${HOLDTIME} PEER_PORT=${BGP_TOOL_PORT} PASSIVE_MODE=true BGP_RIB=${RIB_INSTANCE}
- TemplatedRequests.Post_As_Xml_Templated ${BGP_PEER_FOLDER} mapping=${mapping} session=${living_session}
+ &{mapping} Create Dictionary IP=${TOOLS_SYSTEM_IP} HOLDTIME=${HOLDTIME} PEER_PORT=${BGP_TOOL_PORT} PASSIVE_MODE=true BGP_RIB_OPENCONFIG=${RIB_INSTANCE}
+ TemplatedRequests.Put_As_Xml_Templated ${BGP_PEER_FOLDER} mapping=${mapping} session=${living_session} http_timeout=5
[Teardown] SetupUtils.Teardown_Test_Show_Bugs_If_Test_Failed
Start_ExaBgp_Peer
Verify ExaBgp Still Connected
[Documentation] Verifies exabgp's presence in operational ds
- Verify_Tools_Connection ${living_session}
+ BuiltIn.Wait_Until_Keyword_Succeeds 5x 2s Verify_Tools_Connection ${living_session}
Stop_ExaBgp_Peer
[Documentation] Stops exabgp
Delete_Bgp_Peer_Configuration
[Documentation] Revert the BGP configuration to the original state: without any configured peers
- &{mapping} Create Dictionary BGP_RIB=${RIB_INSTANCE}
- TemplatedRequests.Delete_Templated ${BGP_PEER_FOLDER} mapping=${mapping} session=${living_session}
+ &{mapping} Create Dictionary BGP_RIB_OPENCONFIG=${RIB_INSTANCE} IP=${TOOLS_SYSTEM_IP}
+ TemplatedRequests.Delete_Templated ${BGP_PEER_FOLDER} mapping=${mapping} session=${living_session} http_timeout=5
*** Keywords ***
Setup_Everything
ClusterManagement.ClusterManagement_Setup
${tools_system_conn_id}= SSHLibrary.Open_Connection ${TOOLS_SYSTEM_IP} prompt=${DEFAULT_LINUX_PROMPT} timeout=6s
Builtin.Set_Suite_Variable ${tools_system_conn_id}
- Utils.Flexible_Mininet_Login ${TOOLS_SYSTEM_USER}
+ SSHKeywords.Flexible_Mininet_Login ${TOOLS_SYSTEM_USER}
SSHKeywords.Virtual_Env_Create
SSHKeywords.Virtual_Env_Install_Package exabgp==3.4.16
Upload_Config_Files
[Documentation] Stops the tool by sending ctrl+c
${output}= SSHLibrary.Read
BuiltIn.Log ${output}
- Utils.Write_Bare_Ctrl_C
+ RemoteBash.Write_Bare_Ctrl_C
${output}= SSHLibrary.Read_Until_Prompt
BuiltIn.Log ${output}
SSHKeywords.Virtual_Env_Deactivate_On_Current_Session log_output=${True}
Verify_New_Rib_Owner_Elected
[Arguments] ${old_owner} ${node_to_ask}
[Documentation] Verifies new owner was elected
- ${owner} ${candidates}= ClusterManagement.Get_Owner_And_Successors_For_device example-bgp-rib org.opendaylight.mdsal.ServiceEntityType ${node_to_ask}
+ ${owner} ${candidates}= ClusterManagement.Get_Owner_And_Successors_For_device example-bgp-rib Bgpcep ${node_to_ask}
BuiltIn.Should_Not_Be_Equal ${old_owner} ${owner}
Verify_New_Rib_Candidate_Present
[Arguments] ${candidate} ${node_to_ask}
[Documentation] Verifies candidate's presence.
- ${owner} ${candidates}= ClusterManagement.Get_Owner_And_Successors_For_device example-bgp-rib org.opendaylight.mdsal.ServiceEntityType ${node_to_ask}
+ ${owner} ${candidates}= ClusterManagement.Get_Owner_And_Successors_For_device example-bgp-rib Bgpcep ${node_to_ask}
BuiltIn.Should_Contain ${candidates} ${candidate}
Verify_Tools_Connection