Ubuntu Pastebin

Paste from smoser at Thu, 28 Jul 2016 18:18:54 +0000

Download as text
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash

TO_REAP=""
maxwait=30
marker="/run/runcmd.time"
userdata="#cloud-config
runcmd:
 - ['sh', '-c', 'cat /proc/uptime | tee -a $marker']
"

cleanup() {
   for name in $TO_REAP; do
      echo "killing $name"
      lxc delete --force $TO_REAP
   done
}
fail() { echo "$@" 1>&2; exit 1; }

trap cleanup EXIT
releases=$(ubuntu-distro-info --supported) ||
    releases="precise trusty xenial yakkety"
for rel in $releases; do
   name="$rel-udtest"
   lxc launch "ubuntu-daily:$rel" "$name" \
      "--config=user.user-data=$userdata" &&
      TO_REAP="$name" || fail "failed launching $name"
   echo "launched $name"
   up=""
   for i in $(seq 0 $maxwait); do
      out=$(lxc exec "$name" -- sh -ec '
         f=$1;
         [ -e "$f" ] || exit 9
         read up idle <"$f"
         echo $up' checkit "$marker")
      ret=$?
      if [ $ret -eq 0 ]; then
          up="$out"
          break
      elif [ $ret -eq 9 ]; then
          echo -n "."
      fi
      sleep 1
   done
   if [ -n "$up" ]; then
       echo "$name up after $out"
       lxc delete --force "$name" && TO_REAP=""
   else
       fail "$name: not up after $maxwait"
   fi
done
Download as text