<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:15:55 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-794] RESTCONF provide wrong DOMDataTreeIdentifier path for Actions when is invoke</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-794</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;When Action is invoked through RESTCONF, it will provide wrong&#160;DOMDataTreeIdentifier path for specific Action. This path will point to the parent of called Action.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/opendaylight/mdsal/blob/master/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMRpcRouter.java#L430&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opendaylight/mdsal/blob/master/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMRpcRouter.java#L546&lt;/a&gt;&lt;br/&gt;
 entry.getImplementations(path).get(0).invokeAction(type, path, input)&lt;/p&gt;

&lt;p&gt;path = DOMDataTreeIdentifier{datastore=OPERATIONAL, root=/(instance:identifier:module?revision=2014-01-17)cont/cont1}&lt;/p&gt;

&lt;p&gt;Registered implementation key is:&lt;br/&gt;
 DOMDataTreeIdentifier{datastore=OPERATIONAL, root=/(instance:identifier:module?revision=2014-01-17)cont/cont1/reset}&lt;/p&gt;</description>
                <environment></environment>
        <key id="34235">NETCONF-794</key>
            <summary>RESTCONF provide wrong DOMDataTreeIdentifier path for Actions when is invoke</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="ivanhrasko">Ivan Hrasko</assignee>
                                    <reporter username="PeterSuna">Peter Suna</reporter>
                        <labels>
                            <label>pt</label>
                    </labels>
                <created>Tue, 27 Jul 2021 13:16:58 +0000</created>
                <updated>Fri, 6 Aug 2021 13:25:56 +0000</updated>
                            <resolved>Fri, 6 Aug 2021 13:25:46 +0000</resolved>
                                                                    <component>restconf-nb</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="69502" author="ivanhrasko" created="Thu, 5 Aug 2021 08:44:22 +0000"  >&lt;p&gt;According to javadoc of org.opendaylight.mdsal.dom.api.DOMActionService#invokeAction&lt;br/&gt;
the path argument expects the &quot;DOMDataTreeIdentifier of parent data node which action attached to&quot;.&lt;/p&gt;

&lt;p&gt;In the next iteration of test patch we were able to register and invoke the Reset action.&lt;br/&gt;
But we have found a problem in processing of the action result - there is a mismatch&lt;br/&gt;
between RpcResult returned by:&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;org.opendaylight.yangtools.yang.binding.Action#invoke
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;and DOMActionResult expected by:&lt;br/&gt;
org.opendaylight.mdsal.dom.api.DOMActionImplementation#invokeAction&lt;/p&gt;

&lt;p&gt;There are two possibilities:&lt;br/&gt;
1. we have to create DOMActionResult from returned RpcResult in:&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;org.opendaylight.restconf.nb.rfc8040.rests.utils.ActionResultFactory
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;2. we have to rework org.opendaylight.yangtools.yang.binding.Action class&lt;br/&gt;
and possibly other things as well in msal and yangtools.&lt;/p&gt;</comment>
                            <comment id="69503" author="ivanhrasko" created="Fri, 6 Aug 2021 13:14:50 +0000"  >&lt;p&gt;In the third iteration of test we have found a way how to translate RpcResult into DOMActionResult using codec.&lt;/p&gt;

&lt;p&gt;It a responsibility of action implementation to do so.&lt;/p&gt;</comment>
                            <comment id="69505" author="ivanhrasko" created="Fri, 6 Aug 2021 13:17:52 +0000"  >&lt;p&gt;During testing we have found only issue that exception is thrown when action output is empty. This behavior is not according to RFC 8040 which states that in case of rpc/action with no output response with status code 204 and empty body should be returned without any errors.&lt;/p&gt;</comment>
                            <comment id="69506" author="ivanhrasko" created="Fri, 6 Aug 2021 13:25:46 +0000"  >&lt;p&gt;This bug is invalid. We have created another one for the problem when action has no output: &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-799&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.opendaylight.org/browse/NETCONF-799&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                    <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|i03z0n:</customfieldvalue>

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