... Brief description how to configure BGP peer can be found here:
... https://wiki.opendaylight.org/view/BGP_LS_PCEP:User_Guide#BGP_Peer
... http://docs.opendaylight.org/en/stable-boron/user-guide/bgp-user-guide.html#bgp-peering
-... The peer configuration depends on the ${ODL_STREAM}. For "boron" and older streams it uses netconf connector and
-... for carbon and further it configures peer via openconfig.
...
... TODO: Is there a need for version of this suite where ODL connects to pers?
... Note that configuring ODL is slow, which may affect measured performance singificantly.
Library DateTime
Library RequestsLibrary
Library SSHLibrary timeout=10s
-Variables ${CURDIR}/../../../variables/Variables.py
+Resource ${CURDIR}/../../../variables/Variables.robot
Resource ${CURDIR}/../../../libraries/BGPSpeaker.robot
Resource ${CURDIR}/../../../libraries/ChangeCounter.robot
-Resource ${CURDIR}/../../../libraries/CompareStream.robot
Resource ${CURDIR}/../../../libraries/FailFast.robot
Resource ${CURDIR}/../../../libraries/KillPythonTool.robot
Resource ${CURDIR}/../../../libraries/PrefixCounting.robot
${MULTIPLICITY} 2 # May be increased after Bug 4488 is fixed.
${MULTIPLICITY_CHANGE_COUNT} ${MULTIPLICITY}
${MULTIPLICITY_CHANGE_COUNT_MANY} ${MULTIPLICITY_CHANGE_COUNT}
-${NETCONF_DEV_FOLDER} ${CURDIR}/../../../variables/netconf/device/full-uri-device
-${NETCONF_MOUNT_FOLDER} ${CURDIR}/../../../variables/netconf/device/full-uri-mount
${REPETITIONS} 1 # Should be increased depending on multiplicity.
${REPETITIONS_CHANGE_COUNT} ${REPETITIONS}
${REPETITIONS_CHANGE_COUNT_MANY} ${REPETITIONS_CHANGE_COUNT}
# TODO: Choose which tags to assign and make sure they are assigned correctly.
BuiltIn.Wait_Until_Keyword_Succeeds 120s 1s PrefixCounting.Check_Ipv4_Topology_Is_Empty
-Configure_Netconf_Device
- [Documentation] Configures netconf device if ${USE_NETCONF_CONNECTOR} is False.
- BuiltIn.Run_Keyword_If """${USE_NETCONF_CONNECTOR}""" == """True""" BuiltIn.Pass_Execution No need to configure netconf device because netconf connector is present.
- CompareStream.Run_Keyword_If_At_Least_Carbon BuiltIn.Pass_Execution No need to configure netconf device because data change counter is not configured via it.
- &{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} DEVICE_PORT=1830 DEVICE_IP=${ODL_SYSTEM_IP} DEVICE_USER=admin DEVICE_PASSWORD=admin
- TemplatedRequests.Put_As_Xml_Templated ${NETCONF_DEV_FOLDER} mapping=${mapping}
- BuiltIn.Wait_Until_Keyword_Succeeds 10x 3s TemplatedRequests.Get_As_Xml_Templated ${NETCONF_MOUNT_FOLDER} mapping=${mapping}
-
Reconfigure_ODL_To_Accept_Connections
[Documentation] Configure BGP peer modules with initiate-connection set to false.
: FOR ${index} IN RANGE 1 ${MULTIPLICITY_CHANGE_COUNT_MANY}+1
\ TemplatedRequests.Put_As_Xml_Templated ${BGP_VARIABLES_FOLDER}${/}bgp_peer mapping=${mapping}
# FIXME: Add testcase to change bgpcep and protocol log levels, when a Keyword that does it without messing with current connection is ready.
-Wait_For_Data_Change_Counter_Ready
- [Documentation] Data change counter might have been slower to start than ipv4 topology, wait for it.
- CompareStream.Run_Keyword_If_At_Least_Carbon BuiltIn.Pass_Execution No data change counter is present yet.
- BuiltIn.Wait_Until_Keyword_Succeeds 180s 1s ChangeCounter.Get_Change_Count
-
Reconfigure_Data_Change_Counter
[Documentation] Configure data change counter to count transactions in example-ipv4-topology instead of example-linkstate-topology.
ChangeCounter.Reconfigure_Topology_Name example-ipv4-topology
\ &{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} BGP_NAME=${peer_name} IP=${peer_ip} BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG}
\ TemplatedRequests.Delete_Templated ${BGP_VARIABLES_FOLDER}${/}bgp_peer mapping=${mapping}
-Remove_Netconf_Device
- [Documentation] Removes netconf device if ${USE_NETCONF_CONNECTOR} is False.
- [Setup] SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
- BuiltIn.Run_Keyword_If """${USE_NETCONF_CONNECTOR}""" == """True""" BuiltIn.Pass_Execution No need to remove netconf device because netconf connector is present.
- CompareStream.Run_Keyword_If_At_Least_Carbon BuiltIn.Pass_Execution No need to remove netconf device because none was used.
- &{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} DEVICE_PORT=1830 DEVICE_IP=${ODL_SYSTEM_IP} DEVICE_USER=admin DEVICE_PASSWORD=admin
- TemplatedRequests.Delete_Templated ${NETCONF_DEV_FOLDER} mapping=${mapping}
-
*** Keywords ***
Setup_Everything
[Documentation] Setup imported resources, SSH-login to ODL system,