On Wed, Oct 11, 2017 at 2:16 PM, Faseela K <faseel...@ericsson.com> wrote:

> Hello controller-dev,
>
>
>
>    We @ infrautils have developed a status-and-diagnostics framework,
> where applications can register their services,
>
>    And report when they are functionally up. Northbound and Southbound
> interfaces for ODL can open-up and accept configurations,
>
>    When all the required services are UP. As part of this, we were
> thinking if we can have a “DATASTORE” service, whose status can
>
>    Be shown as “OPERATIONAL” when all the shards have properly elected
> their leaders. We do see that there are several MBeans  exposed by
> controller repo under *org.opendaylight.controller:Category=Shards,name="*
> +*<shard-name>*+*",type=DistributedConfigDatastore*
>
>   which can be used to derive the same information.
>
>    Instead of doing that from outside, wanted to explore the possibility
> of integrating controller.sal-distributed-datastore with
> infrautils.diagstatus to report the status when the initial shard leader
> election is complete,
>
>    And implement the dynamic poll interface to fetch the shard leader
> status at random points in time. Please share your thoughts.
>

This sounds like a reasonable idea.  CDS does have an aggregated shard sync
status that is collected and reported by the ShardManager to
the ShardManagerInfo MBean's SyncStatus attribute for each data store (eg
*type=DistributedConfigDatastore,Category=ShardManager,name=shard-manager-config*).
Once all shards report that they are "in sync" (ie a leader is elected and,
if it's a follower, its journal is up-to-date with the leader),  the
ShardManager sets the aggregate SyncStatus to true. Subsequently, if a
shard loses its leader, the aggregate SyncStatus will be set to false.

I'm not really familiar with infrautils.diagstatus to know how exactly how
this status would be reported to that component. This would also require
the controller project to be dependent on infrautils - not sure if that
would be OK?

Also, separate from SyncStatus, CDS blocks its blueprint startup until all
shards have elected a leader  (up to 90 sec) so its OSGi services aren't
advertised until then. Therefore all bundles that import those services
will also be blocked on startup.



>
>
> Thanks,
>
> Faseela
>
> _______________________________________________
> controller-dev mailing list
> controller-dev@lists.opendaylight.org
> https://lists.opendaylight.org/mailman/listinfo/controller-dev
>
>
_______________________________________________
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev

Reply via email to