Merge "NetApp SolidFire: Refactor DuplicateSfVolumeNames exception" into stable/victoria
This commit is contained in:
commit
5e67917fa9
|
@ -132,10 +132,6 @@ xVolumeAccessGroupIDDoesNotExist = 'xVolumeAccessGroupIDDoesNotExist'
|
||||||
xNotInVolumeAccessGroup = 'xNotInVolumeAccessGroup'
|
xNotInVolumeAccessGroup = 'xNotInVolumeAccessGroup'
|
||||||
|
|
||||||
|
|
||||||
class DuplicateSfVolumeNames(exception.Duplicate):
|
|
||||||
message = _("Detected more than one volume with name %(vol_name)s")
|
|
||||||
|
|
||||||
|
|
||||||
class SolidFireAPIException(exception.VolumeBackendAPIException):
|
class SolidFireAPIException(exception.VolumeBackendAPIException):
|
||||||
message = _("Bad response from SolidFire API")
|
message = _("Bad response from SolidFire API")
|
||||||
|
|
||||||
|
@ -170,6 +166,11 @@ class SolidFireDataSyncTimeoutError(exception.VolumeBackendAPIException):
|
||||||
message = _("Data sync volumes timed out")
|
message = _("Data sync volumes timed out")
|
||||||
|
|
||||||
|
|
||||||
|
class SolidFireDuplicateVolumeNames(SolidFireDriverException):
|
||||||
|
message = _("Volume name [%(vol_name)s] already exists "
|
||||||
|
"in the SolidFire backend.")
|
||||||
|
|
||||||
|
|
||||||
def retry(exc_tuple, tries=5, delay=1, backoff=2):
|
def retry(exc_tuple, tries=5, delay=1, backoff=2):
|
||||||
def retry_dec(f):
|
def retry_dec(f):
|
||||||
@six.wraps(f)
|
@six.wraps(f)
|
||||||
|
@ -1049,10 +1050,7 @@ class SolidFireDriver(san.SanISCSIDriver):
|
||||||
sf_volume_name = params['name']
|
sf_volume_name = params['name']
|
||||||
volumes_found = self._list_volumes_by_name(sf_volume_name)
|
volumes_found = self._list_volumes_by_name(sf_volume_name)
|
||||||
if volumes_found:
|
if volumes_found:
|
||||||
msg = ('Volume name [%s] already exists '
|
raise SolidFireDuplicateVolumeNames(vol_name=sf_volume_name)
|
||||||
'in SolidFire backend.') % sf_volume_name
|
|
||||||
LOG.error(msg)
|
|
||||||
raise DuplicateSfVolumeNames(message=msg)
|
|
||||||
|
|
||||||
sf_volid = None
|
sf_volid = None
|
||||||
try:
|
try:
|
||||||
|
@ -1222,7 +1220,7 @@ class SolidFireDriver(san.SanISCSIDriver):
|
||||||
LOG.error("Found %(count)s volumes mapped to id: %(uuid)s.",
|
LOG.error("Found %(count)s volumes mapped to id: %(uuid)s.",
|
||||||
{'count': found_count,
|
{'count': found_count,
|
||||||
'uuid': uuid})
|
'uuid': uuid})
|
||||||
raise DuplicateSfVolumeNames(vol_name=uuid)
|
raise SolidFireDuplicateVolumeNames(vol_name=uuid)
|
||||||
|
|
||||||
return sf_volref
|
return sf_volref
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue