X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=jenkins%2FVCA%2Fupdate-lxd-image.sh;h=8cad93b8275808f2eedc0f73f731d35e53dfc67c;hb=85dc239b834cfe437455d0bb815c667ca905edc6;hp=ce14b1dc9312303ed5ee600bc610a794c2e1e70e;hpb=736f9e74eee855d77c05482e8a61098cb8b00552;p=osm%2Fdevops.git diff --git a/jenkins/VCA/update-lxd-image.sh b/jenkins/VCA/update-lxd-image.sh old mode 100644 new mode 100755 index ce14b1dc..8cad93b8 --- a/jenkins/VCA/update-lxd-image.sh +++ b/jenkins/VCA/update-lxd-image.sh @@ -10,7 +10,7 @@ set -eux # The basic charm layer also installs all the things. 47 packages. -LAYER_BASIC="gcc build-essential python3-pip python3-setuptools python3-yaml" +LAYER_BASIC="gcc build-essential python3-pip python3-setuptools libyaml-dev python3-yaml python3-dev" # the basic layer also installs virtualenv, but the name changed in xenial. TRUSTY_PACKAGES="python-virtualenv" @@ -21,6 +21,9 @@ DOWNLOAD_PACKAGES="" PACKAGES="$LAYER_BASIC $DOWNLOAD_PACKAGES" +# Packages from pypi to pre-install +PYPI="charms.reactive charmhelpers paramiko>=1.16.0,<1.17" + function cache() { series=$1 container=juju-${series}-base @@ -28,11 +31,18 @@ function cache() { lxc delete $container -f || true lxc launch ubuntu:$series $container - sleep 5 # wait for network + + # Wait for the container to get an IP address + lxc exec $container -- bash -c "for i in {1..60}; do sleep 1; ping -c1 10.44.127.1 &> /dev/null && break; done" + + # Wait for cloud-init to finish + lxc exec $container -- bash -c "while [ ! -f /var/lib/cloud/instance/boot-finished ]; do sleep 1; done" lxc exec $container -- apt-get update -y - lxc exec $container -- apt-get upgrade -y + lxc exec $container -- apt-get upgrade -y -o Dpkg::Options::='--force-confold' lxc exec $container -- apt-get install -y $PACKAGES $2 + lxc exec $container -- pip3 install --upgrade pip + lxc exec $container -- pip3 install --upgrade $PYPI lxc stop $container lxc image delete $alias || true @@ -41,5 +51,6 @@ function cache() { lxc delete $container -f || true } -cache trusty "$TRUSTY_PACKAGES" +# Cache the image for the Ubuntu series or series to support +# cache trusty "$TRUSTY_PACKAGES" cache xenial "$XENIAL_PACKAGES"