*** Variables ***
&{COMPONENT_MAPPING} netconf=netconf-impl bgpcep=pcep-impl carpeople=clustering-it-model yangtools=yang-data-impl bindingv1=mdsal-binding-generator-impl odl-micro=odlmicro-impl
-@{RELEASE_INTEGRATED_COMPONENTS} mdsal odlparent yangtools carpeople netconf
+@{RELEASE_INTEGRATED_COMPONENTS} mdsal odlparent yangtools carpeople netconf bgpcep
${JDKVERSION} None
${JAVA_8_HOME_CENTOS} /usr/lib/jvm/java-1.8.0
${JAVA_8_HOME_UBUNTU} /usr/lib/jvm/java-8-openjdk-amd64
${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/opendaylight
+${NEXUS_RELEASES_URL} ${NEXUS_RELEASE_BASE_URL}/org/opendaylight/integration/karaf
*** Keywords ***
Initialize_Artifact_Deployment_And_Usage
${urlbase} = BuiltIn.Set_Variable_If '${urlbase}' != '${BUNDLE_URL}' ${urlbase} ${fallback_url}
CompareStream.Run_Keyword_If_At_Most_Magnesium Collections.Remove_Values_From_List ${RELEASE_INTEGRATED_COMPONENTS} carpeople
CompareStream.Run_Keyword_If_At_Most_Aluminium Collections.Remove_Values_From_List ${RELEASE_INTEGRATED_COMPONENTS} netconf
- ${urlbase} = BuiltIn.Set_Variable_If '${component}' in @{RELEASE_INTEGRATED_COMPONENTS} ${NEXUS_RELEASE_BASE_URL} ${urlbase}
+ CompareStream.Run_Keyword_If_At_Most_Silicon Collections.Remove_Values_From_List ${RELEASE_INTEGRATED_COMPONENTS} bgpcep
${version} ${location} = BuiltIn.Run_Keyword_If '${build_version}'=='${EMPTY}' NexusKeywords__Detect_Version_To_Pull ${component}
... ELSE BuiltIn.Set_Variable ${build_version} ${build_location}
+ BuiltIn.Run_Keyword_If 'SNAPSHOT' in '${version}' Collections.Remove_Values_From_List ${RELEASE_INTEGRATED_COMPONENTS} netconf bgpcep
+ # check if the bundle url is pointing to a staging artifact
+ # when we are pointing at a staged artifact we need to use the staging repo instead of release/snapshot artifacts
+ ${is_staged} = BuiltIn.Set_Variable_If "opendaylight.release" not in '${urlbase}' and "opendaylight.snapshot" not in '${urlbase}' "TRUE" "FALSE"
+ # if we have a staged artifact we need to use the urlbase given to us in the job params
+ ${is_mri_component} = BuiltIn.Set_Variable_If '${component}' in ${RELEASE_INTEGRATED_COMPONENTS} "TRUE" "FALSE"
+ ${urlbase} = BuiltIn.Set_Variable_If ${is_mri_component} == "TRUE" and ${is_staged} == "FALSE" ${NEXUS_RELEASE_BASE_URL} ${urlbase}
# TODO: Use RequestsLibrary and String instead of curl and bash utilities?
${url} = BuiltIn.Set_Variable ${urlbase}/${location}/${artifact}/${version}
# TODO: Review SSHKeywords for current best keywords to call.
${url} = BuiltIn.Set_Variable ${url}/${filename}
${response} ${result} = SSHLibrary.Execute_Command wget -q -N '${url}' 2>&1 return_rc=True
BuiltIn.Log ${response}
- BuiltIn.Run_Keyword_If ${result} != 0 BuiltIn.Fail Artifact "${artifact}" in component "${component}" could not be downloaded from ${url}
+ BuiltIn.Return_From_Keyword_If ${result} == 0 ${filename}
+ # staged autorelease for non-mri project might not contain the artifact we need so we need to fallback to grabbing it from the release repo
+ ${release_url} = String.Replace_String_Using_Regexp ${url} autorelease-[0-9]{4} opendaylight.release
+ ${response} ${result} = SSHLibrary.Execute_Command wget -q -N '${release_url}' 2>&1 return_rc=True
+ BuiltIn.Run_Keyword_If ${result} != 0 BuiltIn.Fail Artifact "${artifact}" in component "${component}" could not be downloaded from ${release_url} nor ${url}
[Return] ${filename}
Deploy_Test_Tool
@{elements}= XML.Get_Elements ${root} .//version
${versions}= BuiltIn.Create_List
FOR ${element} IN @{elements}
- Collections.Append_To_List ${versions} ${element.text}
+ BuiltIn.Run_Keyword_If 'Carbon' not in $element.text Collections.Append_To_List ${versions} ${element.text}
END
Collections.Sort_List ${versions}
BuiltIn.Log_Many @{versions}
[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}/opendaylight-${latest_version}${format}
+ ${url}= BuiltIn.Set_Variable ${NEXUS_RELEASES_URL}/${latest_version}/karaf-${latest_version}${format}
BuiltIn.Log ${url}
[Return] ${url}
[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}/opendaylight-${latest_version}${format}
+ ${url}= BuiltIn.Set_Variable ${NEXUS_RELEASES_URL}/${latest_version}/karaf-${latest_version}${format}
BuiltIn.Log ${url}
[Return] ${url}