← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1182824] Re: Exception on running glance commands with non-ASCII arguments

 

** Changed in: glance
       Status: Fix Committed => Fix Released

** Changed in: glance
    Milestone: None => havana-2

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1182824

Title:
  Exception on running glance commands with non-ASCII arguments

Status in OpenStack Image Registry and Delivery Service (Glance):
  Fix Released

Bug description:
  Running commands such as glance image-show/image-download/image-update
  /image-delete with non-ASCII arguments produces the following
  exception:

  [root@gold-vdsc ~(keystone_admin)]$ glance image-delete כדגכגדש
  Request returned failure status.
  Traceback (most recent call last):
    File "/usr/lib/python2.6/site-packages/eventlet/wsgi.py", line 382, in handle_one_response
      result = self.application(self.environ, start_response)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/dec.py", line 147, in __call__
      resp = self.call_func(req, *args, **self.kwargs)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/dec.py", line 208, in call_func
      return self.func(req, *args, **kwargs)
    File "/usr/lib/python2.6/site-packages/glance/common/wsgi.py", line 326, in __call__
      response = req.get_response(self.application)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/request.py", line 1053, in get_response
      application, catch_exc_info=False)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/request.py", line 1022, in call_application
      app_iter = application(self.environ, start_response)
    File "/usr/lib/python2.6/site-packages/keystone/middleware/auth_token.py", line 293, in __call__
      return self.app(env, start_response)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/dec.py", line 147, in __call__
      resp = self.call_func(req, *args, **self.kwargs)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/dec.py", line 208, in call_func
      return self.func(req, *args, **kwargs)
    File "/usr/lib/python2.6/site-packages/glance/common/wsgi.py", line 326, in __call__
      response = req.get_response(self.application)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/request.py", line 1053, in get_response
      application, catch_exc_info=False)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/request.py", line 1022, in call_application
      app_iter = application(self.environ, start_response)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/dec.py", line 147, in __call__
      resp = self.call_func(req, *args, **self.kwargs)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/dec.py", line 208, in call_func
      return self.func(req, *args, **kwargs)
    File "/usr/lib/python2.6/site-packages/glance/common/wsgi.py", line 326, in __call__
      response = req.get_response(self.application)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/request.py", line 1053, in get_response
      application, catch_exc_info=False)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/request.py", line 1022, in call_application
      app_iter = application(self.environ, start_response)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/dec.py", line 147, in __call__
      resp = self.call_func(req, *args, **self.kwargs)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/dec.py", line 208, in call_func
      return self.func(req, *args, **kwargs)
    File "/usr/lib/python2.6/site-packages/glance/common/wsgi.py", line 326, in __call__
      response = req.get_response(self.application)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/request.py", line 1053, in get_response
      application, catch_exc_info=False)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/request.py", line 1022, in call_application
      app_iter = application(self.environ, start_response)
    File "/usr/lib/python2.6/site-packages/paste/urlmap.py", line 203, in __call__
      return app(environ, start_response)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/dec.py", line 159, in __call__
      return resp(environ, start_response)
    File "/usr/lib/python2.6/site-packages/Routes-1.12.3-py2.6.egg/routes/middleware.py", line 131, in __call__
      response = self.app(environ, start_response)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/dec.py", line 159, in __call__
      return resp(environ, start_response)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/dec.py", line 147, in __call__
      resp = self.call_func(req, *args, **self.kwargs)
    File "/usr/lib/python2.6/site-packages/WebOb-1.0.8-py2.6.egg/webob/dec.py", line 208, in call_func
      return self.func(req, *args, **kwargs)
    File "/usr/lib/python2.6/site-packages/glance/common/wsgi.py", line 533, in __call__
      request, **action_args)
    File "/usr/lib/python2.6/site-packages/glance/common/wsgi.py", line 550, in dispatch
      return method(*args, **kwargs)
    File "/usr/lib/python2.6/site-packages/glance/api/v1/images.py", line 203, in detail
      images = registry.get_images_detail(req.context, **params)
    File "/usr/lib/python2.6/site-packages/glance/registry/__init__.py", line 128, in get_images_detail
      return c.get_images_detailed(**kwargs)
    File "/usr/lib/python2.6/site-packages/glance/registry/client.py", line 113, in get_images_detailed
      res = self.do_request("GET", "/images/detail", params=params)
    File "/usr/lib/python2.6/site-packages/glance/registry/client.py", line 89, in do_request
      action, **kwargs)
    File "/usr/lib/python2.6/site-packages/glance/common/client.py", line 63, in wrapped
      return func(self, *args, **kwargs)
    File "/usr/lib/python2.6/site-packages/glance/common/client.py", line 442, in do_request
      url = self._construct_url(action, params)
    File "/usr/lib/python2.6/site-packages/glance/common/client.py", line 458, in _construct_url
      query = urllib.urlencode(params)
    File "/usr/lib64/python2.6/urllib.py", line 1281, in urlencode
      v = quote_plus(str(v))
  UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128)
   (HTTP 500)

To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1182824/+subscriptions