X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Flibraries%2FNexusKeywords.robot;h=1af05dc112c5d092cbe96b62bd15b9563c59e060;hb=209170908d6fced1e88cb5edcf8259abca9702b0;hp=929a91264ccfd8dfa7b9b3060bd971aa6184634c;hpb=05b470e7f3b3e677b6667be7b48a50716d21708c;p=integration%2Ftest.git diff --git a/csit/libraries/NexusKeywords.robot b/csit/libraries/NexusKeywords.robot index 929a91264c..1af05dc112 100644 --- a/csit/libraries/NexusKeywords.robot +++ b/csit/libraries/NexusKeywords.robot @@ -26,8 +26,8 @@ Resource ${CURDIR}/SSHKeywords.robot Resource ${CURDIR}/Utils.robot *** Variables *** -&{COMPONENT_MAPPING} netconf=netconf-impl bgpcep=pcep-impl carpeople=clustering-it-model yangtools=yang-data-impl bindingv1=mdsal-binding-generator-impl -@{RELEASE_INTEGRATED_COMPONENTS} mdsal odlparent yangtools +&{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 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 @@ -41,7 +41,7 @@ ${MAVEN_SETTINGS_URL} https://raw.githubusercontent.com/opendaylight/odlparen ${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 @@ -99,7 +99,7 @@ Deploy_From_Url [Return] ${filename} Deploy_Artifact - [Arguments] ${component} ${artifact} ${name_prefix}=${artifact}- ${name_suffix}=-executable.jar ${fallback_url}=${NEXUS_FALLBACK_URL} ${explicit_url}=${EMPTY} + [Arguments] ${component} ${artifact} ${name_prefix}=${artifact}- ${name_suffix}=-executable.jar ${fallback_url}=${NEXUS_FALLBACK_URL} ${explicit_url}=${EMPTY} ${build_version}=${EMPTY} ${build_location}=${EMPTY} [Documentation] Deploy the specified artifact from Nexus to the cwd of the machine to which the active SSHLibrary connection points. ... ${component} is a name part of an artifact present in system/ of ODl installation with the same version as ${artifact} should have. ... Must have ${BUNDLE_URL} variable set to the URL from which the @@ -115,8 +115,18 @@ Deploy_Artifact # If we are working with a "release integrated" project, we always will want to look for # a released version, not in the snapshots ${urlbase} = BuiltIn.Set_Variable_If '${urlbase}' != '${BUNDLE_URL}' ${urlbase} ${fallback_url} - ${urlbase} = BuiltIn.Set_Variable_If '${component}' in @{RELEASE_INTEGRATED_COMPONENTS} ${NEXUS_RELEASE_BASE_URL} ${urlbase} - ${version} ${location} = NexusKeywords__Detect_Version_To_Pull ${component} + 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 + 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 + # 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. @@ -129,11 +139,15 @@ Deploy_Artifact ${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 + # 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 - [Arguments] ${component} ${artifact} ${suffix}=executable ${fallback_url}=${NEXUS_FALLBACK_URL} ${explicit_url}=${EMPTY} + [Arguments] ${component} ${artifact} ${suffix}=executable ${fallback_url}=${NEXUS_FALLBACK_URL} ${explicit_url}=${EMPTY} ${build_version}=${EMPTY} ${build_location}=${EMPTY} [Documentation] Deploy a test tool. ... The test tools have naming convention of the form ... "/some/dir/somewhere//--${suffix}.jar" @@ -143,9 +157,10 @@ Deploy_Test_Tool ... "Deploy_Artifact" and then calls "Deploy_Artifact" to do the real ... work of deploying the artifact. ${name_prefix} = BuiltIn.Set_Variable ${artifact}- - ${name_suffix} = BuiltIn.Set_Variable_If "${suffix}" != "" -${suffix}.jar .jar + ${extension} = BuiltIn.Set_Variable_If '${component}'=='odl-micro' tar jar + ${name_suffix} = BuiltIn.Set_Variable_If "${suffix}" != "" -${suffix}.${extension} .${extension} ${filename} = Deploy_Artifact ${component} ${artifact} ${name_prefix} ${name_suffix} ${fallback_url} - ... ${explicit_url} + ... ${explicit_url} ${build_version} ${build_location} [Return] ${filename} Install_And_Start_Java_Artifact @@ -274,7 +289,7 @@ Get_ODL_Versions_From_Nexus @{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} @@ -302,7 +317,7 @@ Get_Latest_ODL_Stream_Release_URL [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} @@ -337,6 +352,6 @@ Get_Latest_ODL_Previous_Stream_Release_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}