Activity log for bug #1370249

Date Who What changed Old value New value Message
2014-09-16 21:14:20 Daniel Manrique bug added bug
2014-09-16 21:14:40 Daniel Manrique attachment added curtin-console.log https://bugs.launchpad.net/curtin/+bug/1370249/+attachment/4205900/+files/curtin-console.log
2014-09-16 21:16:51 Daniel Manrique description I was trying to deploy an image based on an Ubuntu Desktop install. I made a "curtin-compatible" tar.gz which includes cloud-init, put it in place of root-tgz in my maas server, and tried to deploy a node (using juju bootstrap). Juju ended up complaining and timing out, and the node never fully completed installation. On closer look, I found curtin crashes when running "curthooks", specifically at some point it does dpkg --list. The code that handles this (utils.subp) assumes output from its commands is pure ascii and so crashes when the output contains non-ascii. For Ubuntu Desktop, in particular, the output contains "Déjȧ Dup", which is what causes things to barf. I SSHd into the half-installed node and ran curtin manually like so: sudo CURTIN_STACKTRACE=1 /curtin/bin/curtin --verbose --verbose --log-file /media/root-rw/curtin-install.log install --config=configs/config-000.cfg http://10.10.10.1/MAAS/static/images/ubuntu/amd64/generic/trusty/release/root-tgz It ended in this: Running command ['chroot', '/tmp/tmpQ_dk0_/target', 'dpkg-query', '--list'] with allowed return codes [0] (shell=False, capture=True) Traceback (most recent call last): File "/curtin/curtin/commands/main.py", line 96, in main sys.exit(args.func(args)) File "/curtin/curtin/commands/curthooks.py", line 443, in curthooks apply_debconf_selections(cfg, target) File "/curtin/curtin/commands/curthooks.py", line 219, in apply_debconf_selections pkgs_installed = get_installed_packages(target) File "/curtin/curtin/commands/curthooks.py", line 259, in get_installed_packages (out, _err) = util.subp(cmd, capture=True) File "/curtin/curtin/util.py", line 58, in subp out = out.decode() UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in range(128) 'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in range(128) Traceback (most recent call last): File "/curtin/curtin/commands/main.py", line 96, in main sys.exit(args.func(args)) File "/curtin/curtin/commands/install.py", line 267, in cmd_install stage.run() File "/curtin/curtin/commands/install.py", line 104, in run util.subp(cmd, shell=shell, env=self.env) File "/curtin/curtin/util.py", line 68, in subp cmd=args) ProcessExecutionError: Unexpected error while running command. Command: ['curtin', 'curthooks'] Exit code: 3 Reason: - Stdout: '' Stderr: '' Unexpected error while running command. Command: ['curtin', 'curthooks'] Exit code: 3 Reason: - Stdout: '' Stderr: '' I'm attaching the full log as well. I was trying to deploy an image based on an Ubuntu Desktop 14.04 install using MAAS 1.7.0~beta2+bzr2967-0ubuntu1~ppa1 on Ubuntu 14.04 server. I made a "curtin-compatible" tar.gz which includes cloud-init, put it in place of root-tgz in my maas server, and tried to deploy a node (using juju bootstrap). Juju ended up complaining and timing out, and the node never fully completed installation. On closer look, I found curtin crashes when running "curthooks", specifically at some point it does dpkg --list, and the code that handles this (utils.subp) assumes output from its commands is pure ascii and so crashes when the output contains non-ascii. For Ubuntu Desktop, in particular, the output contains "Déjȧ Dup", which is what causes things to barf. I SSHd into the half-installed node and ran curtin manually like so: sudo CURTIN_STACKTRACE=1 /curtin/bin/curtin --verbose --verbose --log-file /media/root-rw/curtin-install.log install --config=configs/config-000.cfg http://10.10.10.1/MAAS/static/images/ubuntu/amd64/generic/trusty/release/root-tgz It ended in this: Running command ['chroot', '/tmp/tmpQ_dk0_/target', 'dpkg-query', '--list'] with allowed return codes [0] (shell=False, capture=True) Traceback (most recent call last):   File "/curtin/curtin/commands/main.py", line 96, in main     sys.exit(args.func(args))   File "/curtin/curtin/commands/curthooks.py", line 443, in curthooks     apply_debconf_selections(cfg, target)   File "/curtin/curtin/commands/curthooks.py", line 219, in apply_debconf_selections     pkgs_installed = get_installed_packages(target)   File "/curtin/curtin/commands/curthooks.py", line 259, in get_installed_packages     (out, _err) = util.subp(cmd, capture=True)   File "/curtin/curtin/util.py", line 58, in subp     out = out.decode() UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in range(128) 'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in range(128) Traceback (most recent call last):   File "/curtin/curtin/commands/main.py", line 96, in main     sys.exit(args.func(args))   File "/curtin/curtin/commands/install.py", line 267, in cmd_install     stage.run()   File "/curtin/curtin/commands/install.py", line 104, in run     util.subp(cmd, shell=shell, env=self.env)   File "/curtin/curtin/util.py", line 68, in subp     cmd=args) ProcessExecutionError: Unexpected error while running command. Command: ['curtin', 'curthooks'] Exit code: 3 Reason: - Stdout: '' Stderr: '' Unexpected error while running command. Command: ['curtin', 'curthooks'] Exit code: 3 Reason: - Stdout: '' Stderr: '' I'm attaching the full log as well.
2014-09-16 22:33:48 Daniel Manrique attachment added curtin-subprocess-decode-utf8 https://bugs.launchpad.net/curtin/+bug/1370249/+attachment/4205965/+files/curtin-subprocess-decode-utf8
2014-09-16 23:36:57 Blake Rouse curtin: status New Triaged
2014-09-16 23:37:01 Blake Rouse curtin: importance Undecided High
2014-09-16 23:37:04 Blake Rouse curtin: assignee Blake Rouse (blake-rouse)
2014-09-18 01:05:02 Blake Rouse curtin: status Triaged Fix Committed
2014-09-27 12:37:46 Launchpad Janitor branch linked lp:ubuntu/utopic-proposed/curtin
2014-10-21 20:54:15 Launchpad Janitor branch linked lp:~smoser/ubuntu/trusty/curtin/sru-utopic-level
2014-10-21 20:57:44 Scott Moser bug task added curtin (Ubuntu)
2014-10-21 20:58:45 Scott Moser curtin (Ubuntu): status New Fix Released
2014-10-21 20:58:51 Scott Moser nominated for series Ubuntu Utopic
2014-10-21 20:58:51 Scott Moser bug task added curtin (Ubuntu Utopic)
2014-10-21 20:59:04 Scott Moser nominated for series Ubuntu Trusty
2014-10-21 20:59:04 Scott Moser bug task added curtin (Ubuntu Trusty)
2014-10-24 17:54:51 Newell Jensen description I was trying to deploy an image based on an Ubuntu Desktop 14.04 install using MAAS 1.7.0~beta2+bzr2967-0ubuntu1~ppa1 on Ubuntu 14.04 server. I made a "curtin-compatible" tar.gz which includes cloud-init, put it in place of root-tgz in my maas server, and tried to deploy a node (using juju bootstrap). Juju ended up complaining and timing out, and the node never fully completed installation. On closer look, I found curtin crashes when running "curthooks", specifically at some point it does dpkg --list, and the code that handles this (utils.subp) assumes output from its commands is pure ascii and so crashes when the output contains non-ascii. For Ubuntu Desktop, in particular, the output contains "Déjȧ Dup", which is what causes things to barf. I SSHd into the half-installed node and ran curtin manually like so: sudo CURTIN_STACKTRACE=1 /curtin/bin/curtin --verbose --verbose --log-file /media/root-rw/curtin-install.log install --config=configs/config-000.cfg http://10.10.10.1/MAAS/static/images/ubuntu/amd64/generic/trusty/release/root-tgz It ended in this: Running command ['chroot', '/tmp/tmpQ_dk0_/target', 'dpkg-query', '--list'] with allowed return codes [0] (shell=False, capture=True) Traceback (most recent call last):   File "/curtin/curtin/commands/main.py", line 96, in main     sys.exit(args.func(args))   File "/curtin/curtin/commands/curthooks.py", line 443, in curthooks     apply_debconf_selections(cfg, target)   File "/curtin/curtin/commands/curthooks.py", line 219, in apply_debconf_selections     pkgs_installed = get_installed_packages(target)   File "/curtin/curtin/commands/curthooks.py", line 259, in get_installed_packages     (out, _err) = util.subp(cmd, capture=True)   File "/curtin/curtin/util.py", line 58, in subp     out = out.decode() UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in range(128) 'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in range(128) Traceback (most recent call last):   File "/curtin/curtin/commands/main.py", line 96, in main     sys.exit(args.func(args))   File "/curtin/curtin/commands/install.py", line 267, in cmd_install     stage.run()   File "/curtin/curtin/commands/install.py", line 104, in run     util.subp(cmd, shell=shell, env=self.env)   File "/curtin/curtin/util.py", line 68, in subp     cmd=args) ProcessExecutionError: Unexpected error while running command. Command: ['curtin', 'curthooks'] Exit code: 3 Reason: - Stdout: '' Stderr: '' Unexpected error while running command. Command: ['curtin', 'curthooks'] Exit code: 3 Reason: - Stdout: '' Stderr: '' I'm attaching the full log as well. I was trying to deploy an image based on an Ubuntu Desktop 14.04 install using MAAS 1.7.0~beta2+bzr2967-0ubuntu1~ppa1 on Ubuntu 14.04 server. I made a "curtin-compatible" tar.gz which includes cloud-init, put it in place of root-tgz in my maas server, and tried to deploy a node (using juju bootstrap). Juju ended up complaining and timing out, and the node never fully completed installation. On closer look, I found curtin crashes when running "curthooks", specifically at some point it does dpkg --list, and the code that handles this (utils.subp) assumes output from its commands is pure ascii and so crashes when the output contains non-ascii. For Ubuntu Desktop, in particular, the output contains "Déjȧ Dup", which is what causes things to barf. I SSHd into the half-installed node and ran curtin manually like so: sudo CURTIN_STACKTRACE=1 /curtin/bin/curtin --verbose --verbose --log-file /media/root-rw/curtin-install.log install --config=configs/config-000.cfg http://10.10.10.1/MAAS/static/images/ubuntu/amd64/generic/trusty/release/root-tgz It ended in this: Running command ['chroot', '/tmp/tmpQ_dk0_/target', 'dpkg-query', '--list'] with allowed return codes [0] (shell=False, capture=True) Traceback (most recent call last):   File "/curtin/curtin/commands/main.py", line 96, in main     sys.exit(args.func(args))   File "/curtin/curtin/commands/curthooks.py", line 443, in curthooks     apply_debconf_selections(cfg, target)   File "/curtin/curtin/commands/curthooks.py", line 219, in apply_debconf_selections     pkgs_installed = get_installed_packages(target)   File "/curtin/curtin/commands/curthooks.py", line 259, in get_installed_packages     (out, _err) = util.subp(cmd, capture=True)   File "/curtin/curtin/util.py", line 58, in subp     out = out.decode() UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in range(128) 'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in range(128) Traceback (most recent call last):   File "/curtin/curtin/commands/main.py", line 96, in main     sys.exit(args.func(args))   File "/curtin/curtin/commands/install.py", line 267, in cmd_install     stage.run()   File "/curtin/curtin/commands/install.py", line 104, in run     util.subp(cmd, shell=shell, env=self.env)   File "/curtin/curtin/util.py", line 68, in subp     cmd=args) ProcessExecutionError: Unexpected error while running command. Command: ['curtin', 'curthooks'] Exit code: 3 Reason: - Stdout: '' Stderr: '' Unexpected error while running command. Command: ['curtin', 'curthooks'] Exit code: 3 Reason: - Stdout: '' Stderr: '' I'm attaching the full log as well. SRU curtin ========== [Impact] curtin can't handle non-ascii characters in dpkg --list output as mentioned in the original bug report descripition. This bug doesn't allow curtin to continue and terminates the installation. This fix is needed so that we can make subprocess calls with output that contains non-ascii characters. The patch supplied by the bug reporter enables non-ascii character subprocess output decoding for curtin. [Test Case] To reproduce the bug, follow the same steps as the bug report description mentiones. Namely, making sure that dpkg --list will contain output with non-ascii characters. [Regression Potential] utf-8 is backwards compatible with ascii, so the likely hood of regressions is small.
2014-10-24 21:54:36 Newell Jensen description I was trying to deploy an image based on an Ubuntu Desktop 14.04 install using MAAS 1.7.0~beta2+bzr2967-0ubuntu1~ppa1 on Ubuntu 14.04 server. I made a "curtin-compatible" tar.gz which includes cloud-init, put it in place of root-tgz in my maas server, and tried to deploy a node (using juju bootstrap). Juju ended up complaining and timing out, and the node never fully completed installation. On closer look, I found curtin crashes when running "curthooks", specifically at some point it does dpkg --list, and the code that handles this (utils.subp) assumes output from its commands is pure ascii and so crashes when the output contains non-ascii. For Ubuntu Desktop, in particular, the output contains "Déjȧ Dup", which is what causes things to barf. I SSHd into the half-installed node and ran curtin manually like so: sudo CURTIN_STACKTRACE=1 /curtin/bin/curtin --verbose --verbose --log-file /media/root-rw/curtin-install.log install --config=configs/config-000.cfg http://10.10.10.1/MAAS/static/images/ubuntu/amd64/generic/trusty/release/root-tgz It ended in this: Running command ['chroot', '/tmp/tmpQ_dk0_/target', 'dpkg-query', '--list'] with allowed return codes [0] (shell=False, capture=True) Traceback (most recent call last):   File "/curtin/curtin/commands/main.py", line 96, in main     sys.exit(args.func(args))   File "/curtin/curtin/commands/curthooks.py", line 443, in curthooks     apply_debconf_selections(cfg, target)   File "/curtin/curtin/commands/curthooks.py", line 219, in apply_debconf_selections     pkgs_installed = get_installed_packages(target)   File "/curtin/curtin/commands/curthooks.py", line 259, in get_installed_packages     (out, _err) = util.subp(cmd, capture=True)   File "/curtin/curtin/util.py", line 58, in subp     out = out.decode() UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in range(128) 'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in range(128) Traceback (most recent call last):   File "/curtin/curtin/commands/main.py", line 96, in main     sys.exit(args.func(args))   File "/curtin/curtin/commands/install.py", line 267, in cmd_install     stage.run()   File "/curtin/curtin/commands/install.py", line 104, in run     util.subp(cmd, shell=shell, env=self.env)   File "/curtin/curtin/util.py", line 68, in subp     cmd=args) ProcessExecutionError: Unexpected error while running command. Command: ['curtin', 'curthooks'] Exit code: 3 Reason: - Stdout: '' Stderr: '' Unexpected error while running command. Command: ['curtin', 'curthooks'] Exit code: 3 Reason: - Stdout: '' Stderr: '' I'm attaching the full log as well. SRU curtin ========== [Impact] curtin can't handle non-ascii characters in dpkg --list output as mentioned in the original bug report descripition. This bug doesn't allow curtin to continue and terminates the installation. This fix is needed so that we can make subprocess calls with output that contains non-ascii characters. The patch supplied by the bug reporter enables non-ascii character subprocess output decoding for curtin. [Test Case] To reproduce the bug, follow the same steps as the bug report description mentiones. Namely, making sure that dpkg --list will contain output with non-ascii characters. [Regression Potential] utf-8 is backwards compatible with ascii, so the likely hood of regressions is small. I was trying to deploy an image based on an Ubuntu Desktop 14.04 install using MAAS 1.7.0~beta2+bzr2967-0ubuntu1~ppa1 on Ubuntu 14.04 server. I made a "curtin-compatible" tar.gz which includes cloud-init, put it in place of root-tgz in my maas server, and tried to deploy a node (using juju bootstrap). Juju ended up complaining and timing out, and the node never fully completed installation. On closer look, I found curtin crashes when running "curthooks", specifically at some point it does dpkg --list, and the code that handles this (utils.subp) assumes output from its commands is pure ascii and so crashes when the output contains non-ascii. For Ubuntu Desktop, in particular, the output contains "Déjȧ Dup", which is what causes things to barf. I SSHd into the half-installed node and ran curtin manually like so: sudo CURTIN_STACKTRACE=1 /curtin/bin/curtin --verbose --verbose --log-file /media/root-rw/curtin-install.log install --config=configs/config-000.cfg http://10.10.10.1/MAAS/static/images/ubuntu/amd64/generic/trusty/release/root-tgz It ended in this: Running command ['chroot', '/tmp/tmpQ_dk0_/target', 'dpkg-query', '--list'] with allowed return codes [0] (shell=False, capture=True) Traceback (most recent call last):   File "/curtin/curtin/commands/main.py", line 96, in main     sys.exit(args.func(args))   File "/curtin/curtin/commands/curthooks.py", line 443, in curthooks     apply_debconf_selections(cfg, target)   File "/curtin/curtin/commands/curthooks.py", line 219, in apply_debconf_selections     pkgs_installed = get_installed_packages(target)   File "/curtin/curtin/commands/curthooks.py", line 259, in get_installed_packages     (out, _err) = util.subp(cmd, capture=True)   File "/curtin/curtin/util.py", line 58, in subp     out = out.decode() UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in range(128) 'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in range(128) Traceback (most recent call last):   File "/curtin/curtin/commands/main.py", line 96, in main     sys.exit(args.func(args))   File "/curtin/curtin/commands/install.py", line 267, in cmd_install     stage.run()   File "/curtin/curtin/commands/install.py", line 104, in run     util.subp(cmd, shell=shell, env=self.env)   File "/curtin/curtin/util.py", line 68, in subp     cmd=args) ProcessExecutionError: Unexpected error while running command. Command: ['curtin', 'curthooks'] Exit code: 3 Reason: - Stdout: '' Stderr: '' Unexpected error while running command. Command: ['curtin', 'curthooks'] Exit code: 3 Reason: - Stdout: '' Stderr: '' I'm attaching the full log as well. SRU curtin ========== [Impact] curtin can't handle non-ascii characters in dpkg --list output as mentioned in the original bug report descripition. This bug doesn't allow curtin to continue and terminates the installation. This fix is needed so that we can make subprocess calls with output that contains non-ascii characters. The patch supplied by the bug reporter enables non-ascii character subprocess output decoding for curtin. [Test Case] To reproduce the bug, follow the same steps as the bug report description mentions. Namely, making sure that dpkg --list will contain output with non-ascii characters. [Regression Potential] utf-8 is backwards compatible with ascii, so the likely hood of regressions is small.
2014-10-30 20:14:34 Brian Murray curtin (Ubuntu Trusty): status New Fix Committed
2014-10-30 20:14:37 Brian Murray bug added subscriber Ubuntu Stable Release Updates Team
2014-10-30 20:14:39 Brian Murray bug added subscriber SRU Verification
2014-10-30 20:14:42 Brian Murray tags verification-needed
2014-10-30 20:33:42 Launchpad Janitor branch linked lp:ubuntu/trusty-proposed/curtin
2014-12-17 10:11:09 Larry Michel tags verification-needed verification-done
2015-01-05 18:03:54 Brian Murray removed subscriber Ubuntu Stable Release Updates Team
2015-01-05 18:09:12 Launchpad Janitor curtin (Ubuntu Trusty): status Fix Committed Fix Released
2017-12-15 22:23:17 Scott Moser curtin: status Fix Committed Fix Released