X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fbgpcep%2Fbgpingest%2Fbgp_app_peer_prefixcount.robot;h=2daebb645e87a95a39d3ea1de74c585d0dd3ac35;hb=bf6d9c7cf02d5a0c40760be1a5f946fce4820c0f;hp=58ed8bc124ec811f2dc4ecf7fdaf46ee9d02ff93;hpb=a953bc2e552595b33ed725abfe48bd2f58b4a72c;p=integration%2Ftest.git diff --git a/csit/suites/bgpcep/bgpingest/bgp_app_peer_prefixcount.robot b/csit/suites/bgpcep/bgpingest/bgp_app_peer_prefixcount.robot index 58ed8bc124..2daebb645e 100644 --- a/csit/suites/bgpcep/bgpingest/bgp_app_peer_prefixcount.robot +++ b/csit/suites/bgpcep/bgpingest/bgp_app_peer_prefixcount.robot @@ -23,9 +23,6 @@ Documentation BGP performance of ingesting from 1 BGP application peer ... http://docs.opendaylight.org/en/stable-boron/user-guide/bgp-user-guide.html#bgp-peering ... http://docs.opendaylight.org/en/stable-boron/user-guide/bgp-user-guide.html#application-peer-configuration ... -... The bgp 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. -... ... Reported bugs: ... Bug 4689 - Not a reasonable duration of 1M prefix introduction from BGP application peer via restconf ... Bug 4791 - BGPSessionImpl: Failed to send message Update logged even all UPDATE mesages received by iBGP peer @@ -36,15 +33,15 @@ Test Teardown SetupUtils.Teardown_Test_Show_Bugs_And_Start_Fast_Failing_If_T Force Tags critical Library SSHLibrary timeout=10s Library RequestsLibrary -Variables ${CURDIR}/../../../variables/Variables.py -Resource ${CURDIR}/../../../libraries/BGPcliKeywords.robot -Resource ${CURDIR}/../../../libraries/BGPSpeaker.robot -Resource ${CURDIR}/../../../libraries/FailFast.robot -Resource ${CURDIR}/../../../libraries/KillPythonTool.robot -Resource ${CURDIR}/../../../libraries/PrefixCounting.robot -Resource ${CURDIR}/../../../libraries/SetupUtils.robot -Resource ${CURDIR}/../../../libraries/SSHKeywords.robot -Resource ${CURDIR}/../../../libraries/TemplatedRequests.robot +Resource ../../../libraries/BGPcliKeywords.robot +Resource ../../../libraries/KarafKeywords.robot +Resource ../../../libraries/KillPythonTool.robot +Resource ../../../libraries/PrefixCounting.robot +Resource ../../../libraries/SetupUtils.robot +Resource ../../../libraries/SSHKeywords.robot +Resource ../../../libraries/TemplatedRequests.robot +Resource ../../../libraries/Utils.robot +Resource ../../../variables/Variables.robot *** Variables *** ${BGP_VARIABLES_FOLDER} ${CURDIR}/../../../variables/bgpuser/ @@ -53,7 +50,7 @@ ${HOLDTIME_APP_PEER_PREFIX_COUNT} ${HOLDTIME} ${COUNT} 200000 ${PREFILL} 100000 ${COUNT_APP_PEER_PREFIX_COUNT} ${COUNT} -${CHECK_PERIOD} 1 +${CHECK_PERIOD} 10 ${CHECK_PERIOD_APP_PEER_PREFIX_COUNT} ${CHECK_PERIOD} ${REPETITIONS_APP_PEER_PREFIX_COUNT} 1 ${BGP_PEER_LOG_LEVEL} info @@ -94,15 +91,15 @@ Reconfigure_ODL_To_Accept_BGP_Application_Peer Connect_BGP_Peer [Documentation] Start BGP peer tool SSHLibrary.Switch Connection bgp_peer_console - Start_Console_Tool ${BGP_PEER_COMMAND} ${BGP_PEER_OPTIONS} - Read_And_Fail_If_Prompt_Is_Seen + BGPcliKeywords.Start_Console_Tool ${BGP_PEER_COMMAND} ${BGP_PEER_OPTIONS} + BGPcliKeywords.Read_And_Fail_If_Prompt_Is_Seen BGP_Application_Peer_Prefill_Routes [Documentation] Start BGP application peer tool and prefill routes. SSHLibrary.Switch Connection bgp_app_peer_console - Start_Console_Tool ${BGP_APP_PEER_INITIAL_COMMAND} ${script_uri_opt} ${BGP_APP_PEER_OPTIONS} - Wait_Until_Console_Tool_Finish ${bgp_filling_timeout} - Store_File_To_Workspace bgp_app_peer.log bgp_app_peer_prefill.log + BGPcliKeywords.Start_Console_Tool ${BGP_APP_PEER_INITIAL_COMMAND} ${script_uri_opt} ${BGP_APP_PEER_OPTIONS} + BGPcliKeywords.Wait_Until_Console_Tool_Finish ${bgp_filling_timeout} + BGPcliKeywords.Store_File_To_Workspace bgp_app_peer.log bgp_app_peer_prefill.log Wait_For_Ipv4_Topology_Is_Prefilled [Documentation] Wait until example-ipv4-topology reaches the target prfix count. @@ -111,14 +108,15 @@ Wait_For_Ipv4_Topology_Is_Prefilled Check_Bgp_Peer_Updates_For_Prefilled_Routes [Documentation] Count the routes introduced by updates. [Setup] SetupUtils.Setup_Test_With_Logging_And_Fast_Failing - BuiltIn.Wait Until Keyword Succeeds ${bgp_filling_timeout} 1s Check_File_For_Word_Count bgp_peer.log total_received_nlri_prefix_counter: ${PREFILL} 2 + ${count} BuiltIn.Wait Until Keyword Succeeds ${bgp_filling_timeout} 3s Check_For_String_In_File bgp_peer.log total_received_nlri_prefix_counter: ${PREFILL} + BuiltIn.Log ${count} BGP_Application_Peer_Introduce_Single_Routes [Documentation] Start BGP application peer tool and introduce routes. SSHLibrary.Switch Connection bgp_app_peer_console - Start_Console_Tool python bgp_app_peer.py --host ${ODL_SYSTEM_IP} --port ${RESTCONFPORT} --command add --count ${remaining_prefixes} --prefix 12.0.0.0 --prefixlen 28 --${BGP_APP_PEER_LOG_LEVEL} --stream=${ODL_STREAM} ${script_uri_opt} ${BGP_APP_PEER_OPTIONS} - Wait_Until_Console_Tool_Finish ${bgp_filling_timeout} - Store_File_To_Workspace bgp_app_peer.log bgp_app_peer_singles.log + BGPcliKeywords.Start_Console_Tool python bgp_app_peer.py --host ${ODL_SYSTEM_IP} --port ${RESTCONFPORT} --command add --count ${remaining_prefixes} --prefix 12.0.0.0 --prefixlen 28 --${BGP_APP_PEER_LOG_LEVEL} --stream=${ODL_STREAM} ${script_uri_opt} ${BGP_APP_PEER_OPTIONS} + BGPcliKeywords.Wait_Until_Console_Tool_Finish ${bgp_filling_timeout} + BGPcliKeywords.Store_File_To_Workspace bgp_app_peer.log bgp_app_peer_singles.log Wait_For_Ipv4_Topology_Is_Filled [Documentation] Wait until example-ipv4-topology reaches the target prfix count. @@ -127,31 +125,31 @@ Wait_For_Ipv4_Topology_Is_Filled Check_Bgp_Peer_Updates_For_All_Routes [Documentation] Count the routes introduced by updates. [Setup] SetupUtils.Setup_Test_With_Logging_And_Fast_Failing - BuiltIn.Wait Until Keyword Succeeds ${bgp_filling_timeout} 1s Check_File_For_Word_Count bgp_peer.log total_received_nlri_prefix_counter: ${COUNT_APP_PEER_PREFIX_COUNT} 2 + BuiltIn.Wait Until Keyword Succeeds ${bgp_filling_timeout} 3s Check_For_String_In_File bgp_peer.log total_received_nlri_prefix_counter: ${COUNT_APP_PEER_PREFIX_COUNT} Disconnect_BGP_Peer [Documentation] Stop BGP peer tool SSHLibrary.Switch Connection bgp_peer_console - Stop_Console_Tool - Store_File_To_Workspace bgp_peer.log bgp_peer_reconnect.log + BGPcliKeywords.Stop_Console_Tool + BGPcliKeywords.Store_File_To_Workspace bgp_peer.log bgp_peer_reconnect.log Reconnect_BGP_Peer [Documentation] Start BGP peer tool SSHLibrary.Switch Connection bgp_peer_console - Start_Console_Tool ${BGP_PEER_COMMAND} ${BGP_PEER_OPTIONS} - Read_And_Fail_If_Prompt_Is_Seen + BGPcliKeywords.Start_Console_Tool ${BGP_PEER_COMMAND} ${BGP_PEER_OPTIONS} + BGPcliKeywords.Read_And_Fail_If_Prompt_Is_Seen Check_Bgp_Peer_Updates_For_Reintroduced_Routes [Documentation] Count the routes introduced by updates. [Setup] SetupUtils.Setup_Test_With_Logging_And_Fast_Failing - BuiltIn.Wait Until Keyword Succeeds ${bgp_filling_timeout} 1s Check_File_For_Word_Count bgp_peer.log total_received_nlri_prefix_counter: ${COUNT_APP_PEER_PREFIX_COUNT} 2 + BuiltIn.Wait Until Keyword Succeeds ${bgp_filling_timeout} 3s Check_For_String_In_File bgp_peer.log total_received_nlri_prefix_counter: ${COUNT_APP_PEER_PREFIX_COUNT} BGP_Application_Peer_Delete_All_Routes [Documentation] Start BGP application peer tool and delete all routes. SSHLibrary.Switch Connection bgp_app_peer_console - Start_Console_Tool ${BGP_APP_PEER_DELETE_ALL_COMMAND} ${script_uri_opt} ${BGP_APP_PEER_OPTIONS} - Wait_Until_Console_Tool_Finish ${bgp_emptying_timeout} - Store_File_To_Workspace bgp_app_peer.log bgp_app_peer_delete_all.log + BGPcliKeywords.Start_Console_Tool ${BGP_APP_PEER_DELETE_ALL_COMMAND} --stream=${ODL_STREAM} ${script_uri_opt} ${BGP_APP_PEER_OPTIONS} + BGPcliKeywords.Wait_Until_Console_Tool_Finish ${bgp_emptying_timeout} + BGPcliKeywords.Store_File_To_Workspace bgp_app_peer.log bgp_app_peer_delete_all.log Wait_For_Stable_Topology_After_Deletion [Documentation] Wait until example-ipv4-topology becomes stable again. @@ -164,13 +162,13 @@ Check_For_Empty_Ipv4_Topology_After_Deleting Check_Bgp_Peer_Updates_For_Prefix_Withdrawals [Documentation] Count the routes withdrawn by updates. [Setup] SetupUtils.Setup_Test_With_Logging_And_Fast_Failing - BuiltIn.Wait Until Keyword Succeeds ${bgp_emptying_timeout} 1s Check_File_For_Word_Count bgp_peer.log total_received_withdrawn_prefix_counter: ${COUNT_APP_PEER_PREFIX_COUNT} 2 + BuiltIn.Wait Until Keyword Succeeds ${bgp_emptying_timeout} 3s Check_For_String_In_File bgp_peer.log total_received_withdrawn_prefix_counter: ${COUNT_APP_PEER_PREFIX_COUNT} Stop_BGP_Peer [Documentation] Stop BGP peer tool SSHLibrary.Switch Connection bgp_peer_console - Stop_Console_Tool - Store_File_To_Workspace bgp_peer.log bgp_peer_reconnect.log + BGPcliKeywords.Stop_Console_Tool + BGPcliKeywords.Store_File_To_Workspace bgp_peer.log bgp_peer_reconnect.log Delete_Bgp_Peer_Configuration [Documentation] Revert the BGP configuration to the original state: without any configured peers. @@ -182,10 +180,6 @@ Delete_Bgp_Application_Peer_Configuration &{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} NAME=example-bgp-peer-app IP=${BGP_APP_PEER_ID} BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG} TemplatedRequests.Delete_Templated ${BGP_VARIABLES_FOLDER}${/}bgp_application_peer mapping=${mapping} -Check_Bug_4791 - [Documentation] Check controller's log for errors - Check Karaf Log File Does Not Have Messages ${ODL_SYSTEM_IP} Failed to send message Update - *** Keywords *** Setup_Everything [Documentation] Setup imported resources, SSH-login to tools system, @@ -194,7 +188,7 @@ Setup_Everything TemplatedRequests.Create_Default_Session PrefixCounting.PC_Setup SSHLibrary.Set_Default_Configuration prompt=${TOOLS_SYSTEM_PROMPT} - RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${OPERATIONAL_API} auth=${AUTH} + RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} timeout=125 max_retries=0 # TODO: Do not include slash in ${OPERATIONAL_TOPO_API}, having it typed here is more readable. # TODO: Alternatively, create variable in Variables which starts with http. # Both TODOs would probably need to update every suite relying on current Variables. @@ -215,7 +209,7 @@ Setup_Everything KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set ${ODL_LOG_LEVEL} KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set ${ODL_BGP_LOG_LEVEL} org.opendaylight.bgpcep KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set ${ODL_BGP_LOG_LEVEL} org.opendaylight.protocol - ${script_uri_opt}= CompareStream.Set_Variable_If_At_Most_Boron ${Empty} --uri config/bgp-rib:application-rib/${BGP_APP_PEER_ID}/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/ + ${script_uri_opt}= Set Variable --uri config/bgp-rib:application-rib/${BGP_APP_PEER_ID}/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/ BuiltIn.Set_Suite_Variable ${script_uri_opt} Teardown_Everything @@ -223,15 +217,23 @@ Teardown_Everything SSHLibrary.Switch Connection bgp_peer_console KillPythonTool.Search_And_Kill_Remote_Python 'play\.py' KillPythonTool.Search_And_Kill_Remote_Python 'bgp_app_peer\.py' + BuiltIn.Run_Keyword_And_Ignore_Error Utils.Get_Sysstat_Statistics RequestsLibrary.Delete_All_Sessions SSHLibrary.Close_All_Connections Open_BGP_Peer_Console [Documentation] Create a session for BGP peer. SSHLibrary.Open_Connection ${TOOLS_SYSTEM_IP} alias=bgp_peer_console - Utils.Flexible_Mininet_Login + SSHKeywords.Flexible_Mininet_Login Open_BGP_Aplicationp_Peer_Console [Documentation] Create a session for BGP peer. SSHLibrary.Open_Connection ${TOOLS_SYSTEM_IP} alias=bgp_app_peer_console - Utils.Flexible_Mininet_Login + SSHKeywords.Flexible_Mininet_Login + +Check_For_String_In_File + [Arguments] ${file_name} ${string} ${threshold}=2 + [Documentation] Check file for ${string} and returns number of occurences + ${matches} = SSHLibrary.Execute_Command grep -c '${string}' '${file_name}' + ${count} = Convert To Integer ${matches} + BuiltIn.Should_Be_True ${count} >= ${threshold}