[CONTROLLER-1515] Not existing module imported: threadpool@2013-04-09 by netty-timer@2013-11-19 Created: 04/May/16  Updated: 19/Oct/17  Resolved: 05/Jul/17

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

Type: Bug
Reporter: Kangqian Yin Assignee: Unassigned
Resolution: Cannot Reproduce 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: 5840

 Description   

2016-05-04 09:26:53,850 | ERROR | config-pusher | ConfigPusherImpl | 110 - org.opendaylight.controller.config-persister-impl - 0.3.3.Lithium-SR3 | | Failed to apply configuration snapshot: 00-netty.xml(ipsdn-resource,ipsdn-resource)
org.opendaylight.yangtools.yang.parser.util.YangValidationException: Not existing module imported:threadpool:2013-04-09 by:netty-timer:2013-11-19
at org.opendaylight.yangtools.yang.parser.util.ModuleDependencySort.ex(ModuleDependencySort.java:267)[70:org.opendaylight.yangtools.yang-parser-impl:0.7.3.Lithium-SR3]
at org.opendaylight.yangtools.yang.parser.util.ModuleDependencySort.getModuleByNameAndRevision(ModuleDependencySort.java:257)[70:org.opendaylight.yangtools.yang-parser-impl:0.7.3.Lithium-SR3]
at org.opendaylight.yangtools.yang.parser.util.ModuleDependencySort.processDependencies(ModuleDependencySort.java:217)[70:org.opendaylight.yangtools.yang-parser-impl:0.7.3.Lithium-SR3]
at org.opendaylight.yangtools.yang.parser.util.ModuleDependencySort.createModuleGraph(ModuleDependencySort.java:148)[70:org.opendaylight.yangtools.yang-parser-impl:0.7.3.Lithium-SR3]
at org.opendaylight.yangtools.yang.parser.util.ModuleDependencySort.sortInternal(ModuleDependencySort.java:131)[70:org.opendaylight.yangtools.yang-parser-impl:0.7.3.Lithium-SR3]
at org.opendaylight.yangtools.yang.parser.util.ModuleDependencySort.sort(ModuleDependencySort.java:90)[70:org.opendaylight.yangtools.yang-parser-impl:0.7.3.Lithium-SR3]
at org.opendaylight.yangtools.yang.parser.impl.YangParserImpl.parseYangModelSources(YangParserImpl.java:356)[70:org.opendaylight.yangtools.yang-parser-impl:0.7.3.Lithium-SR3]
at org.opendaylight.yangtools.yang.parser.impl.YangParserImpl.parseSources(YangParserImpl.java:199)[70:org.opendaylight.yangtools.yang-parser-impl:0.7.3.Lithium-SR3]
at org.opendaylight.yangtools.yang.parser.impl.YangParserImpl.parseYangModelsFromStreams(YangParserImpl.java:191)[70:org.opendaylight.yangtools.yang-parser-impl:0.7.3.Lithium-SR3]
at org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext.recreateSchemaContext(ModuleInfoBackedContext.java:84)[81:org.opendaylight.yangtools.binding-generator-impl:0.7.3.Lithium-SR3]
at org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext.tryToCreateSchemaContext(ModuleInfoBackedContext.java:98)[81:org.opendaylight.yangtools.binding-generator-impl:0.7.3.Lithium-SR3]
at org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext.getSchemaContext(ModuleInfoBackedContext.java:178)[81:org.opendaylight.yangtools.binding-generator-impl:0.7.3.Lithium-SR3]
at org.opendaylight.controller.netconf.confignetconfconnector.osgi.YangStoreService.getYangStoreSnapshot(YangStoreService.java:105)[107:org.opendaylight.controller.config-netconf-connector:0.3.3.Lithium-SR3]
at org.opendaylight.controller.netconf.confignetconfconnector.osgi.YangStoreService.getModules(YangStoreService.java:129)[107:org.opendaylight.controller.config-netconf-connector:0.3.3.Lithium-SR3]
at org.opendaylight.controller.netconf.confignetconfconnector.osgi.NetconfOperationServiceFactoryImpl.setupCapabilities(NetconfOperationServiceFactoryImpl.java:99)[107:org.opendaylight.controller.config-netconf-connector:0.3.3.Lithium-SR3]
at org.opendaylight.controller.netconf.confignetconfconnector.osgi.NetconfOperationServiceFactoryImpl.getCapabilities(NetconfOperationServiceFactoryImpl.java:82)[107:org.opendaylight.controller.config-netconf-connector:0.3.3.Lithium-SR3]
at org.opendaylight.controller.netconf.persist.impl.ConfigPusherImpl.computeNotFoundCapabilities(ConfigPusherImpl.java:265)[110:org.opendaylight.controller.config-persister-impl:0.3.3.Lithium-SR3]
at org.opendaylight.controller.netconf.persist.impl.ConfigPusherImpl.getOperationService(ConfigPusherImpl.java:251)[110:org.opendaylight.controller.config-persister-impl:0.3.3.Lithium-SR3]
at org.opendaylight.controller.netconf.persist.impl.ConfigPusherImpl.getOperationServiceWithRetries(ConfigPusherImpl.java:163)[110:org.opendaylight.controller.config-persister-impl:0.3.3.Lithium-SR3]
at org.opendaylight.controller.netconf.persist.impl.ConfigPusherImpl.pushConfigWithConflictingVersionRetries(ConfigPusherImpl.java:143)[110:org.opendaylight.controller.config-persister-impl:0.3.3.Lithium-SR3]
at org.opendaylight.controller.netconf.persist.impl.ConfigPusherImpl.internalPushConfigs(ConfigPusherImpl.java:106)[110:org.opendaylight.controller.config-persister-impl:0.3.3.Lithium-SR3]
at org.opendaylight.controller.netconf.persist.impl.ConfigPusherImpl.process(ConfigPusherImpl.java:77)[110:org.opendaylight.controller.config-persister-impl:0.3.3.Lithium-SR3]
at org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPersisterActivator$InnerCustomizer$1.run(ConfigPersisterActivator.java:181)[110:org.opendaylight.controller.config-persister-impl:0.3.3.Lithium-SR3]
at java.lang.Thread.run(Thread.java:744)[:1.7.0_51]
2016-05-04 09:26:53,860 | INFO | config-pusher | ConfigPersisterActivator | 110 - org.opendaylight.controller.config-persister-impl - 0.3.3.Lithium-SR3 | | Configuration Persister initialization completed.



 Comments   
Comment by Kangqian Yin [ 04/May/16 ]

Yang module threadpool@2014-04-09 resides in bundle threadpool-config-api,
netty-timer@2013-11-19 resides in bundle netty-timer-config.
These two bundles are assembled in the same feature features-config-netty
whose feature definition is like the following:

<feature name='odl-config-netty' version='${project.version}' description="OpenDaylight :: Config-Netty">
<feature version='${project.version}'>odl-config-netty-config-api</feature>
<bundle>mvn:org.opendaylight.controller/netty-event-executor-config/${project.version}</bundle>
<bundle>mvn:org.opendaylight.controller/netty-threadgroup-config/${project.version}</bundle>
<bundle>mvn:org.opendaylight.controller/netty-timer-config/${project.version}</bundle>
<bundle>mvn:org.opendaylight.controller/threadpool-config-api/${project.version}</bundle>
<bundle>mvn:org.opendaylight.controller/threadpool-config-impl/${project.version}</bundle>
<feature version='${project.version}'>odl-config-startup</feature>
<configfile finalname="${config.configfile.directory}/${config.netty.configfile}">mvn:org.opendaylight.controller/config-netty-config/${config.version}/xml/config</configfile>
</feature>

In fact, threadpool-config-api should appear before netty-timer-config.
In a particluar execution trace, i.e.,
bundle netty-timer-config is installed and its netty-timer.yang is loaded
into system's yang module space, and just before karaf installing thread
begins to install next bundle of threadpool-config-api in this feature,
config-pusher thread is trying to push 00-netty.xml,
then reported exception will appear and the config-pusher thread
willterminate, so whole odl controller will be out-of-service.

Comment by Tom Pantelis [ 05/Jul/17 ]

This was reported on Lithium over a year ago and I don't recall seeing it post-Lithium.

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