| Mike Marchetti | 6930bc0 | 2017-05-31 16:33:02 -0400 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # Copyright 2017 |
| 3 | # |
| 4 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | # you may not use this file except in compliance with the License. |
| 6 | # You may obtain a copy of the License at |
| 7 | # |
| 8 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | # |
| 10 | # Unless required by applicable law or agreed to in writing, software |
| 11 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | # See the License for the specific language governing permissions and |
| 14 | # limitations under the License. |
| 15 | # |
| 16 | # 01 May 2017 -- Michael Marchetti -- adapted from template |
| 17 | # |
| 18 | |
| 19 | HERE=$(realpath $(dirname $0)) |
| 20 | OSM_JENKINS=$(dirname $HERE) |
| 21 | . $OSM_JENKINS/common/all_funcs |
| Mike Marchetti | 8343e3f | 2017-06-30 15:12:26 -0400 | [diff] [blame] | 22 | . $OSM_JENKINS/common/install_common |
| Mike Marchetti | 6930bc0 | 2017-05-31 16:33:02 -0400 | [diff] [blame] | 23 | |
| 24 | INFO "Installing packages" |
| 25 | apt-get update |
| garciadeblas | 7a2b4b7 | 2017-08-31 13:14:45 +0200 | [diff] [blame] | 26 | apt-get install -y lxd |
| Mike Marchetti | 6930bc0 | 2017-05-31 16:33:02 -0400 | [diff] [blame] | 27 | |
| 28 | INFO "Configuring LXD" |
| 29 | # ZFS doesn't work inside a nested container. ZFS should be configured in the host LXD. |
| 30 | lxd init --auto |
| 31 | lxd waitready |
| 32 | systemctl stop lxd-bridge |
| 33 | systemctl --system daemon-reload |
| 34 | cat <<EOF > /etc/default/lxd-bridge |
| 35 | USE_LXD_BRIDGE="true" |
| 36 | LXD_BRIDGE="lxdbr0" |
| 37 | UPDATE_PROFILE="true" |
| 38 | LXD_CONFILE="" |
| 39 | LXD_DOMAIN="lxd" |
| 40 | LXD_IPV4_ADDR="10.44.126.1" |
| 41 | LXD_IPV4_NETMASK="255.255.255.0" |
| 42 | LXD_IPV4_NETWORK="10.44.126.1/24" |
| 43 | LXD_IPV4_DHCP_RANGE="10.44.126.2,10.44.126.254" |
| 44 | LXD_IPV4_DHCP_MAX="252" |
| 45 | LXD_IPV4_NAT="true" |
| 46 | LXD_IPV6_ADDR="" |
| 47 | LXD_IPV6_MASK="" |
| 48 | LXD_IPV6_NETWORK="" |
| 49 | LXD_IPV6_NAT="false" |
| 50 | LXD_IPV6_PROXY="false" |
| 51 | EOF |
| 52 | |
| 53 | systemctl enable lxd-bridge |
| 54 | systemctl start lxd-bridge |
| 55 | |
| Mike Marchetti | f94dd8a | 2017-11-06 11:04:38 -0500 | [diff] [blame] | 56 | apt-get install -y python-pip python python-pycurl charm-tools python-pytest python-openstackclient |
| Mike Marchetti | 6930bc0 | 2017-05-31 16:33:02 -0400 | [diff] [blame] | 57 | |
| garciadeblas | 7a2b4b7 | 2017-08-31 13:14:45 +0200 | [diff] [blame] | 58 | apt-get install -y python-osmclient |
| Mike Marchetti | 6930bc0 | 2017-05-31 16:33:02 -0400 | [diff] [blame] | 59 | |
| Mike Marchetti | 425f8ce | 2017-06-15 13:02:16 -0400 | [diff] [blame] | 60 | export OSM_USE_LOCAL_DEVOPS=true |
| garciadeblas | a4385f7 | 2018-05-10 08:54:20 +0200 | [diff] [blame] | 61 | echo "devops/installers/full_install_osm.sh --test --soui $*" |
| 62 | devops/installers/full_install_osm.sh --test --soui $* |
| 63 | #echo "devops/installers/full_install_osm.sh --test $*" |
| 64 | #devops/installers/full_install_osm.sh --test $* |
| Mike Marchetti | 6930bc0 | 2017-05-31 16:33:02 -0400 | [diff] [blame] | 65 | RC=$? |
| 66 | |
| 67 | # workaround. for upload packages, lxdbr0 needs to be promiscuous |
| 68 | # as the upload calls back to the UI server so the lxdbr0 needs |
| 69 | # to operate as a bridge |
| 70 | ifconfig lxdbr0 promisc |
| 71 | |
| 72 | if [ $RC == 0 ]; then |
| 73 | # success. find all the resulting containers |
| 74 | . devops/installers/export_ips |
| 75 | |
| 76 | TO_ADD="export OSM_HOSTNAME=$SO_CONTAINER_IP" |
| 77 | grep -q OSM_HOSTNAME ~/.bashrc && sed -i "s/.*OSM_HOSTNAME.*/$TO_ADD/" ~/.bashrc || echo -e "$TO_ADD\n$(cat ~/.bashrc)" > ~/.bashrc |
| Mike Marchetti | 8343e3f | 2017-06-30 15:12:26 -0400 | [diff] [blame] | 78 | TO_ADD="export OSM_RO_HOSTNAME=$RO_CONTAINER_IP" |
| 79 | grep -q OSM_RO_HOSTNAME ~/.bashrc && sed -i "s/.*OSM_RO_HOSTNAME.*/$TO_ADD/" ~/.bashrc || echo -e "$TO_ADD\n$(cat ~/.bashrc)" > ~/.bashrc |
| Mike Marchetti | 6930bc0 | 2017-05-31 16:33:02 -0400 | [diff] [blame] | 80 | fi |
| 81 | |
| 82 | INFO "done, RC=$RC" |
| 83 | exit $RC |