X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Flibraries%2FBGPSpeaker.robot;h=9b853bd4b38d130ce4ddac0e288a169af0693932;hb=1140cf46a98c366057ccdc6b6bf8ea3e40d1c458;hp=e5c5f7195930916e78cfff74e8fcd7ca02016419;hpb=57ffdb8b0bb58c5392d0d7989a9d8e9bf794fdd9;p=integration%2Ftest.git diff --git a/csit/libraries/BGPSpeaker.robot b/csit/libraries/BGPSpeaker.robot index e5c5f71959..9b853bd4b3 100644 --- a/csit/libraries/BGPSpeaker.robot +++ b/csit/libraries/BGPSpeaker.robot @@ -24,10 +24,13 @@ Documentation Robot keyword library (Resource) for handling the BGP speaker ... want to make the assumption that an SSH connection was already open. ... alternative TODO: Explain that it is not worth to perform separate SSH logins. Library SSHLibrary -Resource ${CURDIR}/RemoteBash.robot +Library RequestsLibrary +Resource RemoteBash.robot +Resource ../variables/Variables.robot *** Variables *** ${BGPSpeaker__OUTPUT_LOG} play.py.out +${PEER_URL} restconf/operational/bgp-rib:bgp-rib/rib/example-bgp-rib/peer/bgp:%2F%2F *** Keywords *** Start_BGP_Speaker @@ -40,6 +43,24 @@ Start_BGP_Speaker BuiltIn.Log ${command} ${output} = SSHLibrary.Write ${command} +Start_BGP_Speaker_And_Verify_Connected + [Arguments] ${arguments} ${session} ${speaker_ip}=${TOOLS_SYSTEM_IP} ${connected}=${True} + [Documentation] Start the BGP speaker python utility, and verifies it's connection. + ... We can change connected variable to false to verify Speaker did not connect. + Start_BGP_Speaker ${arguments} + ${message} BuiltIn.Wait_Until_Keyword_Succeeds 5x 2s Verify_BGP_Speaker_Connection ${session} ${speaker_ip} + ... ${connected} + [Return] ${message} + +Verify_BGP_Speaker_Connection + [Arguments] ${session} ${ip} ${connected}=${True} + [Documentation] Verifies peer's presence in bgp rib. + ${exp_status_code} BuiltIn.Set_Variable_If ${connected} ${200} ${404} + ${url} BuiltIn.Set_Variable ${PEER_URL}${ip} + ${response} RequestsLibrary.Get_Request ${session} ${url} + BuiltIn.Should_Be_Equal_As_Numbers ${exp_status_code} ${response.status_code} + [Return] ${response.content} + Start_BGP_Manager [Arguments] ${arguments} [Documentation] Start the BGP manager python utility. Redirect its error output to a log file. @@ -66,3 +87,10 @@ Kill_BGP_Speaker BuiltIn.Return_From_Keyword_If '${status}' == 'PASS' BuiltIn.Log ${message} BuiltIn.Fail The prompt was not seen within timeout period. + +Kill_All_BGP_Speakers + [Documentation] Kill all play.py processes. + ${command}= BuiltIn.Set_Variable ps axf | grep play.py | grep -v grep | awk '{print \"kill -9 \" $1}' | sh + SSHLibrary.Write ${command} + ${output}= SSHLibrary.Read_Until_Prompt + BuiltIn.Log ${output}