Fails to launch instance with "create volume from image"

Bug #1324479 reported by Taras
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
New
Undecided
Unassigned

Bug Description

In IceHouse something has changed in Glance and when I try to launch an instance with option "create volume from image" it fails, because some attributes are absent in image dict returned from Glance. Different types of images were tried. RDO packages are used.

From /var/log/cinder/api.log:

2014-05-29 00:47:52.185 32176 TRACE cinder.api.middleware.fault File "/usr/lib/python2.6/site-packages/cinder/image/glance.py", line 434, in _extract_attributes
2014-05-29 00:47:52.185 32176 TRACE cinder.api.middleware.fault output[attr] = getattr(image, attr)
2014-05-29 00:47:52.185 32176 TRACE cinder.api.middleware.fault File "/usr/lib/python2.6/site-packages/warlock/model.py", line 69, in __getattr__
2014-05-29 00:47:52.185 32176 TRACE cinder.api.middleware.fault raise AttributeError(key)
2014-05-29 00:47:52.185 32176 TRACE cinder.api.middleware.fault AttributeError: owner

The image's onwer in the database was indeed NULL (and that should be ok). If I add an owner to the image, then another attribute will also be not found:

2014-05-29 01:03:02.782 32176 TRACE cinder.api.middleware.fault File "/usr/lib/python2.6/site-packages/cinder/image/glance.py", line 434, in _extract_attributes
2014-05-29 01:03:02.782 32176 TRACE cinder.api.middleware.fault output[attr] = getattr(image, attr)
  2014-05-29 01:03:02.782 32176 TRACE cinder.api.middleware.fault File "/usr/lib/python2.6/site-packages/warlock/model.py", line 69, in __getattr__
  2014-05-29 01:03:02.782 32176 TRACE cinder.api.middleware.fault raise AttributeError(key)
  2014-05-29 01:03:02.782 32176 TRACE cinder.api.middleware.fault AttributeError: deleted

The image dict returned from Glance was:

{u'status': u'active', u'tags': [], u'container_format': u'bare', u'min_ram': 0, u'updated_at': u'2014-05-22T13:24:49Z', u'visibility': u'public', u'file': u'/v2/images/ad385533-0bbb-40d8-a4db-669c76677e24/file', u'min_disk': 0, u'id': u'ad385533-0bbb-40d8-a4db-669c76677e24', u'size': 3145728, u'name': u'img04', u'checksum': u'a5c6d1997966f85908c5640c5dfd7b79', u'created_at': u'2014-05-22T13:24:48Z', u'disk_format': u'raw', u'protected': False, u'direct_url': u'rbd://2485eec9-d30a-4258-b959-937359ed61e8/images/ad385533-0bbb-40d8-a4db-669c76677e24/snap', u'schema': u'/v2/schemas/image'}

I have no idea why some image attributes are absent, but one of the possible fixes is (for IceHouce branch):

--- /a/cinder/image/glance.py 2014-04-21 12:58:43.000000000 -0700
+++ /b/cinder/image/glance.py 2014-05-29 03:23:31.000000000 -0700
@@ -431,7 +431,7 @@
         elif attr == 'checksum' and output['status'] != 'active':
             output[attr] = None
         else:
- output[attr] = getattr(image, attr)
+ output[attr] = getattr(image, attr, None)

     output['properties'] = getattr(image, 'properties', {})

Tags: cinder glance
affects: nova → cinder
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.