<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:54:58 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-1026] Choice/Case children conflict does not seem to be detected</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-1026</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;In bgpcep project, trying to write data to application-rib results in data incorrectly getting rejected. Steps are as below:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Bring up controller and feature:install odl-bgpcep-bgp&lt;/li&gt;
	&lt;li&gt;PUT below payload to&#160;http://&lt;tt&gt;controller-ip&lt;/tt&gt;:&lt;tt&gt;restconf-port&lt;/tt&gt;/restconf/config/bgp-rib:application-rib/127.0.0.1&lt;/li&gt;
&lt;/ol&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;{
    &quot;application-rib&quot;: [
        {
            &quot;id&quot;: &quot;127.0.0.1&quot;,
            &quot;tables&quot;: [
            {
                &quot;afi&quot;: &quot;bgp-linkstate:linkstate-address-family&quot;,
                &quot;safi&quot;: &quot;bgp-linkstate:linkstate-subsequent-address-family&quot;,
                &quot;bgp-linkstate:linkstate-routes&quot;: {
                    &quot;linkstate-route&quot;: [
                        {
                            &quot;path-id&quot;: 0,
                            &quot;route-key&quot;: &quot;[0, 3, 0, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 26, 2, 0, 0, 4, 0, 0, 0, 100, 2, 1, 0, 4, 0, 0, 0, 0, 2, 3, 0, 6, 0, 1, 0, 0, 0, 5, 1, 9, 0, 5, 32, -64, -88, -2, 5]&quot;,
                            &quot;advertising-node-descriptors&quot;: {
                                &quot;as-number&quot;: 100,
                                &quot;domain-id&quot;: 0,
                                &quot;isis-node&quot;: {
                                    &quot;iso-system-id&quot;: &quot;AAEAAAAF&quot;
                                }
                            },
                            &quot;prefix-descriptors&quot;: {
                                &quot;ip-reachability-information&quot;: &quot;192.168.254.5/32&quot;
                            },
                            &quot;attributes&quot;: {
                                &quot;ipv4-next-hop&quot;: {
                                    &quot;global&quot;: &quot;192.168.122.136&quot;
                                },
                                &quot;prefix-attributes&quot;: {
                                    &quot;prefix-metric&quot;: 10,
                                    &quot;sr-prefix&quot;: {
                                        &quot;local-label&quot;: 1001,
                                        &quot;no-php&quot;: false,
                                        &quot;readvertisement&quot;: false,
                                        &quot;node-sid&quot;: true,
                                        &quot;explicit-null&quot;: false,
                                        &quot;algorithm&quot;: &quot;shortest-path-first&quot;
                                    }
                                },
                                &quot;origin&quot;: {
                                    &quot;value&quot;: &quot;igp&quot;
                                },
                                &quot;as-path&quot;: {},
                                &quot;local-pref&quot;: {
                                    &quot;pref&quot;: 100
                                }
                            },
                            &quot;identifier&quot;: 0,
                            &quot;protocol-id&quot;: &quot;isis-level2&quot;
                        }
                    ]
                },
                &quot;attributes&quot;: {
                    &quot;uptodate&quot;: true
                }
            }
        ]
        }
    ]
} &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;3. This results in below error&lt;/p&gt;

&lt;p&gt;&#160;&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;{    &quot;errors&quot;: {        &quot;error&quot;: [            {                &quot;error-type&quot;: &quot;application&quot;,                &quot;error-tag&quot;: &quot;operation-failed&quot;,                &quot;error-message&quot;: &quot;canCommit encountered an unexpected failure&quot;,                &quot;error-info&quot;: &quot;Node (urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2018-03-29)flags is not a valid child of (urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2018-03-29)sr-prefix according to the schema.&quot;            }        ]    }} &lt;/pre&gt;
&lt;/div&gt;&lt;/div&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;2019-09-08T16:37:52,148 | WARN  | opendaylight-cluster-data-akka.actor.default-dispatcher-3 | LocalThreePhaseCommitCohort      | 171 - org.opendaylight.controller.sal-distributed-datastore - 1.11.0.SNAPSHOT | Failed to prepare transaction member-1-datastore-config-fe-0-txn-15-0 on backend
org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaValidationFailedException: Node (urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2018-03-29)flags is not a valid child of (urn:opendaylight:params:xml:ns:yang:bgp-linkstate?revision=2018-03-29)sr-prefix according to the schema.
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.verifyValueChildren(AbstractNodeContainerModificationStrategy.java:122) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.fullVerifyStructure(SchemaAwareApplyOperation.java:145) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.verifyValueChildren(AbstractNodeContainerModificationStrategy.java:120) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.fullVerifyStructure(SchemaAwareApplyOperation.java:145) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.verifyValueChildren(AbstractNodeContainerModificationStrategy.java:120) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.fullVerifyStructure(SchemaAwareApplyOperation.java:145) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.verifyValueChildren(AbstractNodeContainerModificationStrategy.java:120) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.fullVerifyStructure(SchemaAwareApplyOperation.java:145) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.verifyValueChildren(AbstractNodeContainerModificationStrategy.java:120) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.fullVerifyStructure(SchemaAwareApplyOperation.java:145) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.verifyValueChildren(AbstractNodeContainerModificationStrategy.java:120) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.fullVerifyStructure(SchemaAwareApplyOperation.java:145) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.verifyValueChildren(AbstractNodeContainerModificationStrategy.java:120) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.fullVerifyStructure(SchemaAwareApplyOperation.java:145) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.verifyValueChildren(AbstractNodeContainerModificationStrategy.java:120) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.fullVerifyStructure(SchemaAwareApplyOperation.java:145) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.verifyValueChildren(AbstractNodeContainerModificationStrategy.java:120) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.fullVerifyStructure(SchemaAwareApplyOperation.java:145) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.verifyValueChildren(AbstractNodeContainerModificationStrategy.java:120) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.fullVerifyStructure(SchemaAwareApplyOperation.java:145) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.verifyValueChildren(AbstractNodeContainerModificationStrategy.java:120) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.fullVerifyStructure(SchemaAwareApplyOperation.java:145) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.verifyValueChildren(AbstractNodeContainerModificationStrategy.java:120) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.fullVerifyStructure(SchemaAwareApplyOperation.java:145) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.ModifiedNode.seal(ModifiedNode.java:288) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractReadyIterator.process(AbstractReadyIterator.java:47) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeModification.ready(InMemoryDataTreeModification.java:298) ~[237:org.opendaylight.yangtools.yang-data-impl:3.0.4]
        at org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction.ready(SnapshotBackedWriteTransaction.java:151) ~[196:org.opendaylight.mdsal.dom-spi:4.0.4]
        at org.opendaylight.controller.cluster.datastore.LocalTransactionFactoryImpl.onTransactionReady(LocalTransactionFactoryImpl.java:86) ~[171:org.opendaylight.controller.sal-distributed-datastore:1.11.0.SNAPSHOT]
        at org.opendaylight.controller.cluster.datastore.LocalTransactionContext.ready(LocalTransactionContext.java:82) ~[171:org.opendaylight.controller.sal-distributed-datastore:1.11.0.SNAPSHOT] &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Models in question are below and data seem valid as per those:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/opendaylight/bgpcep/blob/master/bgp/extensions/linkstate/src/main/yang/bgp-linkstate.yang#L730&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opendaylight/bgpcep/blob/master/bgp/extensions/linkstate/src/main/yang/bgp-linkstate.yang#L730&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/opendaylight/bgpcep/blob/master/bgp/extensions/linkstate/src/main/yang/bgp-segment-routing.yang#L153&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opendaylight/bgpcep/blob/master/bgp/extensions/linkstate/src/main/yang/bgp-segment-routing.yang#L153&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="31962">YANGTOOLS-1026</key>
            <summary>Choice/Case children conflict does not seem to be detected</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="10002">Duplicate</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="ajayslele">Ajay Lele</reporter>
                        <labels>
                    </labels>
                <created>Mon, 9 Sep 2019 18:09:03 +0000</created>
                <updated>Sat, 19 Oct 2019 16:07:22 +0000</updated>
                            <resolved>Tue, 8 Oct 2019 11:09:57 +0000</resolved>
                                    <version>3.0.4</version>
                                                    <component>parser</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="67255" author="ajayslele" created="Fri, 13 Sep 2019 20:28:18 +0000"  >&lt;p&gt;From &lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;, the grouping prefix-flags is duplicated in isis and ospf case and it is clearly in violation of Yang spec &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;. I will push a patch to fix the model on bgpcep side, but keeping this ticket open to see if this violation can be detected and error reported while generating java classes from the yang file&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;The identifiers of all these child nodes MUST be unique within all cases in a choice &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;&#160;&lt;a href=&quot;https://github.com/opendaylight/bgpcep/blob/master/bgp/extensions/linkstate/src/main/yang/bgp-segment-routing.yang#L153&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opendaylight/bgpcep/blob/master/bgp/extensions/linkstate/src/main/yang/bgp-segment-routing.yang#L153&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;&#160;&lt;a href=&quot;https://tools.ietf.org/html/rfc7950#section-7.9.2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://tools.ietf.org/html/rfc7950#section-7.9.2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="67259" author="rovarga" created="Mon, 16 Sep 2019 06:12:13 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=ajayslele&quot; class=&quot;user-hover&quot; rel=&quot;ajayslele&quot;&gt;ajayslele&lt;/a&gt; thanks for tracking this down. We should be catching these, but we did not do that due to Config Subsystem having a wrong structure. I thought this was already fixed once CSS went away. I will dig around to see what happened.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10002">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="29324">YANGTOOLS-857</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="30009">YANGTOOLS-883</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="31984">BGPCEP-880</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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03oyf:</customfieldvalue>

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