-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
18.0.z
-
None
-
False
-
-
False
-
?
-
None
-
-
-
-
Important
To Reproduce Steps to reproduce the behavior:
- Deploy RHOSO 18.0 with Generic NFS Cinder backend
- Create a volume
- Create an image from the volume using "openstack image create --volume <volume> <image>".
This succeed - Create a snapshot from the volume using "openstack volume snapshot create --volume <volume> <snapshot>
- Create an image from the volume using "openstack image create --volume <volume> <image>". But this time it fails with the following error
WARNING cinder.image.image_utils [...] Image/Volume /var/lib/cinder/mnt/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/volume-aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa.bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb failed safety check DEBUG cinder.coordination [...] Lock "/var/lib/cinder/cinder-nfs-aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" released by "copy_volume_to_image" :: held 1.384s _synchronized /usr/lib/python3.9/site-packages/cinder/coordination.py:208 ERROR cinder.volume.manager [...] Upload volume to image encountered an error (image-id: cccccccc-cccc-cccc-cccc-cccccccccccc).: cinder.exception.Invalid: Unacceptable parameters. INFO cinder.message.api [...] Creating message record for request_id = req-dddddddd-dddd-dddd-dddd-dddddddddddd WARNING cinder.volume.manager [...] Deleting image in unexpected status: queued.: cinder.exception.Invalid: Unacceptable parameters. ERROR oslo_messaging.rpc.server [...] Exception during message handling: cinder.exception.Invalid: Unacceptable parameters. ERROR oslo_messaging.rpc.server Traceback (most recent call last): ERROR oslo_messaging.rpc.server File "/usr/lib/python3.9/site-packages/oslo_messaging/rpc/server.py", line 165, in _process_incoming ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message) ERROR oslo_messaging.rpc.server File "/usr/lib/python3.9/site-packages/oslo_messaging/rpc/dispatcher.py", line 309, in dispatch ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args) ERROR oslo_messaging.rpc.server File "/usr/lib/python3.9/site-packages/oslo_messaging/rpc/dispatcher.py", line 229, in _do_dispatch ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args) ERROR oslo_messaging.rpc.server File "/usr/lib/python3.9/site-packages/cinder/volume/manager.py", line 1811, in copy_volume_to_image ERROR oslo_messaging.rpc.server payload['message'] = str(error) ERROR oslo_messaging.rpc.server File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__ ERROR oslo_messaging.rpc.server self.force_reraise() ERROR oslo_messaging.rpc.server File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise ERROR oslo_messaging.rpc.server raise self.value ERROR oslo_messaging.rpc.server File "/usr/lib/python3.9/site-packages/cinder/volume/manager.py", line 1791, in copy_volume_to_image ERROR oslo_messaging.rpc.server self.driver.copy_volume_to_image(context, volume, ERROR oslo_messaging.rpc.server File "<decorator-gen-27>", line 2, in copy_volume_to_image ERROR oslo_messaging.rpc.server File "/usr/lib/python3.9/site-packages/cinder/coordination.py", line 201, in _synchronized ERROR oslo_messaging.rpc.server return f(*a, **k) ERROR oslo_messaging.rpc.server File "/usr/lib/python3.9/site-packages/cinder/volume/drivers/remotefs.py", line 2032, in copy_volume_to_image ERROR oslo_messaging.rpc.server return self._copy_volume_to_image(context, volume, image_service, ERROR oslo_messaging.rpc.server File "/usr/lib/python3.9/site-packages/cinder/volume/drivers/remotefs.py", line 1106, in _copy_volume_to_image ERROR oslo_messaging.rpc.server image_utils.convert_image(active_file_path, temp_path, 'raw', ERROR oslo_messaging.rpc.server File "/usr/lib/python3.9/site-packages/cinder/image/image_utils.py", line 529, in convert_image ERROR oslo_messaging.rpc.server check_image_format(source, src_format, image_id, data, run_as_root) ERROR oslo_messaging.rpc.server File "/usr/lib/python3.9/site-packages/cinder/image/image_utils.py", line 817, in check_image_format ERROR oslo_messaging.rpc.server data = qemu_img_info(source, run_as_root=run_as_root) ERROR oslo_messaging.rpc.server File "/usr/lib/python3.9/site-packages/cinder/image/image_utils.py", line 178, in qemu_img_info ERROR oslo_messaging.rpc.server raise exception.Invalid( ERROR oslo_messaging.rpc.server cinder.exception.Invalid: Unacceptable parameters.
It seems that this issue occurs when we meet the following conditions
- Cinder backend is NFS (to be exact, remotefs)
- The volume format is qcow2
- The volume has snapshosts
Expected behavior
- Image creation succeeds
Bug impact
- Image cannot created from volume
Known workaround
- Use cinder backends other than NFS
- Delete snapshots of the volume
Additional context
- It seems that this issue occurs due to the change made in https://issues.redhat.com/browse/OSPRH-6735 and https://review.opendev.org/c/openstack/cinder/+/923247, that are fixes for CVE-2024-32498