[3.0-2715~kilo]Static route entry seen even when no route-table exists

Bug #1548893 reported by Ganesha HV
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R3.0
Fix Committed
Critical
Suresh Balineni
Trunk
Fix Committed
Critical
Suresh Balineni

Bug Description

Setup
=====
nodeb12

Steps
=====
1]. Created a network-route-table(left-vn-table) and added a entry 0/0 pointing to the left-interface of a Service VM(10.10.10.4).
2]. Created one more port-tuple in the service chain.
3]. deleted the route-table and its reference in the virtual-network.
4]. I observe the route to 0/0 still exists in the route table.

Setup is in that state.

Schema error:
===========
      1 <type 'exceptions.AttributeError'>
      2 Python 2.7.6: /usr/bin/python
      3 Tue Feb 23 19:56:49 2016
      4
      5 A problem occurred in a Python script. Here is the sequence of
      6 function calls leading up to the error, in the order they occurred.
      7
      8 /usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py in _vnc_subscribe_callback(self=<schema_transformer.to_bgp.SchemaTransformer object>, oper_info={u'imid': u'contrail:routing-instance:default-domain:admin...-432f-8280-4a34b4218c32-default-domain_admin_si2', u'obj_dict': {u'display_name': u'service-778667c7-193b-432f-8280-4a34b4218c32-default-domain_admin_si2', u'fq_name': [u'default-domain', u'admin', u'r-vn', u'service-778667c7-193b-432f-8280-4a34b4218c32-default-domain_admin_si2'], u'id_perms': {u'created': u'2016-02-23T14:26:48.742704', u'creator': None, u'description': None, u'enable': True, u'last_modified': u'2016-02-23T14:26:48.742704', 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'user_visible': True, u'uuid': {u'uuid_lslong': 11715888667288598002L, u'uuid_mslong': 16428664499646778346L}}, u'parent_type': u'virtual-network', u'perms2': {u'global_access': 0, u'owner': None, u'owner_access': 7, u'share': []}, u'routing_instance_has_pnf': False, u'uuid': u'e3fe5751-d384-4bea-a297-32ab61c2f5f2'}, u'oper': u'CREATE', u'parent_imid': u'contrail:virtual-network:default-domain:admin:r-vn', u'request-id': u'req-ede69ac3-b98f-43ca-bd38-dd0b8d29924e', u'type': u'routing-instance', u'uuid': u'e3fe5751-d384-4bea-a297-32ab61c2f5f2'})
      9 244 obj_dict = oper_info['obj_dict']
     10 245 obj_fq_name = ':'.join(obj_dict['fq_name'])
     11 246 obj = obj_class.locate(obj_fq_name)
     12 247 if obj is None:
     13 248 self.config_log('%s id %s fq_name %s not found' % (
     14 obj undefined
     15 obj_class = <class 'schema_transformer.config_db.RoutingInstanceST'>
     16 obj_class.locate = <bound method __metaclass__.locate of <class 'schema_transformer.config_db.RoutingInstanceST'>>
     17 obj_fq_name = u'default-domain:admin:r-vn:service-778667c7-193b-432f-8280-4a34b4218c32-default-domain_admin_si2'
     18
     19 /usr/lib/python2.7/dist-packages/schema_transformer/config_db.py in locate(cls=<class 'schema_transformer.config_db.RoutingInstanceST'>, key=u'default-domain:admin:r-vn:service-778667c7-193b-432f-8280-4a34b4218c32-default-domain_admin_si2', *args=())
     20 103 def locate(cls, key, *args):
     21 104 obj = super(DBBaseST, cls).locate(key, *args)
     22 105 if obj.obj.uuid not in cls._uuid_fq_name_map:
     23 106 cls._uuid_fq_name_map[obj.obj.uuid] = key
     24 107 return obj
     25 obj = None
     26 obj.obj undefined
     27 cls = <class 'schema_transformer.config_db.RoutingInstanceST'>
     28 cls._uuid_fq_name_map = {u'0073fdfb-6e8b-4442-a12c-356c5c3a8cb3': u'default-domain:admin:r-vn:r-vn', u'0192f401-a506-4aed-af76-8743c41b1e83': u'default-domain:admin:0192f401-a506-4aed-af76-8743c41b1e83', u'0491adf7-a8bd-4feb-aa77-209705d23727': u'default-domain:default-project:ip-fabric', u'0fa4d4f4-31ca-47fb-b5f7-21f9f1998a1a': u'default-domain:demo:default', u'110c2e8f-91c2-4dbb-aafe-0e253c9c7b44': u'default-domain:default-project:default-network-policy', u'1740e73d-24db-4fce-ac35-b689d35a11ae': u'default-domain:default-project:default-virtual-network:default-virtual-network', u'184b896e-8d29-47e4-ad7a-cd3980f214df': u'default-domain:admin:si2', u'214b8520-104c-41ae-a320-6cec653e2cbc': u'target:64512:8000003', u'21ecb1f4-b489-4137-9975-d2d71213d542': u'default-domain:admin:21ecb1f4-b489-4137-9975-d2d71213d542', u'272f9cf8-fe1d-401a-8bb4-843346a87be8': u'default-domain:admin:272f9cf8-fe1d-401a-8bb4-843346a87be8', ...}
     29 <type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'obj'
     30 __class__ = <type 'exceptions.AttributeError'>
     31 __delattr__ = <method-wrapper '__delattr__' of exceptions.AttributeError object>
     32 __dict__ = {}
     33 __doc__ = 'Attribute not found.'
     34 __format__ = <built-in method __format__ of exceptions.AttributeError object>
     35 __getattribute__ = <method-wrapper '__getattribute__' of exceptions.AttributeError object>
     36 __getitem__ = <method-wrapper '__getitem__' of exceptions.AttributeError object>
     37 __getslice__ = <method-wrapper '__getslice__' of exceptions.AttributeError object>
     38 __hash__ = <method-wrapper '__hash__' of exceptions.AttributeError object>
     39 __init__ = <method-wrapper '__init__' of exceptions.AttributeError object>
     40 __new__ = <built-in method __new__ of type object>
     41 __reduce__ = <built-in method __reduce__ of exceptions.AttributeError object>
     42 __reduce_ex__ = <built-in method __reduce_ex__ of exceptions.AttributeError object>
     43 __repr__ = <method-wrapper '__repr__' of exceptions.AttributeError object>
     44 __setattr__ = <method-wrapper '__setattr__' of exceptions.AttributeError object>
     45 __setstate__ = <built-in method __setstate__ of exceptions.AttributeError object>
     46 __sizeof__ = <built-in method __sizeof__ of exceptions.AttributeError object>
     47 __str__ = <method-wrapper '__str__' of exceptions.AttributeError object>
     48 __subclasshook__ = <built-in method __subclasshook__ of type object>
     49 __unicode__ = <built-in method __unicode__ of exceptions.AttributeError object>
     50 args = ("'NoneType' object has no attribute 'obj'",)
     51 message = "'NoneType' object has no attribute 'obj'"
     52
     53 The above is a description of an error in a Python program. Here is
     54 the original traceback:
     55
     56 Traceback (most recent call last):
     57 File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 246, in _vnc_subscribe_callback
     58 obj = obj_class.locate(obj_fq_name)
     59 File "/usr/lib/python2.7/dist-packages/schema_transformer/config_db.py", line 105, in locate
     60 if obj.obj.uuid not in cls._uuid_fq_name_map:
     61 AttributeError: 'NoneType' object has no attribute 'obj'
     62
     63

Ganesha HV (ganeshahv)
tags: added: blocker
Sachin Bansal (sbansal)
Changed in juniperopenstack:
assignee: Sachin Bansal (sbansal) → Suresh Balineni (sbalineni)
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/17869
Submitter: Suresh Balineni (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R3.0

Review in progress for https://review.opencontrail.org/17872
Submitter: Suresh Balineni (<email address hidden>)

Nischal Sheth (nsheth)
information type: Proprietary → Public
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/17869
Committed: http://github.org/Juniper/contrail-controller/commit/438cab1829ad253e4c22792ef80deb11bba584a3
Submitter: Zuul
Branch: master

commit 438cab1829ad253e4c22792ef80deb11bba584a3
Author: sbalineni <email address hidden>
Date: Thu Feb 25 17:06:40 2016 -0800

ST: Route Table routes need to be set properly when update happened

Change-Id: Ia9c33706eef48d09424f2c9042165bd4c38a5f88
Closes-Bug: #1548893

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/17872
Committed: http://github.org/Juniper/contrail-controller/commit/6a29eecc6ccd868c6a30a02f968b7b9404c44185
Submitter: Zuul
Branch: R3.0

commit 6a29eecc6ccd868c6a30a02f968b7b9404c44185
Author: sbalineni <email address hidden>
Date: Thu Feb 25 17:06:40 2016 -0800

ST: Route Table routes need to be set properly when update happened

Change-Id: Ia9c33706eef48d09424f2c9042165bd4c38a5f88
Closes-Bug: #1548893

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.