<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:15:34 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-657] Support plain PATCH per RFC8040</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-657</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;RFC8040 specifieds plain PATCH requirements that are distinct from Yang PATCH&lt;/p&gt;</description>
                <environment></environment>
        <key id="32433">NETCONF-657</key>
            <summary>Support plain PATCH per RFC8040</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="2" iconUrl="https://jira.opendaylight.org/images/icons/priorities/critical.svg">High</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="allanclarke">Allan Clarke</assignee>
                                    <reporter username="allanclarke">Allan Clarke</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Feb 2020 19:45:43 +0000</created>
                <updated>Tue, 21 Apr 2020 21:15:00 +0000</updated>
                            <resolved>Tue, 21 Apr 2020 15:56:06 +0000</resolved>
                                                                    <component>restconf-nb</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="67928" author="allanclarke" created="Wed, 4 Mar 2020 19:45:34 +0000"  >&lt;p&gt;Allan&apos;s workflow...&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Pull NETCONF master code (DONE)&lt;/li&gt;
	&lt;li&gt;Ensure buildable environment (DONE)&lt;/li&gt;
	&lt;li&gt;Ensure debuggable environment (DONE)&lt;/li&gt;
	&lt;li&gt;Review NETCONF user and dev docs (DONE)&lt;/li&gt;
	&lt;li&gt;Install/configure testtool (DONE)&lt;/li&gt;
	&lt;li&gt;Determine simulator or device to use (DONE)&lt;/li&gt;
	&lt;li&gt;Learn Yang Patch versus Plain Patch (DONE)&lt;/li&gt;
	&lt;li&gt;Learn Yangtools programming model (DONE)&lt;/li&gt;
	&lt;li&gt;Figure out how to configure patch response on device (DONE)&lt;/li&gt;
	&lt;li&gt;Estimate implementation and test time (DONE ALREADY IN COMMENT)&lt;/li&gt;
	&lt;li&gt;Confirm expectation (SKIP)&lt;/li&gt;
	&lt;li&gt;Learn NETTCONF code around desired feature (DONE)&lt;/li&gt;
	&lt;li&gt;Propose design and get feedback (SKIP - N+1 with existing implementation)&lt;/li&gt;
	&lt;li&gt;Learn NETCONF unit testing code (DONE)&lt;/li&gt;
	&lt;li&gt;Propose tests for feature and get feedback (SKIP - all unit tests)&lt;/li&gt;
	&lt;li&gt;Implement feature (DONE)&lt;/li&gt;
	&lt;li&gt;Get 3rd party acceptance of implementation (will be done through Jamo and Luis)&lt;/li&gt;
	&lt;li&gt;Implement unit/feature tests (DONE)&lt;/li&gt;
	&lt;li&gt;PR and review process (IN-PROGRESS)&lt;/li&gt;
&lt;/ol&gt;
</comment>
                            <comment id="67929" author="allanclarke" created="Wed, 4 Mar 2020 19:46:08 +0000"  >&lt;p&gt;Gotchas...&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Could not build older versions because SNAPSHOTS no longer on Nexus -&amp;gt; had to move up to Neon.&lt;/li&gt;
	&lt;li&gt;Failure on build due to Java 8 version -&amp;gt; installed Java 11 (via homebrew on OSX)&lt;/li&gt;
	&lt;li&gt;NETCONF build failure on javax/annotation/PostConstruct -&amp;gt; solved by moving to Maven 3.6&lt;/li&gt;
	&lt;li&gt;Use 127.0.0.1 instead of localhost in URLs and payloads (may be an OSX port-forwarding issue)&lt;/li&gt;
	&lt;li&gt;Watch out for copy/paste putting &quot;smart quotes&quot; in payloads - gives hard to spot errors&lt;/li&gt;
	&lt;li&gt;Yang Patch aggressively deletes data beyond scope of affected data (probable bug)&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="67930" author="allanclarke" created="Wed, 4 Mar 2020 19:46:36 +0000"  >&lt;p&gt;Helpfuls...&lt;/p&gt;

&lt;p&gt;karaf/target/assembly/bin/karaf debug&lt;/p&gt;

&lt;p&gt;feature:install odl-netconf-connector-all&lt;br/&gt;
feature:install odl-resconf&lt;br/&gt;
feature:install odl-netconf-topology&lt;br/&gt;
feature:install odl-restconf-nb-rfc8040&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;
curl -s -u admin:admin http:&lt;span class=&quot;code-comment&quot;&gt;//localhost:8181/rests/data/network-topology:network-topology | python -mjson.tool&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;karaf&amp;gt; log:set TRACE org.opendaylight.controller.sal.connect.netconf&lt;/p&gt;

&lt;p&gt;// launch testtool using the jukebox schema&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;
java -jar ./netconf/tools/netconf-testtool/target/netconf-testtool-*-SNAPSHOT-executable.jar  --device-count 1  --schemas-dir ./restconf/restconf-nb-rfc8040/target/test-classes/jukebox/
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;See attached POSTMAN for both bierrman02 and RfC8040 CRUD operations. It has a bierman02 and rfc8040 set of operations (not symmetrical due to my laziness). Ignore the netopeer operations.&lt;/p&gt;</comment>
                            <comment id="67931" author="allanclarke" created="Wed, 4 Mar 2020 19:47:12 +0000"  >&lt;p&gt;Errata...&lt;br/&gt;
&lt;a href=&quot;https://docs.opendaylight.org/projects/netconf/en/latest/user-guide.html#_spawning_additional_netconf_connectors_while_the_controller_is_running&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.opendaylight.org/projects/netconf/en/latest/user-guide.html#_spawning_additional_netconf_connectors_while_the_controller_is_running&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Add missing - to docker command: docker run -rm -t -p 1831:830 dockeruser/netopeer&lt;/li&gt;
	&lt;li&gt;Change &quot;Now just follow the chapter: Spawning netconf-connector.&quot; from chapter to section and fix broken link (multiple on this page)&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="67932" author="allanclarke" created="Wed, 4 Mar 2020 19:47:40 +0000"  >&lt;p&gt;Upstream...&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-657&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.opendaylight.org/browse/NETCONF-657&lt;/a&gt; (this issue upstream)&lt;br/&gt;
&lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-312&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.opendaylight.org/browse/NETCONF-312&lt;/a&gt; (potential bug affecting PATCH)&lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/c/netconf/+/88214&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/netconf/+/88214&lt;/a&gt; (this work in Gerrit)&lt;/p&gt;

&lt;p&gt;Resources...&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://tools.ietf.org/html/rfc8040#section-1.1.6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://tools.ietf.org/html/rfc8040#section-1.1.6&lt;/a&gt; (RESTCONF)&lt;br/&gt;
&lt;a href=&quot;https://tools.ietf.org/html/draft-ietf-netconf-yang-patch-14&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://tools.ietf.org/html/draft-ietf-netconf-yang-patch-14&lt;/a&gt; (Yang Patch)&lt;br/&gt;
&lt;a href=&quot;https://docs.opendaylight.org/en/latest/developer-guide/yang-tools.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.opendaylight.org/en/latest/developer-guide/yang-tools.html&lt;/a&gt; (YangTools)&lt;br/&gt;
&lt;a href=&quot;https://tools.ietf.org/html/rfc7950&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://tools.ietf.org/html/rfc7950&lt;/a&gt; (Yang)&lt;/p&gt;</comment>
                            <comment id="68009" author="allanclarke" created="Mon, 6 Apr 2020 16:21:06 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/c/netconf/+/88214&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/netconf/+/88214&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/c/netconf/+/88378&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/netconf/+/88378&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/c/netconf/+/88379&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/netconf/+/88379&lt;/a&gt;&lt;/p&gt;
</comment>
                            <comment id="68037" author="rovarga" created="Tue, 21 Apr 2020 20:13:06 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=allanclarke&quot; class=&quot;user-hover&quot; rel=&quot;allanclarke&quot;&gt;allanclarke&lt;/a&gt; for the record: an issue is not resolved until fixes to all target branches are actually merged.&lt;/p&gt;</comment>
                            <comment id="68038" author="allanclarke" created="Tue, 21 Apr 2020 21:15:00 +0000"  >&lt;p&gt;Thanks for letting me know. I did not know the workflow so I asked Jamo and followed his advice. &lt;br/&gt;
Bad Jamo, bad!&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|i03r6n:</customfieldvalue>

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