Project

General

Profile

Actions

Documentation #8347

closed

Openstack / Cinder Config

Added by Quentin Hartman almost 10 years ago. Updated almost 10 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
% Done:

0%

Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

At http://ceph.com/docs/master/rbd/rbd-openstack/#configuring-cinder the setting "glance_api_version=2" is recommended. However, using that setting will prevent cinder from being able to create volumes from images. This at least affects the Icehouse release of Openstack on Ubuntu 14.04. Setting that to "1" or omitting the setting entirely allows for correct operation.

Actions #1

Updated by John Wilkins almost 10 years ago

  • Status changed from New to In Progress
  • Assignee set to John Wilkins
Actions #2

Updated by John Wilkins almost 10 years ago

  • Status changed from In Progress to Resolved

I removed the reference entirely. I also removed it from http://openstack.redhat.com/Using_Ceph_for_Cinder_with_RDO_Havana.

Actions #3

Updated by Josh Durgin almost 10 years ago

  • Status changed from Resolved to In Progress

That setting is necessary for copy-on-write cloning to work when creating a volume from an image. It sounds like there's a bug though - could you add debug=True and glance_api_version=2 to cinder.conf, try creating a volume fronm an image, and attach the cinder-volume log?

Actions #4

Updated by Quentin Hartman almost 10 years ago

Sure. I'll have to get my other stuff to a stopping point before I can do that though.

fwiw, I did do some poking around, and hit upon several things that indicate that running V2 in cinder simply breaks this functionality. Here's an example: http://osdir.com/ml/openstack-dev/2014-02/msg01348.html . If that's actually the case, it might be worth calling out the config setting and noting that at this point it (seems) to be a "this feature or that feature" thing.

Actions #5

Updated by Quentin Hartman almost 10 years ago

OK, I did that, but didn't see anything interesting come up in the cinder-volume.log. I did get this traceback in the cinder-api.log:

2014-05-14 10:23:20.991 20143 ERROR cinder.api.middleware.fault [req-ab31d52f-cb82-48eb-b531-ea6bddaa07f0 eaa8a6534774472791a79d3b02ea3a18 d2f734d48a884ced86dc886489525766 - - -] Caught erro
r: deleted
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault Traceback (most recent call last):
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/cinder/api/middleware/fault.py", line 75, in call
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault return req.get_response(self.application)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1320, in send
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault application, catch_exc_info=False)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault app_iter = application(self.environ, start_response)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in call
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault return resp(environ, start_response)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/keystoneclient/middleware/auth_token.py", line 582, in call
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault return self.app(env, start_response)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in call
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault return resp(environ, start_response)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in call
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault return resp(environ, start_response)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in call
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault response = self.app(environ, start_response)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in call
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault return resp(environ, start_response)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in call
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault resp = self.call_func(req, args, **self.kwargs)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault return self.func(req, *args, **kwargs)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/cinder/api/openstack/wsgi.py", line 895, in call
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault content_type, body, accept)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/cinder/api/openstack/wsgi.py", line 943, in _process_stack
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault action_result = self.dispatch(meth, request, action_args)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/cinder/api/openstack/wsgi.py", line 1019, in dispatch
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault return method(req=request, **action_args)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/cinder/api/v1/volumes.py", line 432, in create
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault **kwargs)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/cinder/volume/api.py", line 189, in create
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault flow_engine.run()
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/taskflow/utils/lock_utils.py", line 53, in wrapper
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault return f(*args, **kwargs)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/taskflow/engines/action_engine/engine.py", line 111, in run
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault self._run()
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/taskflow/engines/action_engine/engine.py", line 121, in _run
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault self._revert(misc.Failure())
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/taskflow/engines/action_engine/engine.py", line 78, in _revert
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault misc.Failure.reraise_if_any(failures.values())
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/taskflow/utils/misc.py", line 558, in reraise_if_any
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault failures0.reraise()
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/taskflow/utils/misc.py", line 565, in reraise
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault six.reraise(*self._exc_info)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/taskflow/engines/action_engine/executor.py", line 36, in _execute_task
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault result = task.execute(
*arguments)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/cinder/volume/flows/api/create_volume.py", line 341, in execute
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault self._check_image_metadata(context, image_id, size)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/cinder/volume/flows/api/create_volume.py", line 180, in _check_image_metadata
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault image_meta = self.image_service.show(context, image_id)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/cinder/image/glance.py", line 228, in show
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault base_image_meta = self._translate_from_glance(image)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/cinder/image/glance.py", line 336, in _translate_from_glance
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault image_meta = _extract_attributes(image)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/cinder/image/glance.py", line 434, in _extract_attributes
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault output[attr] = getattr(image, attr)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/dist-packages/warlock/model.py", line 72, in getattr
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault raise AttributeError(key)
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault AttributeError: deleted
2014-05-14 10:23:20.991 20143 TRACE cinder.api.middleware.fault

Actions #6

Updated by Josh Durgin almost 10 years ago

Thanks for the logs! This is (https://bugs.launchpad.net/cinder/+bug/1308058), which is fixed in cinder's master branch. The icehouse backport is waiting for approval: https://review.openstack.org/#/c/90644/

John, could you re-add the glance_api_version=2 setting?

Actions #7

Updated by John Wilkins almost 10 years ago

  • Status changed from In Progress to Resolved

Restored glance_api_version=2

Actions

Also available in: Atom PDF