X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=jenkins%2FVCA%2Fstart_build;h=f2b3c94dca8c4a56498fdc8a45655336ec9e611d;hb=refs%2Fchanges%2F61%2F5661%2F3;hp=5830d0e58b6195550790fbb3aee01765cccbe649;hpb=33c7825d718665ef8165d6a3e8b9598be8ac0ef2;p=osm%2Fdevops.git diff --git a/jenkins/VCA/start_build b/jenkins/VCA/start_build index 5830d0e5..f2b3c94d 100755 --- a/jenkins/VCA/start_build +++ b/jenkins/VCA/start_build @@ -12,16 +12,24 @@ # 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. -# +# # 20 Sep 2016 -- Gerardo Garcia -- adapted from template -# +# HERE=$(realpath $(dirname $0)) OSM_JENKINS=$(dirname $HERE) . $OSM_JENKINS/common/all_funcs -INFO "installing packages" -apt update +INFO "Installing packages" +add-apt-repository -y ppa:juju/stable +apt-get update +apt-get install -y juju lxd squid-deb-proxy + +echo 'streams.canonical' > /etc/squid-deb-proxy/mirror-dstdomain.acl.d/20-juju-streams +service squid-deb-proxy reload + +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 @@ -47,15 +55,38 @@ EOF systemctl enable lxd-bridge systemctl start lxd-bridge -lxc image copy ubuntu:16.04 local: --alias ubuntu-xenial -add-apt-repository -y ppa:juju/devel -apt update -apt install -y juju -juju bootstrap juju localhost + +DEFAULT_INTERFACE=$(route -n | awk '$1~/^0.0.0.0/ {print $8}') +DEFAULT_MTU=$( ip addr show $DEFAULT_INTERFACE | perl -ne 'if (/mtu\s(\d+)/) {print $1;}') + +INFO "Setting lxdbr0 MTU to $DEFAULT_MTU" +ifconfig lxdbr0 mtu $DEFAULT_MTU + +# Make the MTU change persistent between reboots +sed -i '/lxc list/d' /etc/rc.local +sed -i "$ i lxc list > /dev/null" /etc/rc.local +sed -i '/ifconfig lxdbr0 mtu/d' /etc/rc.local +sed -i "$ i ifconfig lxdbr0 mtu $DEFAULT_MTU" /etc/rc.local + +# Enable the rc-local service so our changes get executed upon boot +systemctl enable rc-local.service + +INFO "Pre-caching Ubuntu:16.04 image (this may take several minutes)..." + +# Setup a daily cron to update the cached image +cp $HERE/update-lxd-image.sh /etc/cron.daily + +# Run it for the first time +/etc/cron.daily/update-lxd-image.sh xenial + +INFO "Bootstrapping VCA" +juju bootstrap localhost osm \ +--config default-series=xenial \ +--config enable-os-refresh-update=false \ +--config enable-os-upgrade=false \ +--config apt-http-proxy=http://10.44.127.1:8000 RC=0 INFO "done, RC=$RC" exit $RC - -