X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=jenkins%2FVCA%2Fstart_build;h=fc91aadc53272fafea00217a2224d11abaeae5ef;hb=90d10f5dc85d577c7cec2d608b19a23120df1281;hp=5830d0e58b6195550790fbb3aee01765cccbe649;hpb=33c7825d718665ef8165d6a3e8b9598be8ac0ef2;p=osm%2Fdevops.git diff --git a/jenkins/VCA/start_build b/jenkins/VCA/start_build index 5830d0e5..fc91aadc 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,37 @@ 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" + +# This sets the MTU of lxdbr0 on the host machine without the need to recycle +# the interface or reboot the machine. +ifconfig lxdbr0 mtu $DEFAULT_MTU + +# Setting the MTU in the default profile will be applied to every lxc container. +# Existing containers will need to be restarted for the new MTU to take effect. +# This will also persist the MTU change for the host's lxdbr0 +lxc profile device set default eth0 mtu $DEFAULT_MTU + +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=true \ +--config enable-os-upgrade=false \ +--config apt-http-proxy=http://10.44.127.1:8000 RC=0 INFO "done, RC=$RC" exit $RC - -