Ready service

Description

Previous discussions, incl. a session at last year's ODL DDF, have repeatedly identified the need to have a general way to reliably detect when ODL is "ready".

Today projects sometimes have ad-hoc solution for this; for example netvirt's org.opendaylight.netvirt.statemanager.StateManager (which logs "StateManager all is ready") is related to (the lack of a general solution for) this.

I've hit what's basically the same gap again while contributing an "auto-import-on-boot" feature to the Daexim project in https://git.opendaylight.org/gerrit/#/c/55035/, where the Daexim committers would like that feature to hold importing until "the system is full ready" (I don't fully understand why, but that is not the point of this bug), and will therefore as part of the work I'm doing in that context contribute a general new Ready Service, to infrautils.

This will build on top of the work I've done for the Extended SingleFeatureTest (SFT) incl. TestBundleDiag in odlparent (see e.g. https://lists.opendaylight.org/pipermail/release/2017-January/009062.html), and actually re-use that same code.

The first contribution for this will be minimalistic and fulfil the immediate need I have (in Daexim). Later Enhancements by others or myself on top of that first iteration can then obviously extend it; ideas for possible future follow-up improvements which won't be in my initial proposal include but are not limited to:

1. YANG model to expose the simple API I'll offer as RESTCONF etc. RPC

2. YANG data model which sets a flag in the data store (like netvirt's StateManager)

3. JMX ?

3. ...

Activity

Show:

JamO Luhrsen March 19, 2018 at 9:28 PM

This is awesome, thanks Michael Vorburger!

Jamo Luhrsen - Once you have an example of this in CSIT I'd like to copy it in Int/Pack logic.

, here is a patch where
I'm grepping the karaf.log for the specific message. I'll figure out the REST way of doing this too and maybe propose that as well.

Daniel Farrell March 19, 2018 at 9:03 PM

This is awesome, thanks !

- Once you have an example of this in CSIT I'd like to copy it in Int/Pack logic.

Michael Vorburger March 19, 2018 at 11:44 AM

just create a new JIRA, if still needed following this email thread.

JamO Luhrsen March 17, 2018 at 4:59 AM

Jamo Luhrsen ready service status is Incorporated in the showSvcStatus Cli output of diagstatus, which you would have seen sathwik incorporating in genius CSIT.. The same status is available as Mbean, which can be accessed over REST..

I do remember seeing a CSIT patch(es) with that showSvcStatus CLI, but didn't think it was related to this "ready status". What is the URI to hit to see this
with REST?

Faseela K March 17, 2018 at 3:43 AM

ready service status is Incorporated in the showSvcStatus Cli output of diagstatus, which you would have seen sathwik incorporating in genius CSIT.. The same status is available as Mbean, which can be accessed over REST..

Done

Details

Assignee

Reporter

Components

Fix versions

Priority

Created May 10, 2017 at 8:40 PM
Updated March 19, 2018 at 9:28 PM
Resolved March 15, 2018 at 10:20 AM