← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1453953] Re: keystoneclient cannot log non-ascii data

 

>From Ken Chen in https://bugs.launchpad.net/python-
keystoneclient/+bug/1457279

------
In keystoneclient/session.py file, _http_log_request method, we have below codes:
        if data:
            string_parts.append("-d '%s'" % data)

        logger.debug(' '.join(string_parts))

However, if data is not in ascii chars, this might cause error like:
UnicodeEncodeError: 'ascii' codec can't encode character u'\\xbb' in position 10: ordinal not in range(128)
This is also the reason of bug https://bugs.launchpad.net/horizon/+bug/1453953
------

** Summary changed:

- [data processing]  Unable to upload job binaries
+ keystoneclient cannot log non-ascii data

** Project changed: horizon => python-keystoneclient

** Tags removed: sahara

** Changed in: python-keystoneclient
       Status: New => Triaged

** Changed in: python-keystoneclient
   Importance: Undecided => High

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1453953

Title:
  keystoneclient cannot log non-ascii data

Status in Python client library for Keystone:
  Triaged

Bug description:
  This bug was originally written against Sahara, but it appears to be a
  Horizon issue instead, so I'm reporting it here.

  When trying to upload the spark-example.jar from the Sahara edp-
  examples, it fails with the message "Danger: There was an error
  submitting the form. Please try again."

  In the logs, the stack trace looks like this:

  Internal Server Error: /project/data_processing/job_binaries/create-job-binary
  Traceback (most recent call last):
    File "/home/croberts/src/horizon/.venv/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
      response = wrapped_callback(request, *callback_args, **callback_kwargs)
    File "/home/croberts/src/horizon/horizon/decorators.py", line 36, in dec
      return view_func(request, *args, **kwargs)
    File "/home/croberts/src/horizon/horizon/decorators.py", line 52, in dec
      return view_func(request, *args, **kwargs)
    File "/home/croberts/src/horizon/horizon/decorators.py", line 36, in dec
      return view_func(request, *args, **kwargs)
    File "/home/croberts/src/horizon/horizon/decorators.py", line 84, in dec
      return view_func(request, *args, **kwargs)
    File "/home/croberts/src/horizon/.venv/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in view
      return self.dispatch(request, *args, **kwargs)
    File "/home/croberts/src/horizon/.venv/lib/python2.7/site-packages/django/views/generic/base.py", line 87, in dispatch
      return handler(request, *args, **kwargs)
    File "/home/croberts/src/horizon/.venv/lib/python2.7/site-packages/django/views/generic/edit.py", line 173, in post
      return self.form_valid(form)
    File "/home/croberts/src/horizon/horizon/forms/views.py", line 173, in form_valid
      exceptions.handle(self.request)
    File "/home/croberts/src/horizon/horizon/exceptions.py", line 364, in handle
      six.reraise(exc_type, exc_value, exc_traceback)
    File "/home/croberts/src/horizon/horizon/forms/views.py", line 170, in form_valid
      handled = form.handle(self.request, form.cleaned_data)
    File "/home/croberts/src/horizon/openstack_dashboard/dashboards/project/data_processing/job_binaries/forms.py", line 183, in handle
      _("Unable to create job binary"))
    File "/home/croberts/src/horizon/horizon/exceptions.py", line 364, in handle
      six.reraise(exc_type, exc_value, exc_traceback)
    File "/home/croberts/src/horizon/openstack_dashboard/dashboards/project/data_processing/job_binaries/forms.py", line 169, in handle
      bin_url = self.handle_internal(request, context)
    File "/home/croberts/src/horizon/openstack_dashboard/dashboards/project/data_processing/job_binaries/forms.py", line 216, in handle_internal
      _("Unable to upload job binary"))
    File "/home/croberts/src/horizon/horizon/exceptions.py", line 364, in handle
      six.reraise(exc_type, exc_value, exc_traceback)
    File "/home/croberts/src/horizon/openstack_dashboard/dashboards/project/data_processing/job_binaries/forms.py", line 212, in handle_internal
      request.FILES["job_binary_file"].read())
    File "/home/croberts/src/horizon/openstack_dashboard/api/sahara.py", line 332, in job_binary_internal_create
      data=data)
    File "/home/croberts/src/horizon/.venv/lib/python2.7/site-packages/saharaclient/api/job_binary_internals.py", line 31, in create
      'job_binary_internal', dump_json=False)
    File "/home/croberts/src/horizon/.venv/lib/python2.7/site-packages/saharaclient/api/base.py", line 110, in _update
      resp = self.api.put(url, **kwargs)
    File "/home/croberts/src/horizon/.venv/lib/python2.7/site-packages/keystoneclient/adapter.py", line 179, in put
      return self.request(url, 'PUT', **kwargs)
    File "/home/croberts/src/horizon/.venv/lib/python2.7/site-packages/saharaclient/api/client.py", line 46, in request
      return super(HTTPClient, self).request(*args, **kwargs)
    File "/home/croberts/src/horizon/.venv/lib/python2.7/site-packages/keystoneclient/adapter.py", line 95, in request
      return self.session.request(url, method, **kwargs)
    File "/home/croberts/src/horizon/.venv/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner
      return func(*args, **kwargs)
    File "/home/croberts/src/horizon/.venv/lib/python2.7/site-packages/keystoneclient/session.py", line 371, in request
      logger=logger)
    File "/home/croberts/src/horizon/.venv/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner
      return func(*args, **kwargs)
    File "/home/croberts/src/horizon/.venv/lib/python2.7/site-packages/keystoneclient/session.py", line 195, in _http_log_request
      logger.debug(' '.join(string_parts))
  UnicodeDecodeError: 'ascii' codec can't decode byte 0xfd in position 14: ordinal not in range(128)

To manage notifications about this bug go to:
https://bugs.launchpad.net/python-keystoneclient/+bug/1453953/+subscriptions


References