[CONTROLLER-1586] Extended SingleFeatureTest incl. TestBundleDiag fails for some features with weird Missing dependencies: (&(|(type=default)(!(type=*)))(objectClass=org.opendaylight.controller.md.sal.dom.api.DOMRpcService)) Created: 19/Jan/17  Updated: 25/Jul/23  Resolved: 20/Jan/17

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

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

Operating System: All
Platform: All


Issue Links:
Blocks
blocks LISPMAP-147 Fix broken lispflowmapping features f... Resolved
blocks ODLPARENT-58 Remove all BLACKLISTED_BROKEN_FEATURE... Resolved
External issue ID: 7595

 Description   

Over the past week or so, I've seen the new extended SingleFeatureTest incl. TestBundleDiag fail with something like this:

Running org.opendaylight.odlparent.featuretest.SingleFeatureTest
Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 818.523 sec <<< FAILURE! - in org.opendaylight.odlparent.featuretest.SingleFeatureTest
installFeature(org.opendaylight.odlparent.featuretest.SingleFeatureTest)[repoUrl: file:/w/workspace/controller-distribution-check-carbon/distribution/features-test/target/classes/features.xml, Feature: odl-integration-compatible-with-all 0.6.0-SNAPSHOT] Time elapsed: 528.417 sec <<< ERROR!

org.awaitility.core.ConditionTimeoutException: Condition with alias 'checkBundleDiagInfos' didn't complete within 5 minutes because lambda expression in org.opendaylight.odlparent.bundlestest.TestBundleDiag: expected system either ready with all bundles Active, or Stopping or Failure (but not still booting in GracePeriod, Waiting, Starting, Unknown;but just Resolved and some exceptional Installed OK) but was <diag: Booting

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

1. NOK org.opendaylight.openflowplugin.applications.of-switch-config-pusher: OSGi state = Active, Karaf bundleState = GracePeriod, due to: Blueprint. Missing dependencies: (&(|(type=default)(!(type=*)))(objectClass=org.opendaylight.controller.md.sal.dom.api.DOMRpcService))

for a few features, across projects, including in:

and I now suspect that all of these are ultimately due to the same root cause, and indicate some general problem, perhaps a bug in https://github.com/opendaylight/controller/tree/master/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext, or a missing declaration in a base feature, or a missing dependency to a required base feature in all affected features, or...



 Comments   
Comment by Michael Vorburger [ 20/Jan/17 ]

> perhaps a bug in controller/blueprint/ext

There indeed was a problem; basically the "Missing dependencies: DOMRpcService" was just very confusing and misleadig - the DOMRpcService WAS (always) available, but some DOM service that was looked up wasn't - but it didn't tell you so, and not which one - which made analysing such problems really confusing and difficult.

https://git.opendaylight.org/gerrit/#/c/50682/ fixed that problem yesterday. Now the error will look much clearer, and instead of above show the actual root cause, for example:

org.opendaylight.genius.alivenessmonitor-impl: OSGi state = Active, Karaf bundleState = GracePeriod, due to: Blueprint. Missing dependencies:
Available DOM RPC for binding RPC: interface org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService
Available DOM RPC for binding RPC: interface org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService

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