If I set glance_api_version=2 I get the following in cinder-api.log when I do a upload-to-image:
2013-08-09 11:07:06.453 ERROR cinder.api.middleware.fault [req-8f1d4352-9437-40ea-b963-112438f73b89 04255918caa64e09a6312f927ad58997 6a3be3369a45431aa6606e4409c26cd2] Caught error: 'Controller' object has no attribute 'create' 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault Traceback (most recent call last): 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/middleware/fault.py", line 73, in __call__ 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault return req.get_response(self.application) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1296, in send 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault application, catch_exc_info=False) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault app_iter = application(self.environ, start_response) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault return resp(environ, start_response) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 461, in __call__ 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault return self.app(env, start_response) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault return resp(environ, start_response) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault return resp(environ, start_response) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__ 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault response = self.app(environ, start_response) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault return resp(environ, start_response) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault resp = self.call_func(req, *args, **self.kwargs) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault return self.func(req, *args, **kwargs) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/openstack/wsgi.py", line 812, in __call__ 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault content_type, body, accept) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/openstack/wsgi.py", line 860, in _process_stack 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault action_result = self.dispatch(meth, request, action_args) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/openstack/wsgi.py", line 936, in dispatch 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault return method(req=request, **action_args) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/contrib/volume_actions.py", line 196, in _volume_upload_image 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault force) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/volume/api.py", line 72, in wrapped 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault return func(self, context, target_obj, *args, **kwargs) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/volume/api.py", line 822, in copy_volume_to_image 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault recv_metadata = self.image_service.create(context, metadata) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/image/glance.py", line 258, in create 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault **sent_service_image_meta) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault File "/opt/stack/cinder/cinder/image/glance.py", line 149, in call 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault return getattr(client.images, method)(*args, **kwargs) 2013-08-09 11:07:06.453 TRACE cinder.api.middleware.fault AttributeError: 'Controller' object has no attribute 'create'
This operation works fine with glance_api_ver=1
If I set glance_ api_version= 2 I get the following in cinder-api.log when I do a upload-to-image:
2013-08-09 11:07:06.453 ERROR cinder. api.middleware. fault [req-8f1d4352- 9437-40ea- b963-112438f73b 89 04255918caa64e0 9a6312f927ad589 97 6a3be3369a45431 aa6606e4409c26c d2] Caught error: 'Controller' object has no attribute 'create' api.middleware. fault Traceback (most recent call last): api.middleware. fault File "/opt/stack/ cinder/ cinder/ api/middleware/ fault.py" , line 73, in __call__ api.middleware. fault return req.get_ response( self.applicatio n) api.middleware. fault File "/usr/lib/ python2. 7/dist- packages/ webob/request. py", line 1296, in send api.middleware. fault application, catch_exc_ info=False) api.middleware. fault File "/usr/lib/ python2. 7/dist- packages/ webob/request. py", line 1260, in call_application api.middleware. fault app_iter = application( self.environ, start_response) api.middleware. fault File "/usr/lib/ python2. 7/dist- packages/ webob/dec. py", line 144, in __call__ api.middleware. fault return resp(environ, start_response) api.middleware. fault File "/opt/stack/ python- keystoneclient/ keystoneclient/ middleware/ auth_token. py", line 461, in __call__ api.middleware. fault return self.app(env, start_response) api.middleware. fault File "/usr/lib/ python2. 7/dist- packages/ webob/dec. py", line 144, in __call__ api.middleware. fault return resp(environ, start_response) api.middleware. fault File "/usr/lib/ python2. 7/dist- packages/ webob/dec. py", line 144, in __call__ api.middleware. fault return resp(environ, start_response) api.middleware. fault File "/usr/lib/ python2. 7/dist- packages/ routes/ middleware. py", line 131, in __call__ api.middleware. fault response = self.app(environ, start_response) api.middleware. fault File "/usr/lib/ python2. 7/dist- packages/ webob/dec. py", line 144, in __call__ api.middleware. fault return resp(environ, start_response) api.middleware. fault File "/usr/lib/ python2. 7/dist- packages/ webob/dec. py", line 130, in __call__ api.middleware. fault resp = self.call_func(req, *args, **self.kwargs) api.middleware. fault File "/usr/lib/ python2. 7/dist- packages/ webob/dec. py", line 195, in call_func api.middleware. fault return self.func(req, *args, **kwargs) api.middleware. fault File "/opt/stack/ cinder/ cinder/ api/openstack/ wsgi.py" , line 812, in __call__ api.middleware. fault content_type, body, accept) api.middleware. fault File "/opt/stack/ cinder/ cinder/ api/openstack/ wsgi.py" , line 860, in _process_stack api.middleware. fault action_result = self.dispatch(meth, request, action_args) api.middleware. fault File "/opt/stack/ cinder/ cinder/ api/openstack/ wsgi.py" , line 936, in dispatch api.middleware. fault return method(req=request, **action_args) api.middleware. fault File "/opt/stack/ cinder/ cinder/ api/contrib/ volume_ actions. py", line 196, in _volume_ upload_ image api.middleware. fault force) api.middleware. fault File "/opt/stack/ cinder/ cinder/ volume/ api.py" , line 72, in wrapped api.middleware. fault return func(self, context, target_obj, *args, **kwargs) api.middleware. fault File "/opt/stack/ cinder/ cinder/ volume/ api.py" , line 822, in copy_volume_ to_image api.middleware. fault recv_metadata = self.image_ service. create( context, metadata) api.middleware. fault File "/opt/stack/ cinder/ cinder/ image/glance. py", line 258, in create api.middleware. fault **sent_ service_ image_meta) api.middleware. fault File "/opt/stack/ cinder/ cinder/ image/glance. py", line 149, in call api.middleware. fault return getattr( client. images, method)(*args, **kwargs) api.middleware. fault AttributeError: 'Controller' object has no attribute 'create'
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
2013-08-09 11:07:06.453 TRACE cinder.
This operation works fine with glance_api_ver=1