UnicodeDecodeError on openstack secret get

Bug #1706082 reported by Eric Harney
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
python-openstackclient
New
Undecided
Unassigned

Bug Description

The secret being retrieved here is a Cinder volume encryption key.

$ openstack secret list
+-------------+------+-------------+--------+---------------+-----------+------------+-------------+------+------------+
| Secret href | Name | Created | Status | Content types | Algorithm | Bit length | Secret type | Mode | Expiration |
+-------------+------+-------------+--------+---------------+-----------+------------+-------------+------+------------+
| http://10.1 | None | 2017-07-21T | ACTIVE | {u'default': | aes | 256 | symmetric | None | None |
| 6.148.204:9 | | 13:46:34+00 | | u'application | | | | | |
| 311/v1/secr | | :00 | | /octet- | | | | | |
| ets | | | | stream'} | | | | | |
| /9e9323df- | | | | | | | | | |
| ef5a-414a-9 | | | | | | | | | |
| 074-101eb78 | | | | | | | | | |
| 20ae3 | | | | | | | | | |
+-------------+------+-------------+--------+---------------+-----------+------------+-------------+------+------------+

$ openstack secret get http://10.16.148.204:9311/v1/secrets/9e9323df-ef5a-414a-9074-101eb7820ae3 --pay
load --payload_content_type application/octet-stream --debug
<...snip...>
GET call to key-manager for http://10.16.148.204:9311/v1/secrets/9e9323df-ef5a-414a-9074-101eb7820ae3/payload used request id
 req-16bc8bb8-6373-4cf7-96f9-d74c85b32b87
Response status 200
'utf8' codec can't decode byte 0x82 in position 0: invalid start byte
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cliff/app.py", line 400, in run_subcommand
    result = cmd.run(parsed_args)
  File "/usr/lib/python2.7/site-packages/cliff/display.py", line 113, in run
    self.produce_output(parsed_args, column_names, data)
  File "/usr/lib/python2.7/site-packages/cliff/show.py", line 49, in produce_output
    parsed_args)
  File "/usr/lib/python2.7/site-packages/cliff/formatters/table.py", line 123, in emit_one
    stdout, x, int(parsed_args.max_width), min_width)
  File "/usr/lib/python2.7/site-packages/cliff/formatters/table.py", line 181, in _assign_max_widths
    first_line = x.get_string().splitlines()[0]
  File "/usr/lib/python2.7/site-packages/prettytable.py", line 987, in get_string
    formatted_rows = self._format_rows(rows, options)
  File "/usr/lib/python2.7/site-packages/prettytable.py", line 942, in _format_rows
    return [self._format_row(row, options) for row in rows]
  File "/usr/lib/python2.7/site-packages/prettytable.py", line 939, in _format_row
    return [self._format_value(field, value) for (field, value) in zip(self._field_names, row)]
  File "/usr/lib/python2.7/site-packages/prettytable.py", line 890, in _format_value
    return self._unicode(value)
  File "/usr/lib/python2.7/site-packages/prettytable.py", line 181, in _unicode
    value = unicode(value, self.encoding, "strict")
  File "/usr/lib64/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x82 in position 0: invalid start byte
clean_up GetSecret: 'utf8' codec can't decode byte 0x82 in position 0: invalid start byte
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/osc_lib/shell.py", line 135, in run
    ret_val = super(OpenStackShell, self).run(argv)
  File "/usr/lib/python2.7/site-packages/cliff/app.py", line 279, in run
    result = self.run_subcommand(remainder)
  File "/usr/lib/python2.7/site-packages/osc_lib/shell.py", line 180, in run_subcommand
    ret_value = super(OpenStackShell, self).run_subcommand(argv)
  File "/usr/lib/python2.7/site-packages/cliff/app.py", line 400, in run_subcommand
    result = cmd.run(parsed_args)
  File "/usr/lib/python2.7/site-packages/cliff/display.py", line 113, in run
    self.produce_output(parsed_args, column_names, data)
  File "/usr/lib/python2.7/site-packages/cliff/show.py", line 49, in produce_output
    parsed_args)
  File "/usr/lib/python2.7/site-packages/cliff/formatters/table.py", line 123, in emit_one
    stdout, x, int(parsed_args.max_width), min_width)
  File "/usr/lib/python2.7/site-packages/cliff/formatters/table.py", line 181, in _assign_max_widths
    first_line = x.get_string().splitlines()[0]
  File "/usr/lib/python2.7/site-packages/prettytable.py", line 987, in get_string
    formatted_rows = self._format_rows(rows, options)
  File "/usr/lib/python2.7/site-packages/prettytable.py", line 942, in _format_rows
    return [self._format_row(row, options) for row in rows]
  File "/usr/lib/python2.7/site-packages/prettytable.py", line 939, in _format_row
    return [self._format_value(field, value) for (field, value) in zip(self._field_names, row)]
  File "/usr/lib/python2.7/site-packages/prettytable.py", line 890, in _format_value
    return self._unicode(value)
  File "/usr/lib/python2.7/site-packages/prettytable.py", line 181, in _unicode
    value = unicode(value, self.encoding, "strict")
  File "/usr/lib64/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x82 in position 0: invalid start byte

END return value: 1

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.