Glare API for create/Update Artifact with leading zeros results in traceback in API response sporadically

Bug #1763626 reported by Divya BC
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Glare
New
Undecided
Unassigned

Bug Description

ERROR Response while sending invaid value ("00.0.0") for version gives Error, Which sometime provides "traceback" attribute sporadically.

API :

CREATE API

https://{{IP}}:9494/artifacts/vnf_packages

Body:

{"name":"vnf",
"version": "00.0.0"
}

Response :
{
    "explanation": "The server could not comply with the request since it is either malformed or otherwise incorrect.",
    "code": 400,
    "error": {
        "message": "Type: vnf_packages. Field: version. Exception: Invalid leading zero in major: '00.0.0'",
        "traceback": "Traceback (most recent call last):\n File \"/usr/lib/python2.7/site-packages/glare/api/middleware/fault.py\", line 125, in __call__\n return req.get_response(self.application)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1316, in send\n application, catch_exc_info=False)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1280, in call_application\n app_iter = application(self.environ, start_response)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 131, in __call__\n resp = self.call_func(req, *args, **self.kwargs)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 196, in call_func\n return self.func(req, *args, **kwargs)\n File \"/usr/lib/python2.7/site-packages/oslo_middleware/base.py\", line 131, in __call__\n response = req.get_response(self.application)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1316, in send\n application, catch_exc_info=False)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1280, in call_application\n app_iter = application(self.environ, start_response)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 131, in __call__\n resp = self.call_func(req, *args, **self.kwargs)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 196, in call_func\n return self.func(req, *args, **kwargs)\n File \"/usr/lib/python2.7/site-packages/oslo_middleware/base.py\", line 131, in __call__\n response = req.get_response(self.application)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1316, in send\n application, catch_exc_info=False)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1280, in call_application\n app_iter = application(self.environ, start_response)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 131, in __call__\n resp = self.call_func(req, *args, **self.kwargs)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 196, in call_func\n return self.func(req, *args, **kwargs)\n File \"/usr/lib/python2.7/site-packages/oslo_middleware/base.py\", line 131, in __call__\n response = req.get_response(self.application)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1316, in send\n application, catch_exc_info=False)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1280, in call_application\n app_iter = application(self.environ, start_response)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 131, in __call__\n resp = self.call_func(req, *args, **self.kwargs)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 196, in call_func\n return self.func(req, *args, **kwargs)\n File \"/usr/lib/python2.7/site-packages/osprofiler/web.py\", line 112, in __call__\n return request.get_response(self.application)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1316, in send\n application, catch_exc_info=False)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1280, in call_application\n app_iter = application(self.environ, start_response)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 131, in __call__\n resp = self.call_func(req, *args, **self.kwargs)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 196, in call_func\n return self.func(req, *args, **kwargs)\n File \"/usr/lib/python2.7/site-packages/glare/api/middleware/keycloak_auth.py\", line 168, in __call__\n return request.get_response(self.application)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1316, in send\n application, catch_exc_info=False)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1280, in call_application\n app_iter = application(self.environ, start_response)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 131, in __call__\n resp = self.call_func(req, *args, **self.kwargs)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 196, in call_func\n return self.func(req, *args, **kwargs)\n File \"/usr/lib/python2.7/site-packages/oslo_middleware/base.py\", line 131, in __call__\n response = req.get_response(self.application)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1316, in send\n application, catch_exc_info=False)\n File \"/usr/lib/python2.7/site-packages/webob/request.py\", line 1280, in call_application\n app_iter = application(self.environ, start_response)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 145, in __call__\n return resp(environ, start_response)\n File \"/usr/lib/python2.7/site-packages/routes/middleware.py\", line 141, in __call__\n response = self.app(environ, start_response)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 145, in __call__\n return resp(environ, start_response)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 131, in __call__\n resp = self.call_func(req, *args, **self.kwargs)\n File \"/usr/lib/python2.7/site-packages/webob/dec.py\", line 196, in call_func\n return self.func(req, *args, **kwargs)\n File \"/usr/lib/python2.7/site-packages/glare/common/wsgi.py\", line 772, in __call__\n request, **action_args)\n File \"/usr/lib/python2.7/site-packages/glare/common/wsgi.py\", line 815, in dispatch\n return method(*args, **kwargs)\n File \"/usr/lib/python2.7/site-packages/glare/api/v1/resource.py\", line 265, in log_decorator\n result = f(self, req, *args, **kwargs)\n File \"/usr/lib/python2.7/site-packages/glare/api/v1/resource.py\", line 327, in create\n return self.engine.create(req.context, type_name, values)\n File \"/usr/lib/python2.7/site-packages/glare/engine.py\", line 242, in create\n af = artifact_type.init_artifact(context, init_values)\n File \"/usr/lib/python2.7/site-packages/glare/objects/base.py\", line 239, in init_artifact\n setattr(af, name, value)\n File \"/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py\", line 72, in setter\n field_value = field.coerce(self, name, value)\n File \"/usr/lib/python2.7/site-packages/glare/objects/meta/wrappers.py\", line 180, in coerce_wrapper\n raise exc.BadRequest(message=msg)\nBadRequest: Type: vnf_packages. Field: version. Exception: Invalid leading zero in major: '00.0.0'\n",
        "type": "BadRequest"
    },
    "title": "Bad Request"
}

description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.