示例#1
0
def zvol_create(request, parent):
    defaults = {
        'zvol_compression': 'inherit',
    }
    if request.method == 'POST':
        zvol_form = forms.ZVol_CreateForm(request.POST, vol_name=parent)
        if zvol_form.is_valid():
            props = {}
            cleaned_data = zvol_form.cleaned_data
            zvol_size = cleaned_data.get('zvol_size')
            zvol_blocksize = cleaned_data.get("zvol_blocksize")
            zvol_name = "%s/%s" % (parent, cleaned_data.get('zvol_name'))
            zvol_compression = cleaned_data.get('zvol_compression')
            props['compression'] = str(zvol_compression)
            if zvol_blocksize:
                props['volblocksize'] = zvol_blocksize
            errno, errmsg = notifier().create_zfs_vol(name=str(zvol_name),
                                                      size=str(zvol_size),
                                                      sparse=cleaned_data.get(
                                                          "zvol_sparse",
                                                          False),
                                                      props=props)
            if errno == 0:
                return JsonResp(request,
                                message=_("ZFS Volume successfully added."))
            else:
                zvol_form.set_error(errmsg)
    else:
        zvol_form = forms.ZVol_CreateForm(initial=defaults, vol_name=parent)
    return render(request, 'storage/zvols.html', {
        'form': zvol_form,
        'volume_name': parent,
    })
示例#2
0
def zvol_create(request, parent):
    if request.method == 'POST':
        zvol_form = forms.ZVol_CreateForm(request.POST, parentds=parent)
        if zvol_form.is_valid():
            if zvol_form.save():
                return JsonResp(request,
                                message=_("ZFS Volume successfully added."))
    else:
        zvol_form = forms.ZVol_CreateForm(
            initial={'zvol_compression': 'inherit'}, parentds=parent)
    return render(request, 'storage/zvols.html', {
        'form': zvol_form,
        'volume_name': parent,
    })