storpool driver: fix the retype volume flow
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
In Progress
|
Medium
|
Unassigned |
Bug Description
When the type of a StorPool-backed Cinder volume is changed to another one that still uses the StorPool backend, but a different StorPool template, there are several issues that may cause the "retype volume" operation to fail or leave the wrong (old) volume attached to StorPool clients:
- the StorPool driver performs too many checks for the "differences in the volume types' extra specs fields" dictionary instead of ignoring any extra specs it does not know about and leaving it to the Cinder scheduler to decide whether those are important enough to deny the retype operation
- the return values (old volume / temporary volume / new volume) in some code paths are wrong, so sometimes the old volume (the one using the old volume type / StorPool template) may remain attached to the client
Changed in cinder: | |
importance: | Undecided → Medium |
tags: | added: drivers storpool |
Fix proposed to branch: master /review. opendev. org/c/openstack /cinder/ +/870551
Review: https:/