Example #1
0
 def clean(self):
     cleaned_data = self.cleaned_data
     full_zvol_name = "%s/%s" % (self.vol_name,
                                 cleaned_data.get("zvol_name"))
     if len(zfs.list_datasets(path=full_zvol_name)) > 0:
         msg = _(u"You already have a dataset with the same name")
         self._errors["zvol_name"] = self.error_class([msg])
         del cleaned_data["zvol_name"]
     return cleaned_data
Example #2
0
 def clean(self):
     cleaned_data = _clean_quota_fields(
         self, ('refquota', 'quota', 'reserv', 'refreserv'), "dataset_")
     full_dataset_name = "%s/%s" % (self.fs,
                                    cleaned_data.get("dataset_name"))
     if len(zfs.list_datasets(path=full_dataset_name)) > 0:
         msg = _(u"You already have a dataset with the same name")
         self._errors["dataset_name"] = self.error_class([msg])
         del cleaned_data["dataset_name"]
     return cleaned_data
Example #3
0
def dataset_delete(request, name):

    datasets = zfs.list_datasets(path=name, recursive=True)
    if request.method == 'POST':
        form = forms.Dataset_Destroy(request.POST, fs=name, datasets=datasets)
        if form.is_valid():
            retval = notifier().destroy_zfs_dataset(path=name, recursive=True)
            if retval == '':
                notifier().restart("collectd")
                return JsonResponse(
                    message=_("Dataset successfully destroyed."))
            else:
                return JsonResponse(error=True, message=retval)
    else:
        form = forms.Dataset_Destroy(fs=name, datasets=datasets)
    return render(request, 'storage/dataset_confirm_delete.html', {
        'name': name,
        'form': form,
        'datasets': datasets,
    })
Example #4
0
def dataset_delete(request, name):

    datasets = zfs.list_datasets(path=name, recursive=True)
    if request.method == 'POST':
        form = forms.Dataset_Destroy(request.POST, fs=name, datasets=datasets)
        if form.is_valid():
            retval = notifier().destroy_zfs_dataset(path=name, recursive=True)
            if retval == '':
                notifier().restart("collectd")
                return JsonResponse(
                    message=_("Dataset successfully destroyed.")
                    )
            else:
                return JsonResponse(error=True, message=retval)
    else:
        form = forms.Dataset_Destroy(fs=name, datasets=datasets)
    return render(request, 'storage/dataset_confirm_delete.html', {
        'name': name,
        'form': form,
        'datasets': datasets,
    })
Example #5
0
 def get_datasets(self, hierarchical=False):
     if self.vol_fstype == 'ZFS':
         return zfs.list_datasets(path=self.vol_name,
                                  recursive=True,
                                  hierarchical=hierarchical)
Example #6
0
 def get_datasets(self, hierarchical=False):
     if self.vol_fstype == 'ZFS':
         return zfs.list_datasets(path=self.vol_name,
             recursive=True,
             hierarchical=hierarchical)