blob: 33f651fbd19c1ee396097344d9fb5fcb17ea4792 [file] [log] [blame]
#!/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.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
#
# 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/install_common
# 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.
###############################################################################
# Set up repo and version
PLATFORM_REPOSITORY=OSM3
PLATFORM_VERSION=5.2.0.2.72254
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
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
# 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}
# 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-skyquake
echo "Creating Service ...."
/usr/rift/bin/create_launchpad_service