[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 |
||
| External issue ID: | 8397 |
| Priority: | Normal |
| Description |
|
While fixing 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 |
| 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 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. |