[Openstack-operators] glance-registry listening in 0.0.0.0

Jay Pipes jaypipes at gmail.com
Wed Apr 24 20:03:14 UTC 2013


On 04/24/2013 03:52 PM, Juan José Pavlik Salles wrote:
> Hi guys, i run into a problem a couple of minutes ago. I'm deploying
> grizzly following
> this http://docs.openstack.org/folsom/basic-install/content/basic-install_controller.html#basic-install_controller-common
> . I just finished installing glance and i realized i can't run glance
> image-list.
> 
> root at locro:/etc/glance# glance image-list
> Request returned failure status.
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 383, in
> handle_one_response
>     result = self.application(self.environ, start_response)
>   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in
> __call__
>     resp = self.call_func(req, *args, **self.kwargs)
>   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in
> call_func
>     return self.func(req, *args, **kwargs)
>   File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line
> 333, in __call__
>     response = req.get_response(self.application)
>   File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1296,
> in send
>     application, catch_exc_info=False)
>   File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1260,
> in call_application
>     app_iter = application(self.environ, start_response)
>   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in
> __call__
>     resp = self.call_func(req, *args, **self.kwargs)
>   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in
> call_func
>     return self.func(req, *args, **kwargs)
>   File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line
> 333, in __call__
>     response = req.get_response(self.application)
>   File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1296,
> in send
>     application, catch_exc_info=False)
>   File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1260,
> in call_application
>     app_iter = application(self.environ, start_response)
>   File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 203, in
> __call__
>     return app(environ, start_response)
>   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in
> __call__
>     return resp(environ, start_response)
>   File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line
> 131, in __call__
>     response = self.app(environ, start_response)
>   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in
> __call__
>     return resp(environ, start_response)
>   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in
> __call__
>     resp = self.call_func(req, *args, **self.kwargs)
>   File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in
> call_func
>     return self.func(req, *args, **kwargs)
>   File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line
> 540, in __call__
>     request, **action_args)
>   File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line
> 557, in dispatch
>     return method(*args, **kwargs)
>   File "/usr/lib/python2.7/dist-packages/glance/api/v1/images.py", line
> 204, in detail
>     images = registry.get_images_detail(req.context, **params)
>   File "/usr/lib/python2.7/dist-packages/glance/registry/__init__.py",
> line 133, in get_images_detail
>     return c.get_images_detailed(**kwargs)
>   File "/usr/lib/python2.7/dist-packages/glance/registry/client.py",
> line 115, in get_images_detailed
>     res = self.do_request("GET", "/images/detail", params=params)
>   File "/usr/lib/python2.7/dist-packages/glance/registry/client.py",
> line 90, in do_request
>     **kwargs)
>   File "/usr/lib/python2.7/dist-packages/glance/common/client.py", line
> 62, in wrapped
>     return func(self, *args, **kwargs)
>   File "/usr/lib/python2.7/dist-packages/glance/common/client.py", line
> 376, in do_request
>     headers=headers)
>   File "/usr/lib/python2.7/dist-packages/glance/common/client.py", line
> 79, in wrapped
>     return func(self, method, url, body, headers)
>   File "/usr/lib/python2.7/dist-packages/glance/common/client.py", line
> 522, in _do_request
>     raise exception.ClientConnectionError(e)
> ClientConnectionError: [Errno 111] ECONNREFUSED
>  (HTTP 500)
> 
> I configured registry and api to listen on 172.19.136.11 (my cloud
> network), but when i checked the logs i found this in the api.log:
> 
> 2013-04-24 19:49:01.276 24258 DEBUG
> glance.api.middleware.version_negotiation [-] Determining version of
> request: GET //v1/images/detail Accept:  process_request
> /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:46
> 2013-04-24 19:49:01.276 24258 DEBUG
> glance.api.middleware.version_negotiation [-] Using url versioning
> process_request
> /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:59
> 2013-04-24 19:49:01.276 24258 DEBUG
> glance.api.middleware.version_negotiation [-] Matched version: v1
> process_request
> /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:71
> 2013-04-24 19:49:01.276 24258 DEBUG
> glance.api.middleware.version_negotiation [-] new uri /v1/images/detail
> process_request
> /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:72
> 2013-04-24 19:49:01.277 DEBUG glance.api.policy
> [1032496f-d36b-4af9-9702-bb3facc8a480 None None] Loaded policy rules:
> {u'default': '@', u'manage_image_cache': 'role:admin'} load_rules
> /usr/lib/python2.7/dist-packages/glance/api/policy.py:72
> 2013-04-24 19:49:01.277 DEBUG glance.common.client
> [1032496f-d36b-4af9-9702-bb3facc8a480 None None] Constructed URL:
> http://*0.0.0.0*:9191/images/detail?sort_key=name&sort_dir=asc&limit=20
> _construct_url /usr/lib/python2.7/dist-packages/glance/common/client.py:397
> 2013-04-24 19:49:01.278 INFO glance.registry.client
> [1032496f-d36b-4af9-9702-bb3facc8a480 None None] Registry client request
> GET /images/detail raised ClientConnectionError
> 
> So... i tried changing the listen option from 172.19.136.11 to 0.0.0.0
> and...
> 
> root at locro:/etc/glance# glance image-list
> 
> root at locro:/etc/glance# 
> 
> Which is ok, because i don't have any image yet.
> 
> Maybe... this "Constructed URL" is harcoded somewhere? I'd like to liste
> just on my cloud network interface, not in all of them. Is it a bug?

Hi!

That log line above is where the Glance API server is using the glance
client to speak to the Glance Registry server, which runs on a separate
port from the API server (and possibly on a separate host entirely).

Make sure that in your /etc/glance/glance-api.conf file, you have your
registry_host and registry_port set appropriately. And in your
/etc/glance/glance-registry.conf, make sure you have your bind_interface
listening on the appropriate IP, which could indeed be 0.0.0.0.

Best,
-jay



More information about the OpenStack-operators mailing list