← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1077045] Re: Cannot delete images when rbd store is used

 

** Changed in: glance
       Status: Incomplete => Invalid

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1077045

Title:
  Cannot delete images when rbd store is used

Status in OpenStack Image Registry and Delivery Service (Glance):
  Invalid

Bug description:
  I have a multinode installation of openstack
  ubuntu 12.04 using the ubuntu cloud repo for Folsom codebase with quantum
  Glance Version: 2012.2-0ubuntu2~cloud0
  Nova version : 2012.2-0ubuntu5~cloud0
  ceph version 53
  apt-get update apt-get upgrade completed on all nodes (as of 9th Nov 2012)

  1 only  Cloud controller system
  2 only cloud compute nodes nodes
  4 only ceph nodes (3 monitors)
  5 only swift nodes (1 proxy)

  I have configured ceph , nova-volume and Glance as per this documentaton for setup in openstack:
  http://www.sebastien-han.fr/blog/2012/06/10/introducing-ceph-to-openstack/

  problem:
  when an RBD store is specified for glance, i am unable to delete or clear images. I can successfully add/update or use image only
  If i configure glance with a file backend i can add/update/delete/clear as normal
  If i configure glance with a swift backend i can add/update/delete/clear as normal 

  error generated by client:

   glance delete fb11234a-9e85-4496-a999-186cc71ca2da
  Delete image fb11234a-9e85-4496-a999-186cc71ca2da? [y/N] y
  Request returned failure status.
  None
  HTTPInternalServerError (HTTP 500)

  steps to reproduce:
  Configure to Glance to use ceph backend
  upload an image via glance add
  glance delete <imageID> or glance clear(for all images) - both will generate the same error

  workarounds: - none
  alternative configuration :
  Configure glance to use Filesystem or swift backends for glance for image storage

  glance api.log fragment:
  2012-11-09 15:58:28 5780 INFO sqlalchemy.engine.base.Engine [-] SELECT images.created_at AS images_created_at, images.updated_at AS images_updated_at, image s.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_f ormat, 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 imag e_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_p roperties_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, ima ge_properties_1.value AS image_properties_1_value
  FROM images LEFT OUTER JOIN image_properties AS image_properties_1 ON images.id = image_properties_1.image_id
  WHERE images.id = %s
  2012-11-09 15:58:28 5780 INFO sqlalchemy.engine.base.Engine [-] ('fb11234a-9e85-4496-a999-186cc71ca2da',)
  2012-11-09 15:58:28 5780 DEBUG sqlalchemy.engine.base.Engine [-] Col ('images_created_at', 'images_updated_at', 'images_deleted_at', 'images_deleted', 'imag es_id', 'images_name', 'images_disk_format', 'images_container_format', 'images_size', 'images_status', 'images_is_public', 'images_location', 'images_check sum', 'images_min_disk', 'images_min_ram', 'images_owner', 'images_protected', 'image_properties_1_created_at', 'image_properties_1_updated_at', 'image_prop erties_1_deleted_at', 'image_properties_1_deleted', 'image_properties_1_id', 'image_properties_1_image_id', 'image_properties_1_name', 'image_properties_1_v alue') __init__ /usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py:2789
  2012-11-09 15:58:28 5780 DEBUG sqlalchemy.engine.base.Engine [-] Row (datetime.datetime(2012, 11, 9, 14, 38, 37), datetime.datetime(2012, 11, 9, 15, 40, 57) , None, 0, 'fb11234a-9e85-4496-a999-186cc71ca2da', 'glanceload-ubu2-ceph', 'qcow2', 'ovf', 1133772800L, 'active', 0, 'rbd://b2125094-25b7-4009-9431-4946a921 b778/images/fb11234a-9e85-4496-a999-186cc71ca2da/snap', 'd8d6e78896d009899f5fbd66bdafb09e', 0L, 0L, '2cea4cff2003475f954b031049dfd66c', 0, None, None, None,  None, None, None, None, None) process_rows /usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py:3194
  2012-11-09 15:58:28 INFO glance.registry.api.v1.images [ea996b6e-7678-46bb-91c8-f76515beb75b 0bab1d02fee141799787115a8bc219e4 2cea4cff2003475f954b031049dfd6 6c] Successfully retrieved image fb11234a-9e85-4496-a999-186cc71ca2da
  2012-11-09 15:58:28 5780 INFO sqlalchemy.engine.base.Engine [-] SELECT images.created_at AS images_created_at, images.updated_at AS images_updated_at, image s.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_f ormat, 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 imag e_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_p roperties_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, ima ge_properties_1.value AS image_properties_1_value
  FROM images LEFT OUTER JOIN image_properties AS image_properties_1 ON images.id = image_properties_1.image_id
  WHERE images.id = %s
  2012-11-09 15:58:28 5780 INFO sqlalchemy.engine.base.Engine [-] ('fb11234a-9e85-4496-a999-186cc71ca2da',)
  2012-11-09 15:58:28 5780 DEBUG sqlalchemy.engine.base.Engine [-] Col ('images_created_at', 'images_updated_at', 'images_deleted_at', 'images_deleted', 'imag es_id', 'images_name', 'images_disk_format', 'images_container_format', 'images_size', 'images_status', 'images_is_public', 'images_location', 'images_check sum', 'images_min_disk', 'images_min_ram', 'images_owner', 'images_protected', 'image_properties_1_created_at', 'image_properties_1_updated_at', 'image_prop erties_1_deleted_at', 'image_properties_1_deleted', 'image_properties_1_id', 'image_properties_1_image_id', 'image_properties_1_name', 'image_properties_1_v alue') __init__ /usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py:2789
  2012-11-09 15:58:28 5780 DEBUG sqlalchemy.engine.base.Engine [-] Row (datetime.datetime(2012, 11, 9, 14, 38, 37), datetime.datetime(2012, 11, 9, 15, 40, 57) , None, 0, 'fb11234a-9e85-4496-a999-186cc71ca2da', 'glanceload-ubu2-ceph', 'qcow2', 'ovf', 1133772800L, 'active', 0, 'rbd://b2125094-25b7-4009-9431-4946a921 b778/images/fb11234a-9e85-4496-a999-186cc71ca2da/snap', 'd8d6e78896d009899f5fbd66bdafb09e', 0L, 0L, '2cea4cff2003475f954b031049dfd66c', 0, None, None, None,  None, None, None, None, None) process_rows /usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py:3194
  2012-11-09 15:58:28 INFO glance.registry.api.v1.images [3e5adfc4-15ad-46db-a8de-1357c20d13fa 0bab1d02fee141799787115a8bc219e4 2cea4cff2003475f954b031049dfd6 6c] Successfully retrieved image fb11234a-9e85-4496-a999-186cc71ca2da

  glance-registry log fragment:
  2012-11-09 15:58:27 7009 DEBUG glance.api.middleware.version_negotiation [-] Determining version of request: HEAD /v1/images/fb11234a-9e85-4496-a999-186cc71ca2da Accept:  process_request /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:45
  2012-11-09 15:58:27 7009 DEBUG glance.api.middleware.version_negotiation [-] Using url versioning process_request /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:58
  2012-11-09 15:58:27 7009 DEBUG glance.api.middleware.version_negotiation [-] Matched version: v1 process_request /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:70
  2012-11-09 15:58:27 7009 DEBUG glance.api.middleware.version_negotiation [-] new uri /v1/images/fb11234a-9e85-4496-a999-186cc71ca2da process_request /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:71
  2012-11-09 15:58:28 DEBUG glance.api.policy [f18a4e64-df12-41a1-9977-c77ebc238519 0bab1d02fee141799787115a8bc219e4 2cea4cff2003475f954b031049dfd66c] Loaded policy rules: {u'default': [], u'manage_image_cache': [[u'role:admin']]} load_rules /usr/lib/python2.7/dist-packages/glance/api/policy.py:63
  2012-11-09 15:58:28 DEBUG glance.common.client [f18a4e64-df12-41a1-9977-c77ebc238519 0bab1d02fee141799787115a8bc219e4 2cea4cff2003475f954b031049dfd66c] Constructed URL: http://172.28.137.65:9191/images/fb11234a-9e85-4496-a999-186cc71ca2da _construct_url /usr/lib/python2.7/dist-packages/glance/common/client.py:464
  2012-11-09 15:58:28 DEBUG glance.registry.client [f18a4e64-df12-41a1-9977-c77ebc238519 0bab1d02fee141799787115a8bc219e4 2cea4cff2003475f954b031049dfd66c] Registry request GET /images/fb11234a-9e85-4496-a999-186cc71ca2da HTTP 200 request id req-ea996b6e-7678-46bb-91c8-f76515beb75b do_request /usr/lib/python2.7/dist-packages/glance/registry/client.py:94
  2012-11-09 15:58:28 7009 DEBUG glance.api.middleware.version_negotiation [-] Determining version of request: DELETE /v1/images/fb11234a-9e85-4496-a999-186cc71ca2da Accept:  process_request /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:45
  2012-11-09 15:58:28 7009 DEBUG glance.api.middleware.version_negotiation [-] Using url versioning process_request /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:58
  2012-11-09 15:58:28 7009 DEBUG glance.api.middleware.version_negotiation [-] Matched version: v1 process_request /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:70
  2012-11-09 15:58:28 7009 DEBUG glance.api.middleware.version_negotiation [-] new uri /v1/images/fb11234a-9e85-4496-a999-186cc71ca2da process_request /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:71
  2012-11-09 15:58:28 DEBUG glance.api.policy [629ba27d-3fb9-4b19-aa8f-cf589fac4751 0bab1d02fee141799787115a8bc219e4 2cea4cff2003475f954b031049dfd66c] Loaded policy rules: {u'default': [], u'manage_image_cache': [[u'role:admin']]} load_rules /usr/lib/python2.7/dist-packages/glance/api/policy.py:63
  2012-11-09 15:58:28 DEBUG glance.common.client [629ba27d-3fb9-4b19-aa8f-cf589fac4751 0bab1d02fee141799787115a8bc219e4 2cea4cff2003475f954b031049dfd66c] Constructed URL: http://172.28.137.65:9191/images/fb11234a-9e85-4496-a999-186cc71ca2da _construct_url /usr/lib/python2.7/dist-packages/glance/common/client.py:464
  2012-11-09 15:58:28 DEBUG glance.registry.client [629ba27d-3fb9-4b19-aa8f-cf589fac4751 0bab1d02fee141799787115a8bc219e4 2cea4cff2003475f954b031049dfd66c] Registry request GET /images/fb11234a-9e85-4496-a999-186cc71ca2da HTTP 200 request id req-3e5adfc4-15ad-46db-a8de-1357c20d13fa do_request /usr/lib/python2.7/dist-packages/glance/registry/client.py:94

  any help or guidance as to how we can resolve this or work around this
  issue with glance and ceph would be really appreciated

  thanks

  Steve A

To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1077045/+subscriptions