Comment 8 for bug 606373

Revision history for this message
Scott Moser (smoser) wrote :

The current belief from the kernel team is that this is fallout from bug 554172.
I've not been able to work around it so far.

It was suggested that we just need to make sure the references to /dev/console never goes to zero. I tried ensuring that with:

$ sudo mv /sbin/init /sbin/init.real
$ cat /sbin/init
#!/bin/sh

/bin/sh -c 'echo "$(date): hi world $$"; exec sleep 100' </dev/console >/dev/console 2>&1
exec /sbin/init.real "$@"
$ sudo chmod 755 /sbin/init

Then, rebooting.
I see the 'hi world' message in console output, and can ssh in while the 'sleep 100' is still running, but I do not get the cloud-init output to the console. I verify that cloud-init wrote to /var/log/cloud-init.log, data like:
[CLOUDINIT] 2010-09-14 19:48:11,763 - cloud-init[INFO]: cloud-init start running: Tue, 14 Sep 2010 19:48:11 +0000. up 2.01 seconds

That *should* also get to stderr, which *should* be /dev/console as the cloud-init job looks like:

# upstart job
start on (mounted MOUNTPOINT=/ and net-device-up IFACE=eth0 and \
   stopped cloud-init-local )
task
console output
exec /usr/bin/cloud-init start

/usr/bin/cloud-init does:
    msg = "cloud-init %s running: %s. up %s seconds" % (cmd, now, uptime)
    sys.stderr.write(msg + "\n")
    sys.stderr.flush()