<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:53:42 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>[YANGTOOLS-592] Beryllium yangtools gives error parsing files with Tail-F deref statement</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-592</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;Beryllium (0.4.1-SNAPSHOT) is unable to mount Tail-F NCS 3.4.   Lithium-SR3 works fine.&lt;/p&gt;

&lt;p&gt;The error I&apos;m seeing appears to be related to ODL being unable to parse the Tail-f &quot;deref&quot; statement:&lt;/p&gt;

&lt;p&gt;2016-03-14 13:50:07,992 | WARN  | ssing-executor-1 | Utils                            | 53 - org.opendaylight.yangtools.yang-parser-impl - 0.8.1.SNAPSHOT | Argument &quot; . = &apos;false&apos; or&lt;br/&gt;
           not (/cluster/remote-node&lt;br/&gt;
                  &lt;span class=&quot;error&quot;&gt;&amp;#91;not (username)&amp;#93;&lt;/span&gt;&lt;br/&gt;
                  [deref(authgroup)/../default-map&lt;span class=&quot;error&quot;&gt;&amp;#91;same-user or same-pass&amp;#93;&lt;/span&gt;])&quot; is not valid XPath string at &quot;tailf-ncs-cluster:320:8&quot;&lt;br/&gt;
javax.xml.xpath.XPathExpressionException: javax.xml.transform.TransformerException: Could not find function: deref&lt;br/&gt;
...&lt;/p&gt;

&lt;p&gt;2016-03-14 13:50:08,564 | ERROR | ssing-executor-1 | NetconfDevice                    | 158 - org.opendaylight.netconf.sal-netconf-connector - 1.3.1.SNAPSHOT | RemoteDevice&lt;/p&gt;
{ncs}
&lt;p&gt;: Initialization in sal failed, disconnecting from device&lt;br/&gt;
java.lang.NullPointerException&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="23012">YANGTOOLS-592</key>
            <summary>Beryllium yangtools gives error parsing files with Tail-F deref statement</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10003">Cannot Reproduce</resolution>
                                        <assignee username="pkajsa">Peter Kajsa</assignee>
                                    <reporter username="giheron@cisco.com">Giles Heron</reporter>
                        <labels>
                    </labels>
                <created>Mon, 14 Mar 2016 21:13:26 +0000</created>
                <updated>Sun, 10 Apr 2022 18:35:45 +0000</updated>
                            <resolved>Wed, 20 Jul 2016 08:15:17 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="43830" author="giheron@cisco.com" created="Mon, 14 Mar 2016 21:13:26 +0000"  >&lt;p&gt;Attachment karaf.zip has been added with description: zipped logs&lt;/p&gt;</comment>
                            <comment id="43818" author="pkajsa" created="Tue, 15 Mar 2016 11:54:35 +0000"  >&lt;p&gt;Node-set deref(node-set nodes) function is not valid in Yang 1.0. &lt;br/&gt;
The function will be introduced in YANG 1.1 which is planned to Carbon release.&lt;/p&gt;</comment>
                            <comment id="43819" author="giheron@cisco.com" created="Tue, 15 Mar 2016 12:02:09 +0000"  >&lt;p&gt;so why does this work ok in Lithium?&lt;/p&gt;

&lt;p&gt;I&apos;m ok with ODL not supporting it, but I&apos;m not OK with ODL terminating the mount if it hits an issue with one model.&lt;/p&gt;</comment>
                            <comment id="43820" author="pkajsa" created="Tue, 15 Mar 2016 13:59:11 +0000"  >&lt;p&gt;Yangtools logs the warning due to invalid xpath expression and whole execution is going on as usually and the RevisionAwareXpath is created normally. &lt;/p&gt;

&lt;p&gt;Could you send me please the yang model which causes the issue, I will try to find out what we can do.&lt;/p&gt;</comment>
                            <comment id="43821" author="pkajsa" created="Thu, 17 Mar 2016 14:07:34 +0000"  >&lt;p&gt;I tested obtained yang models and I believe the issue is not caused by invalid xpath expression and by the following warning log.   &lt;/p&gt;

&lt;p&gt;Therefore, in the next step I tested whole set of Tail-F models (but I am not sure I have the most recent version of all Tail-F yang models) and the yang parser reported many errors like refine or augment on unknown statements, etc. &lt;br/&gt;
The Augments when target node is an unknown statement were skipped only with warning LOG in Lithium, but in Beryllium they are reported as errors and I believe this is the root cause.  &lt;/p&gt;

&lt;p&gt;I have to discuss this issue, because the decision to report such augments as errors in Beryllium has been made intentionally.&lt;/p&gt;</comment>
                            <comment id="43822" author="giheron@cisco.com" created="Thu, 17 Mar 2016 17:01:43 +0000"  >&lt;p&gt;ah, ok.  and this is back to the fact that errors result in exceptions and the way we handle exceptions is to drop the netconf connection?&lt;/p&gt;</comment>
                            <comment id="43823" author="pkajsa" created="Fri, 18 Mar 2016 09:09:42 +0000"  >&lt;p&gt;YangTools parser reports these errors via exceptions, because the parser is unable to perform such augmentation and in consequence it is unable to create consistent SchemaContext. But it is up to each ODL component (e.g. netconf etc.) how to handle these reported errors, whether it is an error state or not.&lt;/p&gt;</comment>
                            <comment id="43824" author="giheron@cisco.com" created="Fri, 18 Mar 2016 16:11:58 +0000"  >&lt;p&gt;right - but as there&apos;s no context in the exception (IIRC the exception doesn&apos;t even tell you the name of the failed model) NETCONF has to assume the &quot;worst case&quot; and drop the mount.  Which really isn&apos;t a great idea if the error only impacts some models.  We&apos;d much rather have any such models end up as &quot;unavailable-capabilities&quot; or similar.&lt;/p&gt;</comment>
                            <comment id="43825" author="pkajsa" created="Wed, 23 Mar 2016 13:58:42 +0000"  >&lt;p&gt;We investigated the attached karaf log again and we find out the root cause of the issue. Yang file tailf-common-monitoring-ann breaks the rules of current yang statement parser grammar and therefore yang parser reported mismatched input in tailf-common-monitoring-ann (line 114763 of the log file).&lt;/p&gt;

&lt;p&gt;I examined tailf-common-monitoring-ann and the issue is caused by the statements which contain characters like [&apos;= in their argument and the argument is not enclosed in &quot;&quot; or &apos;&apos; (e.g. tailf:annotate-statement grouping&lt;span class=&quot;error&quot;&gt;&amp;#91;name=&amp;#39;common-monitoring-objects&amp;#39;&amp;#93;&lt;/span&gt;).&lt;/p&gt;

&lt;p&gt;We will try to fix current yang statement grammar to support such statements and arguments. However, all yang models with &quot;-ann&quot; postfix should be excluded from export, because they break also other RFC6020 rules.&lt;/p&gt;</comment>
                            <comment id="43826" author="pkajsa" created="Thu, 28 Apr 2016 14:53:31 +0000"  >&lt;p&gt;Yang lexer fix: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/38190/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/38190/&lt;/a&gt;&lt;br/&gt;
Please retest with this patch.&lt;/p&gt;</comment>
                            <comment id="43827" author="giheron@cisco.com" created="Thu, 28 Apr 2016 22:26:11 +0000"  >&lt;p&gt;the patch fixes the issue with tailf-common-monitoring-ann (I applied it manually and re-built beryllium).&lt;/p&gt;

&lt;p&gt;before the fix I saw logs such as:&lt;/p&gt;

&lt;p&gt;2016-04-28 21:55:19,572 | WARN  | sing-executor-16 | NetconfDevice                    | 158 - org.opendaylight.netconf.sal-netconf-connector - 1.3.2.Beryllium-SR2 | RemoteDevice&lt;/p&gt;
{nso}
&lt;p&gt;: Unable to build schema context, missing source SourceIdentifier &lt;span class=&quot;error&quot;&gt;&amp;#91;name=tailf-common-monitoring-ann@0000-00-00&amp;#93;&lt;/span&gt;, will reattempt without it&lt;/p&gt;

&lt;p&gt;but now those have gone.&lt;/p&gt;

&lt;p&gt;but I still see the deref issues (tho am not sure those are actually the problem - rather it looks like all the tailf:action statements are the problem) and I&apos;m still unable to mount ncs-3.4 from Beryllium.&lt;/p&gt;</comment>
                            <comment id="43828" author="giheron@cisco.com" created="Thu, 28 Apr 2016 22:30:49 +0000"  >&lt;p&gt;the patch fixes the issue with tailf-common-monitoring-ann (I applied it manually and re-built beryllium).&lt;/p&gt;

&lt;p&gt;before the fix I saw logs such as:&lt;/p&gt;

&lt;p&gt;2016-04-28 21:55:19,572 | WARN  | sing-executor-16 | NetconfDevice                    | 158 - org.opendaylight.netconf.sal-netconf-connector - 1.3.2.Beryllium-SR2 | RemoteDevice&lt;/p&gt;
{nso}
&lt;p&gt;: Unable to build schema context, missing source SourceIdentifier &lt;span class=&quot;error&quot;&gt;&amp;#91;name=tailf-common-monitoring-ann@0000-00-00&amp;#93;&lt;/span&gt;, will reattempt without it&lt;/p&gt;

&lt;p&gt;but now those have gone.&lt;/p&gt;

&lt;p&gt;but I still see the deref issues (tho am not sure those are actually the problem - rather it looks like all the tailf:action statements are the problem) and I&apos;m still unable to mount ncs-3.4 from Beryllium.&lt;/p&gt;

&lt;p&gt;logs are at: &lt;a href=&quot;https://www.dropbox.com/s/9mh568b11zkh8wv/karaf.log?dl=0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.dropbox.com/s/9mh568b11zkh8wv/karaf.log?dl=0&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="43829" author="pkajsa" created="Wed, 20 Jul 2016 08:15:17 +0000"  >&lt;p&gt;As I mentioned in my previous comments, I am sure the issue is not caused by invalid xpath expression due to deref function (please see the following test:&lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/42047/1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/42047/1&lt;/a&gt;), but augments to an unknown statement are the root cause e.g. tailf:action (in Lithium they were reported as warnings, but in Beryllium they are intentionaly reported as errors - please see my previous comments).&lt;/p&gt;

&lt;p&gt;So I close this bug, because deref statement does definitely not cause this issue. If you want to handle augments to an unknown statement (e.g. tailf:action connect/input) in another way, please raise this question in community and open new bug with properly bug subject and description. Thanks.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13046" name="karaf.zip" size="536823" author="giheron@cisco.com" created="Mon, 14 Mar 2016 21:13:26 +0000"/>
                    </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>5518</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=5518]]></customfieldvalue>

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

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

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