blob: d881a42dd38c936075ff9f5d37a8f1fe3aaf4c17 [file] [log] [blame]
Jeremy Mordkoff91157a52017-04-26 22:50:43 -04001#!/usr/bin/env bash
Adam Israel61d476d2017-05-19 09:14:33 -04002#
Jeremy Mordkoff91157a52017-04-26 22:50:43 -04003# Copyright 2017 RIFT.IO Inc
garciadeblasa1fc4572017-04-24 19:08:21 +02004#
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.
garciadeblasa1fc4572017-04-24 19:08:21 +020016#
Jeremy Mordkoff91157a52017-04-26 22:50:43 -040017# Author(s): Jeremy Mordkoff
18# Creation Date: 26 April 2017
Adam Israel61d476d2017-05-19 09:14:33 -040019#
Jeremy Mordkoff91157a52017-04-26 22:50:43 -040020#
garciadeblasa1fc4572017-04-24 19:08:21 +020021
Jeremy Mordkoff91157a52017-04-26 22:50:43 -040022# INSTALL.sh
23# install launchpad SO and all of its dependencies
24#
garciadeblasa1fc4572017-04-24 19:08:21 +020025
Mike Marchetti425f8ce2017-06-15 13:02:16 -040026HERE=$(realpath $(dirname $0))
27OSM_JENKINS=$(dirname $HERE)
28. $OSM_JENKINS/common/install_common
29
Jeremy Mordkoff91157a52017-04-26 22:50:43 -040030# Defensive bash programming flags
31set -o errexit # Exit on any error
32trap 'echo ERROR: Command failed: \"$BASH_COMMAND\"' ERR
33set -o nounset # Expanding an unset variable is an error. Variables must be
34 # set before they can be used.
garciadeblasa1fc4572017-04-24 19:08:21 +020035
Jeremy Mordkoff91157a52017-04-26 22:50:43 -040036###############################################################################
37# Set up repo and version
Mike Marchetti425f8ce2017-06-15 13:02:16 -040038PLATFORM_REPOSITORY=OSM
39PLATFORM_VERSION=4.4.2.1.61839
garciadeblasa1fc4572017-04-24 19:08:21 +020040
Mike Marchetti425f8ce2017-06-15 13:02:16 -040041while getopts ":P:V:h" o; do
42 case "${o}" in
43 P)
44 PLATFORM_REPOSITORY=${OPTARG}
45 ;;
46 V)
47 PLATFORM_VERSION=${OPTARG}
48 ;;
49 h)
50 usage
51 exit 0
52 ;;
53 *)
54 usage
55 exit 1
56 ;;
57 esac
58done
59
60function usage() {
61 echo
62 echo "NAME:"
63 echo " $0"
64 echo
65 echo "SYNOPSIS:"
66 echo " $0 -h|--help"
67 echo " $0 -P <PLATFORM_REPOSITORY> -V <PLATFORM_VERSION>"
68 echo
69 echo "DESCRIPTION:"
70 echo " Prepare current system to run SO and UI."
71 echo
72 echo " PLATFORM_REPOSITORY (optional): name of the RIFT.ware repository."
73 echo " PLATFORM_VERSION (optional): version of the platform packages to be installed."
74 echo
75}
76
garciadeblasa1fc4572017-04-24 19:08:21 +020077
Jeremy Mordkoff91157a52017-04-26 22:50:43 -040078###############################################################################
79# Main block
garciadeblasa1fc4572017-04-24 19:08:21 +020080
Jeremy Mordkoff91157a52017-04-26 22:50:43 -040081# enable the right repos
82curl http://repos.riftio.com/public/xenial-riftware-public-key | apt-key add -
Adam Israel61d476d2017-05-19 09:14:33 -040083curl -o /etc/apt/sources.list.d/RIFT.list http://buildtracker.riftio.com/repo_file/ub16/${PLATFORM_REPOSITORY}/
84
85# Make the Rift repo a higher priority to work around version conflicts.
86cat <<EOF > /etc/apt/preferences.d/rift
87Package: *
88Pin: origin repos.riftio.com
89Pin-Priority: 600
90EOF
91
Jeremy Mordkoff91157a52017-04-26 22:50:43 -040092apt-get update
Adam Israel61d476d2017-05-19 09:14:33 -040093
Jeremy Mordkoff91157a52017-04-26 22:50:43 -040094# and install the tools
95apt remove -y rw.toolchain-rwbase tcpdump
Adam Israel61d476d2017-05-19 09:14:33 -040096apt-get install -y --allow-downgrades rw.tools-container-tools=${PLATFORM_VERSION} rw.tools-scripts=${PLATFORM_VERSION} python
Jeremy Mordkoff91157a52017-04-26 22:50:43 -040097/usr/rift/container_tools/mkcontainer --modes ext --modes platform --rw-version ${PLATFORM_VERSION}
98pip3 install lxml==3.4.0
99
Jeremy Mordkoff91157a52017-04-26 22:50:43 -0400100chmod 777 /usr/rift /usr/rift/usr/share
101
Adam Israel61d476d2017-05-19 09:14:33 -0400102# now disable the RIFT OSM repo so that we'll get MANO from
Jeremy Mordkoff91157a52017-04-26 22:50:43 -0400103# the OSM repos
Adam Israel61d476d2017-05-19 09:14:33 -0400104rm -f /etc/apt/sources.list.d/RIFT.list
Mike Marchetti425f8ce2017-06-15 13:02:16 -0400105
garciadeblasa1fc4572017-04-24 19:08:21 +0200106apt-get update
Adam Israel61d476d2017-05-19 09:14:33 -0400107
garciadeblasa1fc4572017-04-24 19:08:21 +0200108apt-get install -y \
Jeremy Mordkoff91157a52017-04-26 22:50:43 -0400109 rw.core.mano-rwcal_yang_ylib-1.0 \
110 rw.core.mano-rwconfig_agent_yang_ylib-1.0 \
111 rw.core.mano-rwlaunchpad_yang_ylib-1.0 \
112 rw.core.mano-mano_yang_ylib-1.0 \
113 rw.core.mano-common-1.0 \
114 rw.core.mano-rwsdn_yang_ylib-1.0 \
115 rw.core.mano-rwsdnal_yang_ylib-1.0 \
116 rw.core.mano-mano-types_yang_ylib-1.0 \
117 rw.core.mano-rwcal-cloudsim-1.0 \
118 rw.core.mano-rwcal-1.0 \
119 rw.core.mano-rw_conman_yang_ylib-1.0 \
120 rw.core.mano-rwcalproxytasklet-1.0 \
121 rw.core.mano-rwlaunchpad-1.0 \
122 rw.core.mano-rwcal-openmano-vimconnector-1.0 \
123 rw.core.mano-lpmocklet_yang_ylib-1.0 \
124 rw.core.mano-rwmon-1.0 \
125 rw.core.mano-rwcloud_yang_ylib-1.0 \
126 rw.core.mano-rwcal-openstack-1.0 \
127 rw.core.mano-rw.core.mano_foss \
128 rw.core.mano-rwmon_yang_ylib-1.0 \
129 rw.core.mano-rwcm-1.0 \
130 rw.core.mano-rwcal-mock-1.0 \
Jeremy Mordkoff91157a52017-04-26 22:50:43 -0400131 rw.core.mano-rwcal-cloudsimproxy-1.0 \
132 rw.core.mano-models-1.0 \
133 rw.core.mano-rwcal-aws-1.0