C++ sandesh client library changes to accept more than 2 collectors

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

Bug Description

Presently, the contrail services may be either provisoned with the collector list or it gets the collector list from discovery service. In either case, the sandesh client library doesn't accept more than 2 collectors.
With the removal of discovery service (https://bugs.launchpad.net/juniperopenstack/+bug/1636319), all the contrail services that connects to collector would be provisioned with the collector list.
Therefore, it is necessary that the sandesh client library accepts collector list without any limitation.

Tags: analytics
tags: added: analytics
Changed in juniperopenstack:
importance: Undecided → High
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/26096
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/26096
Committed: http://github.org/Juniper/contrail-sandesh/commit/77724eec5589b2895e94224a2e3ea4a1d67610f7
Submitter: Zuul
Branch: master

commit 77724eec5589b2895e94224a2e3ea4a1d67610f7
Author: Sundaresan Rajangam <email address hidden>
Date: Tue Nov 15 07:34:35 2016 -0800

C++ sandesh client library changes to accept more than 2 collectors

Presently, the contrail services may be either provisoned with the
collector list or it gets the collector list from discovery service. In
either case, the sandesh client library doesn't accept more than 2
collectors.
With the removal of discovery service, all the contrail services that
connects to collector would be provisioned with the collector list.
Therefore, it is necessary that the sandesh client library accepts
collector list without any limitation.
With this patch, InitGenerator() can accept collector list > 2 and there
is the notion of primary and secondary collector has been removed. The
sandesh client would connect to the first collector in the list and upon
connection failure/closure would connect to the next collector in the list
and so on. It is expected that the sandesh clients would randomize the
collector list before passing it to InitGenerator() and
ReConfigCollectors().
Renamed EvDiscUpdate event to EvCollectorUpdate. EvCollectorUpdate would
be enqueued upon receiving either discovery update or the
ReConfigCollectors() [called if the process receives SIGHUP to indicate
change in the collector list]
This patch doesn't remove the code that subscribes for the collector
service with discovery as this would break the functionality without the
provisioning/controller changes.

Change-Id: Ib84df4a3103e5483a9f3c7cb8ba5f3d034651058
Closes-Bug: #1641846

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.