ST crashing and leaking VN ids

Bug #1528950 reported by amit surana
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R2.20
Fix Committed
High
Sachin Bansal
R2.22.x
Fix Committed
High
Sachin Bansal
Trunk
Fix Committed
High
Sachin Bansal

Bug Description

Contrail 2.22-110

ST leaking VN ids after VN/LR create/delete operations. Turned out that the LR delete was leaking snat-si-* VNs and that was somehow crashing ST, in turn causing it to leak VN ids.

root/contrail123

10.87.26.145:/var/tmp/schema.err

Tags: config soln
amit surana (asurana-t)
information type: Proprietary → Public
amit surana (asurana-t)
description: updated
amit surana (asurana-t)
description: updated
Revision history for this message
Sachin Bansal (sbansal) wrote :

There were couple of tracebacks in schema transformer. Here is one:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 3465, in launch_arc
    transformer.process_poll_result(result)
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 3165, in process_poll_result
    func(idents, meta)
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 2827, in add_virtual_network_network_ipam
    virtual_network = VirtualNetworkST.locate(network_name)
  File "/usr/lib/python2.7/dist-packages/cfgm_common/vnc_db.py", line 55, in locate
    cls._dict[key] = cls(key, *args)
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 217, in __init__
    for ri in self.obj.get_routing_instances() or []:
  File "/usr/lib/python2.7/dist-packages/vnc_api/gen/resource_client.py", line 8516, in get_routing_instances
    obj = svr_conn.virtual_network_read(id = self.uuid, fields = ['routing_instances'])
  File "/usr/lib/python2.7/dist-packages/vnc_api/gen/vnc_api_client_gen.py", line 4549, in virtual_network_read
    content = self._request_server(rest.OP_GET, uri, query_params)
  File "/usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py", line 503, in _request_server
    retry_count=retry_count)
  File "/usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py", line 544, in _request
    % (op, url, data, content))
NoIdError: Unknown id: Error: oper 2 url /virtual-network/900bcf25-6b49-478b-a283-67f971e98f54 body {'fields': 'routing_instances'} response No virtual-network object found for id 900bcf25-6b49-478b-a283-67f971e98f54

Revision history for this message
Sachin Bansal (sbansal) wrote :

Here is the other traceback:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 3466, in launch_arc
    transformer.process_poll_result(result)
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 3166, in process_poll_result
    func(idents, meta)
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 2828, in add_virtual_network_network_ipam
    virtual_network = VirtualNetworkST.locate(network_name)
  File "/usr/lib/python2.7/dist-packages/cfgm_common/vnc_db.py", line 55, in locate
    cls._dict[key] = cls(key, *args)
  File "/usr/lib/python2.7/dist-packages/schema_transformer/to_bgp.py", line 157, in __init__
    self.obj = obj or _vnc_lib.virtual_network_read(fq_name_str=name)
  File "/usr/lib/python2.7/dist-packages/vnc_api/gen/vnc_api_client_gen.py", line 4536, in virtual_network_read
    (args_ok, result) = self._read_args_to_id('virtual-network', fq_name, fq_name_str, id, ifmap_id)
  File "/usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py", line 489, 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 596, 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 503, in _request_server
    retry_count=retry_count)
  File "/usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py", line 544, in _request
    % (op, url, data, content))
NoIdError: Unknown id: Error: oper 1 url /fqname-to-id body {"fq_name": ["default-domain", "admin", "snat-si-left_si_a438a8bb-60f0-4734-ac4d-357c35bbbef7"], "type": "virtual-network"} response Name ['default-domain',
 'admin',
 'snat-si-left_si_a438a8bb-60f0-4734-ac4d-357c35bbbef7'] not found

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

Review in progress for https://review.opencontrail.org/16003
Submitter: Sachin Bansal (<email address hidden>)

amit surana (asurana-t)
tags: added: soln
amit surana (asurana-t)
no longer affects: juniperopenstack/r3.0
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/16003
Committed: http://github.org/Juniper/contrail-controller/commit/e687e2ea602c3c505090358832f2ddf66ca7bb16
Submitter: Zuul
Branch: R2.20

commit e687e2ea602c3c505090358832f2ddf66ca7bb16
Author: Sachin Bansal <email address hidden>
Date: Wed Dec 23 14:28:45 2015 -0800

Avoid calling get_routing_instances on VN object

Calling get_routing_instances could trigger another read of the VN
if the VN has no routing instance. This is not only inefficient, but
could also cause exception if the VN has disappeared. We can avoid
this by calling getattr.

Change-Id: Ie5500585b9e6c578576276c2c04ec03f32c75112
Partial-Bug: 1528950

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

Review in progress for https://review.opencontrail.org/16192
Submitter: Sachin Bansal (<email address hidden>)

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

Review in progress for https://review.opencontrail.org/16203
Submitter: Sachin Bansal (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/16203
Committed: http://github.org/Juniper/contrail-test/commit/61d1150bbf1b58e4b5445629478f39787784849e
Submitter: Zuul
Branch: master

commit 61d1150bbf1b58e4b5445629478f39787784849e
Author: Sachin Bansal <email address hidden>
Date: Sun Jan 10 14:08:46 2016 -0800

Import VNC exceptions from cfgm_common instead of vnc_api

Currently, VNC exceptions are defined in two place. We are
removing them from vnc_api and leaving in cfgm_common.

Change-Id: Idfba23be8b6853166fad8a38728bb65290e3677b
Related-Bug: 1528950

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

Review in progress for https://review.opencontrail.org/16192
Submitter: Sachin Bansal (<email address hidden>)

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

Review in progress for https://review.opencontrail.org/16247
Submitter: Sachin Bansal (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/16247
Committed: http://github.org/Juniper/contrail-test/commit/7f62b6393ce44c68bae998dd51b82f7b24fe0285
Submitter: Zuul
Branch: master

commit 7f62b6393ce44c68bae998dd51b82f7b24fe0285
Author: Sachin Bansal <email address hidden>
Date: Tue Jan 12 13:48:27 2016 -0800

Do not import common from vnc_api

This module is not used in tests and is being removed

Change-Id: Iea1be99dfdaaaf14d47d4bebb9c1edba660c3580
Related-Bug: 1528950

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

Review in progress for https://review.opencontrail.org/16192
Submitter: Sachin Bansal (<email address hidden>)

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

Review in progress for https://review.opencontrail.org/16304
Submitter: Sachin Bansal (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/16192
Committed: http://github.org/Juniper/contrail-controller/commit/185cc15fac19904436f1bc8b3edbf446ac4d0d36
Submitter: Zuul
Branch: master

commit 185cc15fac19904436f1bc8b3edbf446ac4d0d36
Author: Sachin Bansal <email address hidden>
Date: Fri Jan 8 17:54:59 2016 -0800

Remove duplicate definitions of exceptions

VNC exceptions were defined in two places vnc_api and cfgm_common. This could
cause mismatch between thrown and caught exception. Removed one of the
definitions and changed all includes to the correct place.

Change-Id: I3ce469bde05016428b2b9fa676623ed5d5511342
Closes-Bug: 1528950

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

Reviewed: https://review.opencontrail.org/16304
Committed: http://github.org/Juniper/contrail-test/commit/a0966f9b5df3ccddc00592d748eb6d5bb8b7f282
Submitter: Zuul
Branch: R2.20

commit a0966f9b5df3ccddc00592d748eb6d5bb8b7f282
Author: Sachin Bansal <email address hidden>
Date: Sun Jan 10 14:08:46 2016 -0800

Import VNC exceptions from cfgm_common instead of vnc_api

Currently, VNC exceptions are defined in two place. We are
removing them from vnc_api and leaving in cfgm_common.

Do not import common from vnc_api. This module is not used
in tests and is being removed

Change-Id: Iea1be99dfdaaaf14d47d4bebb9c1edba660c3580
Related-Bug: 1528950
(cherry picked from commit 7f62b6393ce44c68bae998dd51b82f7b24fe0285)

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

Review in progress for https://review.opencontrail.org/16623
Submitter: Sachin Bansal (<email address hidden>)

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

Review in progress for https://review.opencontrail.org/16686
Submitter: Vinay Vithal Mahuli (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged
Download full text (8.5 KiB)

Reviewed: https://review.opencontrail.org/16686
Committed: http://github.org/Juniper/contrail-controller/commit/156ad0b760f9b532572116d813d7afa695555bea
Submitter: Zuul
Branch: R2.22.x

commit 156ad0b760f9b532572116d813d7afa695555bea
Author: Atul Moghe <email address hidden>
Date: Mon Dec 21 14:29:14 2015 -0800

Cherry pick controller commits from R2.20 to R2.22.x
updating version.info from 2.22 to 2.23 in 2.20 branch
Closes-Bug:#1528370

Change-Id: Ic649422979a926cc5f5b8457c01610b848dc206b

Storage stats daemon fix

Partial-Bug: #1528327
Fixed latency monitor code based on the Ceph 0.94.3 version.
Fixed issues in OSD throughput/IOPs calculation.
Updated code based on the latest Sandesh apis.

Change-Id: I12caf951f84c8b213b1b5ec01371bb68b4c48cb3

Fix contrail-collector back pressure mechanism

contrail-collector DB queue back presssure mechanism was not
working since the DB drop level is initialized to INVALID and
even the water marks levels are INVALID and hence the defer/undefer
callbacks are not called.

Change-Id: Ib28141a69aeed3c4ad6f50abbaed2a285e3e7db2
Partial-Bug: #1528380

Fix Agent crash for flow index tree management

Issue:
------
During a flow index change vrouter-agent triggers a delete
on index tree using new flow handle instead of currently
held flow_handle resulting in flow entry getting associated
to two slots in the flow index tree, which further on flow
entry delete due to aging or eviction never releases the
slot for old flow handle, causing failures for further
insertions in the flow index tree

Fix:
----
Avoid taking flow handle as argument to DeleteByIndex and
use the currently associated flow_handle to remove from tree
Adding assert in DeleteByIndex to catch delete failure
Avoid doing delete from index tree in code paths other than
flow entry index update of flow entry delete.

Add logic for KSync Sock User to Mock vrouter behavior
returning index for an entry if it is already allocated
instead of allocating a new one.

Closes-Bug: 1527425
Change-Id: I10e77fb59650acfdd924a5f1d35d6b8dea03a3f0

Fix discovery dependency issue. Originally made in master branch
via https://review.opencontrail.org/#/c/15749

Change-Id: I5d874de3714074c66fa73bfd7c9119772dc681fd
Partial-Bug: #1530186

Avoid calling get_routing_instances on VN object

Calling get_routing_instances could trigger another read of the VN
if the VN has no routing instance. This is not only inefficient, but
could also cause exception if the VN has disappeared. We can avoid
this by calling getattr.

Change-Id: Ie5500585b9e6c578576276c2c04ec03f32c75112
Partial-Bug: 1528950

Fix Centos 65 agent compilation issues.
Closes-Bug: #1532159

Change-Id: Ia8b77619c80737000d5bd949534c9e0a16967359

Closes-Bug: #1524063, contrail-status is showing contrail-web-ui, even it is not configured, in case of SMLite

Change-Id: I55afc19140b1ce52b3b529a644124705de5ce6a8

Fix a corner case with routing instance delete

Sequence of event that causes the crash
1. Static route config deleted
2. Static Route maanger triggers resolve_trigger_ to re-evaluate static
route config
3. Before the resolve trigger is invoked routing instance is deleted

Resolve trigger calls ProcessStaticRouteConfi...

Read more...

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

Review in progress for https://review.opencontrail.org/16623
Submitter: Sachin Bansal (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/16623
Committed: http://github.org/Juniper/contrail-controller/commit/19de951ea818d869b1621a6409ef428265961983
Submitter: Zuul
Branch: R2.20

commit 19de951ea818d869b1621a6409ef428265961983
Author: Sachin Bansal <email address hidden>
Date: Fri Jan 8 17:54:59 2016 -0800

Remove duplicate definitions of exceptions

VNC exceptions were defined in two places vnc_api and cfgm_common. This could
cause mismatch between thrown and caught exception. Removed one of the
definitions and changed all includes to the correct place.

Change-Id: I3ce469bde05016428b2b9fa676623ed5d5511342
Closes-Bug: 1528950
(cherry picked from commit 185cc15fac19904436f1bc8b3edbf446ac4d0d36)

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

Review in progress for https://review.opencontrail.org/17048
Submitter: Sachin Bansal (<email address hidden>)

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

Review in progress for https://review.opencontrail.org/17049
Submitter: Sachin Bansal (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/17048
Committed: http://github.org/Juniper/contrail-test/commit/d5e693bfbaa8a37e78e5f275c7e8f7401a843cab
Submitter: Zuul
Branch: R2.22.x

commit d5e693bfbaa8a37e78e5f275c7e8f7401a843cab
Author: Sachin Bansal <email address hidden>
Date: Sun Jan 10 14:08:46 2016 -0800

Import VNC exceptions from cfgm_common instead of vnc_api

Currently, VNC exceptions are defined in two place. We are
removing them from vnc_api and leaving in cfgm_common.

Do not import common from vnc_api. This module is not used
in tests and is being removed

Change-Id: Iea1be99dfdaaaf14d47d4bebb9c1edba660c3580
Related-Bug: 1528950
(cherry picked from commit 7f62b6393ce44c68bae998dd51b82f7b24fe0285)

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

Reviewed: https://review.opencontrail.org/17049
Committed: http://github.org/Juniper/contrail-controller/commit/dd260cf5cbdcf81c8cc1e5cfb5bf27b29a8993b5
Submitter: Zuul
Branch: R2.22.x

commit dd260cf5cbdcf81c8cc1e5cfb5bf27b29a8993b5
Author: Sachin Bansal <email address hidden>
Date: Fri Jan 8 17:54:59 2016 -0800

Remove duplicate definitions of exceptions

VNC exceptions were defined in two places vnc_api and cfgm_common. This could
cause mismatch between thrown and caught exception. Removed one of the
definitions and changed all includes to the correct place.

Change-Id: I3ce469bde05016428b2b9fa676623ed5d5511342
Closes-Bug: 1528950
(cherry picked from commit 185cc15fac19904436f1bc8b3edbf446ac4d0d36)

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.