Пример #1
0
    def update_cell(self, request, data, volume_type_id,
                    cell_name, new_cell_value):
        # inline update volume type name and/or description
        try:
            vol_type_obj = data
            # updating changed value by new value
            setattr(vol_type_obj, cell_name, new_cell_value)
            name_value = getattr(vol_type_obj, 'name', None)
            desc_value = getattr(vol_type_obj, 'description', None)

            cinder.volume_type_update(
                request,
                volume_type_id,
                name=name_value,
                description=desc_value)
        except Exception as ex:
            if ex.code and ex.code == 409:
                error_message = _('New name conflicts with another '
                                  'volume type.')
            else:
                error_message = _('Unable to update the volume type.')
            exceptions.handle(request, error_message)
            return False

        return True
Пример #2
0
    def handle(self, request, data):
        volume_type_id = self.initial['id']
        try:
            cinder.volume_type_update(request, volume_type_id, data['name'],
                                      data['description'], data['is_public'])
            message = _('Successfully updated volume type.')
            messages.success(request, message)
            return True
        except Exception as ex:
            redirect = reverse("horizon:admin:volumes:index")
            if ex.code == 409:
                error_message = _('New name conflicts with another '
                                  'volume type.')
            else:
                error_message = _('Unable to update volume type.')

            exceptions.handle(request, error_message, redirect=redirect)
Пример #3
0
    def test_update_volume_type(self):
        volume_type = self.cinder_volume_types.first()
        formData = {'name': volume_type.name,
                    'description': 'test desc updated'}
        volume_type = cinder.volume_type_get(
            IsA(http.HttpRequest), volume_type.id).AndReturn(volume_type)
        cinder.volume_type_update(
            IsA(http.HttpRequest),
            volume_type.id,
            formData['name'],
            formData['description']).AndReturn(volume_type)
        self.mox.ReplayAll()

        url = reverse('horizon:admin:volumes:volume_types:update_type',
                      args=[volume_type.id])
        res = self.client.post(url, formData)
        self.assertNoFormErrors(res)
        redirect = reverse('horizon:admin:volumes:volume_types_tab')
        self.assertRedirectsNoFollow(res, redirect)
Пример #4
0
    def test_update_volume_type(self):
        volume_type = self.cinder_volume_types.first()
        formData = {
            'name': volume_type.name,
            'description': 'test desc updated'
        }
        volume_type = cinder.volume_type_get(IsA(
            http.HttpRequest), volume_type.id).AndReturn(volume_type)
        cinder.volume_type_update(
            IsA(http.HttpRequest), volume_type.id, formData['name'],
            formData['description']).AndReturn(volume_type)
        self.mox.ReplayAll()

        url = reverse('horizon:admin:volumes:volume_types:update_type',
                      args=[volume_type.id])
        res = self.client.post(url, formData)
        self.assertNoFormErrors(res)
        redirect = reverse('horizon:admin:volumes:volume_types_tab')
        self.assertRedirectsNoFollow(res, redirect)
Пример #5
0
    def handle(self, request, data):
        volume_type_id = self.initial['id']
        try:
            cinder.volume_type_update(request,
                                      volume_type_id,
                                      data['name'],
                                      data['description'])
            message = _('Successfully updated volume type.')
            messages.success(request, message)
            return True
        except Exception as ex:
            redirect = reverse("horizon:admin:volumes:index")
            if ex.code == 409:
                error_message = _('New name conflicts with another '
                                  'volume type.')
            else:
                error_message = _('Unable to update volume type.')

            exceptions.handle(request, error_message,
                              redirect=redirect)