Esempio n. 1
0
 def delete(self, request, cgroup_id):
     try:
         cinder.volume_cgroup_delete(request, cgroup_id, force=False)
     except Exception:
         redirect = reverse("horizon:virtual:volumes:index")
         exceptions.handle(request,
                           _('Unable to delete consistency group.'),
                           redirect=redirect)
Esempio n. 2
0
 def delete(self, request, cgroup_id):
     try:
         cinder.volume_cgroup_delete(request,
                                     cgroup_id,
                                     force=False)
     except Exception:
         redirect = reverse("horizon:project:volumes:index")
         exceptions.handle(request,
                           _('Unable to delete consistency group.'),
                           redirect=redirect)
Esempio n. 3
0
    def test_delete_cgroup(self):
        cgroup = self.cinder_consistencygroups.first()

        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_delete(IsA(http.HttpRequest), cgroup.id,
                                    force=False)
        self.mox.ReplayAll()

        url = reverse('horizon:project:cgroups:delete',
                      args=[cgroup.id])
        res = self.client.post(url)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, INDEX_URL)
Esempio n. 4
0
    def test_delete_cgroup(self):
        cgroup = self.cinder_consistencygroups.first()

        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_delete(IsA(http.HttpRequest), cgroup.id,
                                    force=False)
        self.mox.ReplayAll()

        url = reverse('horizon:project:cgroups:delete',
                      args=[cgroup.id])
        res = self.client.post(url)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, INDEX_URL)
Esempio n. 5
0
    def test_delete_cgroup_force_flag(self):
        cgroup = self.cinder_consistencygroups.first()
        formData = {'delete_volumes': True}

        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_delete(IsA(http.HttpRequest), cgroup.id,
                                    force=True)
        self.mox.ReplayAll()

        url = reverse('horizon:project:volumes:cgroups:delete',
                      args=[cgroup.id])
        res = self.client.post(url, formData)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, VOLUME_INDEX_URL)
Esempio n. 6
0
    def test_delete_cgroup_force_flag(self):
        cgroup = self.cinder_consistencygroups.first()
        formData = {'delete_volumes': True}

        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_delete(IsA(http.HttpRequest), cgroup.id,
                                    force=True)
        self.mox.ReplayAll()

        url = reverse('horizon:admin:volumes:cgroups:delete',
                      args=[cgroup.id])
        res = self.client.post(url, formData)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, VOLUME_INDEX_URL)
Esempio n. 7
0
    def test_delete_cgroup_exception(self):
        cgroup = self.cinder_consistencygroups.first()
        formData = {'delete_volumes': False}

        cinder.volume_cgroup_get(IsA(http.HttpRequest), cgroup.id).\
            AndReturn(cgroup)
        cinder.volume_cgroup_delete(IsA(http.HttpRequest),
                                    cgroup.id,
                                    force=False).\
            AndRaise(self.exceptions.cinder)
        self.mox.ReplayAll()

        url = reverse('horizon:compute_user:volume2:cgroups:delete',
                      args=[cgroup.id])
        res = self.client.post(url, formData)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, VOLUME_INDEX_URL)
Esempio n. 8
0
    def test_delete_cgroup(self):
        cgroups = self.cinder_consistencygroups.list()
        cgroup = self.cinder_consistencygroups.first()

        cinder.volume_cgroup_list_with_vol_type_names(IsA(http.HttpRequest)).\
            AndReturn(cgroups)
        cinder.volume_cgroup_delete(IsA(http.HttpRequest), cgroup.id,
                                    force=False)
        cinder.volume_cgroup_list_with_vol_type_names(IsA(http.HttpRequest)).\
            AndReturn(cgroups)

        self.mox.ReplayAll()

        formData = {'action': 'volume_cgroups__deletecg__%s' % cgroup.id}
        res = self.client.post(VOLUME_CGROUPS_TAB_URL, formData, follow=True)
        self.assertIn("Scheduled deletion of Consistency Group: cg_1",
                      [m.message for m in res.context['messages']])
Esempio n. 9
0
    def test_delete_cgroup(self):
        cgroups = self.cinder_consistencygroups.list()
        cgroup = self.cinder_consistencygroups.first()

        cinder.volume_cgroup_list_with_vol_type_names(IsA(http.HttpRequest)).\
            AndReturn(cgroups)
        cinder.volume_cgroup_delete(IsA(http.HttpRequest),
                                    cgroup.id,
                                    force=False)
        cinder.volume_cgroup_list_with_vol_type_names(IsA(http.HttpRequest)).\
            AndReturn(cgroups)

        self.mox.ReplayAll()

        formData = {'action': 'volume_cgroups__deletecg__%s' % cgroup.id}
        res = self.client.post(VOLUME_CGROUPS_TAB_URL, formData, follow=True)
        self.assertIn("Scheduled deletion of Consistency Group: cg_1",
                      [m.message for m in res.context['messages']])
Esempio n. 10
0
    def handle(self, request, data):
        cgroup_id = self.initial['cgroup_id']
        name = self.initial['name']
        delete_volumes = data['delete_volumes']

        try:
            cinder.volume_cgroup_delete(request,
                                        cgroup_id,
                                        force=delete_volumes)
            message = _('Deleting volume consistency ' 'group "%s"') % name
            messages.success(request, message)
            return True

        except Exception:
            redirect = reverse("horizon:admin:volumes:index")
            exceptions.handle(request,
                              _('Errors occurred in deleting '
                                'consistency group.'),
                              redirect=redirect)
Esempio n. 11
0
    def handle(self, request, data):
        cgroup_id = self.initial['cgroup_id']
        name = self.initial['name']
        delete_volumes = data['delete_volumes']

        try:
            cinder.volume_cgroup_delete(request,
                                        cgroup_id,
                                        force=delete_volumes)
            message = _('Deleting volume consistency '
                        'group "%s"') % name
            messages.success(request, message)
            return True

        except Exception:
            redirect = reverse("horizon:project:volumes:index")
            exceptions.handle(request, _('Errors occurred in deleting '
                                         'consistency group.'),
                              redirect=redirect)