failure with utopic level lsblk. should use --output, not --out.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin |
Fix Released
|
High
|
Unassigned | ||
curtin (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Trusty |
Fix Released
|
Medium
|
Unassigned | ||
Utopic |
Fix Released
|
High
|
Unassigned | ||
Vivid |
Fix Released
|
High
|
Unassigned |
Bug Description
=== Begin SRU Information ===
[Impact]
curtin install if util-linux is at utopic version or later.
The problem is that curtin's '_lsblock' which is used to get invoke lsblock to
get information about the block devices of the system used '--out=' to specify
the output format rather than '--output'. In utopic the version of util-linux
contains a lsblock with '--output-all' flag, which made '--output' ambiguous
and the command would fail.
The fix is then straight forward and is to just use '--output=' rather than
'--out='. I'm not sure where the usage of '--out' came from as versions
of util-linux back to 12.04 support '--output'.
[Test Case]
$ sudo apt-get update -qy && apt-get install -qy python-curtin
$ dpkg-query --show python-curtin util-linux
python-curtin 0.1.0~bzr190-
util-linux 2.25.1-3ubuntu4
$ python -c 'from curtin import block; import pprint; pprint.
Result currently is stack trace on utopic.
Success is a pretty printed dictionary of 'lsblk' information like:
{
'vdb1': {'ALIGNMENT': '0',
..
'UUID': '',
}
=== End SRU Information ===
$ dpkg-query --show curtin python-curtin util-linux
curtin 0.1.0~bzr190-
python-curtin 0.1.0~bzr190-
util-linux 2.25.1-3ubuntu4
$ sudo curtin --showtrace install http://
Traceback (most recent call last):
File "/usr/lib/
sys.
File "/usr/lib/
meta_
File "/usr/lib/
devices = block.get_
File "/usr/lib/
unused = get_unused_
File "/usr/lib/
bdinfo = _lsblock(
File "/usr/lib/
(out, _err) = util.subp(basecmd + list(args), capture=True)
File "/usr/lib/
cmd=args)
ProcessExecutio
Command: ['lsblk', '--noheadings', '--bytes', '--pairs', '--out=
Exit code: 1
...
is ambiguous; possibilities: \'--output\' \'--output-
basically, util-linux's lsblk gained a '--output-all' argument, which made our use of '--out' ambiguous. Note, back to 12.04 supports --output per http://
not sure why I used '--out'.
Related branches
Changed in curtin (Ubuntu): | |
status: | New → Confirmed |
importance: | Undecided → High |
Changed in curtin: | |
status: | New → Confirmed |
importance: | Undecided → High |
Changed in curtin (Ubuntu Trusty): | |
status: | New → Confirmed |
Changed in curtin (Ubuntu Utopic): | |
status: | New → Confirmed |
Changed in curtin (Ubuntu Trusty): | |
importance: | Undecided → High |
Changed in curtin (Ubuntu Utopic): | |
importance: | Undecided → High |
Changed in curtin (Ubuntu Trusty): | |
importance: | High → Medium |
description: | updated |
tags: |
added: verification-done removed: verification-needed |
Changed in curtin: | |
status: | Confirmed → Fix Released |
This bug was fixed in the package curtin - 0.1.0~bzr195- 0ubuntu1
--------------- bzr195- 0ubuntu1) vivid; urgency=medium
curtin (0.1.0~
* New upstream snapshot. curtin_ install. log to var/log/ curtin/ install. log (LP: #1378910)
* move install log from /var/log/
/
* to not use '--acl' when extracting tar files (LP: #1382632)
as it inadvertently writes default directory acls.
* invoke lsblk with '--output' rather than '--out' to avoid
ambiguity in newer versions of lsblk (LP: #1386275)
-- Scott Moser <email address hidden> Mon, 27 Oct 2014 12:25:27 -0400