Invalid response code from API server
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
Trunk |
Fix Committed
|
Undecided
|
Sachin Bansal | |||
OpenContrail |
Fix Committed
|
Undecided
|
Sachin Bansal |
Bug Description
I get the following traceback in service monitor logs:
Traceback (most recent call last):
File "/mnt/xbend/
self.
File "/mnt/xbend/
vm = self._check_
File "/mnt/xbend/
vm_obj=vm_obj)
File "/mnt/xbend/
self.
File "/mnt/xbend/
data=
File "/mnt/xbend/
retry_
File "/mnt/xbend/
raise HttpError(status, content)
HttpError: HTTP Status: 500 Content: Internal Server Error
At the same time in API server logs I get this error:
Traceback (most recent call last):
File "/mnt/xbend/
return route.call(**args)
File "/mnt/xbend/
rv = callback(*a, **ka)
File "/mnt/xbend/
return fn(*args, **kwargs)
File "/mnt/xbend/
response = handler(*args, **kwargs)
File "/mnt/xbend/
obj_
File "/mnt/xbend/
obj_type, [obj_id], obj_fields, ret_readonly=
File "/mnt/xbend/
return func(*args, **kwargs)
File "/mnt/xbend/
raise NoIdError(
NoIdError: Unknown id: 9a211a55-
This seems to be an issue with the API server. If NoIdError occurs during request processing, the return code from the API should be 404, not 500.
If it were 404, the error would have been caught in service monitor.
Changed in opencontrail: | |
assignee: | nobody → Sachin Bansal (sbansal) |
Changed in opencontrail: | |
status: | New → Fix Committed |
I don't think this is a duplicate.
I think this is an issue with the API server. There should be try-except block around the following lines in vnc_cfg_ api_server. py:
try: conn.dbe_ read(obj_ type, obj_uuid,
obj_fields= ['perms2' ]) exceptions. HttpError( 404, str(e))
(ok, obj_dict) = self._db_
except NoIdError as e:
raise cfgm_common.