Uploaded image for project: 'Red Hat OpenStack Services on OpenShift'
  1. Red Hat OpenStack Services on OpenShift
  2. OSPRH-24085

Fail to upload a volume that was build from an image back to glance, if multistore (glance) is enabled and the image was copied to second store

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • rhos-17.1.12
    • openstack-cinder
    • None
    • Moderate

      Description:
      Upload-volume command fails when the volume was created from an image that was previously copied to other store.

      The volume was created with these properties:
      os_glance_failed_import
      os_glance_importing_to_stores

      The tempest log shows this error:

      tempest.lib.exceptions.BadRequest: Bad request
      Details: {'code': 400, 'message': "Unable to set 'properties' to {}. Reason: {} is not of type 'string'\n\nFailed validating 'type' in schema['additionalProperties']:\n {'type': 'string'}\n\nOn instance['properties']:\n {}"}

      The properties were filtered out as indicated in cinder-api log:
      2026-01-06 19:52:24.357 18 DEBUG cinder.image.image_utils [req-b11ba6bf-c78e-4d24-be10-a1fc468fccd7 02e23254ad614f1f8a8a1f0e36c971ae b637773ab7394b3db925f85ff2991b6d - default default] The metadata set [\{'container_format': 'bare', 'disk_format': 'raw', 'name': 'test-image-from-vol', 'properties': {'owner_specified.openstack.sha256': '', 'os_glance_importing_to_stores': '', 'os_glance_failed_import': '', 'owner_specified.openstack.object': 'images/cirros-test-img', 'signature_verified': 'False', 'owner_specified.openstack.md5': ''}}] was filtered using the reserved name spaces [['os_glance', 'img_signature']], and the result is [\{'container_format': 'bare', 'disk_format': 'raw', 'name': 'test-image-from-vol', 'properties': {'owner_specified.openstack.sha256': '', 'owner_specified.openstack.object': 'images/cirros-test-img', 'signature_verified': 'False', 'owner_specified.openstack.md5': ''}}]. filter_out_reserved_namespaces_metadata /usr/lib/python3.9/site-packages/cinder/image/image_utils.py:1334

       

      To Reproduce Steps to reproduce the behavior:

      1. Deploy env with multistore enabled
      2. Create an image on one of the available stores
      3. Copy the image to the second store
      4. Create a volume from that image
      5. Upload the volume back to Glance

      Expected behavior

      • The volume should be uploaded successfully

      Device Info (please complete the following information):

      • Red Hat OpenStack Platform release 17.1.12 (Wallaby)
      • openstack-cinder-18.2.2-17.1.20250929130805.f6b44fc.el9ost.noarch

      Known workaround

      • unset these properties before upload
      • $ openstack volume unset --image-property os_glance_failed_import <volume_id>
      • $ openstack volume unset --image-property os_glance_importing_to_stores <volume_id>

      Cinder-tempest-plugin test:

      https://review.opendev.org/c/openstack/cinder-tempest-plugin/+/972089

              brosmait@redhat.com Brian Rosmaita
              ybenshim Yosi Ben Shimon
              rhos-storage-cinder
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: