<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:15:37 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-678] HTTP PATCH response code is 200 on DataValidationFailedException on server</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-678</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;Using : Sodium SR2 ODL release&#160;&lt;/p&gt;

&lt;p&gt;Receiving HTTP patch response code as 200 when the data validation has failed at cohort level.&#160;&lt;/p&gt;

&lt;p&gt;Is it correct to have a different HTTP response code other than 200 when there are any cohort validation errors on the server side? This helps HTTP client code to rely on the status code sent by the server.&lt;/p&gt;

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

&lt;p&gt;Followed below steps&#160;&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;YANG: &lt;a href=&quot;https://urldefense.com/v3/__https:/github.com/opendaylight/netconf/blob/master/restconf/restconf-common-models/src/main/yang/instance-identifier-patch-module.yang__;!!PIqRGrUndTen!VGlNimlWiVFU4x5gK5Mlr79Qgd6uZlckC_YzsqrbQ3yD7rlDFb0aVxqlA6vuTKyATg$&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opendaylight/netconf/blob/master/restconf/restconf-common-models/src/main/yang/instance-identifier-patch-module.yang&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;PUT: &lt;a href=&quot;https://urldefense.com/v3/__http:/*7b*7bipaddr*7d*7d:8181/restconf/config/instance-identifier-patch-module:patch-cont/my-list1/vikram__;JSUlJQ!!PIqRGrUndTen!VGlNimlWiVFU4x5gK5Mlr79Qgd6uZlckC_YzsqrbQ3yD7rlDFb0aVxqlA6tUoEQEqg$&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://&lt;tt&gt;ipaddr&lt;/tt&gt;:8181/restconf/config/instance-identifier-patch-module:patch-cont/my-list1/vikram&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;{&lt;/p&gt;

&lt;p&gt;&#160; &quot;instance-identifier-patch-module:my-list1&quot;: [&lt;/p&gt;

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

&lt;p&gt;&#160;&#160;&#160;&#160;&#160; &quot;instance-identifier-patch-module:name&quot;: &quot;vikram&quot;,&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160; &quot;instance-identifier-patch-module:my-leaf11&quot;: &quot;leaf11&quot;,&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160; &quot;instance-identifier-patch-module:my-leaf12&quot;: &quot;leaf12&quot;,&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160; &quot;instance-identifier-patch-module:my-list2&quot;: [&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/p&gt;
{

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;instance-identifier-patch-module:name&quot;: &quot;Sethu&quot;,

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;instance-identifier-patch-module:my-leaf21&quot;: &quot;leaf21&quot;,

&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&quot;instance-identifier-patch-module:my-leaf22&quot;: &quot;leaf22&quot;

&#160;&#160;&#160;&#160;&#160;&#160;&#160; }

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

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

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

&lt;p&gt;}&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;PATCH: &#160;&lt;ins&gt;&lt;a href=&quot;https://urldefense.com/v3/__http:/*7B*7Bipaddr*7D*7D:8181/restconf/config/instance-identifier-patch-module:patch-con__;JSUlJQ!!PIqRGrUndTen!VGlNimlWiVFU4x5gK5Mlr79Qgd6uZlckC_YzsqrbQ3yD7rlDFb0aVxqlA6s_mMxAXA$&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://&lt;tt&gt;ipaddr&lt;/tt&gt;:8181/restconf/config/instance-identifier-patch-module:patch-con&lt;/a&gt;&lt;/ins&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;{&quot;ietf-restconf:yang-patch&quot; : {&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160; &quot;patch-id&quot; : &quot;0&quot;,&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160; &quot;edit&quot; :[&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160; &lt;/p&gt;
{&#160;&#160;&#160;

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;edit-id&quot; : &quot;edit1&quot;,

&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;operation&quot; : &quot;remove&quot;,

&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;target&quot; : &quot;/instance-identifier-patch-module:my-list1[instance-identifier-patch-module:name =&apos;vikram&apos;]&quot;&#160;&#160;&#160;&#160;&#160;&#160;&#160;

&#160;&#160;&#160;&#160;&#160;&#160;}

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

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

&lt;p&gt;}&lt;/p&gt;

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

&lt;p&gt;Status code: &lt;b&gt;200 OK&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Response body:&lt;/p&gt;

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

&lt;p&gt;&#160;&#160;&#160;&#160;&quot;ietf-yang-patch:yang-patch-status&quot;:&#160;{&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;patch-id&quot;:&#160;&quot;0&quot;,&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;errors&quot;:&#160;{&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;error&quot;:&#160;[&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/p&gt;
{

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;error-type&quot;:&#160;&quot;application&quot;,

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;error-tag&quot;:&#160;&quot;operation-failed&quot;,

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;error-message&quot;:&#160;&quot;Deletion&#160;Not&#160;allowed&quot;

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}

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

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

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;edit-status&quot;:&#160;{&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;edit&quot;:&#160;[&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/p&gt;
{

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;edit-id&quot;:&#160;&quot;edit1&quot;,

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;ok&quot;:&#160;[

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;null

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;]

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}

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

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

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

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;DELETE: &lt;a href=&quot;https://urldefense.com/v3/__http:/*7b*7bipaddr*7d*7d:8181/restconf/config/instance-identifier-patch-module:patch-cont/my-list1/vikram__;JSUlJQ!!PIqRGrUndTen!VGlNimlWiVFU4x5gK5Mlr79Qgd6uZlckC_YzsqrbQ3yD7rlDFb0aVxqlA6tUoEQEqg$&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://&lt;tt&gt;ipaddr&lt;/tt&gt;:8181/restconf/config/instance-identifier-patch-module:patch-cont/my-list1/vikram&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;{&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&quot;errors&quot;:&#160;{&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;error&quot;:&#160;[&lt;/p&gt;

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

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;error-type&quot;:&#160;&quot;application&quot;,&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;error-tag&quot;:&#160;&quot;invalid-value&quot;,&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;error-message&quot;:&#160;&quot;Deletion&#160;Not&#160;allowed&quot;,&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&quot;error-info&quot;:&#160;&quot;DOMDataTreeIdentifier{datastore=CONFIGURATION,&#160;root=/(instance:identifier:patch:module?revision=2015-11-21)patch-cont/my-list1/my-list1[&lt;/p&gt;
{(instance:identifier:patch:module?revision=2015-11-21)name=vikram}
&lt;p&gt;]}&quot;&lt;/p&gt;

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

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

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

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;Status code : 400 Bad request&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Cohort:&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&lt;b&gt;public&lt;/b&gt; &lt;b&gt;class&lt;/b&gt; CrCohort &lt;b&gt;implements&lt;/b&gt; DOMDataTreeCommitCohort {&lt;/p&gt;

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

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

&lt;p&gt;&#160;&#160;&#160; &lt;b&gt;public&lt;/b&gt; FluentFuture&amp;lt;PostCanCommitStep&amp;gt; canCommit( Object txId, SchemaContext ctx,&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Collection&amp;lt;DOMDataTreeCandidate&amp;gt; candidates) {&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;b&gt;for&lt;/b&gt; (DOMDataTreeCandidate candidate : candidates) {&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;b&gt;final&lt;/b&gt; DataTreeCandidateNode rootNode = candidate.getRootNode();&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;b&gt;final&lt;/b&gt; Optional&amp;lt;NormalizedNode&amp;lt;?, ?&amp;gt;&amp;gt; dataBefore = rootNode.getDataBefore();&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;b&gt;final&lt;/b&gt; Optional&amp;lt;NormalizedNode&amp;lt;?, ?&amp;gt;&amp;gt; dataAfter = rootNode.getDataAfter();&lt;/p&gt;

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

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ModificationType modificationType = rootNode.getModificationType();&lt;/p&gt;

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;b&gt;switch&lt;/b&gt; (modificationType) &lt;/p&gt;
{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;*case* *_DELETE_*:

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; *return* FluentFutures._immediateFailedFluentFuture_(*new* DataValidationFailedException(

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; DOMDataTreeIdentifier.*class*, candidate.getRootPath(), &quot;Deletion Not allowed&quot;));

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;*default*:

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; *break*;

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }

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

&lt;p&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;b&gt;return&lt;/b&gt; PostCanCommitStep.&lt;b&gt;&lt;em&gt;NOOP_SUCCESSFUL_FUTURE&lt;/em&gt;&lt;/b&gt;;&lt;/p&gt;

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

&lt;p&gt;}&lt;/p&gt;</description>
                <environment>&lt;p&gt;Linux CentOS 7 / Java 8 update 242&lt;/p&gt;</environment>
        <key id="32618">NETCONF-678</key>
            <summary>HTTP PATCH response code is 200 on DataValidationFailedException on server</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="ivanm1996">Ivan Martiniak</assignee>
                                    <reporter username="vikram_darsi">Vikram Darsi</reporter>
                        <labels>
                    </labels>
                <created>Tue, 28 Apr 2020 05:01:26 +0000</created>
                <updated>Tue, 16 Nov 2021 17:30:47 +0000</updated>
                            <resolved>Tue, 16 Nov 2021 17:30:47 +0000</resolved>
                                    <version>Sodium SR2</version>
                                                    <component>restconf-nb</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="70164" author="JIRAUSER14303" created="Tue, 16 Nov 2021 09:35:27 +0000"  >&lt;p&gt;Bug is no longer actual as code has shifted, after reproducing it in affected version Sodium SR2.&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|i03s7j:</customfieldvalue>

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