<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:15:48 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-747] Unable execute YANG patch request when targeting augmented element</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-747</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;Error 500 is returned when executing yang-patch request that targets augmented element.&lt;/p&gt;

&lt;p&gt;Tested on master and stable/magnesium branch with &lt;a href=&quot;https://github.com/PANTHEONtech/lighty-netconf-simulator&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;simulated netconf device&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Tested models look like this (full models in attachments):&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-java&quot;&gt;
  container container-root {
    ...
    container container-lvl1 {
      ...
    }
  }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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-java&quot;&gt;
  augment /tm:container-root/tm:container-lvl1 {
    container container-aug {
      leaf leaf-aug {
        type string;
      }
      ...
    }
  }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;YANG patch request:&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-json&quot;&gt;
{
    &lt;span class=&quot;code-quote&quot;&gt;&quot;ietf-yang-patch:yang-patch&quot;&lt;/span&gt;: {
        &lt;span class=&quot;code-quote&quot;&gt;&quot;patch-id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;test-patch&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;comment&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;comment&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;edit&quot;&lt;/span&gt;: [
            {
                &lt;span class=&quot;code-quote&quot;&gt;&quot;edit-id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;edit1&quot;&lt;/span&gt;,
                &lt;span class=&quot;code-quote&quot;&gt;&quot;operation&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;replace&quot;&lt;/span&gt;,
                &lt;span class=&quot;code-quote&quot;&gt;&quot;target&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;/test-model:container-root/test-model:container-lvl1/test-model-aug:container-aug&quot;&lt;/span&gt;,
                &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: {
                    &lt;span class=&quot;code-quote&quot;&gt;&quot;container-aug&quot;&lt;/span&gt;: {
                        &lt;span class=&quot;code-quote&quot;&gt;&quot;leaf-aug&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;data&quot;&lt;/span&gt;
                    }
                }
            }
        ]
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Exception from logs on master branch (full logs in attachments):&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-java&quot;&gt;
14:27:21.286 WARN [qtp910831865-121] /rests/data/network-topology:network-topology/topology=topology-netconf/node=device/yang-ext:mount
javax.servlet.ServletException: javax.servlet.ServletException: java.lang.IllegalArgumentException: Could not find schema &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; node (test-ns-aug)container-aug in container container-aug
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:90) ~[?:?]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.28.v20200408]
	at org.eclipse.jetty.server.Server.handle(Server.java:500) ~[bundleFile:9.4.28.v20200408]
	...
Caused by: javax.servlet.ServletException: java.lang.IllegalArgumentException: Could not find schema &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; node (test-ns-aug)container-aug in container container-aug
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:432) ~[?:?]
	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370) ~[?:?]
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389) ~[?:?]
    ...
Caused by: java.lang.IllegalArgumentException: Could not find schema &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; node (test-ns-aug)container-aug in container container-aug
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:441) ~[?:?]
	at org.opendaylight.yangtools.yang.data.impl.codec.SchemaTracker.getSchema(SchemaTracker.java:153) ~[?:?]
	at org.opendaylight.yangtools.yang.data.impl.codec.SchemaTracker.startContainerNode(SchemaTracker.java:233) ~[?:?]
    ...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Targeting `leaf-aug` directly (one layer lower) works OK:&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-json&quot;&gt;
                &lt;span class=&quot;code-quote&quot;&gt;&quot;target&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;/test-model:container-root/test-model:container-lvl1/test-model-aug:container-aug/test-model-aug:leaf-aug&quot;&lt;/span&gt;,
                &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: {
                    &lt;span class=&quot;code-quote&quot;&gt;&quot;leaf-aug&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;data&quot;&lt;/span&gt;
                }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;And targeting `container-lvl1` that&apos;s being augmented (one level higher) works too:&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-json&quot;&gt;
                &lt;span class=&quot;code-quote&quot;&gt;&quot;target&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;/test-model:container-root/test-model:container-lvl1&quot;&lt;/span&gt;,
                &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: {
                    &lt;span class=&quot;code-quote&quot;&gt;&quot;container-lvl1&quot;&lt;/span&gt;: {
                        &lt;span class=&quot;code-quote&quot;&gt;&quot;container-aug&quot;&lt;/span&gt;: {
                            &lt;span class=&quot;code-quote&quot;&gt;&quot;leaf-aug&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;data&quot;&lt;/span&gt;
                        }
                    }
                }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="33628">NETCONF-747</key>
            <summary>Unable execute YANG patch request when targeting augmented element</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="10000">Done</resolution>
                                        <assignee username="ojo">Oleksandr Zharov</assignee>
                                    <reporter username="samuel.kontris">Samuel Kontris</reporter>
                        <labels>
                            <label>pt</label>
                    </labels>
                <created>Fri, 11 Dec 2020 13:58:09 +0000</created>
                <updated>Wed, 21 Jun 2023 07:44:34 +0000</updated>
                            <resolved>Mon, 20 Mar 2023 09:20:33 +0000</resolved>
                                    <version>Magnesium SR2</version>
                    <version>1.13.0</version>
                    <version>Aluminium SR1</version>
                    <version>3.0.8</version>
                    <version>4.0.5</version>
                    <version>5.0.2</version>
                                    <fixVersion>3.0.9</fixVersion>
                    <fixVersion>4.0.6</fixVersion>
                    <fixVersion>5.0.3</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="68805" author="vrpolak" created="Fri, 11 Dec 2020 14:22:48 +0000"  >&lt;p&gt;Does Netconf project have unit (or integration) tests to be run from maven that can detect this?&lt;/p&gt;</comment>
                            <comment id="68806" author="rovarga" created="Fri, 11 Dec 2020 15:04:31 +0000"  >&lt;p&gt;nope, as this is full-stack integration &#8211; hence subject to CSIT&lt;/p&gt;</comment>
                            <comment id="71501" author="JIRAUSER14403" created="Mon, 12 Sep 2022 12:43:51 +0000"  >&lt;p&gt;Added updated steps to reproduce - you will need it on latest version since restconf-bierman is gone. Also I added unit test that can be used to check issue in my patch. Plus in that patch I also marked possible way to fix it. I failed to do it myself. My idea is related to &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-631&quot; title=&quot;YangInstanceIdentifierDeserializer fails on choice nodes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-631&quot;&gt;&lt;del&gt;NETCONF-631&lt;/del&gt;&lt;/a&gt;. So for MIX nodes there should be one additional step - taking child node of augmentation that is proper node and put this node into payload of transaction. Currently we sending augmentation and it fails one of checks.&lt;/p&gt;</comment>
                            <comment id="71606" author="ivanhrasko" created="Wed, 9 Nov 2022 15:29:45 +0000"  >&lt;p&gt;I would propose to go with: &lt;a href=&quot;https://git.opendaylight.org/gerrit/c/netconf/+/102227&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/netconf/+/102227&lt;/a&gt; which uses the same logic as in JSON PATCH reader like it is used in JsonNormalizedNodeBodyReader. This behaviour is strange and we need to discover why we need to use additional logic when using JSON. This would require another tests/task.&lt;/p&gt;</comment>
                            <comment id="71615" author="ivanhrasko" created="Thu, 10 Nov 2022 09:41:23 +0000"  >&lt;p&gt;Task to investigate this: &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-911&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.opendaylight.org/browse/NETCONF-911&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10300">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="36307">NETCONF-911</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="18100" name="[NETCONF-747] Steps to reproduce.odt" size="15841" author="ojo" created="Mon, 12 Sep 2022 12:29:06 +0000"/>
                            <attachment id="15915" name="log.txt" size="35782" author="samuel.kontris" created="Fri, 11 Dec 2020 13:55:56 +0000"/>
                            <attachment id="15913" name="test-model-aug.yang" size="520" author="samuel.kontris" created="Fri, 11 Dec 2020 13:55:56 +0000"/>
                            <attachment id="15914" name="test-model.yang" size="445" author="samuel.kontris" created="Fri, 11 Dec 2020 13:55:56 +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|i03wlr:</customfieldvalue>

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