Ask is moving to Stack Overflow and Serverfault.com! Please use the "opendaylight" tag on either of these sites. This site is now in Read-Only mode

Revision history [back]

click to hide/show revision 1
initial version

What is the meaning, cause and steps to resolve org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException: No providers registered for sourceSourceIdentifier?

Hello ODL community,

I'm trying to register a Junos device, a Juniper MX running Junos 15.1 with the ODL netconf adapter.

Environment:

  • Lithium-SR1 on Ubuntu 14.04 LTS
  • All netconf features enabled in karaf

Setup:

I've followed the tutorial at https://wiki.opendaylight.org/view/OpenDaylightController:Config:Examples:Netconf#Usingnetopeernetconfserverinsteadofareal_device - this yields successful results. I know that my target device does not support netconf monitoring - therefore I have: 1. sideloaded the yang schemas for the Juniper device into the odl cache/schema directory 2. written a script to register my device with the adapter. 3. verified that the expected config has been applied by checking http://localhost:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/controller-config/yang-ext:mount/config:modules/module/odl-sal-netconf-connector-cfg:sal-netconf-connector/junos-testmx-netconf-device 4. Verified that my target device is reachable by invoking 'ssh userrname@ipaddress -p 830 -s netconf' and verifiying sensible output.

But the first smell that something is not right comes from my yang models not being listed in YangUI

Digging further I find the following messages in the karaf log:

2015-10-05 10:58:18,922 | INFO | NioProcessor-5 | ClientSessionImpl | 142 - org.apache.sshd.core - 0.14.0 | Dequeing pending packets 2015-10-05 10:58:19,252 | INFO | NioProcessor-5 | ClientUserAuthServiceNew | 142 - org.apache.sshd.core - 0.14.0 | Received SSHMSGUSERAUTHFAILURE 2015-10-05 10:58:19,336 | INFO | NioProcessor-5 | UserAuthKeyboardInteractive | 142 - org.apache.sshd.core - 0.14.0 | Received
2015-10-05 10:58:19,444 | INFO | NioProcessor-5 | UserAuthKeyboardInteractive | 142 - org.apache.sshd.core - 0.14.0 | Received
2015-10-05 10:58:19,522 | INFO | NioProcessor-5 | ClientUserAuthServiceNew | 142 - org.apache.sshd.core - 0.14.0 | Received SSH
MSGUSERAUTHSUCCESS 2015-10-05 10:58:20,361 | WARN | sing-executor-13 | NetconfStateSchemas | 184 - org.opendaylight.controller.sal-netconf-connector - 1.2.1.Lithium-SR1 | {}: Netconf monitoring not supported on device, cannot detect provided schemas 2015-10-05 10:58:20,368 | WARN | sing-executor-13 | NetconfDevice | 184 - org.opendaylight.controller.sal-netconf-connector - 1.2.1.Lithium-SR1 | RemoteDevice{junos-testmx-netconf-device}: Netconf device does not provide all yang models reported in hello message capabilities, required but not provided: [(urn:ietf:params:xml:ns:yang:junos-extension-15.1?revision=2015-05-29)junos-extension, (urn:ietf:params:xml:ns:yang:configuration-15.1?revision=2015-05-29)configuration] 2015-10-05 10:58:20,368 | WARN | sing-executor-13 | NetconfDevice | 184 - org.opendaylight.controller.sal-netconf-connector - 1.2.1.Lithium-SR1 | RemoteDevice{junos-testmx-netconf-device}: Attempting to build schema context from required sources 2015-10-05 10:58:20,384 | ERROR | sing-executor-14 | Futures$CombinedFuture | 64 - com.google.guava - 18.0.0 | input future failed. org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException: No providers registered for sourceSourceIdentifier [name=configuration@2015-05-29] at org.opendaylight.yangtools.yang.model.repo.util.AbstractSchemaRepository.getSchemaSource(AbstractSchemaRepository.java:92)[92:org.opendaylight.yangtools.yang-model-util:0.7.1.Lithium-SR1] at org.opendaylight.yangtools.yang.parser.repo.SharedSchemaContextFactory$1.apply(SharedSchemaContextFactory.java:66)[94:org.opendaylight.yangtools.yang-parser-impl:0.7.1.Lithium-SR1] at org.opendaylight.yangtools.yang.parser.repo.SharedSchemaContextFactory$1.apply(SharedSchemaContextFactory.java:63)[94:org.opendaylight.yangtools.yang-parser-impl:0.7.1.Lithium-SR1] at com.google.common.collect.Iterators$8.transform(Iterators.java:799)[64:com.google.guava:18.0.0] at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)[64:com.google.guava:18.0.0] at java.util.AbstractCollection.toArray(AbstractCollection.java:141)[:1.7.079] at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:258)[64:com.google.guava:18.0.0] at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:226)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.Futures.allAsList(Futures.java:1027)[64:com.google.guava:18.0.0] at org.opendaylight.yangtools.yang.parser.repo.SharedSchemaContextFactory.createSchemaContext(SharedSchemaContextFactory.java:137)[94:org.opendaylight.yangtools.yang-parser-impl:0.7.1.Lithium-SR1] at org.opendaylight.controller.sal.connect.netconf.NetconfDevice$RecursiveSchemaSetup.setUpSchema(NetconfDevice.java:423)[184:org.opendaylight.controller.sal-netconf-connector:1.2.1.Lithium-SR1] at org.opendaylight.controller.sal.connect.netconf.NetconfDevice$RecursiveSchemaSetup.run(NetconfDevice.java:405)[184:org.opendaylight.controller.sal-netconf-connector:1.2.1.Lithium-SR1] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.079] at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.079] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.079] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.079] at java.lang.Thread.run(Thread.java:745)[:1.7.079] 2015-10-05 10:58:20,385 | WARN | sing-executor-14 | NetconfDevice | 184 - org.opendaylight.controller.sal-netconf-connector - 1.2.1.Lithium-SR1 | RemoteDevice{junos-testmx-netconf-device}: Unable to build schema context, missing source SourceIdentifier [name=junos-extension@2015-05-29], will reattempt without it 2015-10-05 10:58:20,385 | WARN | sing-executor-14 | NetconfDevice | 184 - org.opendaylight.controller.sal-netconf-connector - 1.2.1.Lithium-SR1 | RemoteDevice{junos-testmx-netconf-device}: Unable to build schema context, missing source SourceIdentifier [name=configuration@2015-05-29], will reattempt without it 2015-10-05 10:58:20,385 | ERROR | sing-executor-14 | NetconfDevice | 184 - org.opendaylight.controller.sal-netconf-connector - 1.2.1.Lithium-SR1 | RemoteDevice{junos-testmx-netconf-device}: Initialization in sal failed, disconnecting from device java.lang.IllegalStateException: RemoteDevice{junos-testmx-netconf-device}: No more sources for schema context at org.opendaylight.controller.sal.connect.netconf.NetconfDevice$RecursiveSchemaSetup.setUpSchema(NetconfDevice.java:417)[184:org.opendaylight.controller.sal-netconf-connector:1.2.1.Lithium-SR1] at org.opendaylight.controller.sal.connect.netconf.NetconfDevice$RecursiveSchemaSetup.access$1400(NetconfDevice.java:390)[184:org.opendaylight.controller.sal-netconf-connector:1.2.1.Lithium-SR1] at org.opendaylight.controller.sal.connect.netconf.NetconfDevice$RecursiveSchemaSetup$1.onFailure(NetconfDevice.java:443)[184:org.opendaylight.controller.sal-netconf-connector:1.2.1.Lithium-SR1] at com.google.common.util.concurrent.Futures$6.run(Futures.java:1310)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.ExecutionList.add(ExecutionList.java:101)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.AbstractFuture.addListener(AbstractFuture.java:170)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.ForwardingListenableFuture.addListener(ForwardingListenableFuture.java:47)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.Futures.addCallback(Futures.java:1322)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.Futures.addCallback(Futures.java:1258)[64:com.google.guava:18.0.0] at org.opendaylight.controller.sal.connect.netconf.NetconfDevice$RecursiveSchemaSetup.setUpSchema(NetconfDevice.java:460)[184:org.opendaylight.controller.sal-netconf-connector:1.2.1.Lithium-SR1] at org.opendaylight.controller.sal.connect.netconf.NetconfDevice$RecursiveSchemaSetup.access$1400(NetconfDevice.java:390)[184:org.opendaylight.controller.sal-netconf-connector:1.2.1.Lithium-SR1] at org.opendaylight.controller.sal.connect.netconf.NetconfDevice$RecursiveSchemaSetup$1.onFailure(NetconfDevice.java:443)[184:org.opendaylight.controller.sal-netconf-connector:1.2.1.Lithium-SR1] at com.google.common.util.concurrent.Futures$6.run(Futures.java:1310)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.ExecutionList.add(ExecutionList.java:101)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.AbstractFuture.addListener(AbstractFuture.java:170)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.ForwardingListenableFuture.addListener(ForwardingListenableFuture.java:47)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.Futures.addCallback(Futures.java:1322)[64:com.google.guava:18.0.0] at com.google.common.util.concurrent.Futures.addCallback(Futures.java:1258)[64:com.google.guava:18.0.0] at org.opendaylight.controller.sal.connect.netconf.NetconfDevice$RecursiveSchemaSetup.setUpSchema(NetconfDevice.java:460)[184:org.opendaylight.controller.sal-netconf-connector:1.2.1.Lithium-SR1] at org.opendaylight.controller.sal.connect.netconf.NetconfDevice$RecursiveSchemaSetup.run(NetconfDevice.java:405)[184:org.opendaylight.controller.sal-netconf-connector:1.2.1.Lithium-SR1] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.079] at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.079] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.079] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.079] at java.lang.Thread.run(Thread.java:745)[:1.7.0_79] 2015-10-05 10:58:20,393 | WARN | sing-executor-14 | NetconfDeviceCommunicator | 184 - org.opendaylight.controller.sal-netconf-connector - 1.2.1.Lithium-SR1 | RemoteDevice{junos-testmx-netconf-device}: Session terminated Session closed

  1. Can you advise what the exception means?
  2. Can you advise of next steps I should attempt to remedy?

Many Thanks,

Andy.