FWIW, getting a shell on an instance stuck in this state shows the cloud-init is still running:
root 894 0.0 0.0 15260 636 ? S May22 0:00 upstart-socket-bridge --daemon root 1051 0.0 0.0 86100 20936 ? Ss May22 0:00 /usr/bin/python /usr/bin/cloud-init init root 1060 0.0 0.0 4444 648 ? S May22 0:00 /bin/sh -c tee -a /var/log/cloud-init-output.log root 1061 0.0 0.0 4348 584 ? S May22 0:00 tee -a /var/log/cloud-init-output.log root 1263 0.0 0.0 10224 2408 ? Ss May22 0:00 dhclient -1 -v -pf /run/dhclient.eth2.pid -lf /var/lib/dhcp/dhclient.eth2.leases eth2 ntp 1395 0.0 0.0 31444 2012 ? Ss May22 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 107:112 root 1417 0.0 0.0 25108 1056 ? S May22 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 107:112
At this point /etc/network/interfaces has the correct entry (eth2 in this case) and it has dhcp'd its address.
FWIW, getting a shell on an instance stuck in this state shows the cloud-init is still running:
root 894 0.0 0.0 15260 636 ? S May22 0:00 upstart- socket- bridge --daemon cloud-init- output. log cloud-init- output. log eth2.pid -lf /var/lib/ dhcp/dhclient. eth2.leases eth2
root 1051 0.0 0.0 86100 20936 ? Ss May22 0:00 /usr/bin/python /usr/bin/cloud-init init
root 1060 0.0 0.0 4444 648 ? S May22 0:00 /bin/sh -c tee -a /var/log/
root 1061 0.0 0.0 4348 584 ? S May22 0:00 tee -a /var/log/
root 1263 0.0 0.0 10224 2408 ? Ss May22 0:00 dhclient -1 -v -pf /run/dhclient.
ntp 1395 0.0 0.0 31444 2012 ? Ss May22 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 107:112
root 1417 0.0 0.0 25108 1056 ? S May22 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 107:112
At this point /etc/network/ interfaces has the correct entry (eth2 in this case) and it has dhcp'd its address.