Upgrade RF syntax for v3.2 compatibility
[integration/test.git] / csit / libraries / VtnCoKeywords.robot
index 408306fce1794bf72842aa35bedd6c21b79d9ba3..239e676ac2c1f593cca4ae930ec833c56353da76 100644 (file)
@@ -8,10 +8,14 @@ Library           SSHLibrary
 Library           Collections
 Library           XML
 Variables         ../variables/Variables.py
+Resource          ./CompareStream.robot
 Resource          ./Utils.robot
+Resource          ./MininetKeywords.robot
 
-*** variable ***
-${vlan_topo}      sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --custom vlan_vtn_test.py --topo vlantopo
+*** Variable ***
+${vlan_topo}      --custom vlan_vtn_test.py --topo vlantopo
+${vtn_coordinator_nexus_path}    https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/vtn/distribution.vtn-coordinator
+${vtn_dist}       distribution.vtn-coordinator
 
 *** Keywords ***
 Get VtnCo
@@ -36,9 +40,9 @@ Start SuiteVtnCo
     SSHLibrary.Login_With_Public_Key    ${ODL_SYSTEM_USER}    ${USER_HOME}/.ssh/${SSH_KEY}    any
     SSHLibrary.Execute Command    sudo mkdir -p /usr/local/vtn
     SSHLibrary.Execute Command    sudo chown jenkins /usr/local/vtn
-    SSHLibrary.Execute Command    sudo yum install -q -y http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm
-    SSHLibrary.Execute Command    sudo yum install -q -y postgresql93-libs postgresql93 postgresql93-server postgresql93-contrib postgresql93-odbc-09.03.0400
-    SSHLibrary.Execute Command    tar -C/ -jxvf ${WORKSPACE}/${BUNDLEFOLDER}/externalapps/*vtn-coordinator*-bin.tar.bz2
+    SSHLibrary.Execute Command    sudo yum install -q -y https://download.postgresql.org/pub/repos/yum/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-3.noarch.rpm
+    SSHLibrary.Execute Command    sudo yum install -q -y postgresql93-libs postgresql93 postgresql93-server postgresql93-contrib postgresql93-odbc
+    Download VtnCo Distribution
     SSHLibrary.Execute Command    /usr/local/vtn/sbin/db_setup
     SSHLibrary.Execute Command    /usr/local/vtn/bin/vtn_start
     SSHLibrary.Execute Command    /usr/local/vtn/bin/unc_dmctl status
@@ -51,6 +55,27 @@ Start SuiteVtnCo
     SSHLibrary.Execute Command    /usr/local/vtn/bin/lgcnw_control loglevel trace
     SSHLibrary.Execute Command    exit
 
+Download VtnCo Distribution
+    # TODO: https://trello.com/c/fDiIUFMv/431-remove-hardcoded-versions-of-vtn-coordinator-in-libraries-vtncokeywords-robot
+    SSHLibrary.Execute Command    wget "${vtn_coordinator_nexus_path}/maven-metadata.xml"
+    SSHLibrary.Get_file    maven-metadata.xml
+    ${carbon_version}=    XML.Get Element Text    maven-metadata.xml    xpath=.//versions/version[1]
+    ${carbon_version_val}=    SSHLibrary.Execute Command    echo ${carbon_version} | awk -F"-" '{print $1}'
+    ${nitrogen_version}=    XML.Get Element Text    maven-metadata.xml    xpath=.//versions/version[2]
+    ${nitrogen_version_val}=    SSHLibrary.Execute Command    echo ${nitrogen_version} | awk -F"-" '{print $1}'
+    ${oxygen_version}=    XML.Get Element Text    maven-metadata.xml    xpath=.//versions/version[3]
+    ${oxygen_version_val}=    SSHLibrary.Execute Command    echo ${oxygen_version} | awk -F"-" '{print $1}'
+    SSHLibrary.Execute Command    sudo mv maven-metadata.xml old-maven-metadata.xml
+    CompareStream.Run_Keyword_If_Equals    carbon    SSHLibrary.Execute Command    wget "${vtn_coordinator_nexus_path}/${carbon_version}/maven-metadata.xml"
+    CompareStream.Run_Keyword_If_Equals    nitrogen    SSHLibrary.Execute Command    wget "${vtn_coordinator_nexus_path}/${nitrogen_version}/maven-metadata.xml"
+    CompareStream.Run_Keyword_If_Equals    oxygen    SSHLibrary.Execute Command    wget "${vtn_coordinator_nexus_path}/${oxygen_version}/maven-metadata.xml"
+    SSHLibrary.Get_file    maven-metadata.xml
+    ${value}=    XML.Get Element Text    maven-metadata.xml    xpath=.//snapshotVersion[1]/value
+    CompareStream.Run_Keyword_If_Equals    carbon    SSHLibrary.Execute Command    wget '${vtn_coordinator_nexus_path}/${carbon_version}/${vtn_dist}-${value}-bin.tar.bz2'
+    CompareStream.Run_Keyword_If_Equals    nitrogen    SSHLibrary.Execute Command    wget '${vtn_coordinator_nexus_path}/${nitrogen_version}/${vtn_dist}-${value}-bin.tar.bz2'
+    CompareStream.Run_Keyword_If_Equals    oxygen    SSHLibrary.Execute Command    wget '${vtn_coordinator_nexus_path}/${oxygen_version}/${vtn_dist}-${value}-bin.tar.bz2'
+    SSHLibrary.Execute Command    tar -C/ -jxvf ${vtn_dist}*-bin.tar.bz2
+
 Stop SuiteVtnCo
     [Documentation]    Exit the Launch Test
     Log    Stop the Launch Test
@@ -257,7 +282,7 @@ Create VLANMAP in VBRIDGE
 Start vlan_topo
     [Documentation]    This will start mininet with custom topology on both the Virtual Machines
     Install Package On Ubuntu System    vlan
-    Start Mininet    ${TOOLS_SYSTEM_IP}    ${vlan_topo}    ${CURDIR}/${CREATE_VLAN_TOPOLOGY_FILE_PATH}
+    MininetKeywords.Start Mininet Single Controller    ${TOOLS_SYSTEM_IP}    ${ODL_SYSTEM_IP}    ${vlan_topo}    ${CURDIR}/${CREATE_VLAN_TOPOLOGY_FILE_PATH}
 
 Delete a FLOWLIST
     [Arguments]    ${flowlistname}