Add secret-management in Charmed OSM
[osm/devops.git] / jenkins / UI / install
index 15b4144..33f651f 100755 (executable)
@@ -1,5 +1,6 @@
-#!/bin/bash
-#   Copyright 2016 RIFT.IO Inc
+#!/usr/bin/env bash
+# 
+#   Copyright 2017 RIFT.IO Inc
 #
 #   Licensed under the Apache License, Version 2.0 (the "License");
 #   you may not use this file except in compliance with the License.
 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
-# 
-# TEMPLATE script to start a build. This is run inside a container
 #
-# 6 July 2016 -- Jeremy.Mordkoff@riftio.com -- adapted from the riftware version
+# Author(s): Jeremy Mordkoff
+# Creation Date: 26 April 2017
 # 
+#
+
+# INSTALL.sh
+# install launchpad UI and create the service
+#
 
 HERE=$(realpath $(dirname $0))
 OSM_JENKINS=$(dirname $HERE)
-. $OSM_JENKINS/common/all_funcs
+. $OSM_JENKINS/common/install_common
+
+
 
-# SET YOU MDG repository name here
-export OSM_MDG=UI
-OSM_load_config
+# Defensive bash programming flags
+set -o errexit    # Exit on any error
+trap 'echo ERROR: Command failed: \"$BASH_COMMAND\"' ERR
+set -o nounset    # Expanding an unset variable is an error.  Variables must be
+                  # set before they can be used.
 
-#OSM_git_checkout "$@"
+###############################################################################
+# Set up repo and version
+PLATFORM_REPOSITORY=OSM3
+PLATFORM_VERSION=5.2.0.2.72254
 
-#trap 'WARNING "INTERRUPT"; exit 1' INT
+while getopts ":P:V:h" o; do
+    case "${o}" in
+        P)
+            PLATFORM_REPOSITORY=${OPTARG}
+            ;;
+        V)
+            PLATFORM_VERSION=${OPTARG}
+            ;;
+        h)
+            usage
+            exit 0
+            ;;
+        *)
+            usage
+            exit 1
+            ;;
+    esac
+done
 
-#./BUILD.sh -u
+function usage() {
+    echo
+    echo "NAME:"
+    echo "  $0"
+    echo
+    echo "SYNOPSIS:"
+    echo "  $0 -h|--help"
+    echo "  $0 -P <PLATFORM_REPOSITORY> -V <PLATFORM_VERSION>"
+    echo
+    echo "DESCRIPTION:"
+    echo "  Prepare current system to run SO and UI."
+    echo
+    echo "  PLATFORM_REPOSITORY (optional): name of the RIFT.ware repository."
+    echo "  PLATFORM_VERSION (optional): version of the platform packages to be installed."
+    echo
+}
+
+
+###############################################################################
+# Main block
+
+# enable the right repos
+curl http://repos.riftio.com/public/xenial-riftware-public-key | apt-key add -
+curl -o /etc/apt/sources.list.d/rift.list http://buildtracker.riftio.com/repo_file/ub16/${PLATFORM_REPOSITORY}/
+
+# Make the Rift repo a higher priority to work around version conflicts.
+cat <<EOF > /etc/apt/preferences.d/rift
+Package: *
+Pin: origin repos.riftio.com
+Pin-Priority: 600
+EOF
+
+apt-get update
 
-INFO "starting install $MDG"
+# and install the tools
+apt-get install -y --allow-downgrades rw.tools-container-tools=${PLATFORM_VERSION} rw.tools-scripts=${PLATFORM_VERSION} python
+/usr/rift/container_tools/mkcontainer --modes UI-base --rw-version ${PLATFORM_VERSION}
 
-#Release ONE
-#curl https://osm-download.etsi.org/repository/osm/debian/ReleaseONE/OSM%20ETSI%20Release%20Key.gpg |apt-key add -
-#add-apt-repository -y "deb https://osm-download.etsi.org/repository/osm/debian/ReleaseONE unstable SO UI RO openvim"
-#add-apt-repository -y "deb https://osm-download.etsi.org/repository/osm/debian/ReleaseONE stable SO UI RO openvim"
 
-#Release TWO
-curl https://osm-download.etsi.org/repository/osm/debian/ReleaseTWO/OSM%20ETSI%20Release%20Key.gpg |apt-key add -
-add-apt-repository -y "deb https://osm-download.etsi.org/repository/osm/debian/ReleaseTWO stable SO UI RO openvim"
+# now disable the RIFT OSM repo so that we'll get UI from
+# the OSM repos
+rm -f /etc/apt/sources.list.d/rift.list
 
 apt-get update
-apt-get install -y \
-    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
-
-RC=$?
-
-INFO "done, RC=$RC"
-exit $RC
+apt-get install -y rw.ui-skyquake
+echo "Creating Service ...."
+/usr/rift/bin/create_launchpad_service