The following is the glance-registry's log ,which indicates a rollback on a sqlalchemy db call.
2012-04-12 17:01:39 2470 DEBUG [glance.registry.api.v1.images] Updating image 209dfbfc-c965-4a8f-bb9c-a9a9e02cd3c2 with metadata: {u'status': u'active', u'location': u'file:///opt/stack/glance/images/209dfbfc-c965-4a8f-bb9c-a9a9e02cd3c2'}
2012-04-12 17:01:39 2470 INFO [sqlalchemy.engine.base.Engine.0x...cf10] BEGIN (implicit)
2012-04-12 17:01:39 2470 INFO [sqlalchemy.engine.base.Engine.0x...cf10] SELECT images.created_at AS images_created_at, images.updated_at AS images_updated_at, images.deleted_at AS images_deleted_at, images.deleted AS images_deleted, images.id AS images_id, images.name AS images_name, images.disk_format AS images_disk_format, images.container_format AS images_container_format, images.size AS images_size, images.status AS images_status, images.is_public AS images_is_public, images.location AS images_location, images.checksum AS images_checksum, images.min_disk AS images_min_disk, images.min_ram AS images_min_ram, images.owner AS images_owner, images.protected AS images_protected, image_properties_1.created_at AS image_properties_1_created_at, image_properties_1.updated_at AS image_properties_1_updated_at, image_properties_1.deleted_at AS image_properties_1_deleted_at, image_properties_1.deleted AS image_properties_1_deleted, image_properties_1.id AS image_properties_1_id, image_properties_1.image_id AS image_properties_1_image_id, image_properties_1.name AS image_properties_1_name, image_properties_1.value AS image_properties_1_value, image_members_1.created_at AS image_members_1_created_at, image_members_1.updated_at AS image_members_1_updated_at, image_members_1.deleted_at AS image_members_1_deleted_at, image_members_1.deleted AS image_members_1_deleted, image_members_1.id AS image_members_1_id, image_members_1.image_id AS image_members_1_image_id, image_members_1.member AS image_members_1_member, image_members_1.can_share AS image_members_1_can_share
FROM images LEFT OUTER JOIN image_properties AS image_properties_1 ON images.id = image_properties_1.image_id LEFT OUTER JOIN image_members AS image_members_1 ON images.id = image_members_1.image_id
WHERE images.id = %s AND images.deleted = %s
2012-04-12 17:01:39 2470 INFO [sqlalchemy.engine.base.Engine.0x...cf10] (u'209dfbfc-c965-4a8f-bb9c-a9a9e02cd3c2', 0)
2012-04-12 17:01:39 2470 DEBUG [sqlalchemy.engine.base.Engine.0x...cf10] Col ('images_created_at', 'images_updated_at', 'images_deleted_at', 'images_deleted', 'images_id', 'images_name', 'images_disk_format', 'images_container_format', 'images_size', 'images_status', 'images_is_public', 'images_location', 'images_checksum', 'images_min_disk', 'images_min_ram', 'images_owner', 'images_protected', 'image_properties_1_created_at', 'image_properties_1_updated_at', 'image_properties_1_deleted_at', 'image_properties_1_deleted', 'image_properties_1_id', 'image_properties_1_image_id', 'image_properties_1_name', 'image_properties_1_value', 'image_members_1_created_at', 'image_members_1_updated_at', 'image_members_1_deleted_at', 'image_members_1_deleted', 'image_members_1_id', 'image_members_1_image_id', 'image_members_1_member', 'image_members_1_can_share')
2012-04-12 17:01:39 2470 DEBUG [sqlalchemy.engine.base.Engine.0x...cf10] Row (datetime.datetime(2012, 4, 12, 11, 31, 39), datetime.datetime(2012, 4, 12, 11, 31, 39), None, 0, '209dfbfc-c965-4a8f-bb9c-a9a9e02cd3c2', 'amitest', None, None, 25165824L, 'saving', 1, None, '10047a119149e08fb206eea89832eee0', 0L, 0L, 'admin', 0, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None)
2012-04-12 17:01:39 2470 INFO [sqlalchemy.engine.base.Engine.0x...cf10] ROLLBACK
This is performed when glance is trying to update the image metadata to ACTIVE but it fails , as a result the image metadata is set to SAVING state.
But when I execute the command ,as mentioned above to reproduce the bug,there is an error message which indicates the image status will likely be killed.If it is true,then the image status should be killed in glance db also which is not done as of now.
If an image's status is never updated to killed , then when can we have the status of an image as killed.The above bug is to show the killed images in glance with nova image-list.If there should not be any killed images ,then is the above bug an invalid bug.
Brian ,
The following is the glance-registry's log ,which indicates a rollback on a sqlalchemy db call.
2012-04-12 17:01:39 2470 DEBUG [glance. registry. api.v1. images] Updating image 209dfbfc- c965-4a8f- bb9c-a9a9e02cd3 c2 with metadata: {u'status': u'active', u'location': u'file: ///opt/ stack/glance/ images/ 209dfbfc- c965-4a8f- bb9c-a9a9e02cd3 c2'} engine. base.Engine. 0x...cf10] BEGIN (implicit) engine. base.Engine. 0x...cf10] SELECT images.created_at AS images_created_at, images.updated_at AS images_updated_at, images.deleted_at AS images_deleted_at, images.deleted AS images_deleted, images.id AS images_id, images.name AS images_name, images.disk_format AS images_disk_format, images. container_ format AS images_ container_ format, images.size AS images_size, images.status AS images_status, images.is_public AS images_is_public, images.location AS images_location, images.checksum AS images_checksum, images.min_disk AS images_min_disk, images.min_ram AS images_min_ram, images.owner AS images_owner, images.protected AS images_protected, image_propertie s_1.created_ at AS image_propertie s_1_created_ at, image_propertie s_1.updated_ at AS image_propertie s_1_updated_ at, image_propertie s_1.deleted_ at AS image_propertie s_1_deleted_ at, image_propertie s_1.deleted AS image_propertie s_1_deleted, image_propertie s_1.id AS image_propertie s_1_id, image_propertie s_1.image_ id AS image_propertie s_1_image_ id, image_propertie s_1.name AS image_propertie s_1_name, image_propertie s_1.value AS image_propertie s_1_value, image_members_ 1.created_ at AS image_members_ 1_created_ at, image_members_ 1.updated_ at AS image_members_ 1_updated_ at, image_members_ 1.deleted_ at AS image_members_ 1_deleted_ at, image_members_ 1.deleted AS image_members_ 1_deleted, image_members_1.id AS image_members_1_id, image_members_ 1.image_ id AS image_members_ 1_image_ id, image_members_ 1.member AS image_members_ 1_member, image_members_ 1.can_share AS image_members_ 1_can_share s_1.image_ id LEFT OUTER JOIN image_members AS image_members_1 ON images.id = image_members_ 1.image_ id engine. base.Engine. 0x...cf10] (u'209dfbfc- c965-4a8f- bb9c-a9a9e02cd3 c2', 0) engine. base.Engine. 0x...cf10] Col ('images_ created_ at', 'images_ updated_ at', 'images_ deleted_ at', 'images_deleted', 'images_id', 'images_name', 'images_ disk_format' , 'images_ container_ format' , 'images_size', 'images_status', 'images_is_public', 'images_location', 'images_checksum', 'images_min_disk', 'images_min_ram', 'images_owner', 'images_protected', 'image_ properties_ 1_created_ at', 'image_ properties_ 1_updated_ at', 'image_ properties_ 1_deleted_ at', 'image_ properties_ 1_deleted' , 'image_ properties_ 1_id', 'image_ properties_ 1_image_ id', 'image_ properties_ 1_name' , 'image_ properties_ 1_value' , 'image_ members_ 1_created_ at', 'image_ members_ 1_updated_ at', 'image_ members_ 1_deleted_ at', 'image_ members_ 1_deleted' , 'image_ members_ 1_id', 'image_ members_ 1_image_ id', 'image_ members_ 1_member' , 'image_ members_ 1_can_share' ) engine. base.Engine. 0x...cf10] Row (datetime. datetime( 2012, 4, 12, 11, 31, 39), datetime. datetime( 2012, 4, 12, 11, 31, 39), None, 0, '209dfbfc- c965-4a8f- bb9c-a9a9e02cd3 c2', 'amitest', None, None, 25165824L, 'saving', 1, None, '10047a119149e0 8fb206eea89832e ee0', 0L, 0L, 'admin', 0, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None) engine. base.Engine. 0x...cf10] ROLLBACK
2012-04-12 17:01:39 2470 INFO [sqlalchemy.
2012-04-12 17:01:39 2470 INFO [sqlalchemy.
FROM images LEFT OUTER JOIN image_properties AS image_properties_1 ON images.id = image_propertie
WHERE images.id = %s AND images.deleted = %s
2012-04-12 17:01:39 2470 INFO [sqlalchemy.
2012-04-12 17:01:39 2470 DEBUG [sqlalchemy.
2012-04-12 17:01:39 2470 DEBUG [sqlalchemy.
2012-04-12 17:01:39 2470 INFO [sqlalchemy.
This is performed when glance is trying to update the image metadata to ACTIVE but it fails , as a result the image metadata is set to SAVING state.
But when I execute the command ,as mentioned above to reproduce the bug,there is an error message which indicates the image status will likely be killed.If it is true,then the image status should be killed in glance db also which is not done as of now.
If an image's status is never updated to killed , then when can we have the status of an image as killed.The above bug is to show the killed images in glance with nova image-list.If there should not be any killed images ,then is the above bug an invalid bug.