diff -u cloud-init-0.5.10/debian/cloud-init.preinst cloud-init-0.5.10/debian/cloud-init.preinst --- cloud-init-0.5.10/debian/cloud-init.preinst +++ cloud-init-0.5.10/debian/cloud-init.preinst @@ -22,6 +22,21 @@ fi } +fix_ephemeral0_micro() { + # make ephemeral0 entries in /etc/fstab written by cloudconfig + # 'nobootwait', so they do not block subsequent boots (LP: #634102) + local out="" oldver=$1 dev="" adop="nobootwait" + local s="[[:space:]]" ns="[^[:space:]]" # space and "not space" + local remain="${s}\+.*" first4="" + for dev in /dev/sda2 /dev/sdb; do + first4="${dev}$s\+$ns\+$s\+$ns\+$s\+$ns\+" + out=$(awk '$1 == dev && $4 ~ /cloudconfig/ && $4 !~ op { print $1 ; }' \ + dev="${dev}" "op=${adop}" /etc/fstab) || return 0 + [ -n "${out}" ] || continue + echo "making ephemeral ${dev} in /etc/fstab ${adop} (LP: #634102)" 1>&2 + sed -i "s|^\(${first4}\)\(${remain}\)|\1,${adop}\2|" /etc/fstab + done +} case "$1" in install|upgrade) @@ -42,2 +57,5 @@ fi + if dpkg --compare-versions "$2" le "0.5.10-0ubuntu1.2"; then + fix_ephemeral0_micro + fi esac diff -u cloud-init-0.5.10/debian/changelog cloud-init-0.5.10/debian/changelog --- cloud-init-0.5.10/debian/changelog +++ cloud-init-0.5.10/debian/changelog @@ -1,3 +1,9 @@ +cloud-init (0.5.10-0ubuntu1.3) lucid-proposed; urgency=low + + * fix hang on reboot of ec2's t1.micro (LP: #634102) + + -- Scott Moser Thu, 09 Sep 2010 12:53:32 -0400 + cloud-init (0.5.10-0ubuntu1.2) lucid-proposed; urgency=low * add support for setting debconf selections (LP: #582667) diff -u cloud-init-0.5.10/cloudinit/CloudConfig.py cloud-init-0.5.10/cloudinit/CloudConfig.py --- cloud-init-0.5.10/cloudinit/CloudConfig.py +++ cloud-init-0.5.10/cloudinit/CloudConfig.py @@ -272,7 +272,7 @@ # handle 'mounts' # these are our default set of mounts - defmnts = [ [ "ephemeral0", "/mnt", "auto", "defaults", "0", "0" ], + defmnts = [ [ "ephemeral0", "/mnt", "auto", "defaults,nobootwait", "0", "0" ], [ "swap", "none", "swap", "sw", "0", "0" ] ] # fs_spec, fs_file, fs_vfstype, fs_mntops, fs-freq, fs_passno