<div dir="ltr"><div><div>In my testing of Folsom in an HA environment including the use of haproxy fronting three "contoller" nodes and mysql using wsrep on each of those nodes I have been seeing an occasional HTTP 500 error on Glance image list operations. I don't know if this is due to my HA environment. I have only done a little troubleshooting and web searching on the problem. I'll be a little lazy and post what I am seeing here in case it is a well known problem. Here is a wireshark dump of the failing API flying across the wire:<br>
<br>GET /images/detail?limit=20 HTTP/1.1
<br>Host: <a href="http://10.49.56.250:9191">10.49.56.250:9191</a>
<br>Accept-Encoding: identity
<br>x-openstack-request-id: req-b1d626b9-fb91-45d6-8e7b-029caf143fd6
<br>x-auth-token: 3600d26b1a6348859141ac5cf4e80b9f
<br> <br>HTTP/1.1 500 Internal Server Error
<br>Content-Type: text/plain
<br>Content-Length: 2839
<br>Date: Wed, 15 May 2013 17:39:57 GMT
<br>Connection: close
<br> <br>Traceback (most recent call last):<br> File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 336, in handle_one_response<br> result = self.application(self.environ, start_response)<br> File "/usr/lib/python2.7/dist-packages/keystone/middleware/auth_token.py", line 279, in __call__<br>
return self.app(env, start_response)<br> File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in __call__<br> resp = self.call_func(req, *args, **self.kwargs)<br> File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in call_func<br>
return self.func(req, *args, **kwargs)<br> File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 326, in __call__<br> response = req.get_response(self.application)<br> File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1086, in get_response<br>
application, catch_exc_info=False)<br> File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1055, in call_application<br> app_iter = application(self.environ, start_response)<br> File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__<br>
return resp(environ, start_response)<br> File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__<br> response = self.app(environ, start_response)<br> File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__<br>
return resp(environ, start_response)<br> File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in __call__<br> resp = self.call_func(req, *args, **self.kwargs)<br> File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in call_func<br>
return self.func(req, *args, **kwargs)<br> File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 533, in __call__<br> request, **action_args)<br> File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 550, in dispatch<br>
return method(*args, **kwargs)<br> File "/usr/lib/python2.7/dist-packages/glance/registry/api/v1/images.py", line 117, in detail<br> image_dicts = [make_image_dict(i) for i in images]<br> File "/usr/lib/python2.7/dist-packages/glance/registry/api/v1/images.py", line 447, in make_image_dict<br>
image_tags = image['tags']<br> File "/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/models.py", line 77, in __getitem__<br> return getattr(self, key)<br> File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/attributes.py", line 168, in __get__<br>
return self.impl.get(instance_state(instance),dict_)<br> File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/attributes.py", line 453, in get<br> value = self.callable_(state, passive)<br> File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/strategies.py", line 481, in _load_for_state<br>
(mapperutil.state_str(state), self.key)<br>DetachedInstanceError: Parent instance <Image at 0x352f810> is not bound to a Session; lazy load operation of attribute 'tags' cannot proceed<br><br></div>Any clue?<br>
<br></div>Ray<br><div><div><div><br><br></div></div></div></div>