Beispiel #1
0
def zvol_delete(request, name):

    if request.method == 'POST':
        form = forms.ZvolDestroyForm(request.POST, fs=name)
        extents = iSCSITargetExtent.objects.filter(
            iscsi_target_extent_type='ZVOL',
            iscsi_target_extent_path='zvol/' + name)
        if extents.count() > 0:
            return JsonResp(
                request,
                error=True,
                message=_("This is in use by the iscsi target, please remove "
                          "it there first."))
        if form.is_valid():
            retval = notifier().destroy_zfs_vol(name, recursive=True)
            if retval == '':
                return JsonResp(
                    request, message=_("ZFS Volume successfully destroyed."))
            else:
                return JsonResp(request, error=True, message=retval)
    else:
        form = forms.ZvolDestroyForm(fs=name)
    return render(request, 'storage/zvol_confirm_delete.html', {
        'form': form,
        'name': name,
    })
Beispiel #2
0
def zvol_delete(request, name):

    if request.method == 'POST':
        form = forms.ZvolDestroyForm(request.POST, fs=name)
        if not form.is_valid() or form.done() is False:
            return JsonResp(request, form=form)
        return JsonResp(request,
                        message=_("ZFS Volume successfully destroyed."))
    else:
        form = forms.ZvolDestroyForm(fs=name)
    return render(request, 'storage/zvol_confirm_delete.html', {
        'form': form,
        'name': name,
    })
Beispiel #3
0
def zvol_delete(request, name):

    if request.method == 'POST':
        form = forms.ZvolDestroyForm(request.POST, fs=name)
        if form.is_valid():
            with client as c:
                try:
                    c.call('pool.dataset.delete', name)
                except ClientException as e:
                    return JsonResp(
                        request,
                        error=True,
                        message=e.error)

            return JsonResp(
                request,
                message=_("ZFS Volume successfully destroyed."))
    else:
        form = forms.ZvolDestroyForm(fs=name)
    return render(request, 'storage/zvol_confirm_delete.html', {
        'form': form,
        'name': name,
    })