[CONTROLLER-1771] Add INFO log when config subsystem finishes applying initial configurations Created: 14/Sep/17  Updated: 09/Oct/17  Resolved: 09/Oct/17

Status: Resolved
Project: controller
Component/s: config
Affects Version/s: Carbon
Fix Version/s: None

Type: Bug
Reporter: Vratko Polak Assignee: Vratko Polak
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 9165

 Description   

This Improvement will make it easier for CSIT to avoid launching tests while ODL is still busy booting up. There are better ways to publish config readiness (might be implemented later), but logging change is the simplest. Especially since the message is already there [0], but only on DEBUG level.

[0] https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blob;f=opendaylight/config/config-persister-impl/src/main/java/org/opendaylight/controller/config/persist/impl/ConfigPusherImpl.java;h=6fcc7dcd4d14b9d04bbad384f9ac38214e6da911;hb=refs/heads/stable/carbon#l139



 Comments   
Comment by Vratko Polak [ 14/Sep/17 ]

Fix: https://git.opendaylight.org/gerrit/63136 (master, cherry-picks are also available).

Comment by Vratko Polak [ 14/Sep/17 ]

Waiting for review (at least for Carbon and Nitrogen).

Comment by Tom Pantelis [ 15/Sep/17 ]

As of Oxygen, all ODL projects will be off of CSS and CSS will be going away most likely in Flourine. So I would suggest not adding any CSIT dependency on CSS. In fact relying on CSS readiness would largely be incorrect since most of the projects have been converted to blueprint and removed their CSS modules. Micheal Vorburger has been working on another "readiness" mechanism - I would suggest syncing up with him.

Comment by Vratko Polak [ 18/Sep/17 ]

> another "readiness" mechanism

Yes, I am aware of that, but it is not really available in Carbon and Nitrogen, and I am not sure how reliable it is in current Oxygen snapshots.

Comment by Tom Pantelis [ 18/Sep/17 ]

(In reply to Vratko Polák from comment #4)
> > another "readiness" mechanism
>
> Yes, I am aware of that, but it is not really available in Carbon and
> Nitrogen, and I am not sure how reliable it is in current Oxygen snapshots.

Well using CSS isn't reliable or correct as I mentioned as most projects no longer use it. So I would suggest focusing on Micheal's new "readiness" mechanism and getting that reliable. I can help with that as well if needed.

Comment by Vratko Polak [ 21/Sep/17 ]

> Well using CSS isn't reliable or correct as I mentioned as most projects no
> longer use it.

Yes, it is unreliable in the sense that if CSS is ready, other parts of ODL may still not be ready. But it is reliable in the sense that when ODL no longer burns CPU, CSS has already reported readiness. The latter reliability is required for CSIT use, the former would only be a benefit.

> So I would suggest focusing on Micheal's new "readiness"
> mechanism and getting that reliable. I can help with that as well if needed.

Changing log level in one line is a low hanging fruit. Focusing on a new mechanism is not. (And I would probably prefer monitoring CPU usage instead.)

By the way, looking at logging best practices [2], this Improvement might also be considered a Bug.

[2] https://wiki.opendaylight.org/view/BestPractices/Logging_Best_Practices#INFO

Comment by Robert Varga [ 21/Sep/17 ]

I think Vratko has a very valid point. We are already emitting INFO messages for each config entry, just not when we finished them all.

If this is a clarity trade-off, I would much rather see that 'all done' at INFO and per-file at DEBUG.

Comment by Tom Pantelis [ 21/Sep/17 ]

(In reply to Robert Varga from comment #7)
> I think Vratko has a very valid point. We are already emitting INFO messages
> for each config entry, just not when we finished them all.
>
> If this is a clarity trade-off, I would much rather see that 'all done' at
> INFO and per-file at DEBUG.

I agree - it should be INFO - I wasn't trying to debate that. My point is relying on it in CSIT for the reasons I mentioned earlier, ie most apps use BP and CSS will be going away maybe next release. But if it has use right now (especially in Carbon) in lieu of a complete alternate "readiness" solution, that's fine.

Comment by Michael Vorburger [ 22/Sep/17 ]

If one of you (above) would like to work constructively with me to make infrautils ready aware of CSS initialization completion, I'm happy to engage on that. What I had in mind as a general mechanism for what I think you would need here is https://git.opendaylight.org/gerrit/#/c/56821/. If you were interested to collaborate, I could finish that up, you could review it, and then you could use it to signal CSS ready-ness (I would not know where or how to do this in controller's CSS code).

Comment by Tom Pantelis [ 22/Sep/17 ]

(In reply to Michael Vorburger from comment #9)
> If one of you (above) would like to work constructively with me to make
> infrautils ready aware of CSS initialization completion, I'm happy to engage
> on that. What I had in mind as a general mechanism for what I think you
> would need here is https://git.opendaylight.org/gerrit/#/c/56821/. If you
> were interested to collaborate, I could finish that up, you could review it,
> and then you could use it to signal CSS ready-ness (I would not know where
> or how to do this in controller's CSS code).

I don't think we should spend time incorporate CSS readiness into the new mechanism. As I've mentioned, most Nitrogen and all Oxygen projects will be off of CSS (only sxp and usc left) and I'd like to remove CSS in Flourine.

Comment by Vratko Polak [ 27/Sep/17 ]

Merged to 3 of 4 branches, Nitrogen was frozen (but not anymore).

Comment by Vratko Polak [ 09/Oct/17 ]

https://git.opendaylight.org/gerrit/63137 merged.

Generated at Wed Feb 07 19:56:25 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.