'Cleanup a remote replication source volume on failure.
If replication setup fails at any stage on a new volume create,
we must clean-up the source instance as the cinder database won\'t
be updated with the provider_location. This means the volume cannot
be properly deleted from the array by cinder.
:param array: the array serial number
:param volume: the volume object
:param volume_name: the name of the volume
:param volume_dict: the source volume dictionary
:param extra_specs: the extra specifications'

def _cleanup_replication_source(self, array, volume, volume_name, volume_dict, extra_specs):

    LOG.warning('Replication    failed.    Cleaning    up    the    source    volume.    Volume    name:    %(sourceName)s    ', {'sourceName': volume_name})
    device_id = volume_dict['device_id']
    self._remove_vol_and_cleanup_replication(array, device_id, volume_name, extra_specs, volume)
    self._delete_from_srp(array, device_id, volume_name, extra_specs)
