#!/bin/bash # Copyright 2017 # # 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. # # 01 May 2017 -- Michael Marchetti -- adapted from template # HERE=$(realpath $(dirname $0)) OSM_JENKINS=$(dirname $HERE) . $OSM_JENKINS/common/all_funcs . $OSM_JENKINS/common/install_common INFO "Installing packages" apt-get update apt-get install -y lxd INFO "Configuring LXD" # ZFS doesn't work inside a nested container. ZFS should be configured in the host LXD. lxd init --auto lxd waitready systemctl stop lxd-bridge systemctl --system daemon-reload cat < /etc/default/lxd-bridge USE_LXD_BRIDGE="true" LXD_BRIDGE="lxdbr0" UPDATE_PROFILE="true" LXD_CONFILE="" LXD_DOMAIN="lxd" LXD_IPV4_ADDR="10.44.126.1" LXD_IPV4_NETMASK="255.255.255.0" LXD_IPV4_NETWORK="10.44.126.1/24" LXD_IPV4_DHCP_RANGE="10.44.126.2,10.44.126.254" LXD_IPV4_DHCP_MAX="252" LXD_IPV4_NAT="true" LXD_IPV6_ADDR="" LXD_IPV6_MASK="" LXD_IPV6_NETWORK="" LXD_IPV6_NAT="false" LXD_IPV6_PROXY="false" EOF systemctl enable lxd-bridge systemctl start lxd-bridge apt-get install -y python-pip python python-pycurl charm-tools python-pytest python-openstackclient apt-get install -y python-osmclient export OSM_USE_LOCAL_DEVOPS=true echo "devops/installers/full_install_osm.sh --test --soui $*" devops/installers/full_install_osm.sh --test --soui $* #echo "devops/installers/full_install_osm.sh --test $*" #devops/installers/full_install_osm.sh --test $* RC=$? # workaround. for upload packages, lxdbr0 needs to be promiscuous # as the upload calls back to the UI server so the lxdbr0 needs # to operate as a bridge ifconfig lxdbr0 promisc if [ $RC == 0 ]; then # success. find all the resulting containers . devops/installers/export_ips TO_ADD="export OSM_HOSTNAME=$SO_CONTAINER_IP" grep -q OSM_HOSTNAME ~/.bashrc && sed -i "s/.*OSM_HOSTNAME.*/$TO_ADD/" ~/.bashrc || echo -e "$TO_ADD\n$(cat ~/.bashrc)" > ~/.bashrc TO_ADD="export OSM_RO_HOSTNAME=$RO_CONTAINER_IP" grep -q OSM_RO_HOSTNAME ~/.bashrc && sed -i "s/.*OSM_RO_HOSTNAME.*/$TO_ADD/" ~/.bashrc || echo -e "$TO_ADD\n$(cat ~/.bashrc)" > ~/.bashrc fi INFO "done, RC=$RC" exit $RC