Machine fails to commission when console=ttyS0 is present on kernel opts
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
Critical
|
Unassigned |
Bug Description
Maas is pxe booting systems. The first time a system is booted, maas knows nothing about it, so we need some default kernel parameters. The primary target for these systems is datacenter, where there is at least some likelyhood that /dev/ttyS0 is logged (or could be logged). On boot of the system, we want to see log messages. So, we were passing to the kernel cmdline:
console=tty1 console=ttyS0
The hope was that kernel messages would go both places, and /dev/console (which is opened by upstart) would go to ttyS0 if it was present and /dev/tty1 otherwise. It seems that the kernel is not at all smart about how it does this, though. On a system without a serial device, /dev/console gets hooked up, but writes to it fail with "Input/output error".
Cloud-init uses 'console output' in upstart as it wants data to be viewable on the console. This causes an error, though, as writes to /dev/console fail in this case.
Additional information:
* upstart closes all file descriptors (stdin/
* kexec'ing with different parameters from inside the initramfs (removing the bad console=) really isn't an option, as the kernel/initrmafs is pxebooted, and we dont even have simple access to those.
Relative links:
* kernel serial console doc: http://
* thread about re-assigning /dev/console: http://<email address hidden>
Other info from system:
http://
http://
http://
Running:
sudo start cloud-final
shows:
start: Job failed to start
Also:
$ runlevel
N 2
$ sudo status rc
rc stop/waiting
Related branches
- Andres Rodriguez (community): Approve
-
Diff: 27 lines (+3/-3)2 files modifiedsrc/provisioningserver/kernel_opts.py (+2/-2)
src/provisioningserver/tests/test_kernel_opts.py (+1/-1)
Changed in maas: | |
status: | New → Triaged |
importance: | Undecided → Critical |
description: | updated |
Changed in maas: | |
status: | Triaged → In Progress |
Changed in maas: | |
status: | In Progress → Fix Committed |
Changed in maas: | |
status: | Fix Committed → Fix Released |
dmesg: http:// paste.ubuntu. com/1261143/