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 |
|