<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:16:51 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-1177] PUT requests failing with &quot;insert&quot; query parameter on testool models</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-1177</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;PUT requests with query parameters: insert=first, insert=after&amp;amp;point, insert=before&amp;amp;point are failing&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;{
&#160; &#160; &quot;errors&quot;: {
&#160; &#160; &#160; &#160; &quot;error&quot;: [
&#160; &#160; &#160; &#160; &#160; &#160; {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &quot;error-tag&quot;: &quot;operation-failed&quot;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &quot;error-info&quot;: &quot;TransactionCommitFailedException{message=Netconf transaction commit failed, errorList=[RpcError [message=Netconf transaction commit failed, severity=ERROR, errorType=APPLICATION, tag=operation-failed, applicationTag=null, info=null, cause=NetconfDocumentedException{error-type=APPLICATION, error-tag=operation-failed, error-severity=ERROR, error-info={}, message=RPC during tx failed. Unexpected error &amp;lt;error&amp;gt;java.lang.IllegalArgumentException: Input is empty while expecting 1 item&amp;lt;/error&amp;gt;}]]}&quot;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &quot;error-message&quot;: &quot;Transaction(PUT) not committed correctly&quot;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &quot;error-type&quot;: &quot;application&quot;
&#160; &#160; &#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; ]
&#160; &#160; }
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Steps to reproduce:&lt;br/&gt;
1. Run testtool with the provided &lt;span class=&quot;error&quot;&gt;&amp;#91;^user-ordered-list@2023-10-04.yang&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;2. Use the &apos;insert&amp;amp;point&apos; parameters from the &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/attachment/19220/19220_PUT+with+insert%26point+parameters.postman_collection.json&quot; title=&quot;PUT with insert&amp;amp;point parameters.postman_collection.json attached to NETCONF-1177&quot;&gt;PUT with insert&amp;amp;point parameters.postman_collection.json&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.opendaylight.org/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; and try to PUT 2 or more items into the &apos;ordered-by user&apos; list.&lt;br/&gt;
&#160;&lt;br/&gt;
&#160;&lt;br/&gt;
&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="37433">NETCONF-1177</key>
            <summary>PUT requests failing with &quot;insert&quot; query parameter on testool models</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="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="rkashapov">Ruslan Kashapov</assignee>
                                    <reporter username="yaroslav.lastivka">Yaroslav Lastivka</reporter>
                        <labels>
                            <label>pt</label>
                    </labels>
                <created>Thu, 5 Oct 2023 11:04:36 +0000</created>
                <updated>Fri, 2 Feb 2024 12:41:45 +0000</updated>
                                                            <fixVersion>7.0.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="72901" author="JIRAUSER13216" created="Tue, 28 Nov 2023 08:42:50 +0000"  >&lt;p&gt;the main cause of the issue seems to be incorrect removal of a list through netconf protocol.&lt;/p&gt;

&lt;p&gt;When netconf &lt;b&gt;edit-config&lt;/b&gt; message is constructed for remove operation using yang instance identifier pointing to list the message like below occurs&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-xml&quot;&gt;
&lt;span class=&quot;code-tag&quot;&gt;&amp;lt;rpc xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:ietf:params:xml:ns:netconf:base:1.0&quot;&lt;/span&gt; message-id=&lt;span class=&quot;code-quote&quot;&gt;&quot;m-19&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;edit-config&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;target&amp;gt;&lt;/span&gt;
            &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;candidate/&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/target&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;config&amp;gt;&lt;/span&gt;
            &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;root xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;http://example.com/user-ordered-list&quot;&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;xmlns:op&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:ietf:params:xml:ns:netconf:base:1.0&quot;&lt;/span&gt; op:operation=&lt;span class=&quot;code-quote&quot;&gt;&quot;remove&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;items/&amp;gt;&lt;/span&gt;
            &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/root&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/config&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/edit-config&amp;gt;&lt;/span&gt;
&lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/rpc&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;According to &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc6241#section-7.2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://datatracker.ietf.org/doc/html/rfc6241#section-7.2&lt;/a&gt; the operation expected to be defined on element the operation being applied to.&lt;/p&gt;

&lt;p&gt;The message above instructs to remove parent container (instead of list elements within), and empty &lt;tt&gt;&amp;lt;items/&amp;gt;&lt;/tt&gt;&#160;causes parse error, because the key is mandatory.&lt;/p&gt;

&lt;p&gt;In order to remove all the elements belonging to requested list all the elements require to be listed like below&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-xml&quot;&gt;
&lt;span class=&quot;code-tag&quot;&gt;&amp;lt;rpc xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:ietf:params:xml:ns:netconf:base:1.0&quot;&lt;/span&gt; message-id=&lt;span class=&quot;code-quote&quot;&gt;&quot;m-19&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;edit-config&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;target&amp;gt;&lt;/span&gt;
            &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;candidate/&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/target&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;config&amp;gt;&lt;/span&gt;
            &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;root xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;http://example.com/user-ordered-list&quot;&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;xmlns:op&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:ietf:params:xml:ns:netconf:base:1.0&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;items op:operation=&lt;span class=&quot;code-quote&quot;&gt;&quot;remove&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;id&amp;gt;&lt;/span&gt;0&lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/id&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/items&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;items op:operation=&lt;span class=&quot;code-quote&quot;&gt;&quot;remove&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;id&amp;gt;&lt;/span&gt;1&lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/id&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/items&amp;gt;&lt;/span&gt;
  &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/root&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/config&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/edit-config&amp;gt;&lt;/span&gt;
&lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/rpc&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="73130" author="JIRAUSER13216" created="Fri, 2 Feb 2024 12:41:45 +0000"  >&lt;p&gt;The issue with list deletion on remote device is extracted to &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-1245&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.opendaylight.org/browse/NETCONF-1245&lt;/a&gt; so it can be resolved independently.&lt;/p&gt;

&lt;p&gt;Current issue cannot be solved unless there is a netconf device which supports list items deletion then insertion in new order within same transaction.&lt;br/&gt;
Neither ODL testtool nor netopeed respect new order for now.&lt;/p&gt;

&lt;p&gt;Blocker issue added to resolve storage issue at least for ODL device simulator &amp;#8211; &lt;a href=&quot;https://jira.opendaylight.org/browse/YANGTOOLS-1565&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.opendaylight.org/browse/YANGTOOLS-1565&lt;/a&gt;&lt;br/&gt;
So the expected behavior can be tested/verified&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="37948">NETCONF-1245</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="37930">YANGTOOLS-1565</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="37939">NETCONF-1239</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="37434">NETCONF-1178</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="37408">NETCONF-1163</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="37438">NETCONF-1180</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="37704">NETCONF-1202</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="19220" name="PUT with insert&amp;point parameters.postman_collection.json" size="6743" author="yaroslav.lastivka" created="Thu, 5 Oct 2023 11:14:38 +0000"/>
                            <attachment id="19221" name="karaf.log" size="379574" author="yaroslav.lastivka" created="Thu, 5 Oct 2023 11:42:01 +0000"/>
                            <attachment id="19222" name="testtool.log" size="10495" author="yaroslav.lastivka" created="Thu, 5 Oct 2023 11:42:09 +0000"/>
                            <attachment id="19219" name="user-ordered-list@2023-10-04.yang" size="643" author="yaroslav.lastivka" created="Thu, 5 Oct 2023 11:05:00 +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|i046on:</customfieldvalue>

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