When uploading an RBD volume to image and the image having different format than 'raw', the operation fails.
COMMAND: cinder upload-to-image --disk-format qcow2 <vol-id> test-img-qcow2
ERROR TRACE:
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager Traceback (most recent call last):
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager File "/opt/stack/cinder/cinder/volume/manager.py", line 1778, in copy_volume_to_image
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager self.driver.copy_volume_to_image(context, volume,
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager File "/opt/stack/cinder/cinder/volume/drivers/rbd.py", line 2094, in copy_volume_to_image
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager volume_utils.upload_volume(context, image_service, image_meta, None,
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager File "/opt/stack/cinder/cinder/volume/volume_utils.py", line 1352, in upload_volume
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager image_utils.upload_volume(context, image_service, image_meta, volume_path,
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager File "/opt/stack/cinder/cinder/image/image_utils.py", line 1127, in upload_volume
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager data = qemu_img_info(
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager File "/opt/stack/cinder/cinder/image/image_utils.py", line 169, in qemu_img_info
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager format_name = cinder.privsep.format_inspector.get_format_if_safe(
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_privsep/priv_context.py", line 271, in _wrap
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager return self.channel.remote_call(name, args, kwargs,
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_privsep/daemon.py", line 215, in remote_call
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager raise exc_type(*result[2])
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager TypeError: expected str, bytes or os.PathLike object, not NoneType
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR cinder.volume.manager
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server [req-394633b7-958a-45b9-85a5-6df4f8f1a091 req-5901327f-2a96-48d5-9bd3-c7e3bcb96fab admin None] Exception during message handling: TypeError: expected str, bytes or os.PathLike object, not NoneType
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server Traceback (most recent call last):
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_messaging/rpc/server.py", line 172, in _process_incoming
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message)
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_messaging/rpc/dispatcher.py", line 309, in dispatch
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args)
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_messaging/rpc/dispatcher.py", line 229, in _do_dispatch
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args)
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server File "/opt/stack/cinder/cinder/volume/manager.py", line 1797, in copy_volume_to_image
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server with excutils.save_and_reraise_exception():
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py", line 227, in __exit__
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server self.force_reraise()
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server raise self.value
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server File "/opt/stack/cinder/cinder/volume/manager.py", line 1778, in copy_volume_to_image
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server self.driver.copy_volume_to_image(context, volume,
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server File "/opt/stack/cinder/cinder/volume/drivers/rbd.py", line 2094, in copy_volume_to_image
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server volume_utils.upload_volume(context, image_service, image_meta, None,
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server File "/opt/stack/cinder/cinder/volume/volume_utils.py", line 1352, in upload_volume
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server image_utils.upload_volume(context, image_service, image_meta, volume_path,
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server File "/opt/stack/cinder/cinder/image/image_utils.py", line 1127, in upload_volume
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server data = qemu_img_info(
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server File "/opt/stack/cinder/cinder/image/image_utils.py", line 169, in qemu_img_info
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server format_name = cinder.privsep.format_inspector.get_format_if_safe(
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_privsep/priv_context.py", line 271, in _wrap
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server return self.channel.remote_call(name, args, kwargs,
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server File "/opt/stack/data/venv/lib/python3.10/site-packages/oslo_privsep/daemon.py", line 215, in remote_call
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server raise exc_type(*result[2])
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server TypeError: expected str, bytes or os.PathLike object, not NoneType
Dec 26 16:37:06 devstack-ceph cinder-volume[696260]: ERROR oslo_messaging.rpc.server
Fix proposed to branch: master /review. opendev. org/c/openstack /cinder/ +/938265
Review: https:/