[ODLPARENT-91] SingleFeatureTest fails to discover blueprint related problems for features which do not depend on the controller feature with the ODL specific blueprint extender Created: 08/May/17  Updated: 25/Jun/20  Resolved: 25/Jun/20

Status: Resolved
Project: odlparent
Component/s: General
Affects Version/s: 2.0.5
Fix Version/s: None

Type: Bug
Reporter: Michael Vorburger Assignee: Unassigned
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: 8397
Priority: Normal

 Description   

While fixing INFRAUTILS-10 I've realized that SingleFeatureTest does not actually discover blueprint related problems... Or at the very least it can clearly miss some of them.

For example, in that bug there was a BP XML with an invalid ref in a <service> and it missed that.. on looking more closely at the log, I believe what is happening is that TestBundleDiag currently only tests that bundles were installed and are "active", but may be missing to explicitly wait for BP validation?

What's curious is that SOMETIMES it hits them (which is was INFRAUTILS-10 was all about; in https://git.opendaylight.org/gerrit/#/c/56611/ the problem was found, but that was in SFT of integration/distribution ... which technically is the same code - but I suspect it may be slower there, and thus hit it? I think we have to await the same even in faster running individual feature tests, somehow.



 Comments   
Comment by Michael Vorburger [ 08/May/17 ]

The attached SFT org.opendaylight.odlparent.featuretest.SingleFeatureTest-output.txt log, as an example from infrautils/common/features/odl-infrautils-jobcoordinator on master (after merge of c/56024, before merge of c/56663/), illustrates the problem... we install e.g. jobcoordinator-impl and TestBundleDiag is happy with "diag: Active

{Unknown=0, Starting=0, Active=79, GracePeriod=0, Failure=0, Installed=0, Resolved=2, Stopping=0, Waiting=0}

" and ends - but there never even was a "BlueprintContainer for bundle org.opendaylight.infrautils.jobcoordinator-impl" ... we probably have to wait for that, somehow.

Comment by Michael Vorburger [ 08/May/17 ]

> The attached SFT org.opendaylight.odlparent.featuretest.SingleFeatureTest

I forgot to attach this file and don't actually have it anymore right now.

> but may be missing to explicitly wait for BP validation?

That wasn't it - this actually works - but the BP XML location can be confusing... normally in standard Karaf it's in OSGI-INF/blueprint/. The ODL specific BP XML has to be in org/opendaylight/blueprint/ - but that, of course, only works if you have the bundle that does the ODL specific BP handling installed and already active in Karaf...

... which in the case of INFRAUTILS-10 it was NOT - it's an infrautils bundle and feature which does not require controller. SFT should still work though.

Basically, we have a problem with "modularity" dependencies in this case.

> What's curious is that SOMETIMES it hits them

This was because during the SFT of integration/distribution, the controller feature which includes the ODL blueprint extender bundle from controller is already installed. In an infrautils SFT it is not, thus this problem.

The combination of https://git.opendaylight.org/gerrit/#/c/54885/ and https://git.opendaylight.org/gerrit/#/c/56672/ together would fix this problem; I've locally played with this and can confirm that if we do (both of) that, then SFT will find issues in such BP XML, as expected.

Generated at Wed Feb 07 20:27:36 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.