Fix ordering of elements for Openstack block device mapping
[osm/SO.git] / BUILD.sh
index 58f9c3d..40c5990 100755 (executable)
--- a/BUILD.sh
+++ b/BUILD.sh
@@ -114,10 +114,10 @@ fi
 
 if [[ $PLATFORM == ub16 ]]; then
     PLATFORM_REPOSITORY=${1:-OSM}
-    PLATFORM_VERSION=${2:-4.3.1.0.53651}
+    PLATFORM_VERSION=${2:-4.4.0.0.57702}
 elif [[ $PLATFORM == fc20 ]]; then
     PLATFORM_REPOSITORY=${1:-OSM}  # change to OSM when published
-    PLATFORM_VERSION=${2:-4.3.1.0.53651}
+    PLATFORM_VERSION=${2:-4.3.1.0.53705}
 else
     echo "Internal error: unknown platform $PLATFORM"
     exit 1
@@ -147,12 +147,16 @@ test -h /usr/rift && sudo rm -f /usr/rift
 if [[ $PLATFORM == ub16 ]]; then
     # enable the right repos
     curl http://repos.riftio.com/public/xenial-riftware-public-key | sudo apt-key add -
-    sudo curl -o /etc/apt/sources.list.d/${PLATFORM_REPOSITORY}.list http://buildtracker.riftio.com/repo_file/ub16/${PLATFORM_REPOSITORY}/ 
+    # the old mkcontainer always enabled release which can be bad
+    # so remove it
+    sudo rm -f /etc/apt/sources.list.d/release.list /etc/apt/sources.list.d/rbac.list /etc/apt/sources.list.d/OSM.list
+    # always use the same file name so that updates will overwrite rather than enable a second repo
+    sudo curl -o /etc/apt/sources.list.d/RIFT.list http://buildtracker.riftio.com/repo_file/ub16/${PLATFORM_REPOSITORY}/ 
     sudo apt-get update
         
     # and install the tools
     sudo apt remove -y rw.toolchain-rwbase tcpdump
-    sudo apt-get install -y rw.tools-container-tools rw.tools-scripts python 
+    sudo apt-get install -y --allow-downgrades rw.tools-container-tools=${PLATFORM_VERSION} rw.tools-scripts=${PLATFORM_VERSION} python 
 elif [[ $PLATFORM == fc20 ]]; then
     # get the container tools from the correct repository
     sudo rm -f /etc/yum.repos.d/private.repo
@@ -177,14 +181,22 @@ fi
 
 if [[ $PLATFORM == ub16 ]]; then
     # install the RIFT platform code:
-    sudo apt-get install -y --allow-downgrades rw.toolchain-rwbase=${PLATFORM_VERSION} \
-        rw.toolchain-rwtoolchain=${PLATFORM_VERSION} \
-        rw.core.mgmt-mgmt=${PLATFORM_VERSION} \
-        rw.core.util-util=${PLATFORM_VERSION} \
-        rw.core.rwvx-rwvx=${PLATFORM_VERSION} \
-        rw.core.rwvx-rwdts=${PLATFORM_VERSION} \
-        rw.automation.core-RWAUTO=${PLATFORM_VERSION} \
-         rw.core.rwvx-rwha-1.0=${PLATFORM_VERSION}
+    # remove these packages since some files moved from one to the other, and one was obsoleted
+    # ignore failures
+
+    PACKAGES="rw.toolchain-rwbase rw.toolchain-rwtoolchain rw.core.mgmt-mgmt rw.core.util-util \
+                   rw.core.rwvx-rwvx rw.core.rwvx-rwdts rw.automation.core-RWAUTO"
+    # this package is obsolete.
+    OLD_PACKAGES="rw.core.rwvx-rwha-1.0"
+    for package in $PACKAGES $OLD_PACKAGES; do
+        sudo apt remove -y $package || true
+    done
+
+    packages=""
+    for package in $PACKAGES; do
+        packages="$packages $package=${PLATFORM_VERSION}"
+    done
+    sudo apt-get install -y --allow-downgrades $packages
 
     sudo apt-get install python-cinderclient
     
@@ -192,20 +204,47 @@ if [[ $PLATFORM == ub16 ]]; then
     
     if $installSO; then
        sudo apt-get install -y \
-            rw.core.mc-\*=${PLATFORM_VERSION}
+            rw.core.mano-rwcal_yang_ylib-1.0 \
+            rw.core.mano-rwconfig_agent_yang_ylib-1.0 \
+            rw.core.mano-rwlaunchpad_yang_ylib-1.0 \
+            rw.core.mano-mano_yang_ylib-1.0 \
+            rw.core.mano-common-1.0 \
+            rw.core.mano-rwsdn_yang_ylib-1.0 \
+            rw.core.mano-rwsdnal_yang_ylib-1.0 \
+            rw.core.mano-rwsdn-1.0 \
+            rw.core.mano-mano-types_yang_ylib-1.0 \
+            rw.core.mano-rwcal-cloudsim-1.0 \
+            rw.core.mano-rwcal-1.0 \
+            rw.core.mano-rw_conman_yang_ylib-1.0 \
+            rw.core.mano-rwcalproxytasklet-1.0 \
+            rw.core.mano-rwlaunchpad-1.0 \
+            rw.core.mano-rwcal-openmano-vimconnector-1.0 \
+            rw.core.mano-rwcal-propcloud1-1.0 \
+            rw.core.mano-lpmocklet_yang_ylib-1.0 \
+            rw.core.mano-rwmon-1.0 \
+            rw.core.mano-rwcloud_yang_ylib-1.0 \
+            rw.core.mano-rwcal-openstack-1.0 \
+            rw.core.mano-rw.core.mano_foss \
+            rw.core.mano-rwmon_yang_ylib-1.0 \
+            rw.core.mano-rwcm-1.0 \
+            rw.core.mano-rwcal-mock-1.0 \
+            rw.core.mano-rwmano_examples-1.0 \
+            rw.core.mano-rwcal-cloudsimproxy-1.0 \
+            rw.core.mano-models-1.0 \
+            rw.core.mano-rwcal-aws-1.0
     fi
     
     if $installUI; then
        sudo apt-get install -y \
-            rw.ui-about=${PLATFORM_VERSION} \
-            rw.ui-logging=${PLATFORM_VERSION} \
-            rw.ui-skyquake=${PLATFORM_VERSION} \
-            rw.ui-accounts=${PLATFORM_VERSION} \
-            rw.ui-composer=${PLATFORM_VERSION} \
-            rw.ui-launchpad=${PLATFORM_VERSION} \
-            rw.ui-debug=${PLATFORM_VERSION} \
-            rw.ui-config=${PLATFORM_VERSION} \
-            rw.ui-dummy_component=${PLATFORM_VERSION}
+            rw.ui-about \
+            rw.ui-logging \
+            rw.ui-skyquake \
+            rw.ui-accounts \
+            rw.ui-composer \
+            rw.ui-launchpad \
+            rw.ui-debug \
+            rw.ui-config \
+            rw.ui-dummy_component
     fi
 elif [[ $PLATFORM == fc20 ]]; then