'Clone a new volume from an existing volume.'

def create_cloned_volume(self, volume, src_vref):

    self._check_volume_exist_on_array(src_vref, constants.VOLUME_NOT_EXISTS_RAISE)
    snapshot = Snapshot(id=uuid.uuid4().__str__(), volume_id=src_vref.id, volume=src_vref, provider_location=None)
    self.create_snapshot(snapshot)
    try:
        model_update = self.create_volume_from_snapshot(volume, snapshot)
    finally:
        try:
            self.delete_snapshot(snapshot)
        except exception.VolumeBackendAPIException:
            LOG.warning('Failure    deleting    the    snapshot    %(snapshot_id)s    of    volume    %(volume_id)s.', {'snapshot_id': snapshot.id, 'volume_id': src_vref.id})
    return model_update
