[ubuntu-havana-R1.06-43] schema crashed while deleting SI

Bug #1330472 reported by Prashant Shetty
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Fix Committed
High
Sachin Bansal
R1.05
Fix Committed
Undecided
Unassigned

Bug Description

During SVC test while deleting service instance schema crashed with below trace on both single/multi node sanity with Ubuntu havana #43.
Can you please take a look.

All logs/cores will be at /cs-shared/test_runs/nodeb5/2014_06_16_14_23_19 on nodeb10.englab.juniper.net

Logs:

<class 'cfgm_common.exceptions.NoIdError'>
Python 2.7.3: /opt/contrail/api-venv/bin/python
Mon Jun 16 16:01:08 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.

 /opt/contrail/api-venv/lib/python2.7/site-packages/schema_transformer/to_bgp.py in launch_arc(transformer=<__main__.SchemaTransformer object>, ssrc_mapc=<cfgm_common.ifmap.clien
t.client instance>)
 3087 result = arc_mapc.call('poll', pollreq)
 3088 try:
 3089 transformer.process_poll_result(result)
 3090 except Exception as e:
 3091 cgitb.Hook(
transformer = <__main__.SchemaTransformer object>
transformer.process_poll_result = <bound method SchemaTransformer.process_poll_result of <__main__.SchemaTransformer object>>
result = '<?xml version="1.0" encoding="UTF-8" standalone=...lResult></ns2:response></ns3:Body></ns3:Envelope>'

 /opt/contrail/api-venv/lib/python2.7/site-packages/schema_transformer/to_bgp.py in process_poll_result(self=<__main__.SchemaTransformer object>, poll_result_str='<?xml version="
1.0" encoding="UTF-8" standalone=...lResult></ns2:response></ns3:Body></ns3:Envelope>')
 2765 pass
 2766 else:
 2767 func(idents, meta)
 2768 # end for meta
 2769 # end for result_type
func = <bound method SchemaTransformer.add_instance_ip_...interface of <__main__.SchemaTransformer object>>
idents = {'instance-ip': '567fa60d-4a5b-448e-9032-9421daaf0929 192.168.1.8', 'virtual-machine-interface': 'default-domain:admin:3caa63e6-54e0-4d58-a6b4-edcf9ffdcb56'}
meta = <Element {http://www.contrailsystems.com/vnc_cfg.xsd}instance-ip-virtual-machine-interface>

 /opt/contrail/api-venv/lib/python2.7/site-packages/schema_transformer/to_bgp.py in add_instance_ip_virtual_machine_interface(self=<__main__.SchemaTransformer object>, idents={'i
nstance-ip': '567fa60d-4a5b-448e-9032-9421daaf0929 192.168.1.8', 'virtual-machine-interface': 'default-domain:admin:3caa63e6-54e0-4d58-a6b4-edcf9ffdcb56'}, meta=<Element {http://
www.contrailsystems.com/vnc_cfg.xsd}instance-ip-virtual-machine-interface>)
 2475 vmi = VirtualMachineInterfaceST.locate(vmi_name)
 2476 if vmi is not None:
 2477 self.current_network_set |= vmi.rebake()
 2478 #end add_instance_ip_virtual_machine_interface
 2479
self = <__main__.SchemaTransformer object>
self.current_network_set = set([])
vmi = <__main__.VirtualMachineInterfaceST object>
vmi.rebake = <bound method VirtualMachineInterfaceST.rebake of <__main__.VirtualMachineInterfaceST object>>

 /opt/contrail/api-venv/lib/python2.7/site-packages/schema_transformer/to_bgp.py in rebake(self=<__main__.VirtualMachineInterfaceST object>)
 2159 if self.service_interface_type not in ['left', 'right']:
 2160 return network_set
 2161 vmi_obj = _vnc_lib.virtual_machine_interface_read(fq_name_str=self.name)
2162 vm_id = get_vm_id_from_interface(vmi_obj)
 2163 if vm_id is None:
vmi_obj undefined
global _vnc_lib = <vnc_api.vnc_api.VncApi object>
_vnc_lib.virtual_machine_interface_read = <bound method VncApi.virtual_machine_interface_read of <vnc_api.vnc_api.VncApi object>>
fq_name_str undefined
self = <__main__.VirtualMachineInterfaceST object>
self.name = 'default-domain:admin:3caa63e6-54e0-4d58-a6b4-edcf9ffdcb56'

 /usr/lib/python2.7/dist-packages/vnc_api/gen/vnc_api_client_gen.py in virtual_machine_interface_read(self=<vnc_api.vnc_api.VncApi object>, fq_name=None, fq_name_str='default-dom
ain:admin:3caa63e6-54e0-4d58-a6b4-edcf9ffdcb56', id=None, ifmap_id=None, fields=None)
 4818
 4819 """
 4820 (args_ok, result) = self._read_args_to_id('virtual-machine-interface', fq_name, fq_name_str, id, ifmap_id)
 4821 if not args_ok:
 4822 return result
args_ok undefined
result undefined
self = <vnc_api.vnc_api.VncApi object>
self._read_args_to_id = <bound method VncApi._read_args_to_id of <vnc_api.vnc_api.VncApi object>>
fq_name = None
fq_name_str = 'default-domain:admin:3caa63e6-54e0-4d58-a6b4-edcf9ffdcb56'
id = None
ifmap_id = None

 /usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py in _read_args_to_id(self=<vnc_api.vnc_api.VncApi object>, obj_type='virtual-machine-interface', fq_name=None, fq_name_str='de
fault-domain:admin:3caa63e6-54e0-4d58-a6b4-edcf9ffdcb56', id=None, ifmap_id=None)
  301 return (True, self.fq_name_to_id(obj_type, fq_name))
  302 if fq_name_str:
  303 return (True, self.fq_name_to_id(obj_type, fq_name_str.split(':')))
  304 if ifmap_id:
  305 return (True, self.ifmap_to_id(ifmap_id))
builtinTrue = True
self = <vnc_api.vnc_api.VncApi object>
self.fq_name_to_id = <bound method VncApi.fq_name_to_id of <vnc_api.vnc_api.VncApi object>>
obj_type = 'virtual-machine-interface'
fq_name_str = 'default-domain:admin:3caa63e6-54e0-4d58-a6b4-edcf9ffdcb56'
fq_name_str.split = <built-in method split of str object>

 /usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py in fq_name_to_id(self=<vnc_api.vnc_api.VncApi object>, obj_type='virtual-machine-interface', fq_name=['default-domain', 'admi
n', '3caa63e6-54e0-4d58-a6b4-edcf9ffdcb56'])
  386 uri = self._action_uri['name-to-id']
  387 try:
  388 content = self._request_server(rest.OP_POST, uri, data=json_body)
  389 except HttpError as he:
  390 if he.status_code == 404:
content undefined
self = <vnc_api.vnc_api.VncApi object>
self._request_server = <bound method VncApi._request_server of <vnc_api.vnc_api.VncApi object>>
global rest = <module 'cfgm_common.rest' from '/opt/contrail/a...ib/python2.7/site-packages/cfgm_common/rest.pyc'>
rest.OP_POST = 1
uri = u'/fqname-to-id'
data undefined
json_body = '{"fq_name": ["default-domain", "admin", "3caa63e...f9ffdcb56"], "type": "virtual-machine-interface"}'

 /usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py in _request_server(self=<vnc_api.vnc_api.VncApi object>, op=1, url=u'/fqname-to-id', data='{"fq_name": ["default-domain", "ad
min", "3caa63e...f9ffdcb56"], "type": "virtual-machine-interface"}', retry_on_error=True)
  345 elif status == 404:
  346 raise NoIdError('Error: oper %s url %s body %s response %s'
  347 % (op, url, data, content))
  348 elif status == 403:
  349 raise PermissionDenied(content)
op = 1
url = u'/fqname-to-id'
data = '{"fq_name": ["default-domain", "admin", "3caa63e...f9ffdcb56"], "type": "virtual-machine-interface"}'
content = u"Name [u'default-domain', u'admin', u'3caa63e6-54e0-4d58-a6b4-edcf9ffdcb56'] not found"
<class 'cfgm_common.exceptions.NoIdError'>: Unknown id: Error: oper 1 url /fqname-to-id body {"fq_name": ["default-domain", "admin", "3caa63e6-54e0-4d58-a6b4-edcf9ffdcb56"], "typ
e": "virtual-machine-interface"} response Name [u'default-domain', u'admin', u'3caa63e6-54e0-4d58-a6b4-edcf9ffdcb56'] not found
    __class__ = <class 'cfgm_common.exceptions.NoIdError'>
    __delattr__ = <method-wrapper '__delattr__' of NoIdError object>
    __dict__ = {'_unknown_id': u'Error: oper 1 url /fqname-to-id body {"fq_name...caa63e6-54e0-4d58-a6b4-edcf9ffdcb56\'] not found'}
    __doc__ = None
    __format__ = <built-in method __format__ of NoIdError object>
    __getattribute__ = <method-wrapper '__getattribute__' of NoIdError object>
    __getitem__ = <method-wrapper '__getitem__' of NoIdError object>
    __getslice__ = <method-wrapper '__getslice__' of NoIdError object>
    __hash__ = <method-wrapper '__hash__' of NoIdError object>
    __init__ = <bound method NoIdError.__init__ of NoIdError()>
    __module__ = 'cfgm_common.exceptions'
    __new__ = <built-in method __new__ of type object>
    __reduce__ = <built-in method __reduce__ of NoIdError object>
    __reduce_ex__ = <built-in method __reduce_ex__ of NoIdError object>
    __repr__ = <method-wrapper '__repr__' of NoIdError object>
    __setattr__ = <method-wrapper '__setattr__' of NoIdError object>
    __setstate__ = <built-in method __setstate__ of NoIdError object>
    __sizeof__ = <built-in method __sizeof__ of NoIdError object>
    __str__ = <bound method NoIdError.__str__ of NoIdError()>
    __subclasshook__ = <built-in method __subclasshook__ of type object>
    __unicode__ = <built-in method __unicode__ of NoIdError object>
    __weakref__ = None
    _unknown_id = u'Error: oper 1 url /fqname-to-id body {"fq_name...caa63e6-54e0-4d58-a6b4-edcf9ffdcb56\'] not found'
    args = ()
    message = ''

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

Traceback (most recent call last):
  File "/opt/contrail/api-venv/lib/python2.7/site-packages/schema_transformer/to_bgp.py", line 3089, in launch_arc
    transformer.process_poll_result(result)
  File "/opt/contrail/api-venv/lib/python2.7/site-packages/schema_transformer/to_bgp.py", line 2767, in process_poll_result
    func(idents, meta)
  File "/opt/contrail/api-venv/lib/python2.7/site-packages/schema_transformer/to_bgp.py", line 2477, in add_instance_ip_virtual_machine_interface
    self.current_network_set |= vmi.rebake()
  File "/opt/contrail/api-venv/lib/python2.7/site-packages/schema_transformer/to_bgp.py", line 2161, in rebake
    vmi_obj = _vnc_lib.virtual_machine_interface_read(fq_name_str=self.name)
  File "/usr/lib/python2.7/dist-packages/vnc_api/gen/vnc_api_client_gen.py", line 4820, in virtual_machine_interface_read
    (args_ok, result) = self._read_args_to_id('virtual-machine-interface', fq_name, fq_name_str, id, ifmap_id)
  File "/usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py", line 303, in _read_args_to_id
    return (True, self.fq_name_to_id(obj_type, fq_name_str.split(':')))
  File "/usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py", line 388, in fq_name_to_id
    content = self._request_server(rest.OP_POST, uri, data=json_body)
  File "/usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py", line 347, in _request_server
    % (op, url, data, content))
NoIdError: Unknown id: Error: oper 1 url /fqname-to-id body {"fq_name": ["default-domain", "admin", "3caa63e6-54e0-4d58-a6b4-edcf9ffdcb56"], "type": "virtual-machine-interface"}
response Name [u'default-domain', u'admin', u'3caa63e6-54e0-4d58-a6b4-edcf9ffdcb56'] not found

Tags: api
Sachin Bansal (sbansal)
Changed in juniperopenstack:
status: New → In Progress
Revision history for this message
Prakash Bailkeri (prakashmb) wrote :
Changed in juniperopenstack:
status: In Progress → Fix Committed
information type: Proprietary → Public
Revision history for this message
Ashish Ranjan (aranjan-n) wrote :
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.