NodeStatusUVE should be sent only if there is any change

Bug #1546719 reported by Sundaresan Rajangam
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R3.0
Fix Committed
High
Sundaresan Rajangam
Trunk
Fix Committed
High
Sundaresan Rajangam

Bug Description

The c++ discovery client periodically calls ConnectionState::Update() with ConnectionStatus::UP on publish success.
ConnectionState::Update() should check for any change in the connection state before sending the NodeStatusUVE:process_status to avoid sending the duplicate information periodically.

In python, ConnectionState.update() checks for any connection state change before sending the NodeStatusUVE.

root@nodec39:~# contrail-logs --object-type analytics-node --object-id nodec39 --module contrail-collector --message-type NodeStatusUVE --last 15s
2016 Feb 18 01:04:00.523896 nodec39 [:contrail-collector:] : NodeStatusUVE: [NodeStatus: name = nodec39, [process_status: [module_id = contrail-collector, instance_id = 0, state = Functional, [connection_infos: [type = Collector, name = , [server_addrs: 127.0.0.1:8086], status = Up, description = Established] [type = Database, name = nodec39:Global, [server_addrs: 10.204.217.25:9042], status = Up, description = ] [type = Discovery, name = Collector, [server_addrs: 10.204.217.24:5998], status = Up, description = Publish Response - HeartBeat] [type = Redis-UVE, name = From, [server_addrs: 127.0.0.1:6379], status = Up, description = ] [type = Redis-UVE, name = To, [server_addrs: 127.0.0.1:6379], status = Up, description = ]], description = ]]]
2016 Feb 18 01:04:05.527109 nodec39 [:contrail-collector:] : NodeStatusUVE: [NodeStatus: name = nodec39, [process_status: [module_id = contrail-collector, instance_id = 0, state = Functional, [connection_infos: [type = Collector, name = , [server_addrs: 127.0.0.1:8086], status = Up, description = Established] [type = Database, name = nodec39:Global, [server_addrs: 10.204.217.25:9042], status = Up, description = ] [type = Discovery, name = Collector, [server_addrs: 10.204.217.24:5998], status = Up, description = Publish Response - HeartBeat] [type = Redis-UVE, name = From, [server_addrs: 127.0.0.1:6379], status = Up, description = ] [type = Redis-UVE, name = To, [server_addrs: 127.0.0.1:6379], status = Up, description = ]], description = ]]]
2016 Feb 18 01:04:10.534748 nodec39 [:contrail-collector:] : NodeStatusUVE: [NodeStatus: name = nodec39, [process_status: [module_id = contrail-collector, instance_id = 0, state = Functional, [connection_infos: [type = Collector, name = , [server_addrs: 127.0.0.1:8086], status = Up, description = Established] [type = Database, name = nodec39:Global, [server_addrs: 10.204.217.25:9042], status = Up, description = ] [type = Discovery, name = Collector, [server_addrs: 10.204.217.24:5998], status = Up, description = Publish Response - HeartBeat] [type = Redis-UVE, name = From, [server_addrs: 127.0.0.1:6379], status = Up, description = ] [type = Redis-UVE, name = To, [server_addrs: 127.0.0.1:6379], status = Up, description = ]], description = ]]]

root@nodec39:~# contrail-logs --object-type control-node --object-id nodec39 --module contrail-control --message-type NodeStatusUVE --last 10s
2016 Feb 18 01:04:55.600499 nodec39 [:contrail-control:] : NodeStatusUVE: [NodeStatus: name = nodec39, [process_status: [module_id = contrail-control, instance_id = 0, state = Functional, [connection_infos: [type = IFMap, name = IFMapServer, [server_addrs: 10.204.217.25:8443], status = Up, description = Connection with IFMap Server (irond)] [type = Collector, name = , [server_addrs: 10.204.217.24:8086], status = Up, description = Established] [type = Discovery, name = Collector, [server_addrs: 10.204.217.24:5998], status = Up, description = SubscribeResponse] [type = Discovery, name = IfmapServer, [server_addrs: 10.204.217.24:5998], status = Up, description = SubscribeResponse] [type = Discovery, name = xmpp-server, [server_addrs: 10.204.217.24:5998], status = Up, description = Publish Response - HeartBeat]], description = ]]]
2016 Feb 18 01:05:00.609936 nodec39 [:contrail-control:] : NodeStatusUVE: [NodeStatus: name = nodec39, [process_status: [module_id = contrail-control, instance_id = 0, state = Functional, [connection_infos: [type = IFMap, name = IFMapServer, [server_addrs: 10.204.217.25:8443], status = Up, description = Connection with IFMap Server (irond)] [type = Collector, name = , [server_addrs: 10.204.217.24:8086], status = Up, description = Established] [type = Discovery, name = Collector, [server_addrs: 10.204.217.24:5998], status = Up, description = SubscribeResponse] [type = Discovery, name = IfmapServer, [server_addrs: 10.204.217.24:5998], status = Up, description = SubscribeResponse] [type = Discovery, name = xmpp-server, [server_addrs: 10.204.217.24:5998], status = Up, description = Publish Response - HeartBeat]], description = ]]]

Tags: analytics
Changed in juniperopenstack:
milestone: none → r3.0-fcs
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/17395
Submitter: Sundaresan Rajangam (<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/17446
Submitter: Sundaresan Rajangam (<email address hidden>)

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

Reviewed: https://review.opencontrail.org/17446
Committed: http://github.org/Juniper/contrail-controller/commit/52cf203383a50315b57614a4d66931a1f73ddf95
Submitter: Zuul
Branch: R3.0

commit 52cf203383a50315b57614a4d66931a1f73ddf95
Author: Sundaresan Rajangam <email address hidden>
Date: Thu Feb 18 16:27:17 2016 -0800

NodeStatusUVE should be sent only if there is any change

ConnectionState::Update() should check for any change in the
ConnectionInfo before sending the NodeStatusUVE to avoid sending
the duplicate information.

Change-Id: Ie3fd708764a57401f87069eccae31466b70bdbcc
Closes-Bug: #1546719
(cherry picked from commit 1309ffe3bce3874f84cb34b0a76ed899eba63b3a)

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

Reviewed: https://review.opencontrail.org/17395
Committed: http://github.org/Juniper/contrail-controller/commit/1309ffe3bce3874f84cb34b0a76ed899eba63b3a
Submitter: Zuul
Branch: master

commit 1309ffe3bce3874f84cb34b0a76ed899eba63b3a
Author: Sundaresan Rajangam <email address hidden>
Date: Thu Feb 18 16:27:17 2016 -0800

NodeStatusUVE should be sent only if there is any change

ConnectionState::Update() should check for any change in the
ConnectionInfo before sending the NodeStatusUVE to avoid sending
the duplicate information.

Change-Id: Ie3fd708764a57401f87069eccae31466b70bdbcc
Closes-Bug: #1546719

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.