Public bug reported: I'm working under RHEL7 + ICEHOUSE 2014.1 For glance, image is stored in local file system.
I want to create a volume from an image. So I run command "cinder create --image-id ${image_id} --display-name ${name} ${size}" But then, I get error "glanceclient AttributeError: container_format" in ciner api debug info. log_http_response /usr/lib/python2.7/site-packages/glanceclient/common/http.py:152 2014-07-22 17:25:32.310 15514 ERROR cinder.api.middleware.fault [req-0a2334ec-11a0-4356-89b4-492a2a59b302 fafa6d26b7644056bcdd920f2a667785 c78d023501b34820b5bcd9e2db85a2bf - - -] Caught error: container_format 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault Traceback (most recent call last): 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/api/middleware/fault.py", line 75, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return req.get_response(self.application) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/request.py", line 1296, in send 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault application, catch_exc_info=False) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/request.py", line 1260, in call_application 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault app_iter = application(self.environ, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return resp(environ, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/keystoneclient/middleware/auth_token.py", line 615, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return self.app(env, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return resp(environ, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return resp(environ, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/routes/middleware.py", line 131, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault response = self.app(environ, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return resp(environ, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault resp = self.call_func(req, *args, **self.kwargs) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return self.func(req, *args, **kwargs) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/api/openstack/wsgi.py", line 895, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault content_type, body, accept) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/api/openstack/wsgi.py", line 943, in _process_stack 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault action_result = self.dispatch(meth, request, action_args) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/api/openstack/wsgi.py", line 1019, in dispatch 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return method(req=request, **action_args) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/api/v1/volumes.py", line 432, in create 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault new_volume = self.volume_api.create(context, 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/volume/api.py", line 189, in create 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault flow_engine.run() 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/taskflow/engines/action_engine/engine.py", line 89, in run 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault for _state in self.run_iter(): 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/taskflow/engines/action_engine/engine.py", line 137, in run_iter 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault misc.Failure.reraise_if_any(failures.values()) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/taskflow/utils/misc.py", line 797, in reraise_if_any 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault failures[0].reraise() 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/taskflow/utils/misc.py", line 804, in reraise 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault six.reraise(*self._exc_info) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/taskflow/engines/action_engine/executor.py", line 34, in _execute_task 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault result = task.execute(**arguments) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/volume/flows/api/create_volume.py", line 341, in execute 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault self._check_image_metadata(context, image_id, size) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/volume/flows/api/create_volume.py", line 180, in _check_image_metadata 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault image_meta = self.image_service.show(context, image_id) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/image/glance.py", line 228, in show 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault base_image_meta = self._translate_from_glance(image) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/image/glance.py", line 336, in _translate_from_glance 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault image_meta = _extract_attributes(image) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/image/glance.py", line 434, in _extract_attributes 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault output[attr] = getattr(image, attr) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/glanceclient/common/base.py", line 95, in __getattr__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return self.__getattr__(k) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/glanceclient/common/base.py", line 97, in __getattr__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault raise AttributeError(k) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault AttributeError: container_format 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault 2014-07-22 17:25:32.361 15514 INFO cinder.api.middleware.fault [req-0a2334ec-11a0-4356-89b4-492a2a59b302 fafa6d26b7644056bcdd920f2a667785 c78d023501b34820b5bcd9e2db85a2bf - - -] http://127.0.0.1:8776/v1/c78d023501b34820b5bcd9e2db85a2bf/volumes returned with HTTP 500 2014-07-22 17:25:32.362 15514 INFO eventlet.wsgi.server [req-0a2334ec-11a0-4356-89b4-492a2a59b302 fafa6d26b7644056bcdd920f2a667785 c78d023501b34820b5bcd9e2db85a2bf - - -] 127.0.0.1 - - [22/Jul/2014 17:25:32] "POST /v1/c78d023501b34820b5bcd9e2db85a2bf/volumes HTTP/1.1" 500 401 5.034834 Then I find out, the value of this image's container_format is null in mysql. Before this, I used glance cli to upload the image "glance image-create --name imgtest --disk-format qcow2 --is-public false --copy-from 'http://10.43.179.2:8081/files/linux/cirros-0.3.0-x86_64-disk.img'" But use dashboard to upload an image, the value of container_format is default to BARE. When we create a volume with an image, in glanceclient it checked the Attribute container_format. But in glance, when we use cli to upload an image, it did not check the attribute of container_format or used default value as it did in dashboard. In order to maintain consistent, i think in glance cli, the default value of container_format should also be provided. ** Affects: glance Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to Glance. https://bugs.launchpad.net/bugs/1347376 Title: create a volume from a image raise AttributeError Status in OpenStack Image Registry and Delivery Service (Glance): New Bug description: I'm working under RHEL7 + ICEHOUSE 2014.1 For glance, image is stored in local file system. I want to create a volume from an image. So I run command "cinder create --image-id ${image_id} --display-name ${name} ${size}" But then, I get error "glanceclient AttributeError: container_format" in ciner api debug info. log_http_response /usr/lib/python2.7/site-packages/glanceclient/common/http.py:152 2014-07-22 17:25:32.310 15514 ERROR cinder.api.middleware.fault [req-0a2334ec-11a0-4356-89b4-492a2a59b302 fafa6d26b7644056bcdd920f2a667785 c78d023501b34820b5bcd9e2db85a2bf - - -] Caught error: container_format 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault Traceback (most recent call last): 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/api/middleware/fault.py", line 75, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return req.get_response(self.application) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/request.py", line 1296, in send 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault application, catch_exc_info=False) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/request.py", line 1260, in call_application 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault app_iter = application(self.environ, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return resp(environ, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/keystoneclient/middleware/auth_token.py", line 615, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return self.app(env, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return resp(environ, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return resp(environ, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/routes/middleware.py", line 131, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault response = self.app(environ, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return resp(environ, start_response) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault resp = self.call_func(req, *args, **self.kwargs) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return self.func(req, *args, **kwargs) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/api/openstack/wsgi.py", line 895, in __call__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault content_type, body, accept) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/api/openstack/wsgi.py", line 943, in _process_stack 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault action_result = self.dispatch(meth, request, action_args) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/api/openstack/wsgi.py", line 1019, in dispatch 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return method(req=request, **action_args) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/api/v1/volumes.py", line 432, in create 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault new_volume = self.volume_api.create(context, 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/volume/api.py", line 189, in create 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault flow_engine.run() 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/taskflow/engines/action_engine/engine.py", line 89, in run 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault for _state in self.run_iter(): 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/taskflow/engines/action_engine/engine.py", line 137, in run_iter 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault misc.Failure.reraise_if_any(failures.values()) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/taskflow/utils/misc.py", line 797, in reraise_if_any 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault failures[0].reraise() 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/taskflow/utils/misc.py", line 804, in reraise 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault six.reraise(*self._exc_info) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/taskflow/engines/action_engine/executor.py", line 34, in _execute_task 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault result = task.execute(**arguments) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/volume/flows/api/create_volume.py", line 341, in execute 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault self._check_image_metadata(context, image_id, size) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/volume/flows/api/create_volume.py", line 180, in _check_image_metadata 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault image_meta = self.image_service.show(context, image_id) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/image/glance.py", line 228, in show 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault base_image_meta = self._translate_from_glance(image) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/image/glance.py", line 336, in _translate_from_glance 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault image_meta = _extract_attributes(image) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/cinder/image/glance.py", line 434, in _extract_attributes 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault output[attr] = getattr(image, attr) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/glanceclient/common/base.py", line 95, in __getattr__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault return self.__getattr__(k) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault File "/usr/lib/python2.7/site-packages/glanceclient/common/base.py", line 97, in __getattr__ 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault raise AttributeError(k) 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault AttributeError: container_format 2014-07-22 17:25:32.310 15514 TRACE cinder.api.middleware.fault 2014-07-22 17:25:32.361 15514 INFO cinder.api.middleware.fault [req-0a2334ec-11a0-4356-89b4-492a2a59b302 fafa6d26b7644056bcdd920f2a667785 c78d023501b34820b5bcd9e2db85a2bf - - -] http://127.0.0.1:8776/v1/c78d023501b34820b5bcd9e2db85a2bf/volumes returned with HTTP 500 2014-07-22 17:25:32.362 15514 INFO eventlet.wsgi.server [req-0a2334ec-11a0-4356-89b4-492a2a59b302 fafa6d26b7644056bcdd920f2a667785 c78d023501b34820b5bcd9e2db85a2bf - - -] 127.0.0.1 - - [22/Jul/2014 17:25:32] "POST /v1/c78d023501b34820b5bcd9e2db85a2bf/volumes HTTP/1.1" 500 401 5.034834 Then I find out, the value of this image's container_format is null in mysql. Before this, I used glance cli to upload the image "glance image-create --name imgtest --disk-format qcow2 --is-public false --copy-from 'http://10.43.179.2:8081/files/linux/cirros-0.3.0-x86_64-disk.img'" But use dashboard to upload an image, the value of container_format is default to BARE. When we create a volume with an image, in glanceclient it checked the Attribute container_format. But in glance, when we use cli to upload an image, it did not check the attribute of container_format or used default value as it did in dashboard. In order to maintain consistent, i think in glance cli, the default value of container_format should also be provided. To manage notifications about this bug go to: https://bugs.launchpad.net/glance/+bug/1347376/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp