3 # Copyright 2017 RIFT.IO Inc
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
9 # http://www.apache.org/licenses/LICENSE-2.0
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.
17 # Author(s): Jeremy Mordkoff
18 # Creation Date: 26 April 2017
23 # install launchpad SO and all of its dependencies
26 HERE=$(realpath $(dirname $0))
27 OSM_JENKINS=$(dirname $HERE)
28 . $OSM_JENKINS/common/install_common
30 # Defensive bash programming flags
31 set -o errexit # Exit on any error
32 trap 'echo ERROR: Command failed: \"$BASH_COMMAND\"' ERR
33 set -o nounset # Expanding an unset variable is an error. Variables must be
34 # set before they can be used.
36 ###############################################################################
37 # Set up repo and version
38 PLATFORM_VERSION=5.2.0.3.73627
40 while getopts "V:h" o; do
43 PLATFORM_VERSION=${OPTARG}
65 echo " Prepare current system to run SO and UI."
67 echo " PLATFORM_VERSION (optional): version of the platform packages to be installed."
72 ###############################################################################
75 # enable the right repos
76 echo "### INSTALLING RIFT platform ${PLATFORM_VERSION}"
78 curl http://repos.riftio.com/public/xenial-riftware-public-key | apt-key add -
79 echo "deb https://artifactory.riftio.com/debian-OSM xenial main" >/etc/apt/sources.list.d/rift.list
81 # Make the Rift repo a higher priority to work around version conflicts.
82 cat <<EOF > /etc/apt/preferences.d/rift
84 Pin: origin artifactory.riftio.com
90 #######################
92 # this is normally done by mkcontainer, but the last line is missing
93 # we can take this out when we update the RIFT platform
95 cat <<EOF >>/etc/systemd/user.conf
96 DefaultLimitNOFILE=65536
97 DefaultLimitMSGQUEUE=8192000
98 DefaultLimitNPROC=65536
101 cat <<EOF >>/etc/systemd/system.conf
102 DefaultLimitNOFILE=65536
103 DefaultLimitMSGQUEUE=8192000
104 DefaultLimitNPROC=65536
105 DefaultTasksMax=65536
107 systemctl daemon-reload
109 ##################################
114 # and install the tools
115 apt remove -y tcpdump
116 apt-get install -y --allow-downgrades rw.tools-container-tools=${PLATFORM_VERSION} rw.tools-scripts=${PLATFORM_VERSION} python
117 /usr/rift/container_tools/mkcontainer --modes MANO-base,rw-platform --rw-version ${PLATFORM_VERSION}
119 # now disable the RIFT OSM repo so that we'll get MANO from
121 rm -f /etc/apt/sources.list.d/rift.list
127 rw.core.mano-rwcal-plugin-aws \
128 rw.core.mano-rwcal-plugin-cloudsim \
129 rw.core.mano-rwcal-plugin-cloudsimproxy \
130 rw.core.mano-rwcal-plugin-openmano-vimconnector \
131 rw.core.mano-rwcal-plugin-openstack \
132 rw.core.mano-rwcal-plugin-mock
135 apt-get install -y python3-pip python3-setuptools