Public bug reported:

Passing invalid metadata value to location-add or location-update
command raises 500 Internal Server Error.

1.      glance location-add <image-id> --url 
http://10.69.4.136:8111/run_tests.sh --metadata '{"a":1234}'
or
2.      glance location-update <image-id> --url 
http://10.69.4.136:8111/run_tests.sh --metadata '{"a":1234}'

Stacktrace on g-api:
 
2015-12-15 03:47:49.876 ERROR glance.common.wsgi 
[req-3a349a22-8b69-40bf-93f1-6388eb5cb4ee 6c9c7376e75b4e37ab3c052a911731dd 
d1ee7fd5dcc341c3973f19f790238e63] Caught error: The image metadata key a has an 
invalid type of <type 'int'>. Only dict, list, and unicode are supported.
2015-12-15 03:47:49.876 TRACE glance.common.wsgi Traceback (most recent call 
last):2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/common/wsgi.py", line 882, in __call__
2015-12-15 03:47:49.876 TRACE glance.common.wsgi     request, **action_args)
2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/common/wsgi.py", line 911, in dispatch
2015-12-15 03:47:49.876 TRACE glance.common.wsgi     return method(*args, 
**kwargs)
2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/common/utils.py", line 423, in wrapped
2015-12-15 03:47:49.876 TRACE glance.common.wsgi     return func(self, req, 
*args,**kwargs)
2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/api/v2/images.py", line 147, in update
2015-12-15 03:47:49.876 TRACE glance.common.wsgi     change_method(req, image, 
change)
2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/api/v2/images.py", line 197, in _do_add
2015-12-15 03:47:49.876 TRACE glance.common.wsgi     
self._do_add_locations(image, path[1], value)
2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/api/v2/images.py", line 292, in _do_add_locations
2015-12-15 03:47:49.876 TRACE glance.common.wsgi     
image.locations.insert(pos, value)
2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/api/policy.py", line 275, in _checker
2015-12-15 03:47:49.876 TRACE glance.common.wsgi     return method(*args, 
**kwargs)
2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/quota/__init__.py", line 273, in insert
2015-12-15 03:47:49.876 TRACE glance.common.wsgi     return 
self.locations.insert(index, object)
2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/location.py", line 179, in insert
2015-12-15 03:47:49.876 TRACE glance.common.wsgi     location)
2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/location.py", line 91, in _check_image_location
2015-12-15 03:47:49.876 TRACE glance.common.wsgi     
store_api.check_location_metadata(location['metadata'])
2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/usr/local/lib/python2.7/dist-packages/glance_store/backend.py", line 309, in 
check_location_metadata
2015-12-15 03:47:49.876 TRACE glance.common.wsgi     
check_location_metadata(val[key], key=key)
2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/usr/local/lib/python2.7/dist-packages/glance_store/backend.py", line 320, in 
check_location_metadata
2015-12-15 03:47:49.876 TRACE glance.common.wsgi     % dict(key=key, 
type=type(val)))
2015-12-15 03:47:49.876 TRACE glance.common.wsgi BackendException: The image 
metadata key a has an invalid type of <type 'int'>. Only dict, list, and 
unicode are supported.
2015-12-15 03:47:49.876 TRACE glance.common.wsgi

** Affects: glance
     Importance: Undecided
     Assignee: Abhishek Kekane (abhishek-kekane)
         Status: New

** Changed in: glance
     Assignee: (unassigned) => Abhishek Kekane (abhishek-kekane)

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

Title:
  Invalid metadata value to location-add causing 500 Internal Server
  Error

Status in Glance:
  New

Bug description:
  Passing invalid metadata value to location-add or location-update
  command raises 500 Internal Server Error.

  1.    glance location-add <image-id> --url 
http://10.69.4.136:8111/run_tests.sh --metadata '{"a":1234}'
  or
  2.    glance location-update <image-id> --url 
http://10.69.4.136:8111/run_tests.sh --metadata '{"a":1234}'

  Stacktrace on g-api:
   
  2015-12-15 03:47:49.876 ERROR glance.common.wsgi 
[req-3a349a22-8b69-40bf-93f1-6388eb5cb4ee 6c9c7376e75b4e37ab3c052a911731dd 
d1ee7fd5dcc341c3973f19f790238e63] Caught error: The image metadata key a has an 
invalid type of <type 'int'>. Only dict, list, and unicode are supported.
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi Traceback (most recent call 
last):2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/common/wsgi.py", line 882, in __call__
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi     request, **action_args)
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/common/wsgi.py", line 911, in dispatch
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi     return method(*args, 
**kwargs)
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/common/utils.py", line 423, in wrapped
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi     return func(self, req, 
*args,**kwargs)
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/api/v2/images.py", line 147, in update
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi     change_method(req, 
image, change)
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/api/v2/images.py", line 197, in _do_add
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi     
self._do_add_locations(image, path[1], value)
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/api/v2/images.py", line 292, in _do_add_locations
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi     
image.locations.insert(pos, value)
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/api/policy.py", line 275, in _checker
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi     return method(*args, 
**kwargs)
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/quota/__init__.py", line 273, in insert
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi     return 
self.locations.insert(index, object)
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/location.py", line 179, in insert
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi     location)
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/opt/stack/glance/glance/location.py", line 91, in _check_image_location
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi     
store_api.check_location_metadata(location['metadata'])
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/usr/local/lib/python2.7/dist-packages/glance_store/backend.py", line 309, in 
check_location_metadata
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi     
check_location_metadata(val[key], key=key)
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi   File 
"/usr/local/lib/python2.7/dist-packages/glance_store/backend.py", line 320, in 
check_location_metadata
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi     % dict(key=key, 
type=type(val)))
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi BackendException: The image 
metadata key a has an invalid type of <type 'int'>. Only dict, list, and 
unicode are supported.
  2015-12-15 03:47:49.876 TRACE glance.common.wsgi

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to