X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fbgpcep%2Fbgpingest%2Fmanypeers_peercount.robot;h=b093a585fc2bd5544f5d4ba39d1439fd78565264;hb=94651ca9711d8eb316721775561e815830bc6c7e;hp=088661921a8661222aa3fc9be946b3df69e21743;hpb=75c9c1c297b5136c13779541af785d3c4fd6bee1;p=integration%2Ftest.git diff --git a/csit/suites/bgpcep/bgpingest/manypeers_peercount.robot b/csit/suites/bgpcep/bgpingest/manypeers_peercount.robot index 088661921a..b093a585fc 100644 --- a/csit/suites/bgpcep/bgpingest/manypeers_peercount.robot +++ b/csit/suites/bgpcep/bgpingest/manypeers_peercount.robot @@ -20,8 +20,6 @@ Documentation BGP performance of ingesting from many iBGP rrc peers, iBGPs r ... 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. Suite Setup Setup_Everything Suite Teardown Teardown_Everything Test Setup SetupUtils.Setup_Test_With_Logging_And_Fast_Failing @@ -29,21 +27,23 @@ Test Teardown SetupUtils.Teardown_Test_Show_Bugs_And_Start_Fast_Failing_If_T Library DateTime Library RequestsLibrary Library SSHLibrary timeout=10s -Variables ${CURDIR}/../../../variables/Variables.py -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/BGPSpeaker.robot +Resource ../../../libraries/FailFast.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_TOOL_LOG_LEVEL} info ${BGP_PEERS_LOG_FILE_NAME} bgp_peer.log ${BGP_VARIABLES_FOLDER} ${CURDIR}/../../../variables/bgpuser/ -${CHECK_PERIOD_PREFIX_COUNT_MANY_RRC} 10 -${COUNT} 100000 # With AdjRibsOut, the amount of data present is on the same scale as 1M ingest with single peer. +${CHECK_PERIOD_PREFIX_COUNT_MANY_RRC} 60 +${COUNT} 300000 # With AdjRibsOut, the amount of data present is on the same scale as 600k ingest with single peer. ${COUNT_PREFIX_COUNT_MANY_RRC} ${COUNT} ${FIRST_PEER_IP} 127.0.0.1 ${HOLDTIME} 180 @@ -51,8 +51,8 @@ ${HOLDTIME_PREFIX_COUNT_MANY_RRC} ${HOLDTIME} ${KARAF_LOG_LEVEL} INFO ${KARAF_BGPCEP_LOG_LEVEL} ${KARAF_LOG_LEVEL} ${KARAF_PROTOCOL_LOG_LEVEL} ${KARAF_BGPCEP_LOG_LEVEL} -${MULTIPLICITY_PREFIX_COUNT_MANY_RRC} 10 -${REPETITIONS_PREFIX_COUNT_MANY_RRC} 10 +${MULTIPLICITY_PREFIX_COUNT_MANY_RRC} 2 +${REPETITIONS_PREFIX_COUNT_MANY_RRC} 2 ${TEST_DURATION_MULTIPLIER} 1 ${TEST_DURATION_MULTIPLIER_PREFIX_COUNT_MANY_RRC} ${TEST_DURATION_MULTIPLIER} ${RIB_INSTANCE} example-bgp-rib @@ -69,13 +69,14 @@ Check_For_Empty_Ipv4_Topology_Before_Talking Reconfigure_ODL_To_Accept_Connections [Documentation] Configure BGP peer modules with initiate-connection set to false. [Setup] SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing - : FOR ${index} IN RANGE 1 ${MULTIPLICITY_PREFIX_COUNT_MANY_RRC}+1 - \ ${peer_name} = BuiltIn.Set_Variable example-bgp-peer-${index} - \ ${peer_ip} = BuiltIn.Evaluate str(ipaddr.IPAddress('${FIRST_PEER_IP}') + ${index} - 1) modules=ipaddr - \ &{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} NAME=${peer_name} IP=${peer_ip} HOLDTIME=${HOLDTIME_PREFIX_COUNT_MANY_RRC} - \ ... PEER_PORT=${BGP_TOOL_PORT} PEER_ROLE=rr-client INITIATE=false BGP_RIB=${RIB_INSTANCE} PASSIVE_MODE=true - \ ... BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG} RIB_INSTANCE_NAME=${RIB_INSTANCE} RR_CLIENT=true - \ TemplatedRequests.Put_As_Xml_Templated ${BGP_VARIABLES_FOLDER}${/}ibgp_peers mapping=${mapping} + FOR ${index} IN RANGE 1 ${MULTIPLICITY_PREFIX_COUNT_MANY_RRC}+1 + ${peer_name} = BuiltIn.Set_Variable example-bgp-peer-${index} + ${peer_ip} = BuiltIn.Evaluate str(ipaddr.IPAddress('${FIRST_PEER_IP}') + ${index} - 1) modules=ipaddr + &{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} NAME=${peer_name} IP=${peer_ip} HOLDTIME=${HOLDTIME_PREFIX_COUNT_MANY_RRC} + ... PEER_PORT=${BGP_TOOL_PORT} PEER_ROLE=rr-client INITIATE=false BGP_RIB=${RIB_INSTANCE} PASSIVE_MODE=true + ... BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG} RIB_INSTANCE_NAME=${RIB_INSTANCE} RR_CLIENT=true + TemplatedRequests.Put_As_Xml_Templated ${BGP_VARIABLES_FOLDER}${/}ibgp_peers mapping=${mapping} + END Start_Talking_BGP_Manager [Documentation] Start Python manager to connect speakers to ODL. @@ -94,14 +95,15 @@ Check_Logs_For_Updates [Documentation] Check BGP peer logs for received updates. [Tags] critical ${timeout} = BuiltIn.Set_Variable ${bgp_filling_timeout} - : FOR ${index} IN RANGE 1 ${MULTIPLICITY_PREFIX_COUNT_MANY_RRC}+1 - \ ${bgp_peer_label} = BuiltIn.Set_Variable BGP-Dummy-${index} - \ ${expected_prefixcount} = BuiltIn.Evaluate ${COUNT_PREFIX_COUNT_MANY_RRC} - ${COUNT_PREFIX_COUNT_MANY_RRC} / ${MULTIPLICITY_PREFIX_COUNT_MANY_RRC} - \ ${expected_string} = BuiltIn.Set_Variable total_received_nlri_prefix_counter: ${expected_prefixcount} - \ BuiltIn.Wait_Until_Keyword_Succeeds ${timeout} 1s Check_File_For_Occurence ${BGP_PEERS_LOG_FILE_NAME} ${bgp_peer_label} - \ ... ${expected_string} 2 - \ ${timeout} = BuiltIn.Set_Variable 20s - # FIXME: Calculation of ${expected_prefixcount} correct just when the ${COUNT_PREFIX_COUNT_MANY_RRC} is a multiplication of ${MULTIPLICITY_PREFIX_COUNT_MANY_RRC} + FOR ${index} IN RANGE 1 ${MULTIPLICITY_PREFIX_COUNT_MANY_RRC}+1 + ${bgp_peer_label} = BuiltIn.Set_Variable BGP-Dummy-${index} + ${expected_prefixcount} = BuiltIn.Evaluate ${COUNT_PREFIX_COUNT_MANY_RRC} - ${COUNT_PREFIX_COUNT_MANY_RRC} / ${MULTIPLICITY_PREFIX_COUNT_MANY_RRC} + ${expected_string} = BuiltIn.Set_Variable total_received_nlri_prefix_counter: ${expected_prefixcount} + BuiltIn.Wait_Until_Keyword_Succeeds ${timeout} 1s Check_File_For_Occurence ${BGP_PEERS_LOG_FILE_NAME} ${bgp_peer_label} + ... ${expected_string} 2 + ${timeout} = BuiltIn.Set_Variable 20s + # FIXME: Calculation of ${expected_prefixcount} correct just when the ${COUNT_PREFIX_COUNT_MANY_RRC} is a multiplication of ${MULTIPLICITY_PREFIX_COUNT_MANY_RRC} + END Kill_Talking_BGP_Speakers [Documentation] Abort the Python speakers. Also, attempt to stop failing fast. @@ -128,11 +130,12 @@ Delete_Bgp_Peer_Configuration [Documentation] Revert the BGP configuration to the original state: without any configured peers. [Tags] critical [Setup] SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing - : FOR ${index} IN RANGE 1 ${MULTIPLICITY_PREFIX_COUNT_MANY_RRC}+1 - \ ${peer_name} = BuiltIn.Set_Variable example-bgp-peer-${index} - \ ${peer_ip} = BuiltIn.Evaluate str(ipaddr.IPAddress('${FIRST_PEER_IP}') + ${index} - 1) modules=ipaddr - \ &{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} NAME=${peer_name} IP=${peer_ip} BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG} - \ TemplatedRequests.Delete_Templated ${BGP_VARIABLES_FOLDER}${/}ibgp_peers mapping=${mapping} + FOR ${index} IN RANGE 1 ${MULTIPLICITY_PREFIX_COUNT_MANY_RRC}+1 + ${peer_name} = BuiltIn.Set_Variable example-bgp-peer-${index} + ${peer_ip} = BuiltIn.Evaluate str(ipaddr.IPAddress('${FIRST_PEER_IP}') + ${index} - 1) modules=ipaddr + &{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} NAME=${peer_name} IP=${peer_ip} BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG} + TemplatedRequests.Delete_Templated ${BGP_VARIABLES_FOLDER}${/}ibgp_peers mapping=${mapping} + END *** Keywords *** Setup_Everything @@ -163,6 +166,7 @@ Teardown_Everything [Documentation] Make sure Python tool was killed and tear down imported Resources. # Environment issue may have dropped the SSH connection, but we do not want Teardown to fail. BuiltIn.Run_Keyword_And_Ignore_Error KillPythonTool.Search_And_Kill_Remote_Python 'play\.py' + BuiltIn.Run_Keyword_And_Ignore_Error Utils.Get_Sysstat_Statistics RequestsLibrary.Delete_All_Sessions SSHLibrary.Close_All_Connections