If it's relevant, I should have said that previously it looks like it uploads the image and then fails updating the metadata, because there's a pause for 10 seconds or so. ----- With a dummy URL, no pause, different error;: root@openstack1:~/images# glance --username=demo --password=supersecret --auth_strategy=keystone --auth_url=http://127.0.0.1:5000/v2.0/ add name=imagetest location=http://example.com/images/123 Failed to add image. Got error: Internal Server error: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 336, in handle_one_response result = self.application(self.environ, start_response) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 208, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 279, in __call__ response = req.get_response(self.application) File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1053, in get_response application, catch_exc_info=False) File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1022, in call_application app_iter = application(self.environ, start_response) File "/opt/stack/keystone/keystone/middleware/auth_token.py", line 343, in __call__ return self._forward_request(env, start_response, proxy_headers) File "/opt/stack/keystone/keystone/middleware/auth_token.py", line 576, in _forward_request return self.app(env, start_response) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 208, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 279, in __call__ response = req.get_response(self.application) File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1053, in get_response application, catch_exc_info=False) File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1022, in call_application app_iter = application(self.environ, start_response) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__ return resp(environ, start_response) File "/usr/lib/pymodules/python2.7/routes/middleware.py", line 131, in __call__ response = self.app(environ, start_response) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__ return resp(environ, start_response) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 208, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 477, in __call__ request, **action_args) File "/opt/stack/glance/glance/common/wsgi.py", line 494, in dispatch return method(*args, **kwargs) File "/opt/stack/glance/glance/api/v1/images.py", line 530, in create image_meta = self._activate(req, image_id, location) File "/opt/stack/glance/glance/api/v1/images.py", line 433, in _activate image_meta) File "/opt/stack/glance/glance/registry/__init__.py", line 126, in update_image_metadata return c.update_image(image_id, image_meta, purge_props) File "/opt/stack/glance/glance/registry/client.py", line 142, in update_image res = self.do_request("PUT", "/images/%s" % image_id, body, headers) File "/opt/stack/glance/glance/common/client.py", line 51, in wrapped return func(self, *args, **kwargs) File "/opt/stack/glance/glance/common/client.py", line 331, in do_request headers=headers) File "/opt/stack/glance/glance/common/client.py", line 68, in wrapped return func(self, method, url, body, headers) File "/opt/stack/glance/glance/common/client.py", line 435, in _do_request raise exception.NotFound(res.read()) NotFound: An object with the specified identifier was not found. Details: Image not found Note: Your image metadata may still be in the registry, but the image's status will likely be 'killed'. ----- Passing the correct path (?) as a location; get a different error. I think get_size is not implemented for file:// urls? Should I open a new bug? Failed to add image. Got error: Internal Server error: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 336, in handle_one_response result = self.application(self.environ, start_response) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 208, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 279, in __call__ response = req.get_response(self.application) File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1053, in get_response application, catch_exc_info=False) File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1022, in call_application app_iter = application(self.environ, start_response) File "/opt/stack/keystone/keystone/middleware/auth_token.py", line 343, in __call__ return self._forward_request(env, start_response, proxy_headers) File "/opt/stack/keystone/keystone/middleware/auth_token.py", line 576, in _forward_request return self.app(env, start_response) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 208, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 279, in __call__ response = req.get_response(self.application) File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1053, in get_response application, catch_exc_info=False) File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1022, in call_application app_iter = application(self.environ, start_response) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__ return resp(environ, start_response) File "/usr/lib/pymodules/python2.7/routes/middleware.py", line 131, in __call__ response = self.app(environ, start_response) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__ return resp(environ, start_response) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in __call__ resp = self.call_func(req, *args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 208, in call_func return self.func(req, *args, **kwargs) File "/opt/stack/glance/glance/common/wsgi.py", line 477, in __call__ request, **action_args) File "/opt/stack/glance/glance/common/wsgi.py", line 494, in dispatch return method(*args, **kwargs) File "/opt/stack/glance/glance/api/v1/images.py", line 522, in create image_meta = self._reserve(req, image_meta) File "/opt/stack/glance/glance/api/v1/images.py", line 272, in _reserve or get_size_from_backend(location) File "/opt/stack/glance/glance/store/__init__.py", line 141, in get_size_from_backend return store.get_size(loc) File "/opt/stack/glance/glance/store/base.py", line 88, in get_size raise NotImplementedError NotImplementedError Note: Your image metadata may still be in the registry, but the image's status will likely be 'killed'.