HPE3PAR: Correct volume name in ERROR log

3PAR driver creates a dependency chain when we create a volume from
a snapshot and while deleting the snapshot, it renames the dependent
volume and also changes some of it's properties to break the dependency
to finally delete the snapshot successfully.
During the renaming, 3PAR driver creates a new volume named "omv-<id>"
which is different from the original volume name "osv-<id>".

NOTE: here "id" doesn't refer to OpenStack resource/volume ID but rather
the ID provided by backend.

We can fail to create the new volume for certain reasons and one of
the reason is there already exists an internal volume named "omv-<id>"
Since the IDs are unique, this volume could be a side effect of a
failed operation earlier and the volume was not cleaned up.
The ERROR log in this failure case shows the original volume name
"osv-<id>" with a Duplicate exception[1] which doesn't provide any
insight of the failure since we already know "osv-<id>" exists in
backend and we are failing due to "omv-<id>" volume which needs to
be manually cleaned up from 3PAR array.
This patch corrects the volume name in the above failure case.

[1] ERROR oslo_messaging.rpc.server cinder.exception.Duplicate: Volume (osv-<id>) already exists on array.

Change-Id: I118339e87eefca2f0df90992c81d4f09fb6d0b68
This commit is contained in:
Rajat Dhasmana 2022-07-14 10:09:28 +00:00
parent 84fd598654
commit d153ff2621
1 changed files with 1 additions and 1 deletions

View File

@ -3075,7 +3075,7 @@ class HPE3PARCommon(object):
LOG.info('Completed: convert_to_base_volume: '
'id=%s.', volume['id'])
except hpeexceptions.HTTPConflict:
msg = _("Volume (%s) already exists on array.") % volume_name
msg = _("Volume (%s) already exists on array.") % temp_vol_name
LOG.error(msg)
raise exception.Duplicate(msg)
except hpeexceptions.HTTPBadRequest as ex: