← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1308058] Re: Cannot create volume from glance image without checksum

 

** Changed in: cinder
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1308058

Title:
  Cannot create volume from glance image without checksum

Status in Cinder:
  Fix Released
Status in Cinder icehouse series:
  Fix Released
Status in Fuel: OpenStack installer that works:
  Fix Committed
Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  It is no longer possible to create a volume from an image that does
  not have a checksum set.

  https://github.com/openstack/cinder/commit/da13c6285bb0aee55cfbc93f55ce2e2b7d6a28f2
  - this patch removes the default of None from the getattr call.

  If this is intended it would be nice to see something more informative
  in the logs.

  2014-04-15 11:52:26.035 19000 ERROR cinder.api.middleware.fault [req-cf0f7b89-a9c1-4a10-b1ac-ddf415a28f24 c139cd16ac474d2184237ba837a04141 83d5198d5f5a461798c6b843f57540d
  f - - -] Caught error: checksum
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault Traceback (most recent call last):
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/cinder/cinder/api/middleware/fault.py", line 75, in __call__
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     return req.get_response(self.application)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1320, in send
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     application, catch_exc_info=False)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     app_iter = application(self.environ, start_response)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     return resp(environ, start_response)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 615, in __call__
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     return self.app(env, start_response)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     return resp(environ, start_response)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     return resp(environ, start_response)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     response = self.app(environ, start_response)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     return resp(environ, start_response)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     resp = self.call_func(req, *args, **self.kwargs)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     return self.func(req, *args, **kwargs)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/cinder/cinder/api/openstack/wsgi.py", line 895, in __call__
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     content_type, body, accept)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/cinder/cinder/api/openstack/wsgi.py", line 943, in _process_stack
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     action_result = self.dispatch(meth, request, action_args)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/cinder/cinder/api/openstack/wsgi.py", line 1019, in dispatch
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     return method(req=request, **action_args)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/cinder/cinder/api/v2/volumes.py", line 346, in create
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     **kwargs)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/cinder/cinder/volume/api.py", line 189, in create
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     flow_engine.run()
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/taskflow/utils/lock_utils.py", line 54, in wrapper
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     return f(*args, **kwargs)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/taskflow/engines/action_engine/engine.py", line 96, in run
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     self._run()
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/taskflow/engines/action_engine/engine.py", line 111, in _ru
  n
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     misc.Failure.reraise_if_any(failures.values())
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/taskflow/utils/misc.py", line 649, in reraise_if_any
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     failures[0].reraise()
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/taskflow/utils/misc.py", line 656, in reraise
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     six.reraise(*self._exc_info)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/usr/local/lib/python2.7/dist-packages/taskflow/engines/action_engine/executor.py", line 34, in _e
  xecute_task
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     result = task.execute(**arguments)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/cinder/cinder/volume/flows/api/create_volume.py", line 341, in execute
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     self._check_image_metadata(context, image_id, size)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/cinder/cinder/volume/flows/api/create_volume.py", line 180, in _check_image_metadata
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     image_meta = self.image_service.show(context, image_id)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/cinder/cinder/image/glance.py", line 228, in show
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     base_image_meta = self._translate_from_glance(image)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/cinder/cinder/image/glance.py", line 336, in _translate_from_glance
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     image_meta = _extract_attributes(image)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/cinder/cinder/image/glance.py", line 434, in _extract_attributes
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     output[attr] = getattr(image, attr)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/python-glanceclient/glanceclient/openstack/common/apiclient/base.py", line 462, in __getattr__
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     return self.__getattr__(k)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault   File "/opt/stack/python-glanceclient/glanceclient/openstack/common/apiclient/base.py", line 464, in __getattr__
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault     raise AttributeError(k)
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault AttributeError: checksum
  2014-04-15 11:52:26.035 19000 TRACE cinder.api.middleware.fault
  2014-04-15 11:52:26.037 19000 INFO cinder.api.middleware.fault [req-cf0f7b89-a9c1-4a10-b1ac-ddf415a28f24 c139cd16ac474d2184237ba837a04141 83d5198d5f5a461798c6b843f57540df - - -] http://162.13.156.43:8776/v2/83d5198d5f5a461798c6b843f57540df/volumes returned with HTTP 500

To manage notifications about this bug go to:
https://bugs.launchpad.net/cinder/+bug/1308058/+subscriptions