def test_auto(self): data = dict( mode=REPLACE_DISK_AUTO, disks='', node='', iallocator='' ) form = ReplaceDisksForm(self.vm, data) form.is_valid() self.assertTrue(form.is_valid(), form.errors) form.save()
def replace_disks(request, cluster_slug, instance): """ view used for initiating a Replace Disks job """ vm, cluster = get_vm_and_cluster_or_404(cluster_slug, instance) user = request.user if not (user.is_superuser or user.has_any_perms(cluster, ['admin', 'replace_disks'])): raise Http403(NO_PRIVS) if request.method == 'POST': form = ReplaceDisksForm(vm, request.POST) if form.is_valid(): try: job = form.save() job.refresh() content = json.dumps(job.info) # log information log_action('VM_REPLACE_DISKS', user, vm, job) except GanetiApiError, e: content = json.dumps({'__all__': [str(e)]}) else: # error in form return ajax response content = json.dumps(form.errors) return HttpResponse(content, mimetype='application/json')
def test_replace_new_secondary_without_node(self): data = dict(mode=REPLACE_DISK_CHG, disks='', node=None, iallocator=False) form = ReplaceDisksForm(self.vm, data) self.assertFalse(form.is_valid(), form.errors)
def replace_disks(request, cluster_slug, instance): """ view used for initiating a Replace Disks job """ vm, cluster = get_vm_and_cluster_or_404(cluster_slug, instance) user = request.user if not (user.is_superuser or user.has_any_perms(cluster, ['admin','replace_disks'])): raise Http403(NO_PRIVS) if request.method == 'POST': form = ReplaceDisksForm(vm, request.POST) if form.is_valid(): try: job = form.save() job.refresh() content = json.dumps(job.info) # log information log_action('VM_REPLACE_DISKS', user, vm, job) except GanetiApiError, e: content = json.dumps({'__all__':[str(e)]}) else: # error in form return ajax response content = json.dumps(form.errors) return HttpResponse(content, mimetype='application/json')
def test_replace_new_secondary_with_iallocator(self): data = dict(mode=REPLACE_DISK_CHG, disks='', node='', iallocator=True, iallocator_hostname='foo.bar.com') form = ReplaceDisksForm(self.vm, data) self.assertTrue(form.is_valid(), form.errors)
def test_replace_new_secondary_with_node(self): data = dict(mode=REPLACE_DISK_CHG, disks='', node='gtest1.example.bak', iallocator='') form = ReplaceDisksForm(self.vm, data) self.assertTrue(form.is_valid(), form.errors) form.save()
def test_replace_new_secondary_without_node(self): data = dict( mode=REPLACE_DISK_CHG, disks='', node=None, iallocator=False ) form = ReplaceDisksForm(self.vm, data) self.assertFalse(form.is_valid(), form.errors)
def test_clean_disks_multiple(self): data = dict(mode=REPLACE_DISK_AUTO, disks=[0, 0], node='', iallocator='') form = ReplaceDisksForm(self.vm, data) self.assertTrue(form.is_valid(), form.errors) self.assertEqual('0,0', form.cleaned_data['disks']) form.save()
def test_replace_new_secondary_with_iallocator(self): data = dict( mode=REPLACE_DISK_CHG, disks='', node='', iallocator=True, iallocator_hostname='foo.bar.com' ) form = ReplaceDisksForm(self.vm, data) self.assertTrue(form.is_valid(), form.errors)
def test_replace_new_secondary_with_node(self): data = dict( mode=REPLACE_DISK_CHG, disks='', node='gtest1.example.bak', iallocator='' ) form = ReplaceDisksForm(self.vm, data) self.assertTrue(form.is_valid(), form.errors) form.save()
def test_clean_disks_single(self): data = dict( mode=REPLACE_DISK_AUTO, disks=[0], node='', iallocator='' ) form = ReplaceDisksForm(self.vm, data) self.assertTrue(form.is_valid(), form.errors) self.assertEqual('0', form.cleaned_data['disks']) form.save()
def test_auto(self): data = dict(mode=REPLACE_DISK_AUTO, disks='', node='', iallocator='') form = ReplaceDisksForm(self.vm, data) form.is_valid() self.assertTrue(form.is_valid(), form.errors) form.save()