<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:15:16 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-536] Add support for &lt;candidate&gt; validation</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-536</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;Add support for validating &amp;lt;candidate&amp;gt; datastore as defined in:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://tools.ietf.org/html/rfc4741#section-8.6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://tools.ietf.org/html/rfc4741#section-8.6&lt;/a&gt;&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;Positive Response:

If the device was able to satisfy the request,
an &amp;lt;rpc-reply&amp;gt; is sent that contains an &amp;lt;ok&amp;gt; element.

Negative Response:

An &amp;lt;rpc-error&amp;gt; element is included in the &amp;lt;rpc-reply&amp;gt;
if the request cannot be completed for any reason.
A validate operation can fail for any of the following reasons:
+  Syntax errors
+  Missing parameters
+  References to undefined configuration data
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Example:&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;&amp;lt;rpc message-id=&quot;101&quot;
          xmlns=&quot;urn:ietf:params:xml:ns:netconf:base:1.0&quot;&amp;gt;
       &amp;lt;validate&amp;gt;
         &amp;lt;source&amp;gt;
           &amp;lt;candidate/&amp;gt;
         &amp;lt;/source&amp;gt;
       &amp;lt;/validate&amp;gt;
     &amp;lt;/rpc&amp;gt;

     &amp;lt;rpc-reply message-id=&quot;101&quot;
          xmlns=&quot;urn:ietf:params:xml:ns:netconf:base:1.0&quot;&amp;gt;
       &amp;lt;ok/&amp;gt;
     &amp;lt;/rpc-reply&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="29770">NETCONF-536</key>
            <summary>Add support for &lt;candidate&gt; validation</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</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="mgradzki">Marek Gradzki</assignee>
                                    <reporter username="mgradzki">Marek Gradzki</reporter>
                        <labels>
                    </labels>
                <created>Fri, 13 Apr 2018 08:36:04 +0000</created>
                <updated>Fri, 4 May 2018 04:16:46 +0000</updated>
                            <resolved>Fri, 4 May 2018 04:16:25 +0000</resolved>
                                                                    <component>netconf</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="62403" author="mgradzki@cisco.com" created="Fri, 13 Apr 2018 12:39:27 +0000"  >&lt;p&gt;MDSAL DOMDataBroker transaction APIs (e.g. DOMDataReadWriteTransaction) do not provide validate.&lt;/p&gt;

&lt;p&gt;Adding it is definitely possible but values it brings to MD-SAL DOM APIs are questionable&lt;/p&gt;

&lt;p&gt;(three phase commit protocol is available as DOMDataBrokerExtension).&lt;br/&gt;
 &#160;&lt;/p&gt;</comment>
                            <comment id="62404" author="mgradzki@cisco.com" created="Fri, 13 Apr 2018 12:40:16 +0000"  >&lt;p&gt;In the 2P/3P commit protocol, in case of &quot;No&quot; votes, commit is aborted.&lt;/p&gt;

&lt;p&gt;On the other hand, &amp;lt;validate&amp;gt; RPC can be sent multiple times by user during single transaction. E.g. user can issue &amp;lt;edit-config&amp;gt; to fix issues with the &amp;lt;candidate&amp;gt; DS, validate it again and send &amp;lt;commit&amp;gt; when DS is valid.&lt;/p&gt;

&lt;p&gt;Therefore 2P/3P commit is not the right model for &amp;lt;validate&amp;gt; implementation.&lt;/p&gt;</comment>
                            <comment id="62405" author="mgradzki@cisco.com" created="Fri, 13 Apr 2018 12:44:09 +0000"  >&lt;p&gt;Support for validating transaction is just needed for NETCONF northbound (mdsal-netconf-connector). Most probably it would not be used by other ODL components. So other alternatives are providing specialized NetconfDataBroker or introducing DOMDataBrokerExtension with support for transaction validation.&lt;/p&gt;

&lt;p&gt;The second solution looks much cleaner, because it requires less boilerplate code.&lt;/p&gt;</comment>
                            <comment id="62825" author="mgradzki@cisco.com" created="Fri, 4 May 2018 04:16:46 +0000"  >&lt;p&gt;Fluorine:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/70917/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/70917/&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|i03dcf:</customfieldvalue>

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