enabling new platform release
[osm/devops.git] / jenkins / UI / install
1 #!/usr/bin/env bash
2
3 #   Copyright 2017 RIFT.IO Inc
4 #
5 #   Licensed under the Apache License, Version 2.0 (the "License");
6 #   you may not use this file except in compliance with the License.
7 #   You may obtain a copy of the License at
8 #
9 #       http://www.apache.org/licenses/LICENSE-2.0
10 #
11 #   Unless required by applicable law or agreed to in writing, software
12 #   distributed under the License is distributed on an "AS IS" BASIS,
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 #   See the License for the specific language governing permissions and
15 #   limitations under the License.
16 #
17 # Author(s): Jeremy Mordkoff
18 # Creation Date: 26 April 2017
19
20 #
21
22 # INSTALL.sh
23 # install launchpad UI and create the service
24 #
25
26 HERE=$(realpath $(dirname $0))
27 OSM_JENKINS=$(dirname $HERE)
28 . $OSM_JENKINS/common/install_common
29
30
31
32 # Defensive bash programming flags
33 set -o errexit    # Exit on any error
34 trap 'echo ERROR: Command failed: \"$BASH_COMMAND\"' ERR
35 set -o nounset    # Expanding an unset variable is an error.  Variables must be
36                   # set before they can be used.
37
38 ###############################################################################
39 # Set up repo and version
40 PLATFORM_VERSION=5.2.0.3.73627
41
42 while getopts "V:h" o; do
43     case "${o}" in
44         V)
45             PLATFORM_VERSION=${OPTARG}
46             ;;
47         h)
48             usage
49             exit 0
50             ;;
51         *)
52             usage
53             exit 1
54             ;;
55     esac
56 done
57
58 function usage() {
59     echo
60     echo "NAME:"
61     echo "  $0"
62     echo
63     echo "SYNOPSIS:"
64     echo "  $0 -h|--help"
65     echo "  $0 -V <PLATFORM_VERSION>"
66     echo
67     echo "DESCRIPTION:"
68     echo "  Prepare current system to run SO and UI."
69     echo
70     echo "  PLATFORM_VERSION (optional): version of the platform packages to be installed."
71     echo
72 }
73
74
75 ###############################################################################
76 # Main block
77
78 # enable the right repos
79 curl http://repos.riftio.com/public/xenial-riftware-public-key | apt-key add -
80 echo "deb https://artifactory.riftio.com/debian-OSM xenial main" >/etc/apt/sources.list.d/rift.list
81
82 # Make the Rift repo a higher priority to work around version conflicts.
83 cat <<EOF > /etc/apt/preferences.d/rift
84 Package: *
85 Pin: origin artifactory.riftio.com
86 Pin-Priority: 600
87 EOF
88
89 apt-get update
90
91 # and install the tools
92 apt-get install -y --allow-downgrades rw.tools-container-tools=${PLATFORM_VERSION} rw.tools-scripts=${PLATFORM_VERSION} python
93 /usr/rift/container_tools/mkcontainer --modes UI-base --rw-version ${PLATFORM_VERSION}
94
95
96 # now disable the RIFT OSM repo so that we'll get UI from
97 # the OSM repos
98 rm -f /etc/apt/sources.list.d/rift.list
99
100 apt-get update
101 apt-get install -y rw.ui-skyquake
102 echo "Creating Service ...."
103 /usr/rift/bin/create_launchpad_service
104