コード例 #1
0
    def get(self, request, vimid):

        return self.send(vimid,
                         request.get_full_path(),
                         request.body,
                         "GET",
                         headers=originHeaders(request))
コード例 #2
0
    def delete(self, request, vimid):

        return self.send(vimid,
                         request.get_full_path(),
                         request.body,
                         "DELETE",
                         headers=originHeaders(request))
コード例 #3
0
 def delete(self, request, cloud_owner, cloud_region_id):
     vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
     return self.send(vimid,
                      request.get_full_path(),
                      request.body,
                      "DELETE",
                      headers=originHeaders(request))
コード例 #4
0
    def patch(self, request, vimid):

        return self.send(vimid,
                         request.get_full_path(),
                         request.body,
                         "PATCH",
                         headers=originHeaders(request))
コード例 #5
0
    def post(self, request):
        try:
            body = json.loads(request.body)
        except ValueError as e:
            return Response(data={'error': 'Invalidate request body %s.' % e},
                            status=status.HTTP_400_BAD_REQUEST)

        ret = {"VIMs": []}
        newbody = {
            "vCPU": body.get("vCPU", 0),
            "Memory": body.get("Memory", 0),
            "Storage": body.get("Storage", 0)
        }
        for vim in body.get("VIMs", []):
            url = request.get_full_path().replace("check_vim_capacity",
                                                  "%s/capacity_check" % vim)
            resp = self.send(vim,
                             url,
                             json.dumps(newbody),
                             "POST",
                             headers=originHeaders(request))
            if int(resp.status_code) != status.HTTP_200_OK:
                continue
            try:
                resp_body = json.loads(resp.content)
            except ValueError:
                continue
            if not resp_body.get("result", False):
                continue
            ret['VIMs'].append(vim)
        return Response(data=ret, status=status.HTTP_200_OK)
コード例 #6
0
 def post(self, request, cloud_owner, cloud_region_id):
     vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
     content_type = request.META.get('CONTENT_TYPE', 'application/json')
     if content_type.startswith("multipart"):
         return self.__process_multipart(request, vimid)
     return self.send(vimid,
                      request.get_full_path(),
                      request.body,
                      "POST",
                      headers=originHeaders(request))
コード例 #7
0
 def test_originHeaders(self):
     req = mock.Mock()
     req.META = {
         "HTTP_X_AUTH_TOKEN": "token_1",
         "NOT_STARTSWITH_HTTP": "value_1",
         "CONTENT_TYPE": "application/json"
     }
     expect_headers = {
         "X-AUTH-TOKEN": "token_1",
         "CONTENT-TYPE": "application/json"
     }
     ret_headers = syscomm.originHeaders(req)
     self.assertDictEqual(expect_headers, ret_headers)
コード例 #8
0
    def post(self, request):
        try:
            body = json.loads(request.body)
        except ValueError as e:
            return Response(data={'error': 'Invalidate request body %s.' % e},
                            status=status.HTTP_400_BAD_REQUEST)

        ret = {"VIMs": []}
        newbody = {
            "vCPU": body.get("vCPU", 0),
            "Memory": body.get("Memory", 0),
            "Storage": body.get("Storage", 0)
        }
        for vim in body.get("VIMs", []):
            cloud_owner = vim["cloud-owner"]
            cloud_region_id = vim["cloud-region-id"]
            url = request.get_full_path().replace(
                "check_vim_capacity",
                "%s/%s/capacity_check" % (cloud_owner, cloud_region_id))
            vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
            resp = self.send(vimid,
                             url,
                             json.dumps(newbody),
                             "POST",
                             headers=originHeaders(request))

            if int(resp.status_code) != status.HTTP_200_OK:
                continue

            try:
                resp_body = json.loads(resp.content)
            except ValueError:
                continue
            if not resp_body.get("result", False):
                continue
            azCapInfo = resp_body.get("AZs", [])
            vim["AZs"] = azCapInfo
            ret['VIMs'].append(vim)
        return Response(data=ret, status=status.HTTP_200_OK)