[OPNFLWPLUG-453] OpenflowPlugin model issues cause feature installation issues Created: 22/May/15  Updated: 27/Sep/21  Resolved: 05/Jun/15

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

Type: Bug
Reporter: Sam Hague Assignee: Tony Tkacik
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File bug3341_openflowplugin_model_issues.txt    
External issue ID: 3341

 Description   

When loading the odl-ovsdb-openstack feature that includes the odl-openflowplugin-flow-services the openflowplugin fails to load properly and causes the odl-ovsdb-openstack feature to not load. I ahve the impression that some models requried for openflowplugin are not laoded when it starts. The feature for odl-ovsdb-openstack and shortened exceptions are below. More exceptions are attached.

<feature name="odl-ovsdb-openstack" description="OpenDaylight :: OVSDB :: OpenStack Network Virtualization"
version='${openstack.netvirt.version}'>
<feature version='${mdsal.version}'>odl-mdsal-broker</feature>
<feature version="${networkconfig.neutron.version}">odl-neutron-service</feature>
<feature version="1.1.0-SNAPSHOT">odl-ovsdb-southbound-impl-ui</feature>
<feature version="${openflowplugin.version}">odl-openflowplugin-flow-services</feature>
<feature version="${openflowplugin.version}">odl-openflowplugin-nxm-extensions</feature>
<bundle>mvn:org.opendaylight.ovsdb/utils.servicehelper/${ovsdb.utils.servicehelper.version}</bundle>
<bundle>mvn:org.opendaylight.ovsdb/openstack.net-virt/${openstack.netvirt.version}</bundle>
<bundle>mvn:org.opendaylight.ovsdb/openstack.net-virt-providers/${openstack.netvirt.providers.version}</bundle>
<configfile finalname="etc/opendaylight/karaf/netvirt-impl-default-config.xml">mvn:org.opendaylight.ovsdb/openstack.net-virt/${project.version}/xml/config</configfile>
<configfile finalname="etc/opendaylight/karaf/netvirt-providers-impl-default-config.xml">mvn:org.opendaylight.ovsdb/openstack.net-virt-providers/${project.version}/xml/config</configfile>
</feature>

015-05-22 07:13:35,534 | WARN | pool-12-thread-1 | DataObjectCodecContext | 116 - org.opendaylight.yangtools.binding-data-codec - 0.7.0.SNAPSHOT | Failed to load augmentation prototype for GeneratedTransferObject [packageName=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819, name=FlowCapableNode, comment=, annotations=[], implements=[Type (org.opendaylight.yangtools.yang.binding.DataObject), Type (org.opendaylight.yangtools.yang.binding.Augmentation), GeneratedType [packageName=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819, name=FlowNode, parent=null, comment=Openflow node structure = device, annotations=[], enclosedTypes=[], enumerations=[], constants=[Constant [type=Type (org.opendaylight.yangtools.yang.common.QName), name=QNAME, value=org.opendaylight.yangtools.yang.common.QName.cachedReference(org.opendaylight.yangtools.yang.common.QName.create("urn:opendaylight:flow:inventory","2013-08-19","flow-node")), definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowNode]], methodSignatures=[MethodSignatureImpl [name=getManufacturer, comment=, definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowNode, returnType=Type (java.lang.String), params=[], annotations=[]], MethodSignatureImpl [name=getHardware, comment=, definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowNode, returnType=Type (java.lang.String), params=[], annotations=[]], MethodSignatureImpl [name=getSoftware, comment=, definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowNode, returnType=Type (java.lang.String), params=[], annotations=[]], MethodSignatureImpl [name=getSerialNumber, comment=, definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowNode, returnType=Type (java.lang.String), params=[], annotations=[]], MethodSignatureImpl [name=getDescription, comment=, definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowNode, returnType=Type (java.lang.String), params=[], annotations=[]], MethodSignatureImpl [name=getSupportedMatchTypes, comment=null, definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowNode, returnType=GeneratedTransferObject [packageName=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.flow.node, name=SupportedMatchTypes, comment=null, annotations=[], implements=[Type (org.opendaylight.yangtools.yang.binding.ChildOf), Type (org.opendaylight.yangtools.yang.binding.Augmentable)], enclosedTypes=[], constants=[Constant [type=Type (org.opendaylight.yangtools.yang.common.QName), name=QNAME, value=org.opendaylight.yangtools.yang.common.QName.cachedReference(org.opendaylight.yangtools.yang.common.QName.create("urn:opendaylight:flow:inventory","2013-08-19","supported-match-types")), definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.flow.node.SupportedMatchTypes]], enumerations=[], properties=, methods=[MethodSignatureBuilderImpl [name=getMatchType, returnType=Type (java.util.List), parameters=[], annotationBuilders=[], comment=null]]], params=[], annotations=[]], MethodSignatureImpl [name=getSupportedInstructions, comment=null, definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowNode, returnType=GeneratedTransferObject [packageName=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.flow.node, name=SupportedInstructions, comment=null, annotations=[], implements=[Type (org.opendaylight.yangtools.yang.binding.ChildOf), Type (org.opendaylight.yangtools.yang.binding.Augmentable)], enclosedTypes=[], constants=[Constant [type=Type (org.opendaylight.yangtools.yang.common.QName), name=QNAME, value=org.opendaylight.yangtools.yang.common.QName.cachedReference(org.opendaylight.yangtools.yang.common.QName.create("urn:opendaylight:flow:inventory","2013-08-19","supported-instructions")), definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.flow.node.SupportedInstructions]], enumerations=[], properties=, methods=[MethodSignatureBuilderImpl [name=getInstructionType, returnType=Type (java.util.List), parameters=[], annotationBuilders=[], comment=null]]], params=[], annotations=[]], MethodSignatureImpl [name=getSupportedActions, comment=null, definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowNode, returnType=GeneratedTransferObject [packageName=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.flow.node, name=SupportedActions, comment=null, annotations=[], implements=[Type (org.opendaylight.yangtools.yang.binding.ChildOf), Type (org.opendaylight.yangtools.yang.binding.Augmentable)], enclosedTypes=[], constants=[Constant [type=Type (org.opendaylight.yangtools.yang.common.QName), name=QNAME, value=org.opendaylight.yangtools.yang.common.QName.cachedReference(org.opendaylight.yangtools.yang.common.QName.create("urn:opendaylight:flow:inventory","2013-08-19","supported-actions")), definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.flow.node.SupportedActions]], enumerations=[], properties=, methods=[MethodSignatureBuilderImpl [name=getActionType, returnType=Type (java.util.List), parameters=[], annotationBuilders=[], comment=null]]], params=[], annotations=[]], MethodSignatureImpl [name=getSwitchFeatures, comment=null, definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowNode, returnType=GeneratedTransferObject [packageName=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.flow.node, name=SwitchFeatures, comment=null, annotations=[], implements=[Type (org.opendaylight.yangtools.yang.binding.ChildOf), Type (org.opendaylight.yangtools.yang.binding.Augmentable)], enclosedTypes=[], constants=[Constant [type=Type (org.opendaylight.yangtools.yang.common.QName), name=QNAME, value=org.opendaylight.yangtools.yang.common.QName.cachedReference(org.opendaylight.yangtools.yang.common.QName.create("urn:opendaylight:flow:inventory","2013-08-19","switch-features")), definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.flow.node.SwitchFeatures]], enumerations=[], properties=, methods=[MethodSignatureBuilderImpl [name=getMaxBuffers, returnType=Type (java.lang.Long), parameters=[], annotationBuilders=[], comment=], MethodSignatureBuilderImpl [name=getMaxTables, returnType=Type (java.lang.Short), parameters=[], annotationBuilders=[], comment=], MethodSignatureBuilderImpl [name=getCapabilities, returnType=Type (java.util.List), parameters=[], annotationBuilders=[], comment=null]]], params=[], annotations=[]]]]], enclosedTypes=[], constants=[], enumerations=[], properties=, methods=[]]
java.lang.ClassNotFoundException: org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)[:1.7.0_71]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)[:1.7.0_71]
at java.security.AccessController.doPrivileged(Native Method)[:1.7.0_71]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)[:1.7.0_71]
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)[:1.7.0_71]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)[:1.7.0_71]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_71]
at org.eclipse.core.runtime.internal.adaptor.ContextFinder.loadClass(ContextFinder.java:131)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_71]
at org.opendaylight.yangtools.util.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:109)[74:org.opendaylight.yangtools.util:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.util.ClassLoaderUtils.loadClassWithTCCL(ClassLoaderUtils.java:125)[74:org.opendaylight.yangtools.util:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.sal.binding.generator.impl.GeneratedClassLoadingStrategy$TCCLClassLoadingStrategy.loadClass(GeneratedClassLoadingStrategy.java:44)[111:org.opendaylight.yangtools.binding-generator-impl:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext.loadClass(ModuleInfoBackedContext.java:69)[111:org.opendaylight.yangtools.binding-generator-impl:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.sal.binding.generator.impl.GeneratedClassLoadingStrategy.loadClass(GeneratedClassLoadingStrategy.java:27)[111:org.opendaylight.yangtools.binding-generator-impl:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.getAugmentationPrototype(DataObjectCodecContext.java:252)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.<init>(DataObjectCodecContext.java:107)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.ListNodeCodecContext.<init>(ListNodeCodecContext.java:22)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.KeyedListNodeCodecContext.<init>(KeyedListNodeCodecContext.java:29)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataContainerCodecPrototype.createInstance(DataContainerCodecPrototype.java:143)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataContainerCodecPrototype.get(DataContainerCodecPrototype.java:126)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.bindingPathArgumentChild(DataObjectCodecContext.java:178)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:127)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:29)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:19)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toYangInstanceIdentifier(BindingNormalizedNodeCodecRegistry.java:87)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalized(BindingToNormalizedNodeCodec.java:89)[167:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.registerDataChangeListener(AbstractForwardedDataBroker.java:68)[167:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.topology.manager.DataChangeListenerImpl$1.call(DataChangeListenerImpl.java:58)[208:org.opendaylight.openflowplugin.applications.topology-manager:0.1.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.topology.manager.DataChangeListenerImpl$1.call(DataChangeListenerImpl.java:55)[208:org.opendaylight.openflowplugin.applications.topology-manager:0.1.0.SNAPSHOT]
at org.opendaylight.openflowplugin.common.wait.SimpleTaskRetryLooper.loopUntilNoException(SimpleTaskRetryLooper.java:41)[199:org.opendaylight.openflowplugin.common:0.1.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.topology.manager.DataChangeListenerImpl.<init>(DataChangeListenerImpl.java:55)[208:org.opendaylight.openflowplugin.applications.topology-manager:0.1.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.topology.manager.TerminationPointChangeListenerImpl.<init>(TerminationPointChangeListenerImpl.java:41)[208:org.opendaylight.openflowplugin.applications.topology-manager:0.1.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.topology.manager.FlowCapableTopologyProvider.onSessionInitiated(FlowCapableTopologyProvider.java:55)[208:org.opendaylight.openflowplugin.applications.topology-manager:0.1.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.util.BindingContextUtils.createProviderContextAndInitialize(BindingContextUtils.java:56)[168:org.opendaylight.controller.sal-binding-util:1.2.0.SNAPSHOT]
at org.opendaylight.controller.sal.binding.impl.RootBindingAwareBroker.registerProvider(RootBindingAwareBroker.java:172)[167:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
at org.opendaylight.controller.sal.binding.impl.RootBindingAwareBroker.registerProvider(RootBindingAwareBroker.java:160)[167:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
at org.opendaylight.controller.sal.binding.api.AbstractBindingAwareProvider.onBrokerAvailable(AbstractBindingAwareProvider.java:18)[165:org.opendaylight.controller.sal-binding-api:1.2.0.SNAPSHOT]
at org.opendaylight.controller.sal.binding.api.AbstractBrokerAwareActivator$1$1.run(AbstractBrokerAwareActivator.java:34)[165:org.opendaylight.controller.sal-binding-api:1.2.0.SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_71]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_71]
at java.lang.Thread.run(Thread.java:745)[:1.7.0_71]
2015-05-22 07:13:35,536 | WARN | pool-12-thread-1 | DataObjectCodecContext | 116 - org.opendaylight.yangtools.binding-data-codec - 0.7.0.SNAPSHOT | Failed to load augmentation prototype for GeneratedTransferObject [packageName=org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111, name=NodeMeterFeatures, comment=, annotations=[], implements=[Type (org.opendaylight.yangtools.yang.binding.DataObject), Type (org.opendaylight.yangtools.yang.binding.Augmentation)], enclosedTypes=[], constants=[], enumerations=[], properties=, methods=[MethodSignatureBuilderImpl [name=getMeterFeatures, returnType=GeneratedTransferObject [packageName=org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.nodes.node, name=MeterFeatures, comment=null, annotations=[], implements=[Type (org.opendaylight.yangtools.yang.binding.ChildOf), Type (org.opendaylight.yangtools.yang.binding.Augmentable), GeneratedType [packageName=org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918, name=MeterFeaturesReply, parent=null, comment=null, annotations=[], enclosedTypes=[], enumerations=[], constants=[Constant [type=Type (org.opendaylight.yangtools.yang.common.QName), name=QNAME, value=org.opendaylight.yangtools.yang.common.QName.cachedReference(org.opendaylight.yangtools.yang.common.QName.create("urn:opendaylight:meter:types","2013-09-18","meter-features-reply")), definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterFeaturesReply]], methodSignatures=[]]], enclosedTypes=[], constants=[Constant [type=Type (org.opendaylight.yangtools.yang.common.QName), name=QNAME, value=org.opendaylight.yangtools.yang.common.QName.cachedReference(org.opendaylight.yangtools.yang.common.QName.create("urn:opendaylight:meter:statistics","2013-11-11","meter-features")), definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.nodes.node.MeterFeatures]], enumerations=[], properties=, methods=[]], parameters=[], annotationBuilders=[], comment=null]]]
java.lang.ClassNotFoundException: org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.NodeMeterFeatures
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)[:1.7.0_71]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)[:1.7.0_71]
at java.security.AccessController.doPrivileged(Native Method)[:1.7.0_71]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)[:1.7.0_71]
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)[:1.7.0_71]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)[:1.7.0_71]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_71]
at org.eclipse.core.runtime.internal.adaptor.ContextFinder.loadClass(ContextFinder.java:131)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_71]
at org.opendaylight.yangtools.util.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:109)[74:org.opendaylight.yangtools.util:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.util.ClassLoaderUtils.loadClassWithTCCL(ClassLoaderUtils.java:125)[74:org.opendaylight.yangtools.util:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.sal.binding.generator.impl.GeneratedClassLoadingStrategy$TCCLClassLoadingStrategy.loadClass(GeneratedClassLoadingStrategy.java:44)[111:org.opendaylight.yangtools.binding-generator-impl:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext.loadClass(ModuleInfoBackedContext.java:69)[111:org.opendaylight.yangtools.binding-generator-impl:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.sal.binding.generator.impl.GeneratedClassLoadingStrategy.loadClass(GeneratedClassLoadingStrategy.java:27)[111:org.opendaylight.yangtools.binding-generator-impl:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.getAugmentationPrototype(DataObjectCodecContext.java:252)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.<init>(DataObjectCodecContext.java:107)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.ListNodeCodecContext.<init>(ListNodeCodecContext.java:22)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.KeyedListNodeCodecContext.<init>(KeyedListNodeCodecContext.java:29)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataContainerCodecPrototype.createInstance(DataContainerCodecPrototype.java:143)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataContainerCodecPrototype.get(DataContainerCodecPrototype.java:126)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.bindingPathArgumentChild(DataObjectCodecContext.java:178)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:127)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:29)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:19)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toYangInstanceIdentifier(BindingNormalizedNodeCodecRegistry.java:87)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalized(BindingToNormalizedNodeCodec.java:89)[167:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.registerDataChangeListener(AbstractForwardedDataBroker.java:68)[167:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.topology.manager.DataChangeListenerImpl$1.call(DataChangeListenerImpl.java:58)[208:org.opendaylight.openflowplugin.applications.topology-manager:0.1.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.topology.manager.DataChangeListenerImpl$1.call(DataChangeListenerImpl.java:55)[208:org.opendaylight.openflowplugin.applications.topology-manager:0.1.0.SNAPSHOT]
at org.opendaylight.openflowplugin.common.wait.SimpleTaskRetryLooper.loopUntilNoException(SimpleTaskRetryLooper.java:41)[199:org.opendaylight.openflowplugin.common:0.1.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.topology.manager.DataChangeListenerImpl.<init>(DataChangeListenerImpl.java:55)[208:org.opendaylight.openflowplugin.applications.topology-manager:0.1.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.topology.manager.TerminationPointChangeListenerImpl.<init>(TerminationPointChangeListenerImpl.java:41)[208:org.opendaylight.openflowplugin.applications.topology-manager:0.1.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.topology.manager.FlowCapableTopologyProvider.onSessionInitiated(FlowCapableTopologyProvider.java:55)[208:org.opendaylight.openflowplugin.applications.topology-manager:0.1.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.util.BindingContextUtils.createProviderContextAndInitialize(BindingContextUtils.java:56)[168:org.opendaylight.controller.sal-binding-util:1.2.0.SNAPSHOT]
at org.opendaylight.controller.sal.binding.impl.RootBindingAwareBroker.registerProvider(RootBindingAwareBroker.java:172)[167:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
at org.opendaylight.controller.sal.binding.impl.RootBindingAwareBroker.registerProvider(RootBindingAwareBroker.java:160)[167:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
at org.opendaylight.controller.sal.binding.api.AbstractBindingAwareProvider.onBrokerAvailable(AbstractBindingAwareProvider.java:18)[165:org.opendaylight.controller.sal-binding-api:1.2.0.SNAPSHOT]
at org.opendaylight.controller.sal.binding.api.AbstractBrokerAwareActivator$1$1.run(AbstractBrokerAwareActivator.java:34)[165:org.opendaylight.controller.sal-binding-api:1.2.0.SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_71]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_71]
at java.lang.Thread.run(Thread.java:745)[:1.7.0_71]
2015-05-22 07:13:35,540 | WARN | pool-12-thread-1 | DataObjectCodecContext | 116 - org.opendaylight.yangtools.binding-data-codec - 0.7.0.SNAPSHOT | Failed to load augmentation prototype for GeneratedTransferObject [packageName=org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111, name=NodeGroupFeatures, comment=, annotations=[], implements=[Type (org.opendaylight.yangtools.yang.binding.DataObject), Type (org.opendaylight.yangtools.yang.binding.Augmentation), GeneratedType [packageName=org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111, name=GroupFeatures, parent=null, comment=TODO:: simplify, annotations=[], enclosedTypes=[], enumerations=[], constants=[Constant [type=Type (org.opendaylight.yangtools.yang.common.QName), name=QNAME, value=org.opendaylight.yangtools.yang.common.QName.cachedReference(org.opendaylight.yangtools.yang.common.QName.create("urn:opendaylight:group:statistics","2013-11-11","group-features")), definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GroupFeatures]], methodSignatures=[MethodSignatureImpl [name=getGroupFeatures, comment=null, definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GroupFeatures, returnType=GeneratedTransferObject [packageName=org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.group.features, name=GroupFeatures, comment=null, annotations=[], implements=[Type (org.opendaylight.yangtools.yang.binding.ChildOf), Type (org.opendaylight.yangtools.yang.binding.Augmentable), GeneratedType [packageName=org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018, name=GroupFeaturesReply, parent=null, comment=null, annotations=[], enclosedTypes=[], enumerations=[], constants=[Constant [type=Type (org.opendaylight.yangtools.yang.common.QName), name=QNAME, value=org.opendaylight.yangtools.yang.common.QName.cachedReference(org.opendaylight.yangtools.yang.common.QName.create("urn:opendaylight:group:types","2013-10-18","group-features-reply")), definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupFeaturesReply]], methodSignatures=[]]], enclosedTypes=[], constants=[Constant [type=Type (org.opendaylight.yangtools.yang.common.QName), name=QNAME, value=org.opendaylight.yangtools.yang.common.QName.cachedReference(org.opendaylight.yangtools.yang.common.QName.create("urn:opendaylight:group:statistics","2013-11-11","group-features")), definingType=org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.group.features.GroupFeatures]], enumerations=[], properties=, methods=[]], params=[], annotations=[]]]]], enclosedTypes=[], constants=[], enumerations=[], properties=, methods=[]]
java.lang.ClassNotFoundException: org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.NodeGroupFeatures
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)[:1.7.0_71]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)[:1.7.0_71]
at java.security.AccessController.doPrivileged(Native Method)[:1.7.0_71]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)[:1.7.0_71]
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)[:1.7.0_71]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)[:1.7.0_71]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_71]
at org.eclipse.core.runtime.internal.adaptor.ContextFinder.loadClass(ContextFinder.java:131)[org.eclipse.osgi-3.8.2.v20130124-134944.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_71]
at org.opendaylight.yangtools.util.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:109)[74:org.opendaylight.yangtools.util:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.util.ClassLoaderUtils.loadClassWithTCCL(ClassLoaderUtils.java:125)[74:org.opendaylight.yangtools.util:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.sal.binding.generator.impl.GeneratedClassLoadingStrategy$TCCLClassLoadingStrategy.loadClass(GeneratedClassLoadingStrategy.java:44)[111:org.opendaylight.yangtools.binding-generator-impl:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext.loadClass(ModuleInfoBackedContext.java:69)[111:org.opendaylight.yangtools.binding-generator-impl:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.sal.binding.generator.impl.GeneratedClassLoadingStrategy.loadClass(GeneratedClassLoadingStrategy.java:27)[111:org.opendaylight.yangtools.binding-generator-impl:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.getAugmentationPrototype(DataObjectCodecContext.java:252)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.<init>(DataObjectCodecContext.java:107)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.ListNodeCodecContext.<init>(ListNodeCodecContext.java:22)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.KeyedListNodeCodecContext.<init>(KeyedListNodeCodecContext.java:29)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataContainerCodecPrototype.createInstance(DataContainerCodecPrototype.java:143)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataContainerCodecPrototype.get(DataContainerCodecPrototype.java:126)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.bindingPathArgumentChild(DataObjectCodecContext.java:178)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:127)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:29)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.serialize(InstanceIdentifierCodec.java:19)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toYangInstanceIdentifier(BindingNormalizedNodeCodecRegistry.java:87)[116:org.opendaylight.yangtools.binding-data-codec:0.7.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalized(BindingToNormalizedNodeCodec.java:89)[167:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.registerDataChangeListener(AbstractForwardedDataBroker.java:68)[167:org.opendaylight.controller.sal-binding-broker-impl:1.2.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.topology.manager.DataChangeListenerImpl$1.call(DataChangeListenerImpl.java:58)[208:org.opendaylight.openflowplugin.applications.topology-manager:0.1.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.topology.manager.DataChangeListenerImpl$1.call(DataChangeListenerImpl.java:55)[208:org.opendaylight.openflowplugin.applications.topology-manager:0.1.0.SNAPSHOT]
at org.opendaylight.openflowplugin.common.wait.SimpleTaskRetryLooper.loopUntilNoException(SimpleTaskRetryLooper.java:41)[199:org.opendaylight.openflowplugin.common:0.1.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.topology.manager.DataChangeListenerImpl.<init>(DataChangeListenerImpl.java:55)[...



 Comments   
Comment by Sam Hague [ 22/May/15 ]

Attachment bug3341_openflowplugin_model_issues.txt has been added with description: exceptions

Comment by Ed Warnicke [ 22/May/15 ]

I'm pretty sure this is related to the FRM modules not being wired by the config subsystem, but rather subject to the random start order effects of OSGI...

Comment by Tony Tkacik [ 24/May/15 ]

Probably duplicate of CONTROLLER-1278.

Patchset is on code-review: https://git.opendaylight.org/gerrit/#/c/19607/

Comment by Ed Warnicke [ 31/May/15 ]

This patch stack:

https://git.opendaylight.org/gerrit/#/c/21513/

Should fix the random blow ups. It wires up the remaining apps (inventory-manager etc) for config subsystem and adds the models they need to the required-capabilities section.

I've tested this and using required-capabilities to wait on models to be scanned does work.

That said, there is still space for not having gotten the models in required-capabilities correct. However, any blowup will point direction to which model was missing and which module was missing it... so it will point directly to how to fix it going forward.

Its critical therefore that after this patch set is merged you report the stack trace for any blowup like this, so it can be simply and quickly fixed.

Comment by Tony Tkacik [ 05/Jun/15 ]

https://git.opendaylight.org/gerrit/21706
https://git.opendaylight.org/gerrit/21493
https://git.opendaylight.org/gerrit/21513
https://git.opendaylight.org/gerrit/21492

Comment by Tony Tkacik [ 05/Jun/15 ]

https://git.opendaylight.org/gerrit/21706
https://git.opendaylight.org/gerrit/21493
https://git.opendaylight.org/gerrit/21513
https://git.opendaylight.org/gerrit/21492

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