Library XML
Library Collections
Library RequestsLibrary
+Resource ${CURDIR}/CompareStream.robot
Resource ${CURDIR}/SSHKeywords.robot
Resource ${CURDIR}/Utils.robot
${MAVEN_VERSION} 3.3.9
${NEXUS_FALLBACK_URL} ${NEXUSURL_PREFIX}/content/repositories/opendaylight.snapshot
${NEXUS_RELEASE_BASE_URL} https://nexus.opendaylight.org/content/repositories/opendaylight.release
-${NEXUS_RELEASES_URL} ${NEXUS_RELEASE_BASE_URL}/org/opendaylight/integration/distribution-karaf
+${NEXUS_RELEASES_URL} ${NEXUS_RELEASE_BASE_URL}/org/opendaylight/integration/opendaylight
*** Keywords ***
Initialize_Artifact_Deployment_And_Usage
[Arguments] ${stream}=latest ${format}=.zip
[Documentation] Returns URL for last release for specified stream. Default format is .zip.
${latest_version}= Get_Latest_ODL_Stream_Release ${stream}
- ${url}= BuiltIn.Set_Variable ${NEXUS_RELEASES_URL}/${latest_version}/distribution-karaf-${latest_version}${format}
+ ${url}= BuiltIn.Set_Variable ${NEXUS_RELEASES_URL}/${latest_version}/opendaylight-${latest_version}${format}
BuiltIn.Log ${url}
[Return] ${url}
[Documentation] Returns name for last release for previous stream of specified stream.
... Note: If specified stream is not found on nexus, then it is taken as new one (not released yet).
... So in this case, latest release version is return.
+ ...
+ ... NOTE: the below logic is stripping the initial 0. values from the 0.x.x version string that is
+ ... the current (and future) version numbering scheme. There is always a leading 0. to the version
+ ... strings and stripping it makes is easier to do int comparison to find the largest version in the
+ ... list. Comparing as strings does not work. There are some python libs like distutils.version
+ ... or packaging that can do a better job comparing versions, but since ODL version numbering is simple
+ ... at this point, this convention will suffice. The leading 0. will be added back after the the latest
+ ... version is found from the list. The CompareStream.robot library keeps a mapping of major version
+ ... numbers to the global variable ${ODL_STREAM} so that is used to ensure we get a major version that is
+ ... older than the current running major version.
${latest} @{versions}= Get_ODL_Versions_From_Nexus
- ${latest_version}= BuiltIn.Set_Variable xxx
+ ${current_version}= BuiltIn.Set_Variable &{Stream_dict}[${ODL_STREAM}].0
+ ${latest_version}= BuiltIn.Set_Variable 0.0
FOR ${version} IN @{versions}
- BuiltIn.Exit_For_Loop_If '${stream}'.title() in '${version}'
- ${latest_version}= BuiltIn.Set_Variable ${version}
+ ${version} = String.Replace String Using Regexp ${version} ^0\. ${EMPTY}
+ ${latest_version}= Set Variable If ${version} > ${latest_version} and ${version} < ${current_version} ${version} ${latest_version}
END
- BuiltIn.Run_Keyword_If '${latest_version}'=='xxx' BuiltIn.Fail Could not find latest previous release for stream ${stream}
+ ${latest_version}= Set Variable 0.${latest_version}
+ BuiltIn.Run_Keyword_If '${latest_version}'=='0.0.0' BuiltIn.Fail Could not find latest previous release for stream ${stream}
BuiltIn.Log ${latest_version}
[Return] ${latest_version}
[Arguments] ${stream}=${ODL_STREAM} ${format}=.zip
[Documentation] Returns URL for last release for previous stream of specified stream. Default format is .zip.
${latest_version}= Get_Latest_ODL_Previous_Stream_Release ${stream}
- ${url}= BuiltIn.Set_Variable ${NEXUS_RELEASES_URL}/${latest_version}/distribution-karaf-${latest_version}${format}
+ ${url}= BuiltIn.Set_Variable ${NEXUS_RELEASES_URL}/${latest_version}/opendaylight-${latest_version}${format}
BuiltIn.Log ${url}
[Return] ${url}