From: Tom Pantelis [mailto:tompante...@gmail.com]
Sent: Thursday, October 12, 2017 3:23 PM
To: Faseela K <faseel...@ericsson.com>
Cc: Anil Vishnoi <vishnoia...@gmail.com>; Muthukumaran K 
<muthukumara...@ericsson.com>; infrautils-...@lists.opendaylight.org; 
controller-dev@lists.opendaylight.org; R Srinivasan E 
<r.e.sriniva...@ericsson.com>; Dayavanti Gopal Kamath 
<dayavanti.gopal.kam...@ericsson.com>
Subject: Re: [controller-dev] Expose Datastore health to applications via 
infrautils.diagstatus


So here is how diagstatus module works – any application should register as a 
“service” with the framework, report an initial status(using the APIs provided 
by diagstatus).
There is another OsgiService “ServiceStatusProvider” exposed, and if 
applications implement the same, that will be called everytime an external 
request is made to get the current service status.
In looking at the API, it appears an app would register with the 
DiagStatusService and invoke report each time its status changes. An app can 
also register a ServiceStatusProvider to report its status when queried. It 
seems this is an alternative to interacting with the DiagStatusService in 
looking at the DiagStatusServiceImpl which always calls updateServiceStatusMap 
to query the ServiceStatusProviders from the get* methods. Given that, why 
would an app need to explicitly register and push its status to the 
DiagStatusService? Why not just advertise a ServiceStatusProvider? This seems 
simpler. In that case, DiagStatusServiceImpl doesn't need to maintain the 
statusMap - it would just query the ServiceStatusProvider(s) on demand. Or am I 
missing something?

For services like “DATASTORE” only the pull model is required, just register 
the service and implement ServiceStatusProvider.
There are some usecases in genius, where a push model was preferred, and hence 
we have kept both the options open.

Thanks,
Faseela

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

Reply via email to