| #!/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 SO and all of its dependencies |
| # |
| |
| # 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. |
| |
| if [ $# -gt 0 ]; then |
| case "$1" in |
| -h|--help) |
| echo |
| echo "NAME:" |
| echo " $0" |
| echo |
| echo "SYNOPSIS:" |
| echo " $0 -h|--help" |
| echo " $0 [PLATFORM_REPOSITORY] [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 |
| exit 0;; |
| esac |
| fi |
| |
| |
| ############################################################################### |
| # Set up repo and version |
| |
| PLATFORM_REPOSITORY=${1:-OSM} |
| PLATFORM_VERSION=${2:-4.4.2.1.61839} |
| |
| ############################################################################### |
| # 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 remove -y rw.toolchain-rwbase tcpdump |
| apt-get install -y --allow-downgrades rw.tools-container-tools=${PLATFORM_VERSION} rw.tools-scripts=${PLATFORM_VERSION} python |
| /usr/rift/container_tools/mkcontainer --modes ext --modes platform --rw-version ${PLATFORM_VERSION} |
| pip3 install lxml==3.4.0 |
| |
| |
| chmod 777 /usr/rift /usr/rift/usr/share |
| |
| # now disable the RIFT OSM repo so that we'll get MANO from |
| # the OSM repos |
| rm -f /etc/apt/sources.list.d/RIFT.list |
| curl https://osm-download.etsi.org/repository/osm/debian/ReleaseTWO/OSM%20ETSI%20Release%20Key.gpg |apt-key add - |
| add-apt-repository -y "deb https://osm-download.etsi.org/repository/osm/debian/ReleaseTWO stable SO UI RO openvim" |
| apt-get update |
| |
| apt-get install -y \ |
| rw.core.mano-rwcal_yang_ylib-1.0 \ |
| rw.core.mano-rwconfig_agent_yang_ylib-1.0 \ |
| rw.core.mano-rwlaunchpad_yang_ylib-1.0 \ |
| rw.core.mano-mano_yang_ylib-1.0 \ |
| rw.core.mano-common-1.0 \ |
| rw.core.mano-rwsdn_yang_ylib-1.0 \ |
| rw.core.mano-rwsdnal_yang_ylib-1.0 \ |
| rw.core.mano-mano-types_yang_ylib-1.0 \ |
| rw.core.mano-rwcal-cloudsim-1.0 \ |
| rw.core.mano-rwcal-1.0 \ |
| rw.core.mano-rw_conman_yang_ylib-1.0 \ |
| rw.core.mano-rwcalproxytasklet-1.0 \ |
| rw.core.mano-rwlaunchpad-1.0 \ |
| rw.core.mano-rwcal-openmano-vimconnector-1.0 \ |
| rw.core.mano-lpmocklet_yang_ylib-1.0 \ |
| rw.core.mano-rwmon-1.0 \ |
| rw.core.mano-rwcloud_yang_ylib-1.0 \ |
| rw.core.mano-rwcal-openstack-1.0 \ |
| rw.core.mano-rw.core.mano_foss \ |
| rw.core.mano-rwmon_yang_ylib-1.0 \ |
| rw.core.mano-rwcm-1.0 \ |
| rw.core.mano-rwcal-mock-1.0 \ |
| rw.core.mano-rwcal-cloudsimproxy-1.0 \ |
| rw.core.mano-models-1.0 \ |
| rw.core.mano-rwcal-aws-1.0 |