On Mon, Oct 23, 2017 at 2:37 PM, Tom Pantelis <tompante...@gmail.com> wrote:
> On Mon, Oct 23, 2017 at 8:35 AM, Tom Pantelis <tompante...@gmail.com> > wrote: > >> On Mon, Oct 23, 2017 at 5:35 AM, Faseela K <faseel...@ericsson.com> >> wrote: >> >>> Hi all, >>> >>> >>> >>> Thanks for reviewing the patch, and giving comments. >>> >>> But there is a comment from Robert that this adds dependency of a >>> mature project to an incubation project J Would like to know whether it >>> is completely not possible. In that case, we have to find out other ways to >>> achieve this. >>> >> >> I don't really know the rules/philosophies/history with incubation >> projects and dependencies and what it takes or means to be "mature" (or if >> really matters anymore with ODL). However I don't think we shouldn't let >> bureaucracy impede progress so I'm fine with the dependency. We should be >> able to freely use infrautils - prior to it we used yangtools as a kind of >> dumping ground for generic components (that had nothing to do with yang) >> b/c we had no where else to put them. infrautils *should* serve that >> purpose now. But if it's a showstopper then the >> proposed DatastoreStatusMonitor could actually reside anywhere since it >> just uses JMX. >> > > Or we get infrautils promoted to "mature" to get around the red tape. What > would that take? ... > If this just about writing the word "mature" instead of "incubting" somewhere (where?) then let's do it.. PS: Personally I think these sort of things are fairly meaningless, so I have little interest in them. > Thanks, >>> >>> Faseela >>> >>> >>> >>> *From:* Tom Pantelis [mailto:tompante...@gmail.com] >>> *Sent:* Thursday, October 12, 2017 4:28 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 >>> >>> >>> >>> >>> >>> >>> >>> On Thu, Oct 12, 2017 at 6:36 AM, Faseela K <faseel...@ericsson.com> >>> wrote: >>> >>> >>> >>> >>> >>> 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. >>> >>> >>> >>> OK. By "just register the service" I assume you mean just advertise a >>> ServiceStatusProvider >>> OSGi service. It is not necessary to explicitly register with the >>> DiagStatusService >>> as that is implicit by advertising a ServiceStatusProvider. >>> >>> >>> >>> The code in DiagStatusServiceImpl does not enforce explicit registration >>> - one can just call report w/o a prior register call - not sure if that was >>> the original intent. Similarly a ServiceStatusProvider's status is >>> reported even if it didn't explicitly call register. >>> >>> >>> >>> Right Tom, the original intent was to allow only services who do >>> explicit registration. But it is not enforced yet, wanted to get inputs on >>> how the apps would be interested to go about this. Michael recently >>> modified the implementation to allow deregistration only for those who >>> actually registered. We were thinking on enforcing the same everywhere, but >>> just thought of sharing the idea to apps before doing the same. >>> >>> >>> >>> It seems the only reason for explicit registration would be to remove >>> it from being reported on unregistration. But this could also be effected >>> by reporting that as a STOPPED status, which might be useful to report. In >>> any event, explicit reg/unreg via the DiagStatusService API would only >>> be needed/enforced when pushing status. Advertising a ServiceStatusProvider >>> OSGi service is an implicit registration and removal of the OSGi service is >>> an implicit unregistration. >>> >>
_______________________________________________ controller-dev mailing list controller-dev@lists.opendaylight.org https://lists.opendaylight.org/mailman/listinfo/controller-dev