Bump pre-commit black to 22.1.0
[integration/test.git] / csit / libraries / NexusKeywords.robot
index b80792b5018b0f0fcb08260af40488c64eed361f..120bb6b7c3f7a9103d414ca89491038ba2a5ec68 100644 (file)
@@ -27,7 +27,7 @@ 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    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
@@ -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
@@ -117,9 +117,16 @@ Deploy_Artifact
     ${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.
@@ -132,7 +139,11 @@ 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    ${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
@@ -278,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}
@@ -306,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}
 
@@ -341,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}