OpenStack Volume Deletion Fails

Problem

Deletion of the volume fails with the following error in /var/log/pf9/cindervolume-base.log.

cindervolume-base.log
Copy

Environment

  • Platform9 Managed OpenStack - v3.6.0 and Higher
  • Cinder

Cause

In both these cases mentioned below, Cinder restricts the volume deletion.

  • Case 1: The volume stuck during volume migration.
  • Case 2: The volume was not cleanly detached during VM deletion.

Diagnosis

Case 1:

  • Volume details
Command
Copy
  • Cinder volume base logs
cindervolume-base.log
Copy

Case 2:

  • Volume details
Command
Copy
  • Cinder volume base logs
cindervolume-base.log
Copy

Resolution

Case 1: For volume stuck with migration and attach-related flags:

To run cinder commands, install python-cinderclient==9.4.0 Generally cinder binary is available only on the Platform9 Management Plane and Block Storage hosts directly.

  • Set the state of the volume to "available".
Command
Copy
  • Reset the migration status of the volume.
Command
Copy
  • Set the attach status to "detached".
Command
Copy
  • Delete the volume.
Command
Copy

Case 2: For volumes stuck in deleting state:

  • Reset the state of the volume to "available"
Command
Copy
  • Delete the volume
Command
Copy

Validation

Case 1: After applying fix for volume with migration and attach metadata:

  • Volume status changes from deleting to available after the reset-state command.
  • migration_status becomes None.
  • attached_mode or properties like attached_mode='rw' are no longer blocking deletion.
  • The volume is successfully deleted from the system and no longer appears in CLI or UI.
  • Verify volume state:
Command
Copy

Case 2: After applying fix for volume with migration and attach metadata:

  • Volume status changes from deleting to available after the reset-state command.
  • The volume is successfully deleted from the system and no longer appears in CLI or UI.
  • Verify volume state:
Command
Copy

Additional Information

  • Always confirm that the volume is not in use or attached to a running instance before forcibly resetting its state.
  • Resetting states bypasses safety checks and should only be used when metadata inconsistencies block clean-up.
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard