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
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
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, })
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, })
def get_datasets(self, hierarchical=False): if self.vol_fstype == 'ZFS': return zfs.list_datasets(path=self.vol_name, recursive=True, hierarchical=hierarchical)