Public bug reported:

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', {})

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: cinder glance

-- 
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/1324479

Title:
  Fails to launch instance with "create volume from image"

Status in OpenStack Compute (Nova):
  New

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', {})

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1324479/+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

Reply via email to