'Deletes a lun.
:param volume:  volume object provided by the Manager'

@utils.synchronized('vmem-lun')
def _delete_lun(self, volume):

    success_msgs = ['Delete    resource    successfully', '']
    LOG.debug('Deleting    lun    %s.', volume['id'])
    self._delete_lun_snapshot_bookkeeping(volume['id'])
    try:
        self._send_cmd(self.vmem_mg.lun.delete_lun, success_msgs, volume['id'])
    except vmemclient.core.error.NoMatchingObjectIdError:
        LOG.debug('Lun    %s    already    deleted,    continuing.', volume['id'])
    except exception.ViolinBackendErrExists:
        LOG.exception('Lun    %s    has    dependent    snapshots,    skipping    lun    deletion.', volume['id'])
        raise exception.VolumeIsBusy(volume_name=volume['id'])
    except Exception:
        LOG.exception('Lun    delete    for    %s    failed!', volume['id'])
        raise
