X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=jenkins%2FSO%2Finstall;h=9cad24a7fe85b0202a6b4ad726fc45278f2f0bfa;hb=3cc0316794cc75ecffdf2b969b4ad98d0dd7e826;hp=b45b4cb9723fb85ad2c5ecf9adbf0c6378f2a6fd;hpb=a1fc4570e6196978b0de679c5e659748ba407e6d;p=osm%2Fdevops.git diff --git a/jenkins/SO/install b/jenkins/SO/install index b45b4cb9..9cad24a7 100755 --- a/jenkins/SO/install +++ b/jenkins/SO/install @@ -1,5 +1,6 @@ -#!/bin/bash -# Copyright 2016 RIFT.IO Inc +#!/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. @@ -12,76 +13,131 @@ # 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. -# -# TEMPLATE script to start a build. This is run inside a container # -# 6 July 2016 -- Jeremy.Mordkoff@riftio.com -- adapted from the riftware version -# +# Author(s): Jeremy Mordkoff +# Creation Date: 26 April 2017 +# +# + +# INSTALL.sh +# install launchpad SO and all of its dependencies +# HERE=$(realpath $(dirname $0)) OSM_JENKINS=$(dirname $HERE) -. $OSM_JENKINS/common/all_funcs +. $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 -V " + 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 +} -# SET YOU MDG repository name here -export OSM_MDG=SO -OSM_load_config -#OSM_git_checkout "$@" +############################################################################### +# Main block -#trap 'WARNING "INTERRUPT"; exit 1' INT +# enable the right repos +echo "### INSTALLING RIFT platform ${PLATFORM_VERSION} from repository ${PLATFORM_REPOSITORY}" -#./BUILD.sh -s +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}/ -INFO "starting install $MDG" +# Make the Rift repo a higher priority to work around version conflicts. +cat < /etc/apt/preferences.d/rift +Package: * +Pin: origin repos.riftio.com +Pin-Priority: 600 +EOF -#curl http://repos.riftio.com/public/xenial-riftware-public-key | sudo apt-key add - -#curl -o /etc/apt/sources.list.d/RIFT.list http://buildtracker.riftio.com/repo_file/ub16/OSM/ -#apt-get update -#apt-get install -y libxml2-dev libxslt-dev -#/usr/rift/container_tools/mkcontainer --modes build --modes ext --repo OSM -#pip3 install lxml==3.4.0 -#Release ONE -curl https://osm-download.etsi.org/repository/osm/debian/ReleaseONE/OSM%20ETSI%20Release%20Key.gpg |apt-key add - -add-apt-repository -y "deb https://osm-download.etsi.org/repository/osm/debian/ReleaseONE unstable SO UI RO openvim" -#add-apt-repository -y "deb https://osm-download.etsi.org/repository/osm/debian/ReleaseONE stable SO UI RO openvim" -#Release TWO -#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" +####################### +# temp fix +# this is normally done by mkcontainer, but the last line is missing +# we can take this out when we update the RIFT platform + +cat <>/etc/systemd/user.conf +DefaultLimitNOFILE=65536 +DefaultLimitMSGQUEUE=8192000 +DefaultLimitNPROC=65536 +DefaultTasksMax=65536 +EOF +cat <>/etc/systemd/system.conf +DefaultLimitNOFILE=65536 +DefaultLimitMSGQUEUE=8192000 +DefaultLimitNPROC=65536 +DefaultTasksMax=65536 +EOF +systemctl daemon-reload + +################################## + apt-get update + +# and install the tools +apt remove -y 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 MANO-base,rw-platform --rw-version ${PLATFORM_VERSION} + +# 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 + +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-rwsdn-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-rwcal-propcloud1-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 - -RC=$? - -INFO "done, RC=$RC" -exit $RC + rw.core.mano-mano \ + rw.core.mano-rwcal-plugin-aws \ + rw.core.mano-rwcal-plugin-cloudsim \ + rw.core.mano-rwcal-plugin-cloudsimproxy \ + rw.core.mano-rwcal-plugin-openmano-vimconnector \ + rw.core.mano-rwcal-plugin-openstack \ + rw.core.mano-rwcal-plugin-mock + +# Install libjuju +apt-get install -y python3-pip python3-setuptools +pip3 install juju==0.6.1