<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:54:41 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-924] Yang parser does not allow min-elements in deviate delete</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-924</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;This is on release 2.0.11.&lt;/p&gt;

&lt;p&gt;When parsing the attached model, the following error occurs:&lt;/p&gt;

&lt;p&gt;Caused by: org.opendaylight.yangtools.yang.parser.spi.meta.InvalidSubstatementException: MIN_ELEMENTS is not valid for DEVIATE. Error in module testdev (QNameModule&lt;/p&gt;
{ns=[http://example.com/testdev], rev=2018-08-14}
&lt;p&gt;) &lt;span class=&quot;error&quot;&gt;&amp;#91;at /home/verthezp/local/logs/deviate/testdev.yang:13:4&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator.validate(SubstatementValidator.java:136)&lt;br/&gt;
 &#160;&#160; &#160;at org.opendaylight.yangtools.yang.parser.rfc7950.stmt.deviate.AbstractDeviateStatementSupport.onFullDefinitionDeclared(AbstractDeviateStatementSupport.java:129)&lt;br/&gt;
 &#160;&#160; &#160;at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementDefinitionContext.onDeclarationFinished(StatementDefinitionContext.java:80)&lt;br/&gt;
 &#160;&#160; &#160;at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.endDeclared(StatementContextBase.java:578)&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Apparently the yang parser does not accept the min-elements statement in deviate delete (in deviate add and deviate replace it works fine).&#160;&#160; According to the RFC this seems to be a valid statement there, as long as it matches exactly what is in the target node of the deviation.&lt;/p&gt;

&lt;p&gt;This occurs both on yang 1.0 and yang 1.1.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="31219">YANGTOOLS-924</key>
            <summary>Yang parser does not allow min-elements in deviate delete</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</priority>
                        <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="10001">Won&apos;t Do</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="verthezpw">Peter Verthez</reporter>
                        <labels>
                    </labels>
                <created>Wed, 19 Dec 2018 13:33:35 +0000</created>
                <updated>Mon, 7 Jan 2019 07:51:19 +0000</updated>
                            <resolved>Tue, 1 Jan 2019 15:48:55 +0000</resolved>
                                    <version>2.0.11</version>
                    <version>2.1.6</version>
                                                    <component>parser</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="66069" author="rovarga" created="Wed, 19 Dec 2018 17:02:40 +0000"  >&lt;p&gt;It seems add/delete share different allowed statements, I am not sure why that is.&lt;/p&gt;</comment>
                            <comment id="66107" author="rovarga" created="Tue, 1 Jan 2019 15:48:55 +0000"  >&lt;p&gt;While the text of RFC6020 or RFC7950 regarding &quot;deviate&quot; statement does not specifically exclude the substatements, the ABNF rule &quot;deviate-delete-stmt&quot; specifically excludes these statements:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;   deviate-delete-stmt = deviate-keyword sep delete-keyword-str optsep
                         (&quot;;&quot; /
                          &quot;{&quot; stmtsep
                              ;; these stmts can appear in any order
                              [units-stmt]
                              *must-stmt
                              *unique-stmt
                              *default-stmt
                          &quot;}&quot;) stmtsep&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="66129" author="verthezpw" created="Mon, 7 Jan 2019 07:51:19 +0000"  >&lt;p&gt;OK, I had not noticed this, but I agree.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="15081" name="deviate.zip" size="639" author="verthezpw" created="Wed, 19 Dec 2018 13:32:32 +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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03lmf:</customfieldvalue>

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