[CONTROLLER-643] OpenDaylight "fails to fail" on mounting device which doens't provide schemas if there are other schemas in cache Created: 23/Jul/14  Updated: 25/Jul/23  Resolved: 25/Mar/15

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

Type: Bug
Reporter: Giles Heron Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Linux
Platform: PC


External issue ID: 1408

 Description   

There's a test in NetconfDeviceSchemaProviderFactory.java which (I believe) is intended to check if a device has not provided any schemas:

Preconditions.checkState(sourceContext.getValidSources().isEmpty() == false,
"%s: Unable to create schema context, no sources provided by device", id);

however this check only fails if the ~/cache/schema directory is completely empty. If there are files in the directory which were provided by another device then the check "fails to fail" and the device is mounted despite failing to provide any sources.

Is this intentional?



 Comments   
Comment by Tony Tkacik [ 24/Jul/14 ]

Hi Giles,
intention there is as following:

If device does not implement ietf-netconf-monitoring, we still looks up for
possible models in cache/schema because they could be sideloaded or discovered from other devices and thus this makes device able to export mount even
if it did not provided schemas.

Comment by Giles Heron [ 24/Jul/14 ]

ah, ok.

so we just check for any one of the models supported being in the cache?

did we consider checking for all of them? or just not bothering to check? I mean if one module is there how much better is that than none?

Comment by Tony Tkacik [ 24/Jul/14 ]

So current behaviour is to load as much as possible models,
the missing ones are not loaded, and netconf device is connected
with limited capabilities.

Comment by Tony Tkacik [ 16/Sep/14 ]

The behaviour of netconf connector is to try to get sources from cache / other devices if they have same revision of same model.

Comment by Maros Marsalek [ 19/Mar/15 ]

Hi Giles,

So this is expected behavior as sal-netconf-connector tries to build the SchemaContext from the biggest possible subset of sources. Netconf-connector logs the issues with resolving sources and recently, it also writes the problematic sources into the datastore and they are available using restconf in topology model e.g. http://localhost:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/

So I would close this issue as expected behavior, what do you say ?

Comment by Maros Marsalek [ 25/Mar/15 ]

This is expected behaviour, netconf node in the netconf topology now lists all the schemas that could not be used.

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