<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:14:06 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[NETCONF-70] Support multiple Yang model revisions for mounted nodes</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-70</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;Current code supports only one version of a given Yang model mounted from remote devices. The presence of another same model revision breaks things.&lt;br/&gt;
Discussed at 2015 July ODL Summit...&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="21083">NETCONF-70</key>
            <summary>Support multiple Yang model revisions for mounted nodes</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                                <status id="10003" iconUrl="https://jira.opendaylight.org/images/icons/status_generic.gif" description="">Confirmed</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="wojdec">Wojciech Dec</reporter>
                        <labels>
                    </labels>
                <created>Thu, 24 Sep 2015 08:43:34 +0000</created>
                <updated>Tue, 13 Aug 2019 07:38:38 +0000</updated>
                                                                            <component>netconf</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="38942" author="wdec@cisco.com" created="Fri, 25 Sep 2015 09:26:42 +0000"  >&lt;p&gt;Clarifying: Issue is seen when same model, but with different revisions is mounted from two or more netconf devices.&lt;/p&gt;

&lt;p&gt;Although logs are from Helium, issue is also there in Lithium:&lt;/p&gt;

&lt;p&gt;2015-07-24 20:50:06,501 | ERROR | lt-dispatcher-35 | DataChangeListener               | 161 - org.opendaylight.controller.sal-distributed-datastore - 1.1.1.Helium-SR1-00004_1-SNAPSHOT | Error notifying listener org.opendaylight.controller.listeners.impl.MyAppl&lt;br/&gt;
java.lang.IllegalArgumentException: Failed to normalize path /(&lt;a href=&quot;http://www.cisco.com/yang/cisco-vpp?revision=2015-06-09)vpp/bridge-domains/bridge-domain[&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.cisco.com/yang/cisco-vpp?revision=2015-06-09)vpp/bridge-domains/bridge-domain[&lt;/a&gt;&lt;/p&gt;
{(http://www.cisco.com/yang/cisco-vpp?revision=2015-06-09)name=11f1a31a-118c-4154-a7a7-45fa98f5aaa4}
&lt;p&gt;]&lt;br/&gt;
	at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizer.toNormalized(DataNormalizer.java:69)&lt;span class=&quot;error&quot;&gt;&amp;#91;82:org.opendaylight.controller.sal-common-impl:1.1.1.Helium-SR1-00004_1-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.dom.broker.impl.compat.BackwardsCompatibleTransaction.readConfigurationData(BackwardsCompatibleTransaction.java:95)&lt;span class=&quot;error&quot;&gt;&amp;#91;134:org.opendaylight.controller.sal-broker-impl:1.1.1.Helium-SR1-00004_1-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.dom.broker.impl.compat.BackwardsCompatibleDataBroker.readConfigurationData(BackwardsCompatibleDataBroker.java:48)&lt;span class=&quot;error&quot;&gt;&amp;#91;134:org.opendaylight.controller.sal-broker-impl:1.1.1.Helium-SR1-00004_1-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.dom.broker.BackwardsCompatibleMountPoint.readConfigurationData(BackwardsCompatibleMountPoint.java:181)&lt;span class=&quot;error&quot;&gt;&amp;#91;134:org.opendaylight.controller.sal-broker-impl:1.1.1.Helium-SR1-00004_1-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector.readConfigurationData(BindingIndependentConnector.java:118)&lt;span class=&quot;error&quot;&gt;&amp;#91;137:org.opendaylight.controller.sal-binding-broker-impl:1.1.1.Helium-SR1-00004_1-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector.readConfigurationData(BindingIndependentConnector.java:43)&lt;span class=&quot;error&quot;&gt;&amp;#91;137:org.opendaylight.controller.sal-binding-broker-impl:1.1.1.Helium-SR1-00004_1-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.binding.impl.DataBrokerImpl$DelegatingDataReadRouter.readConfigurationData(DataBrokerImpl.java:132)&lt;span class=&quot;error&quot;&gt;&amp;#91;137:org.opendaylight.controller.sal-binding-broker-impl:1.1.1.Helium-SR1-00004_1-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.binding.impl.DataBrokerImpl$DelegatingDataReadRouter.readConfigurationData(DataBrokerImpl.java:125)&lt;span class=&quot;error&quot;&gt;&amp;#91;137:org.opendaylight.controller.sal-binding-broker-impl:1.1.1.Helium-SR1-00004_1-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.common.impl.service.AbstractDataBroker.readConfigurationData(AbstractDataBroker.java:214)&lt;span class=&quot;error&quot;&gt;&amp;#91;82:org.opendaylight.controller.sal-common-impl:1.1.1.Helium-SR1-00004_1-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.common.impl.service.AbstractDataTransaction.readConfigurationData(AbstractDataTransaction.java:71)&lt;span class=&quot;error&quot;&gt;&amp;#91;82:org.opendaylight.controller.sal-common-impl:1.1.1.Helium-SR1-00004_1-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.store.VHostUserToInterfaceBuilder.createVHostUserClientInterface(VHostUserToInterfaceBuilder.java:130)&lt;span class=&quot;error&quot;&gt;&amp;#91;233:org.opendaylight.controller.neutronvpp-provider:1.1.1.00004_1-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.listeners.impl.NeutronPortListenerImpl.add(NeutronPortListenerImpl.java:278)&lt;span class=&quot;error&quot;&gt;&amp;#91;233:org.opendaylight.controller.neutronvpp-provider:1.1.1.00004_1-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.listeners.impl.NeutronPortListenerImpl.add(NeutronPortListenerImpl.java:55)&lt;span class=&quot;error&quot;&gt;&amp;#91;233:org.opendaylight.controller.neutronvpp-provider:1.1.1.00004_1-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;/p&gt;</comment>
                            <comment id="38943" author="wdec@cisco.com" created="Wed, 3 Feb 2016 10:16:26 +0000"  >&lt;p&gt;Perhaps I&apos;m missing something here, but how does 4577 solve the problem described here?&lt;br/&gt;
Having a separate model cache per device, and a manually configured one at that, doesn&apos;t seem to apply here.&lt;/p&gt;

&lt;p&gt;The issue is that the binding aware code &quot;binds&quot; to the Yang model derived version, and if the device doesn&apos;t have that version, it fails with the error below. Given that the Yang RFC mandates that yang models be backwards compatible, this is broken behavior.&lt;/p&gt;</comment>
                            <comment id="38944" author="wdec@cisco.com" created="Wed, 25 May 2016 11:38:38 +0000"  >&lt;p&gt;Re-opening: The 4577 fix provides an impractical workaround. It is not realistic to specify, mount and maintain a separate cache for each device. &lt;br/&gt;
Aside from the obvious kludginess, the there is opaqueness in the solution (who would ever know about this setting?)&lt;br/&gt;
Furthermore, one obvious problem is that devices do get upgraded after being in production and it is not at all intuitive that the cache on ODL needs to be &quot;cleaned&quot;, etc.&lt;/p&gt;</comment>
                            <comment id="38945" author="abbas.pareedkunju@tcs.com" created="Tue, 31 May 2016 08:54:35 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;On the latest build it seems working fine.&lt;/p&gt;

&lt;p&gt;opendaylight-user@root&amp;gt;shell:exec curl -u&apos;admin:admin&apos; -X PATCH -H &quot;Content-Type:application/yang.patch+json&quot; -d &apos;{&quot;ietf-restconf:yang-patch&quot;:{&quot;patch-id&quot;:&quot;0&quot;,&quot;edit&quot;:[{&quot;edit-id&quot;:&quot;0&quot;,&quot;operation&quot;:&quot;replace&quot;,&quot;target&quot;:&quot;/&quot;,&quot;value&quot;:{&quot;car:cars&quot;:{&quot;car-entry&quot;:[&lt;/p&gt;
{&quot;id&quot;:&quot;0&quot;}
&lt;p&gt;]}}}]}&apos; localhost:8080/restconf/config/car:cars ;echo&lt;br/&gt;
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current&lt;br/&gt;
                                 Dload  Upload   Total   Spent    Left  Speed&lt;br/&gt;
100   152    0     0  100   152      0    542 -&lt;del&gt;:&lt;/del&gt;&lt;del&gt;:&lt;/del&gt;- -&lt;del&gt;:&lt;/del&gt;&lt;del&gt;:&lt;/del&gt;- -&lt;del&gt;:&lt;/del&gt;&lt;del&gt;:&lt;/del&gt;-   540&lt;/p&gt;

&lt;p&gt;opendaylight-user@root&amp;gt;&lt;/p&gt;


&lt;p&gt;Can this be closed?&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Abbas&lt;/p&gt;</comment>
                            <comment id="38946" author="wdec@cisco.com" created="Tue, 31 May 2016 09:05:44 +0000"  >&lt;p&gt;(In reply to Abbas P Pareedkunju from comment #5)&lt;br/&gt;
&amp;gt; Hi,&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; On the latest build it seems working fine.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; opendaylight-user@root&amp;gt;shell:exec curl -u&apos;admin:admin&apos; -X PATCH -H&lt;br/&gt;
&amp;gt; &quot;Content-Type:application/yang.patch+json&quot; -d&lt;br/&gt;
&amp;gt; &apos;{&quot;ietf-restconf:yang-patch&quot;:{&quot;patch-id&quot;:&quot;0&quot;,&quot;edit&quot;:[{&quot;edit-id&quot;:&quot;0&quot;,&lt;br/&gt;
&amp;gt; &quot;operation&quot;:&quot;replace&quot;,&quot;target&quot;:&quot;/&quot;,&quot;value&quot;:{&quot;car:cars&quot;:{&quot;car-entry&quot;:[&lt;/p&gt;
{&quot;id&quot;:
&amp;gt; &quot;0&quot;}
&lt;p&gt;]}}}]}&apos; localhost:8080/restconf/config/car:cars ;echo&lt;br/&gt;
&amp;gt;   % Total    % Received % Xferd  Average Speed   Time    Time     Time &lt;br/&gt;
&amp;gt; Current&lt;br/&gt;
&amp;gt;                                  Dload  Upload   Total   Spent    Left  Speed&lt;br/&gt;
&amp;gt; 100   152    0     0  100   152      0    542 -&lt;del&gt;:&lt;/del&gt;&lt;del&gt;:&lt;/del&gt;- -&lt;del&gt;:&lt;/del&gt;&lt;del&gt;:&lt;/del&gt;- -&lt;del&gt;:&lt;/del&gt;&lt;del&gt;:&lt;/del&gt;-  &lt;br/&gt;
&amp;gt; 540&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; opendaylight-user@root&amp;gt;&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Can this be closed?&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Thanks,&lt;br/&gt;
&amp;gt; Abbas&lt;/p&gt;

&lt;p&gt;Working fine in what way? &lt;br/&gt;
As per my comments, it&apos;s totally impractical to mount devices with their own schema store (which is the workaround).&lt;/p&gt;</comment>
                            <comment id="38947" author="abbas.pareedkunju@tcs.com" created="Tue, 31 May 2016 09:11:36 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;On the latest build it seems working fine.&lt;/p&gt;

&lt;p&gt;opendaylight-user@root&amp;gt;shell:exec curl -u&apos;admin:admin&apos; -X PATCH -H &quot;Content-Type:application/yang.patch+json&quot; -d &apos;{&quot;ietf-restconf:yang-patch&quot;:{&quot;patch-id&quot;:&quot;0&quot;,&quot;edit&quot;:[{&quot;edit-id&quot;:&quot;0&quot;,&quot;operation&quot;:&quot;replace&quot;,&quot;target&quot;:&quot;/&quot;,&quot;value&quot;:{&quot;car:cars&quot;:{&quot;car-entry&quot;:[&lt;/p&gt;
{&quot;id&quot;:&quot;0&quot;}
&lt;p&gt;]}}}]}&apos; localhost:8080/restconf/config/car:cars ;echo&lt;br/&gt;
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current&lt;br/&gt;
                                 Dload  Upload   Total   Spent    Left  Speed&lt;br/&gt;
100   152    0     0  100   152      0    542 -&lt;del&gt;:&lt;/del&gt;&lt;del&gt;:&lt;/del&gt;- -&lt;del&gt;:&lt;/del&gt;&lt;del&gt;:&lt;/del&gt;- -&lt;del&gt;:&lt;/del&gt;&lt;del&gt;:&lt;/del&gt;-   540&lt;/p&gt;

&lt;p&gt;opendaylight-user@root&amp;gt;&lt;/p&gt;


&lt;p&gt;Can this be closed?&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Abbas&lt;/p&gt;</comment>
                            <comment id="38948" author="abbas.pareedkunju@tcs.com" created="Tue, 31 May 2016 09:13:42 +0000"  >&lt;p&gt;Missed your last comment. And due to the slowness in the system, my comment has been posted twice. Apologies !&lt;/p&gt;</comment>
                            <comment id="38949" author="giheron@cisco.com" created="Tue, 31 May 2016 09:28:35 +0000"  >&lt;p&gt;Hi Woj,&lt;/p&gt;

&lt;p&gt;this isn&apos;t meant to be one model per device.   rather it&apos;s one model per device software revision where two revisions expose different versions of the same model but with the same revision date.&lt;/p&gt;

&lt;p&gt;unless I&apos;ve mis-remembered it &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;Giles&lt;/p&gt;</comment>
                            <comment id="38950" author="wdec@cisco.com" created="Tue, 31 May 2016 11:54:28 +0000"  >&lt;p&gt;I don&apos;t quite follow &quot;two revisions expose different versions of the same model but with the same revision date&quot;; seems like a direct violation of the Yang spec.&lt;/p&gt;

&lt;p&gt;In any case, the &quot;fix&quot; that led to the closure of this defect requires that when mounting a device, a separate directory is specified for that device&apos;s model cache. That a) is totally opaque to the user (what operator would ever remember) b) fails as soon as the mounted device gets upgraded to a new model (coz the cache still stays).&lt;br/&gt;
Moreover, the fix actually didn&apos;t work in the VPP case (I opened a separate bug with the issue I saw)&lt;/p&gt;

&lt;p&gt;So, what I&apos;m arguing for here is that a cleaner solution be devised. &lt;br/&gt;
If we need to store each device&apos;s models in a separate cache dir, then at least let&apos;s hide it from the user and clean it up on disconnect, etc. That&apos;s just an idea.&lt;/p&gt;</comment>
                            <comment id="38951" author="giheron@cisco.com" created="Tue, 31 May 2016 12:13:19 +0000"  >&lt;p&gt;So the model here (IIRC) is you specify a directory to store the cached schemas in.  So there&apos;s nothing to stop you using the same directory for multiple devices.  So while you specify the cache dir per device there isn&apos;t generally one cache dir per device.&lt;/p&gt;

&lt;p&gt;And re violations of the YANG spec I think it was issues with auto-generated YANG models that prompted this.&lt;/p&gt;

&lt;p&gt;There may also be cases where you need to hand-edit a specific rev of a YANG model for some devices but not others (e.g. incorrect implementation on the device OS).&lt;/p&gt;

&lt;p&gt;Remember - not all devices do everything correctly (sure, I know I&apos;m teaching you to suck eggs here).&lt;/p&gt;</comment>
                            <comment id="38952" author="rgoulding" created="Tue, 31 May 2016 12:45:29 +0000"  >&lt;p&gt;&quot;So there&apos;s nothing to stop you using the same directory for multiple devices.  So while you specify the cache dir per device there isn&apos;t generally one cache dir per device.&quot;&lt;/p&gt;

&lt;p&gt;Correct;  this is how I designed this;  it is a workaround to deal with the fact that YANG revisionless imports are broken in ODL.  Generally, we set up a cache for a specific version of router and make the changes locally there (if necessary, sometimes just honoring the device manufacturers yang works).&lt;/p&gt;

&lt;p&gt;In fact, without specifying a specific revision for import, the revision that is resolved is non-deterministic (hence why you will see hard-coded assumptions in the standard files utilized by ODL like &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/21049/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/21049/&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Initially Tony was working on a solution to correctly handle revisionless imports through programatic resolution, but I believe he punted this since it could be solved through the binding v2 specification work.&lt;/p&gt;

&lt;p&gt;While &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-96&quot; title=&quot;Standard ietf-netconf-monitoring.yang file has been modified to import specific versions of dependencies that could break other mounted devices&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-96&quot;&gt;&lt;del&gt;NETCONF-96&lt;/del&gt;&lt;/a&gt; solution was not perfect, it satisfied the use case I required at the time;  if it isn&apos;t a perfect fit for you I can certainly understand that.  This was done in the 11th hour of the Beryllium release to ensure that devices could at least be mounted in Beryllium. &lt;/p&gt;

&lt;p&gt;Please feel free to work on a different approach;  I&apos;d be interested to see how others solve it.&lt;/p&gt;</comment>
                            <comment id="38953" author="wdec@cisco.com" created="Tue, 31 May 2016 12:58:11 +0000"  >&lt;p&gt;We may be talking about overlapping things.&lt;/p&gt;

&lt;p&gt;Adding a cache store directory that&apos;s a parameter in a mount point isn&apos;t cool. Who on earth will ever know about that parameter, remember to use it, when to change it, etc, when to clean the cache, besides perhaps the people here? &lt;br/&gt;
It&apos;s the hallmark of a super-nerd knob, for what is in essence a fundamental non-nerd requirement of the original bug: Support devices with multiple &quot;same name, different revision&quot; yang models.&lt;/p&gt;

&lt;p&gt;As far as the Yang spec is concerned, there really is only one correct answer here: The spec, which says that revisions have to be a) renumbered b) backwards compatible. It is a rat hole to engineer for non-yang spec compliant cases.&lt;br/&gt;
If the fix here dealt with the &quot;revised model, but not up-versioned case&quot;, then unfortunately it seems to be such a rat-hole case.&lt;/p&gt;

&lt;p&gt;Besides, the fundamental issue remains: A BA app built against device model rev X does not communicate properly with a mixed pool of devices running models X and Y.&lt;/p&gt;</comment>
                            <comment id="38954" author="tcere" created="Tue, 31 May 2016 13:23:22 +0000"  >&lt;p&gt;(In reply to Wojciech Dec from comment #13)&lt;br/&gt;
&amp;gt; We may be talking about overlapping things.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Adding a cache store directory that&apos;s a parameter in a mount point isn&apos;t&lt;br/&gt;
&amp;gt; cool. Who on earth will ever know about that parameter, remember to use it,&lt;br/&gt;
&amp;gt; when to change it, etc, when to clean the cache, besides perhaps the people&lt;br/&gt;
&amp;gt; here? &lt;/p&gt;

&lt;p&gt;That&apos;s why there&apos;s documentation for this feature on the wiki, right?&lt;/p&gt;

&lt;p&gt;That&apos;s why there&apos;s documentation for it on the wiki, right?&lt;br/&gt;
(In reply to Wojciech Dec from comment #10)&lt;/p&gt;

&lt;p&gt;&amp;gt; So, what I&apos;m arguing for here is that a cleaner solution be devised. &lt;br/&gt;
&amp;gt; If we need to store each device&apos;s models in a separate cache dir, then at&lt;br/&gt;
&amp;gt; least let&apos;s hide it from the user and clean it up on disconnect, etc. That&apos;s&lt;br/&gt;
&amp;gt; just an idea.&lt;/p&gt;

&lt;p&gt;Seems like you don&apos;t really want to cache the models.&lt;/p&gt;

&lt;p&gt;As for the BA app problem when it can&apos;t be used for multiple revisions of the same model the v2 binding spec should fix that but that&apos;s still some time away.&lt;/p&gt;</comment>
                            <comment id="38955" author="wdec@cisco.com" created="Tue, 31 May 2016 14:01:06 +0000"  >&lt;p&gt;(In reply to Tomas Cere from comment #14)&lt;br/&gt;
&amp;gt; (In reply to Wojciech Dec from comment #13)&lt;br/&gt;
&amp;gt; &amp;gt; We may be talking about overlapping things.&lt;br/&gt;
&amp;gt; &amp;gt; &lt;br/&gt;
&amp;gt; &amp;gt; Adding a cache store directory that&apos;s a parameter in a mount point isn&apos;t&lt;br/&gt;
&amp;gt; &amp;gt; cool. Who on earth will ever know about that parameter, remember to use it,&lt;br/&gt;
&amp;gt; &amp;gt; when to change it, etc, when to clean the cache, besides perhaps the people&lt;br/&gt;
&amp;gt; &amp;gt; here? &lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; That&apos;s why there&apos;s documentation for this feature on the wiki, right?&lt;/p&gt;

&lt;p&gt;&quot;we have a wiki&quot; is fine for non essential nerd-knobs.&lt;br/&gt;
Nerd-knobs, even if documented ones, for what is essential system behavior are not a good idea &amp;amp; never have been - the system should behave like that by default.&lt;/p&gt;

&lt;p&gt;&amp;gt; &lt;br/&gt;
&amp;gt; That&apos;s why there&apos;s documentation for it on the wiki, right?&lt;br/&gt;
&amp;gt; (In reply to Wojciech Dec from comment #10)&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &amp;gt; So, what I&apos;m arguing for here is that a cleaner solution be devised. &lt;br/&gt;
&amp;gt; &amp;gt; If we need to store each device&apos;s models in a separate cache dir, then at&lt;br/&gt;
&amp;gt; &amp;gt; least let&apos;s hide it from the user and clean it up on disconnect, etc. That&apos;s&lt;br/&gt;
&amp;gt; &amp;gt; just an idea.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Seems like you don&apos;t really want to cache the models.&lt;/p&gt;

&lt;p&gt;I don&apos;t see where I said that, but anyway...&lt;/p&gt;

&lt;p&gt;&amp;gt; &lt;br/&gt;
&amp;gt; As for the BA app problem when it can&apos;t be used for multiple revisions of&lt;br/&gt;
&amp;gt; the same model the v2 binding spec should fix that but that&apos;s still some&lt;br/&gt;
&amp;gt; time away.&lt;/p&gt;

&lt;p&gt;To summarize:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;The issue raised by this bug, support BA app + devices with multiple model versions is fundamental system behavior.&lt;/li&gt;
	&lt;li&gt;The issue raised by this bug has not been fixed. Any fix for it must IMO not involve special &quot;nerd knobs&quot;, i.e. it should be default.&lt;/li&gt;
	&lt;li&gt;The fix that has been attributed to this bug is for some other problem (revised models without version changes). IMO this other problem does not appear to be as fundamental, and a nerd-knob may be adequate.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="38956" author="tcere" created="Tue, 31 May 2016 14:13:46 +0000"  >&lt;p&gt;(In reply to Wojciech Dec from comment #15)&lt;br/&gt;
&amp;gt; I don&apos;t see where I said that, but anyway...&lt;/p&gt;

&lt;p&gt;Well cleaning up the cache(== delete) after disconnect defeats the entire purpose(which is to avoid redownloading of schemas already present in the system) of the cache doesn&apos;t it?&lt;/p&gt;

&lt;p&gt;You don&apos;t want to use as you put it &quot;nerd-knobs&quot;, that&apos;s fine, but this issue is not something we can fix on netconf level as this has to do with binding generation. The fix by Ryan can be of use to some people that encounter similar issues, or are willing to workaround the issue and should be mentioned here.&lt;/p&gt;</comment>
                            <comment id="38957" author="wdec@cisco.com" created="Tue, 31 May 2016 14:24:25 +0000"  >&lt;p&gt;(In reply to Tomas Cere from comment #16)&lt;br/&gt;
&amp;gt; (In reply to Wojciech Dec from comment #15)&lt;br/&gt;
&amp;gt; &amp;gt; I don&apos;t see where I said that, but anyway...&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Well cleaning up the cache(== delete) after disconnect defeats the entire&lt;br/&gt;
&amp;gt; purpose(which is to avoid redownloading of schemas already present in the&lt;br/&gt;
&amp;gt; system) of the cache doesn&apos;t it?&lt;/p&gt;

&lt;p&gt;A cache is by definition time-bound. Otherwise it becomes a rubbish dump. Anyway, the problem I opened is different...&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; You don&apos;t want to use as you put it &quot;nerd-knobs&quot;, that&apos;s fine, but this&lt;br/&gt;
&amp;gt; issue is not something we can fix on netconf level as this has to do with&lt;br/&gt;
&amp;gt; binding generation. The fix by Ryan can be of use to some people that&lt;br/&gt;
&amp;gt; encounter similar issues, or are willing to workaround the issue and should&lt;br/&gt;
&amp;gt; be mentioned here.&lt;/p&gt;

&lt;p&gt;Sure, Ryan&apos;s fix can be useful to whoever has the problem, but mentioning it in the context of &quot;it fixes&quot; the issue raised by this bug is simply not true. If the component is wrong, let&apos;s change that.&lt;/p&gt;</comment>
                            <comment id="38958" author="tcere" created="Tue, 31 May 2016 14:43:17 +0000"  >&lt;p&gt;Added the binding spec dependency which should be enough&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="27059">MDSAL-237</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4350</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=4350]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10349"><![CDATA[Unspecified]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i01w9r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>