Fix race condition 51/5851/2
authorAdam Israel <adam.israel@canonical.com>
Thu, 15 Feb 2018 19:00:36 +0000 (14:00 -0500)
committerAdam Israel <adam.israel@canonical.com>
Thu, 15 Feb 2018 19:02:03 +0000 (14:02 -0500)
This fixes a race condition where cloud-init may not be finished before
we try to run apt-get update, causing the script to fail.

Fixes bug #463

Signed-off-by: Adam Israel <adam.israel@canonical.com>
Change-Id: I241d769bb5d3f07d1ede628df58f7949649eefd9

jenkins/VCA/update-lxd-image.sh

index ae692f6..9cc1536 100755 (executable)
@@ -35,6 +35,9 @@ function cache() {
     # 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 install -y $PACKAGES $2