Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
Post-Helium
-
None
-
None
-
Operating System: All
Platform: All
-
3067
Description
When starting a feature via config subsystem sometimes models required by the modules in the feature are not available in md-sal. This results into exception at module factory in case we try to register dataChangeListeners.
Example feature:
<feature name='odl-openflowplugin-nsf-services' version='${project.version}'
description="OpenDaylight :: OpenflowPlugin :: NSF :: Services">
<feature version='${mdsal.version}'>odl-mdsal-broker</feature>
<feature version='${project.version}'>odl-openflowplugin-nsf-model</feature>
<bundle>mvn:org.opendaylight.openflowplugin.applications/topology-manager/${project.version}</bundle>
<bundle>mvn:org.opendaylight.openflowplugin.applications/topology-lldp-discovery/${project.version}</bundle>
<bundle>mvn:org.opendaylight.openflowplugin.applications/forwardingrules-manager/${project.version}</bundle>
<bundle>mvn:org.opendaylight.controller/liblldp/${sal.api.version}</bundle>
<configfile finalname="etc/opendaylight/karaf/30-forwardingrules-manager.xml">mvn:org.opendaylight.openflowplugin.applications/forwardingrules-manager-config/${project.version}/xml/config</configfile>
</feature>
Here module factory of forwardingrulesmanager failed because of missing FlowCapableNode augmentation class:
>feature:install odl-openflowplugin-flow-services-rest
Exception in thread "pool-36-thread-1" java.lang.IllegalArgumentException: Supplied Instance Identifier InstanceIdentifier
is not valid.
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:128)
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:29)
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:19)
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toYangInstanceIdentifier(BindingNormalizedNodeCodecRegistry.java:87)
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalized(BindingToNormalizedNodeCodec.java:64)
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.registerDataChangeListener(AbstractForwardedDataBroker.java:68)
at org.opendaylight.openflowplugin.applications.topology.manager.DataChangeListenerImpl.<init>(DataChangeListenerImpl.java:50)
at org.opendaylight.openflowplugin.applications.topology.manager.TerminationPointChangeListenerImpl.<init>(TerminationPointChangeListenerImpl.java:41)
at org.opendaylight.openflowplugin.applications.topology.manager.FlowCapableTopologyProvider.onSessionInitiated(FlowCapableTopologyProvider.java:56)
at org.opendaylight.controller.md.sal.binding.util.BindingContextUtils.createProviderContextAndInitialize(BindingContextUtils.java:56)
at org.opendaylight.controller.sal.binding.impl.RootBindingAwareBroker.registerProvider(RootBindingAwareBroker.java:172)
at org.opendaylight.controller.sal.binding.impl.RootBindingAwareBroker.registerProvider(RootBindingAwareBroker.java:160)
at org.opendaylight.controller.sal.binding.api.AbstractBindingAwareProvider.onBrokerAvailable(AbstractBindingAwareProvider.java:18)
at org.opendaylight.controller.sal.binding.api.AbstractBrokerAwareActivator$1$1.run(AbstractBrokerAwareActivator.java:34)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Attachments
Issue Links
- blocks
-
OPNFLWPLUG-386 Exception in FRM with no flows installed on nodes
- Resolved
- is duplicated by
-
OPNFLWPLUG-277 FRM registration flow listener fail
- Resolved