blob: 2adc9492a6f6ca6d79d4fa2d9454f7300cf5bb23 [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
Jeremy Mordkoff1ce95b32017-09-30 16:25:32 -040039PLATFORM_VERSION=5.2.0.0.71033
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 -
Jeremy Mordkoff2b22e632017-10-02 18:11:23 -040083curl -o /etc/apt/sources.list.d/rift.list http://buildtracker.riftio.com/repo_file/ub16/${PLATFORM_REPOSITORY}/
Adam Israel61d476d2017-05-19 09:14:33 -040084
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 Mordkoffa4e08132017-10-03 08:53:05 -040092
93
94#######################
95# temp fix
96# this is normally done by mkcontainer, but the last line is missing
97# we can take this out when we update the RIFT platform
98
99cat <<EOF >>/etc/systemd/user.conf
100DefaultLimitNOFILE=65536
101DefaultLimitMSGQUEUE=8192000
102DefaultLimitNPROC=65536
103DefaultTasksMax=65536
104EOF
105cat <<EOF >>/etc/systemd/system.conf
106DefaultLimitNOFILE=65536
107DefaultLimitMSGQUEUE=8192000
108DefaultLimitNPROC=65536
109DefaultTasksMax=65536
110EOF
111systemctl daemon-reload
112
113##################################
114
115
Jeremy Mordkoff91157a52017-04-26 22:50:43 -0400116apt-get update
Adam Israel61d476d2017-05-19 09:14:33 -0400117
Jeremy Mordkoff91157a52017-04-26 22:50:43 -0400118# and install the tools
Jeremy Mordkoff8dfd9982017-10-02 20:05:11 -0400119apt remove -y tcpdump
Adam Israel61d476d2017-05-19 09:14:33 -0400120apt-get install -y --allow-downgrades rw.tools-container-tools=${PLATFORM_VERSION} rw.tools-scripts=${PLATFORM_VERSION} python
Jeremy Mordkoff369fbb22017-10-02 17:20:25 -0400121/usr/rift/container_tools/mkcontainer --modes MANO-base,rw-platform --rw-version ${PLATFORM_VERSION}
Jeremy Mordkoff91157a52017-04-26 22:50:43 -0400122
Adam Israel61d476d2017-05-19 09:14:33 -0400123# now disable the RIFT OSM repo so that we'll get MANO from
Jeremy Mordkoff91157a52017-04-26 22:50:43 -0400124# the OSM repos
Jeremy Mordkoff2b22e632017-10-02 18:11:23 -0400125rm -f /etc/apt/sources.list.d/rift.list
Mike Marchetti425f8ce2017-06-15 13:02:16 -0400126
garciadeblasa1fc4572017-04-24 19:08:21 +0200127apt-get update
Adam Israel61d476d2017-05-19 09:14:33 -0400128
garciadeblasa1fc4572017-04-24 19:08:21 +0200129apt-get install -y \
Jeremy Mordkofffd18c942017-10-02 14:28:53 -0400130 rw.core.mano-mano \
131 rw.core.mano-rwcal-plugin-aws \
132 rw.core.mano-rwcal-plugin-cloudsim \
133 rw.core.mano-rwcal-plugin-cloudsimproxy \
134 rw.core.mano-rwcal-plugin-openmano-vimconnector \
135 rw.core.mano-rwcal-plugin-openstack \
136 rw.core.mano-rwcal-plugin-mock
Jeremy Mordkoff1ce95b32017-09-30 16:25:32 -0400137
138
139
140