[Contrail UI] When there is no VM associated with FIP, clicking Disassociate throws Internal Server error

Bug #1363716 reported by Vedamurthy Joshi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Fix Committed
Undecided
Sachin Bansal

Bug Description

Build 1.10 28

Create a floating IP.
In the contrail UI > Manage Floating IPs page,
choose the FIP and click Disassociate.
It throws internal server error :

contrail-webui.log :
==================
2014-08-31T18:56:37.393Z - ^[[31merror^[[39m: URL [http://10.204.216.47:9100/floating-ip/8b51b4a2-360a-4d7e-86a8-b4d15a05bb86] returned error ["Internal Server Error"]
2014-08-31T18:56:37.396Z - ^[[31merror^[[39m: REST Server Error: Internal Server Error
    at APIServer.retryMakeCall (/usr/src/contrail/contrail-web-core/src/serverroot/common/rest.api.js:169:13)
    at EventEmitter.APIServer.makeCall (/usr/src/contrail/contrail-web-core/src/serverroot/common/rest.api.js:280:18)
    at EventEmitter.emit (events.js:99:17)
    at EventEmitter.mixin._fireSuccess (/usr/lib64/node_modules/restler/lib/restler.js:211:10)
    at mixin._responseHandler (/usr/lib64/node_modules/restler/lib/restler.js:152:20)
    at IncomingMessage.parsers.auto (/usr/lib64/node_modules/restler/lib/restler.js:368:7)
    at EventEmitter.mixin._encode (/usr/lib64/node_modules/restler/lib/restler.js:192:29)
    at mixin._responseHandler (/usr/lib64/node_modules/restler/lib/restler.js:148:16)
    at EventEmitter.mixin._decode (/usr/lib64/node_modules/restler/lib/restler.js:164:7)
    at IncomingMessage.mixin._responseHandler (/usr/lib64/node_modules/restler/lib/restler.js:141:14)
2014-08-31T19:06:50.822Z - ^[[31merror^[[39m: URL [http://10.204.216.47:9100/floating-ip/8b51b4a2-360a-4d7e-86a8-b4d15a05bb86] returned error ["Internal Server Error"]

contrail-api-0.log:
================
10.204.216.47 - - [2014-09-01 00:26:28] "POST /neutron/floatingip HTTP/1.1" 200 400 0.012471
10.204.216.47 - - [2014-09-01 00:26:37] "GET /floating-ip/8b51b4a2-360a-4d7e-86a8-b4d15a05bb86 HTTP/1.1" 200 1296 0.003139
ERROR:vnc_cfg_api_server.vnc_cfg_api_server:Exception in REST api handler:
<type 'exceptions.NameError'>
Python 2.7.3: /usr/bin/python
Mon Sep 1 00:26:37 2014

A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.

 /usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py in handler_trap_exception(*args=(), **kwargs={'id': '8b51b4a2-360a-4d7e-86a8-b4d15a05bb86'})
  401 def handler_trap_exception(*args, **kwargs):
  402 try:
  403 return handler(*args, **kwargs)
  404 except Exception as e:
  405 # don't log details of bottle.abort i.e handled error cases
handler = <bound method VncApiServer.floating_ip_http_put ...i_server.vnc_cfg_api_server.VncApiServer object>>
args = ()
kwargs = {'id': '8b51b4a2-360a-4d7e-86a8-b4d15a05bb86'}

 /usr/lib/python2.7/dist-packages/vnc_cfg_api_server/gen/vnc_api_server_gen.py in floating_ip_http_put(self=<vnc_cfg_api_server.vnc_cfg_api_server.VncApiServer object>, id='8b51b4a2-360a-4d7e-86a8-b4d15a05bb86')
 3636 xx_id_perms.build(node)
 3637 # common handling for all resource put
 3638 (ok, result) = self._put_common(request, 'floating_ip', id, fq_name, obj_dict)
 3639 if not ok:
 3640 (code, msg) = result
ok undefined
result undefined
self = <vnc_cfg_api_server.vnc_cfg_api_server.VncApiServer object>
self._put_common = <bound method VncApiServer._http_put_common of <...i_server.vnc_cfg_api_server.VncApiServer object>>
global request = <LocalRequest: PUT http://10.204.216.47:9100/floating-ip/8b51b4a2-360a-4d7e-86a8-b4d15a05bb86>
id = '8b51b4a2-360a-4d7e-86a8-b4d15a05bb86'
fq_name = [u'default-domain', u'public', u'public_vn', u'floating-ip-pool', u'8b51b4a2-360a-4d7e-86a8-b4d15a05bb86']
obj_dict = {u'display_name': u'8b51b4a2-360a-4d7e-86a8-b4d15a05bb86', u'floating_ip_address': u'10.204.219.205', u'fq_name': [u'default-domain', u'public', u'public_vn', u'floating-ip-pool', u'8b51b4a2-360a-4d7e-86a8-b4d15a05bb86'], u'href': u'http://10.204.216.47:9100/floating-ip/8b51b4a2-360a-4d7e-86a8-b4d15a05bb86', u'id_perms': {u'created': u'2014-08-31T18:56:20.281384', u'description': None, u'enable': True, u'last_modified': u'2014-08-31T18:56:20.281384', u'permissions': {u'group': u'cloud-admin-group', u'group_access': 7, u'other_access': 7, u'owner': u'cloud-admin', u'owner_access': 7}, u'uuid': {u'uuid_lslong': 9703204208421222000L, u'uuid_mslong': 10039003653169893000L}}, u'name': u'8b51b4a2-360a-4d7e-86a8-b4d15a05bb86', u'parent_href': u'http://10.204.216.47:9100/floating-ip-pool/7ae90f7a-23cb-4c6c-83dd-efafcf738a42', u'parent_type': u'floating-ip-pool', u'parent_uuid': u'7ae90f7a-23cb-4c6c-83dd-efafcf738a42', u'project_refs': [{u'attr': None, u'href': u'http://10.204.216.47:9100/project/4c935d93-d292-469c-8fce-8c40639f8705', u'to': [u'default-domain', u'project1'], u'uuid': u'4c935d93-d292-469c-8fce-8c40639f8705'}], ...}

 /usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py in _http_put_common(self=<vnc_cfg_api_server.vnc_cfg_api_server.VncApiServer object>, request=<LocalRequest: PUT http://10.204.216.47:9100/floating-ip/8b51b4a2-360a-4d7e-86a8-b4d15a05bb86>, obj_type='floating_ip', obj_uuid='8b51b4a2-360a-4d7e-86a8-b4d15a05bb86', obj_fq_name=[u'default-domain', u'public', u'public_vn', u'floating-ip-pool', u'8b51b4a2-360a-4d7e-86a8-b4d15a05bb86'], obj_dict={u'display_name': u'8b51b4a2-360a-4d7e-86a8-b4d15a05bb86', u'floating_ip_address': u'10.204.219.205', u'fq_name': [u'default-domain', u'public', u'public_vn', u'floating-ip-pool', u'8b51b4a2-360a-4d7e-86a8-b4d15a05bb86'], u'href': u'http://10.204.216.47:9100/floating-ip/8b51b4a2-360a-4d7e-86a8-b4d15a05bb86', u'id_perms': {u'created': u'2014-08-31T18:56:20.281384', u'description': None, u'enable': True, u'last_modified': u'2014-08-31T18:56:20.281384', u'permissions': {u'group': u'cloud-admin-group', u'group_access': 7, u'other_access': 7, u'owner': u'cloud-admin', u'owner_access': 7}, u'uuid': {u'uuid_lslong': 9703204208421222000L, u'uuid_mslong': 10039003653169893000L}}, u'name': u'8b51b4a2-360a-4d7e-86a8-b4d15a05bb86', u'parent_href': u'http://10.204.216.47:9100/floating-ip-pool/7ae90f7a-23cb-4c6c-83dd-efafcf738a42', u'parent_type': u'floating-ip-pool', u'parent_uuid': u'7ae90f7a-23cb-4c6c-83dd-efafcf738a42', u'project_refs': [{u'attr': None, u'href': u'http://10.204.216.47:9100/project/4c935d93-d292-469c-8fce-8c40639f8705', u'to': [u'default-domain', u'project1'], u'uuid': u'4c935d93-d292-469c-8fce-8c40639f8705'}], ...})
 1091 request.environ['HTTP_USER_AGENT'])
 1092 self.config_object_error(
 1093 obj_uuid, fq_name_str, obj_type, 'put', log_msg)
 1094 self._db_conn.set_uuid(obj_type, obj_dict,
 1095 uuid.UUID(obj_uuid),
obj_uuid = '8b51b4a2-360a-4d7e-86a8-b4d15a05bb86'
fq_name_str = u'default-domain:public:public_vn:floating-ip-pool:8b51b4a2-360a-4d7e-86a8-b4d15a05bb86'
obj_type = 'floating_ip'
log_msg = 'UUID mismatch from 10.204.216.47:Restler for node.js'

 /usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py in config_object_error(self=<vnc_cfg_api_server.vnc_cfg_api_server.VncApiServer object>, id='8b51b4a2-360a-4d7e-86a8-b4d15a05bb86', fq_name_str=u'default-domain:public:public_vn:floating-ip-pool:8b51b4a2-360a-4d7e-86a8-b4d15a05bb86', obj_type='floating_ip', operation='put', err_str='UUID mismatch from 10.204.216.47:Restler for node.js')
 1000 operation, err_str):
 1001 apiConfig = VncApiCommon()
 1002 if object_type is not None:
 1003 apiConfig.object_type = obj_type.replace('-', '_')
 1004 apiConfig.identifier_name = fq_name_str
object_type undefined
builtinNone = None
<type 'exceptions.NameError'>: global name 'object_type' is not defined
    __class__ = <type 'exceptions.NameError'>
    __delattr__ = <method-wrapper '__delattr__' of exceptions.NameError object>
    __dict__ = {}
    __doc__ = 'Name not found globally.'
    __format__ = <built-in method __format__ of exceptions.NameError object>
    __getattribute__ = <method-wrapper '__getattribute__' of exceptions.NameError object>
    __getitem__ = <method-wrapper '__getitem__' of exceptions.NameError object>
    __getslice__ = <method-wrapper '__getslice__' of exceptions.NameError object>
    __hash__ = <method-wrapper '__hash__' of exceptions.NameError object>
    __init__ = <method-wrapper '__init__' of exceptions.NameError object>
    __new__ = <built-in method __new__ of type object>
    __reduce__ = <built-in method __reduce__ of exceptions.NameError object>
    __reduce_ex__ = <built-in method __reduce_ex__ of exceptions.NameError object>
    __repr__ = <method-wrapper '__repr__' of exceptions.NameError object>
    __setattr__ = <method-wrapper '__setattr__' of exceptions.NameError object>
    __setstate__ = <built-in method __setstate__ of exceptions.NameError object>
    __sizeof__ = <built-in method __sizeof__ of exceptions.NameError object>
    __str__ = <method-wrapper '__str__' of exceptions.NameError object>
    __subclasshook__ = <built-in method __subclasshook__ of type object>
    __unicode__ = <built-in method __unicode__ of exceptions.NameError object>
    args = ("global name 'object_type' is not defined",)
    message = "global name 'object_type' is not defined"

The above is a description of an error in a Python program. Here is
the original traceback:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py", line 403, in handler_trap_exception
    return handler(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/vnc_cfg_api_server/gen/vnc_api_server_gen.py", line 3638, in floating_ip_http_put
    (ok, result) = self._put_common(request, 'floating_ip', id, fq_name, obj_dict)
  File "/usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py", line 1093, in _http_put_common
    obj_uuid, fq_name_str, obj_type, 'put', log_msg)
  File "/usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py", line 1002, in config_object_error
    if object_type is not None:
NameError: global name 'object_type' is not defined

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/bottle.py", line 764, in _handle
    return route.call(**args)
  File "/usr/lib/python2.7/dist-packages/bottle.py", line 1575, in wrapper
    rv = callback(*a, **ka)
  File "/usr/lib/python2.7/dist-packages/vnc_cfg_api_server/vnc_cfg_api_server.py", line 416, in handler_trap_exception
    raise e
NameError: global name 'object_type' is not defined
10.204.216.47 - - [2014-09-01 00:26:37] "PUT /floating-ip/8b51b4a2-360a-4d7e-86a8-b4d15a05bb86 HTTP/1.1" 500 156 0.008604

Tags: config ui
Revision history for this message
Prakash Bailkeri (prakashmb) wrote :
Changed in juniperopenstack:
status: New → Fix Committed
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.