Public bug reported:

There is set([]) passed to json.dumps() which is not parseable:
 self.func(req, *args, **kwargs)
   File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 625, in 
__call__
     request, **action_args)
   File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 644, in 
dispatch
     return method(*args, **kwargs)
   File "/usr/lib/python2.7/dist-packages/glance/common/utils.py", line 422, in 
wrapped
     return func(self, req, *args, **kwargs)
   File "/usr/lib/python2.7/dist-packages/glance/api/v2/image_tags.py",
 line 46, in update
     image_repo.save(image)
   File "/usr/lib/python2.7/dist-packages/glance/domain/proxy.py", line 65, in 
save
     result = self.base.save(base_item)
   File "/usr/lib/python2.7/dist-packages/glance/domain/proxy.py", line 65, in 
save
     result = self.base.save(base_item)
   File "/usr/lib/python2.7/dist-packages/glance/notifier/__init__.py", line 
140, in save
     super(ImageRepoProxy, self).save(image)
   File
 "/usr/lib/python2.7/dist-packages/glance/domain/proxy.py", line 65, in save
     result = self.base.save(base_item)
   File "/usr/lib/python2.7/dist-packages/glance/api/policy.py", line 186, in 
save
     return super(ImageRepoProxy, self).save(image)
   File "/usr/lib/python2.7/dist-packages/glance/domain/proxy.py", line 65, in 
save
     result = self.base.save(base_item)
   File "/usr/lib/python2.7/dist-packages/glance/domain/proxy.py", line 65, in 
save
 
 result = self.base.save(base_item)
   File "/usr/lib/python2.7/dist-packages/glance/store/__init__.py", line 398, 
in save
     result = super(ImageRepoProxy, self).save(image)
   File "/usr/lib/python2.7/dist-packages/glance/domain/proxy.py", line 65, in 
save
     result = self.base.save(base_item)
   File "/usr/lib/python2.7/dist-packages/glance/db/__init__.py", line 170, in 
save
     image.tags)
   File "/usr/lib/python2.7/dist-packages/glance/db/registry/api.py", line 59,
 in wrapper
     return func(client, *args, **kwargs)
   File "/usr/lib/python2.7/dist-packages/glance/db/registry/api.py", line 200, 
in image_tag_set_all
     client.image_tag_set_all(image_id=image_id, tags=tags)
   File "/usr/lib/python2.7/dist-packages/glance/common/rpc.py", line 274, in 
method_proxy
     return self.do_request(item, **kw)
   File "/usr/lib/python2.7/dist-packages/glance/common/rpc.py", line 240, in 
do_request
     'kwargs': kwargs}])
   File
 "/usr/lib/python2.7/dist-packages/glance/common/client.py", line 64, in wrapped
     return func(self, *args, **kwargs)
   File "/usr/lib/python2.7/dist-packages/glance/common/rpc.py", line 223, in 
bulk_request
     body = self._serializer.to_json(commands)
   File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 577, in 
to_json
     return json.dumps(data, default=self._sanitizer)
   File "/usr/lib/python2.7/json/__init__.py", line 238, in dumps
 
 **kw).encode(obj)
   File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
     chunks = self.iterencode(o, _one_shot=True)
   File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
     return _iterencode(o, 0)
 ValueError: Circular reference detected

After adding sanitizer check for it the sqlalchemy gets empty id to fetch:
 Mar 21 14:58:26.627 HOST 24293 DEBUG glance.db.sqlalchemy.api [...] No image 
found with ID None
 Mar 21 14:58:26.628 HOST 24293 ERROR glance.common.rpc [...] RPC Call Error: 
No image found with ID None
 Traceback (most recent call last):
   File "/usr/lib/python2.7/dist-packages/glance/common/rpc.py", line 177, in 
__call__
     result = method(req.context, **kwargs)
   File "/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/api.py", line 
832, in image_get_all
 
 force_show_deleted=showing_deleted)
   File "/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/api.py", line 
451, in _image_get
     raise exception.NotFound(msg)
 NotFound: No image found with ID None

** Affects: glance
     Importance: Undecided
     Assignee: Erno Kuvaja (jokke)
         Status: New

** Changed in: glance
     Assignee: (unassigned) => Erno Kuvaja (jokke)

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

Title:
  Image API v2 image tags broken with E500

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

Bug description:
  There is set([]) passed to json.dumps() which is not parseable:
   self.func(req, *args, **kwargs)
     File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 625, 
in __call__
       request, **action_args)
     File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 644, 
in dispatch
       return method(*args, **kwargs)
     File "/usr/lib/python2.7/dist-packages/glance/common/utils.py", line 422, 
in wrapped
       return func(self, req, *args, **kwargs)
     File "/usr/lib/python2.7/dist-packages/glance/api/v2/image_tags.py",
   line 46, in update
       image_repo.save(image)
     File "/usr/lib/python2.7/dist-packages/glance/domain/proxy.py", line 65, 
in save
       result = self.base.save(base_item)
     File "/usr/lib/python2.7/dist-packages/glance/domain/proxy.py", line 65, 
in save
       result = self.base.save(base_item)
     File "/usr/lib/python2.7/dist-packages/glance/notifier/__init__.py", line 
140, in save
       super(ImageRepoProxy, self).save(image)
     File
   "/usr/lib/python2.7/dist-packages/glance/domain/proxy.py", line 65, in save
       result = self.base.save(base_item)
     File "/usr/lib/python2.7/dist-packages/glance/api/policy.py", line 186, in 
save
       return super(ImageRepoProxy, self).save(image)
     File "/usr/lib/python2.7/dist-packages/glance/domain/proxy.py", line 65, 
in save
       result = self.base.save(base_item)
     File "/usr/lib/python2.7/dist-packages/glance/domain/proxy.py", line 65, 
in save
   
   result = self.base.save(base_item)
     File "/usr/lib/python2.7/dist-packages/glance/store/__init__.py", line 
398, in save
       result = super(ImageRepoProxy, self).save(image)
     File "/usr/lib/python2.7/dist-packages/glance/domain/proxy.py", line 65, 
in save
       result = self.base.save(base_item)
     File "/usr/lib/python2.7/dist-packages/glance/db/__init__.py", line 170, 
in save
       image.tags)
     File "/usr/lib/python2.7/dist-packages/glance/db/registry/api.py", line 59,
   in wrapper
       return func(client, *args, **kwargs)
     File "/usr/lib/python2.7/dist-packages/glance/db/registry/api.py", line 
200, in image_tag_set_all
       client.image_tag_set_all(image_id=image_id, tags=tags)
     File "/usr/lib/python2.7/dist-packages/glance/common/rpc.py", line 274, in 
method_proxy
       return self.do_request(item, **kw)
     File "/usr/lib/python2.7/dist-packages/glance/common/rpc.py", line 240, in 
do_request
       'kwargs': kwargs}])
     File
   "/usr/lib/python2.7/dist-packages/glance/common/client.py", line 64, in 
wrapped
       return func(self, *args, **kwargs)
     File "/usr/lib/python2.7/dist-packages/glance/common/rpc.py", line 223, in 
bulk_request
       body = self._serializer.to_json(commands)
     File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 577, 
in to_json
       return json.dumps(data, default=self._sanitizer)
     File "/usr/lib/python2.7/json/__init__.py", line 238, in dumps
   
   **kw).encode(obj)
     File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
       chunks = self.iterencode(o, _one_shot=True)
     File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
       return _iterencode(o, 0)
   ValueError: Circular reference detected

  After adding sanitizer check for it the sqlalchemy gets empty id to fetch:
   Mar 21 14:58:26.627 HOST 24293 DEBUG glance.db.sqlalchemy.api [...] No image 
found with ID None
   Mar 21 14:58:26.628 HOST 24293 ERROR glance.common.rpc [...] RPC Call Error: 
No image found with ID None
   Traceback (most recent call last):
     File "/usr/lib/python2.7/dist-packages/glance/common/rpc.py", line 177, in 
__call__
       result = method(req.context, **kwargs)
     File "/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/api.py", line 
832, in image_get_all
   
   force_show_deleted=showing_deleted)
     File "/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/api.py", line 
451, in _image_get
       raise exception.NotFound(msg)
   NotFound: No image found with ID None

To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1296589/+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