Volume Creation Failure Due to Image Format Mismatch

Problem

The volume creation from an image fails with the following error:

Volume creation error
Copy

This leads to:

  • Volume stuck in error or downloading state.
  • Orphaned files on Tintri/NFS backends.
  • VM boot attempts failing with libvirt format errors.

Environment

  • Private Cloud Director Virtualization - v2025.6 and Higher
  • Self-Hosted Private Cloud Director Virtualization - v2025.6 and Higher
  • Block Storage using Tintri VMstore (NFS backend)
  • Image stored in local file store
  • Example versions:
    • cinder.volume.drivers.vmstore.nfs
    • Image Service metadata (disk_format=raw, container_format=bare)

Cause

A image was incorrectly labeled as raw, but its actual data content was qcow2 (or another format). Block Storage’s image_utils.check_image_format() layer detected:

  • Metadata says raw
  • Data is actually non-raw

As a result:

  • Image conversion was aborted
  • Volume remained partially created
  • Back-end cleanup was incomplete

Diagnostics

  1. Check image metadata
Command
Copy
  1. Verify actual image format - Must run on Image Service host
Command
Copy
Example Output
Copy
  1. Check Tintri logs for refresh failure
Cinder-volume-base logs
Copy
  1. Check orphaned files on the block storage backend
Block Storage Host
Copy

Resolution

  1. If the desired format of the image is actually qcow2, update Image service metadata:
Command
Copy
  1. Clean up stale backend file - Only if the volume was stuck/errored when checking the openstack command, and the openstack volume delete <VOLUME_UUID> does not remove the volume
Block Storage Host
Copy

Ensure to delete only the stale volume which is in stuck/errored state due to disk_format mismatch, else if a valid volume is deleted it will result on data loss.

Validation

  1. Re-upload or fix image metadata, the disk_format should now reflect actual format.
Command
Copy
  1. Create test bootable volume
Command
Copy
  1. Check volume status
Command
Copy

Expected status:

Command Output
Copy
  1. Confirm no orphaned data: Cleanup confirmed on Tintri backend.

Additional Information

To prevent this issue in the future, you can adopt any of the following options:

Option A

Enforce qcow2 labelling by always uploading with:

Command Option
Copy

Option B

Validate before import on image upload:

Command
Copy

Option C

Enable image conversion - Use Image Service import workflow with:

Command
Copy
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard