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
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
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
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
[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.