示例#1
0
文件: tests.py 项目: bswartz/horizon
    def test_create_volume_type(self):
        formData = {"name": "volume type 1"}
        cinder.volume_type_create(IsA(http.HttpRequest), formData["name"]).AndReturn(self.volume_types.first())
        self.mox.ReplayAll()

        res = self.client.post(reverse("horizon:admin:volumes:create_type"), formData)

        redirect = reverse("horizon:admin:volumes:index")
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, redirect)
示例#2
0
    def test_create_volume_type(self):
        formData = {'name': 'volume type 1'}
        cinder.volume_type_create(IsA(http.HttpRequest),
                                  formData['name']).\
                                  AndReturn(self.volume_types.first())
        self.mox.ReplayAll()

        res = self.client.post(reverse('horizon:admin:volumes:create_type'),
                               formData)

        redirect = reverse('horizon:admin:volumes:index')
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, redirect)
示例#3
0
文件: tests.py 项目: JioCloud/horizon
    def test_create_volume_type(self):
        formData = {'name': 'volume type 1'}
        cinder.volume_type_create(IsA(http.HttpRequest),
                                  formData['name']).\
                                  AndReturn(self.volume_types.first())
        self.mox.ReplayAll()

        res = self.client.post(
            reverse('horizon:admin:volumes:volumes:create_type'),
            formData)

        redirect = reverse('horizon:admin:volumes:volumes_tab')
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, redirect)
示例#4
0
 def handle(self, request, data):
     try:
         # Remove any new lines in the public key
         volume_type = cinder.volume_type_create(
             request,
             data['name'],
             data['vol_type_description'])
         backend = data['backend']
         if backend:
             key = 'volume_backend_name'
             value = backend
             cinder.volume_type_extra_set(request,
                                          volume_type.id,
                                          {key: value})
         messages.success(request, _('Successfully created volume type: %s')
                          % data['name'])
         return volume_type
     except Exception as e:
         if getattr(e, 'code', None) == 409:
             msg = _('Volume type name "%s" already '
                     'exists.') % data['name']
             self._errors['name'] = self.error_class([msg])
         else:
             redirect = reverse("horizon:admin:volumes:index")
             exceptions.handle(request,
                               _('Unable to create volume type.'),
                               redirect=redirect)
示例#5
0
    def test_create_volume_type(self):
        formData = {
            'name': 'volume type 1',
            'vol_type_description': 'test desc',
            'is_public': True
        }
        cinder.volume_type_create(IsA(http.HttpRequest), formData['name'],
                                  formData['vol_type_description'],
                                  formData['is_public']).AndReturn(
                                      self.cinder_volume_types.first())
        self.mox.ReplayAll()

        res = self.client.post(
            reverse('horizon:admin:volume_types:create_type'), formData)
        self.assertNoFormErrors(res)
        self.assertRedirectsNoFollow(res, INDEX_URL)
示例#6
0
 def handle(self, request, data):
     #
     data_values = data
     nodes = data["nodes"]
     del data["nodes"]
     #
     # Create Storage group
     try:
         resp = api.create_storagegroup(self.request, data)
         if 200 <= resp.status_code < 300:
             data = resp.json()
         else:
             error_message = "Unable to create group"
             raise ValueError(resp.text)
     except Exception as e:
         strobj = "[]"
         exceptions.handle(self.request, _(e.message))
     #
     # Assign storage nodes to storage group
     groupid = data["id"]
     groupid = str(groupid)
     count = 0
     for node in nodes:
         count = count + 1
         try:
             resp = api.associate_group_node(self.request, groupid, node)
             if 200 <= resp.status_code < 300:
                 pass
             else:
                 error_message = "Unable to associate group and storage node"
                 raise ValueError(resp.text)
         except Exception as e:
             strobj = "[]"
             exceptions.handle(self.request, _(e.message))
     #
     # Create Volume type
     try:
         # Remove any new lines in the public key
         volume_type = cinder.volume_type_create(request, data["name"])
         messages.success(request, _("Successfully created volume type: %s") % data["name"])
     except Exception as e:
         if getattr(e, "code", None) == 409:
             msg = _('Volume type name "%s" already ' "exists.") % data["name"]
             self._errors["name"] = self.error_class([msg])
         else:
             exceptions.handle(self.request, _("Unable to create volume type."))
     #
     # Creating extra specs
     dspecs = {}
     dspecs["key"] = "sds:storage_group_id"
     dspecs["value"] = groupid
     type_id = volume_type.id
     try:
         cinder.volume_type_extra_set(request, type_id, {dspecs["key"]: dspecs["value"]})
         msg = _('Created extra spec "%s".') % dspecs["key"]
         messages.success(request, msg)
     except Exception:
         exceptions.handle(request, _("Unable to create volume type extra spec."), redirect=redirect)
     return data_values
 def handle(self, request, data):
     try:
         # Remove any new lines in the public key
         volume_type = cinder.volume_type_create(request, data["name"])
         messages.success(request, _("Successfully created volume type: %s") % data["name"])
         return volume_type
     except Exception:
         exceptions.handle(request, _("Unable to create volume type."))
         return False
示例#8
0
 def handle(self, request, data):
     try:
         # Remove any new lines in the public key
         volume_type = cinder.volume_type_create(request, data["name"])
         messages.success(request, _("Successfully created volume type: %s") % data["name"])
         return volume_type
     except Exception:
         redirect = reverse("horizon:admin:volumes:index")
         exceptions.handle(request, _("Unable to create volume type."), redirect=redirect)
示例#9
0
    def test_create_volume_type(self):
        formData = {'name': 'volume type 1',
                    'vol_type_description': 'test desc',
                    'is_public': True}
        cinder.volume_type_create(
            IsA(http.HttpRequest),
            formData['name'],
            formData['vol_type_description'],
            formData['is_public']).AndReturn(
                self.cinder_volume_types.first())
        self.mox.ReplayAll()

        res = self.client.post(
            reverse('horizon:admin:volume_types:create_type'),
            formData)
        self.assertNoFormErrors(res)
        redirect = reverse('horizon:admin:volume_types:index')
        self.assertRedirectsNoFollow(res, redirect)
示例#10
0
 def handle(self, request, data):
     try:
         # Remove any new lines in the public key
         volume_type = cinder.volume_type_create(request, data['name'])
         messages.success(
             request,
             _('Successfully created volume type: %s') % data['name'])
         return volume_type
     except Exception:
         exceptions.handle(request, _('Unable to create volume type.'))
         return False
示例#11
0
 def handle(self, request, data):
     try:
         # Remove any new lines in the public key
         volume_type = cinder.volume_type_create(request,
                                                 data['name'])
         messages.success(request, _('Successfully created volume type: %s')
                          % data['name'])
         return volume_type
     except Exception:
         redirect = reverse("horizon:admin:volumes:index")
         exceptions.handle(request,
                           _('Unable to create volume type.'),
                           redirect=redirect)
示例#12
0
 def handle(self, request, data):
     try:
         # Remove any new lines in the public key
         volume_type = cinder.volume_type_create(
             request, data['name'], data['vol_type_description'])
         messages.success(
             request,
             _('Successfully created volume type: %s') % data['name'])
         return volume_type
     except Exception as e:
         if getattr(e, 'code', None) == 409:
             msg = _('Volume type name "%s" already '
                     'exists.') % data['name']
             self._errors['name'] = self.error_class([msg])
         else:
             redirect = reverse("horizon:admin:volumes:index")
             exceptions.handle(request,
                               _('Unable to create volume type.'),
                               redirect=redirect)