X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fbgpcep%2Ftcpmd5user%2Ftcpmd5user.robot;h=d3cad0f210e46f7edadabe38ff9924d83c5d235b;hb=9f074b03bf384dcb18179e76a1a1fe642a47900c;hp=606aa98a5b10356824e5da061ba09b07f816d196;hpb=59e81c38620fa1b61e15771191e35771450b9499;p=integration%2Ftest.git diff --git a/csit/suites/bgpcep/tcpmd5user/tcpmd5user.robot b/csit/suites/bgpcep/tcpmd5user/tcpmd5user.robot index 606aa98a5b..d3cad0f210 100644 --- a/csit/suites/bgpcep/tcpmd5user/tcpmd5user.robot +++ b/csit/suites/bgpcep/tcpmd5user/tcpmd5user.robot @@ -21,6 +21,7 @@ Library String Library ${CURDIR}/../../../libraries/HsfJson/hsf_json.py Resource ${CURDIR}/../../../libraries/ConfigViaRestconf.robot Resource ${CURDIR}/../../../libraries/FailFast.robot +Resource ${CURDIR}/../../../libraries/NexusKeywords.robot Resource ${CURDIR}/../../../libraries/PcepOperations.robot Resource ${CURDIR}/../../../libraries/WaitForFailure.robot Variables ${CURDIR}/../../../variables/Variables.py @@ -40,7 +41,7 @@ Topology_Precondition Start_Secure_Pcc_Mock [Documentation] Execute pcc-mock on Mininet with password set, fail if pcc-mock promptly exits. Keep pcc-mock running for next test cases. - ${command}= BuiltIn.Set_Variable java -jar ${filename} --password topsecret --reconnect 1 --local-address ${MININET} --remote-address ${CONTROLLER} 2>&1 | tee pccmock.log + ${command}= NexusKeywords.Compose_Full_Java_Command -jar ${filename} --password topsecret --reconnect 1 --local-address ${MININET} --remote-address ${CONTROLLER} 2>&1 | tee pccmock.log BuiltIn.Log ${command} SSHLibrary.Write ${command} Read_And_Fail_If_Prompt_Is_Seen @@ -64,6 +65,22 @@ Enable_Tcpmd5_No_Password_Yet ConfigViaRestconf.Put_Xml_Template_Folder_Config_Via_Restconf ${directory_with_template_folders}${/}pcep_server_channel_module # TODO: Is it worth changing ConfigViaRestconf to read ${directory_with_template_folders} variable by default? +Check_For_Bug_3753_Via_Bug_4267 + [Documentation] Check state of disptcher configuration module, apply workaround if needed. + ... This test case should not be failing, failure indicates Bug 3753 was not fixed enough yet. + ... For more details, see https://bugs.opendaylight.org/show_bug.cgi?id=4267#c2 + ... As dispatcher configuration differs between Lithium and Beryllium, two checks and two workarounds are needed. + ${success}= BuiltIn.Run_Keyword_And_Return_Status ConfigViaRestconf.Verify_Json_Template_Folder_Config_Via_Restconf ${directory_with_template_folders}${/}pcep_dispatcher_module + BuiltIn.Pass_Execution_If ${success} Bug 4267 not present, Beryllium data. + ${success}= BuiltIn.Run_Keyword_And_Return_Status ConfigViaRestconf.Verify_Json_Template_Folder_Config_Via_Restconf ${directory_with_template_folders}${/}lithium_pcep_dispatcher_module + BuiltIn.Pass_Execution_If ${success} Bug 4267 not present, Lithium data. + ${success}= BuiltIn.Run_Keyword_And_Return_Status ConfigViaRestconf.Put_Xml_Template_Folder_Config_Via_Restconf ${directory_with_template_folders}${/}pcep_dispatcher_module + BuiltIn.Run_Keyword_If ${success} BuiltIn.Fail Bug 4267 present, Beryllium workaround successful. + ${success}= BuiltIn.Run_Keyword_And_Return_Status ConfigViaRestconf.Put_Xml_Template_Folder_Config_Via_Restconf ${directory_with_template_folders}${/}lithium_pcep_dispatcher_module + BuiltIn.Run_Keyword_If ${success} BuiltIn.Fail Bug 4267 present, Lithium workaround successful. + BuiltIn.Fail Bug 4267 probably present. No workaround succeeded, so Bug 4491 is probably present too. + [Teardown] FailFast.Do_Not_Start_Failing_If_This_Failed + Topology_Unauthorized_2 [Documentation] The same logic as Topology_Unauthorized_1 as no password was provided to ODL. [Tags] critical @@ -90,7 +107,6 @@ Set_Correct_Password Topology_Intercondition [Documentation] Compare pcep-topology to filled one, which includes a tunnel from pcc-mock. - [Tags] xfail BuiltIn.Wait_Until_Keyword_Succeeds 10s 1s Compare_Topology ${default_json} 050_Intercondition.json Update_Delegated @@ -140,24 +156,14 @@ Set_It_Up [Documentation] Create SSH session to Mininet machine, prepare HTTP client session to Controller. ... Figure out latest pcc-mock version and download it from Nexus to Mininet. ... Also, delete and create directories for json diff handling. - SSHLibrary.Open_Connection ${MININET} - SSHLibrary.Login_With_Public_Key ${MININET_USER} ${USER_HOME}/.ssh/${SSH_KEY} any + NexusKeywords.Initialize_Artifact_Deployment_And_Usage ${current_connection}= SSHLibrary.Get_Connection ${current_prompt}= BuiltIn.Set_Variable ${current_connection.prompt} BuiltIn.Log ${current_prompt} BuiltIn.Set_Suite_Variable ${prompt} ${current_prompt} RequestsLibrary.Create_Session ses http://${CONTROLLER}:${RESTCONFPORT}${OPERATIONAL_TOPO_API} auth=${AUTH} - # TODO: See corresponding bgpuser TODO. - ${urlbase}= BuiltIn.Set_Variable ${NEXUSURL_PREFIX}/content/repositories/opendaylight.snapshot/org/opendaylight/bgpcep/pcep-pcc-mock - ${version}= SSHLibrary.Execute_Command curl ${urlbase}/maven-metadata.xml | grep latest | cut -d '>' -f 2 | cut -d '<' -f 1 - # TODO: Use RequestsLibrary and String instead of curl and bash utilities? - BuiltIn.Log ${version} - ${namepart}= SSHLibrary.Execute_Command curl ${urlbase}/${version}/maven-metadata.xml | grep value | head -n 1 | cut -d '>' -f 2 | cut -d '<' -f 1 - BuiltIn.Log ${namepart} - BuiltIn.Set_Suite_Variable ${filename} pcep-pcc-mock-${namepart}-executable.jar - BuiltIn.Log ${filename} - ${response}= SSHLibrary.Execute_Command wget -q -N ${urlbase}/${version}/${filename} 2>&1 - BuiltIn.Log ${response} + ${name}= NexusKeywords.Deploy_Test_Tool bgpcep pcep-pcc-mock + BuiltIn.Set_Suite_Variable ${filename} ${name} OperatingSystem.Remove_Directory ${directory_for_expected_responses} recursive=True OperatingSystem.Remove_Directory ${directory_for_actual_responses} recursive=True # The previous suite may have been using the same directories.