<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:34:14 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>[OPNFLWPLUG-1115] Inconsistencies Deleting Elements in a Config</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-1115</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;I have found that when deleting an element in a config (specifically in my case, an OpenFlow action) a re-sequencing of keys occurs and I am unable to perform the delete again. This is best shown with an example:&lt;/p&gt;

&lt;p&gt;Original config:&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;REST GET&#160;/restconf/operational/opendaylight-inventory:nodes/node/openflow:123456789&lt;/tt&gt;/table/0/flow/101&lt;/p&gt;

&lt;p&gt;&#160;&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;
&amp;lt;flow xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:flow:inventory&quot;&lt;/span&gt;&amp;gt;
    &amp;lt;id&amp;gt;101&amp;lt;/id&amp;gt;
    &amp;lt;table_id&amp;gt;0&amp;lt;/table_id&amp;gt;
    &amp;lt;flow-statistics xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:flow:statistics&quot;&lt;/span&gt;&amp;gt;
        &amp;lt;duration&amp;gt;
            &amp;lt;second&amp;gt;729&amp;lt;/second&amp;gt;
            &amp;lt;nanosecond&amp;gt;245000000&amp;lt;/nanosecond&amp;gt;
        &amp;lt;/duration&amp;gt;
        &amp;lt;packet-count&amp;gt;249&amp;lt;/packet-count&amp;gt;
        &amp;lt;&lt;span class=&quot;code-object&quot;&gt;byte&lt;/span&gt;-count&amp;gt;17059&amp;lt;/&lt;span class=&quot;code-object&quot;&gt;byte&lt;/span&gt;-count&amp;gt;
    &amp;lt;/flow-statistics&amp;gt;
    &amp;lt;priority&amp;gt;3&amp;lt;/priority&amp;gt;
    &amp;lt;hard-timeout&amp;gt;0&amp;lt;/hard-timeout&amp;gt;
    &amp;lt;match&amp;gt;
        &amp;lt;in-port&amp;gt;1&amp;lt;/in-port&amp;gt;
        &amp;lt;ethernet-match&amp;gt;
            &amp;lt;ethernet-type&amp;gt;
                &amp;lt;type&amp;gt;2048&amp;lt;/type&amp;gt;
            &amp;lt;/ethernet-type&amp;gt;
        &amp;lt;/ethernet-match&amp;gt;
    &amp;lt;/match&amp;gt;
    &amp;lt;cookie_mask&amp;gt;0&amp;lt;/cookie_mask&amp;gt;
    &amp;lt;cookie&amp;gt;0&amp;lt;/cookie&amp;gt;
    &amp;lt;flags/&amp;gt;
    &amp;lt;instructions&amp;gt;
        &amp;lt;instruction&amp;gt;
            &amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;
            &amp;lt;apply-actions&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;4&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ipv4-destination&amp;gt;10.0.0.10/32&amp;lt;/ipv4-destination&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;5&amp;lt;/order&amp;gt;
                    &amp;lt;output-action&amp;gt;
                        &amp;lt;output-node-connector&amp;gt;3&amp;lt;/output-node-connector&amp;gt;
                        &amp;lt;max-length&amp;gt;60&amp;lt;/max-length&amp;gt;
                    &amp;lt;/output-action&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;6&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ethernet-match&amp;gt;
                            &amp;lt;ethernet-destination&amp;gt;
                                &amp;lt;address&amp;gt;00:00:00:aa:00:56&amp;lt;/address&amp;gt;
                            &amp;lt;/ethernet-destination&amp;gt;
                        &amp;lt;/ethernet-match&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;7&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ipv4-destination&amp;gt;10.0.3.10/32&amp;lt;/ipv4-destination&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ethernet-match&amp;gt;
                            &amp;lt;ethernet-destination&amp;gt;
                                &amp;lt;address&amp;gt;00:00:00:aa:00:54&amp;lt;/address&amp;gt;
                            &amp;lt;/ethernet-destination&amp;gt;
                        &amp;lt;/ethernet-match&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;1&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ipv4-destination&amp;gt;10.0.1.10/32&amp;lt;/ipv4-destination&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;2&amp;lt;/order&amp;gt;
                    &amp;lt;output-action&amp;gt;
                        &amp;lt;output-node-connector&amp;gt;2&amp;lt;/output-node-connector&amp;gt;
                        &amp;lt;max-length&amp;gt;60&amp;lt;/max-length&amp;gt;
                    &amp;lt;/output-action&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;3&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ethernet-match&amp;gt;
                            &amp;lt;ethernet-destination&amp;gt;
                                &amp;lt;address&amp;gt;00:00:00:aa:00:55&amp;lt;/address&amp;gt;
                            &amp;lt;/ethernet-destination&amp;gt;
                        &amp;lt;/ethernet-match&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;8&amp;lt;/order&amp;gt;
                    &amp;lt;output-action&amp;gt;
                        &amp;lt;output-node-connector&amp;gt;4&amp;lt;/output-node-connector&amp;gt;
                        &amp;lt;max-length&amp;gt;60&amp;lt;/max-length&amp;gt;
                    &amp;lt;/output-action&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;9&amp;lt;/order&amp;gt;
                    &amp;lt;set-nw-ttl-action&amp;gt;
                        &amp;lt;nw-ttl&amp;gt;7&amp;lt;/nw-ttl&amp;gt;
                    &amp;lt;/set-nw-ttl-action&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;10&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ipv4-destination&amp;gt;10.0.6.10/32&amp;lt;/ipv4-destination&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;11&amp;lt;/order&amp;gt;
                    &amp;lt;output-action&amp;gt;
                        &amp;lt;output-node-connector&amp;gt;4&amp;lt;/output-node-connector&amp;gt;
                        &amp;lt;max-length&amp;gt;60&amp;lt;/max-length&amp;gt;
                    &amp;lt;/output-action&amp;gt;
                &amp;lt;/action&amp;gt;
            &amp;lt;/apply-actions&amp;gt;
        &amp;lt;/instruction&amp;gt;
    &amp;lt;/instructions&amp;gt;
    &amp;lt;idle-timeout&amp;gt;0&amp;lt;/idle-timeout&amp;gt;
&amp;lt;/flow&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Notice&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;There are 11 actions&lt;/li&gt;
	&lt;li&gt;The order is 0-11&lt;/li&gt;
	&lt;li&gt;(Although not part of the question, when I submit the config, if I use my own order values, ODL internally changes them to 0...11 based on the sorted order of my original order values. I.e., if my order values were originally 100, 105, 111, 200, it would get renamed to 0, 1, 2, 3...)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Next I delete off action order 0:&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;REST DELETE&#160;restconf/config/opendaylight-inventory:nodes/node/openflow:&lt;/tt&gt;&lt;tt&gt;123456789&lt;/tt&gt;/table/0/flow/101/instructions/instruction/0/apply-actions/action/0&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;Returns 200&lt;/tt&gt;&lt;/p&gt;

&lt;p&gt;Now the config looks like this:&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;REST GET&#160;/restconf/operational/opendaylight-inventory:nodes/node/openflow:&lt;/tt&gt;&lt;tt&gt;123456789&lt;/tt&gt;/table/0/flow/101&lt;/p&gt;

&lt;p&gt;&#160;&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;
&amp;lt;flow xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:flow:inventory&quot;&lt;/span&gt;&amp;gt;
    &amp;lt;id&amp;gt;101&amp;lt;/id&amp;gt;
    &amp;lt;table_id&amp;gt;0&amp;lt;/table_id&amp;gt;
    &amp;lt;flow-statistics xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:flow:statistics&quot;&lt;/span&gt;&amp;gt;
        &amp;lt;duration&amp;gt;
            &amp;lt;second&amp;gt;26&amp;lt;/second&amp;gt;
            &amp;lt;nanosecond&amp;gt;701000000&amp;lt;/nanosecond&amp;gt;
        &amp;lt;/duration&amp;gt;
        &amp;lt;packet-count&amp;gt;249&amp;lt;/packet-count&amp;gt;
        &amp;lt;&lt;span class=&quot;code-object&quot;&gt;byte&lt;/span&gt;-count&amp;gt;17059&amp;lt;/&lt;span class=&quot;code-object&quot;&gt;byte&lt;/span&gt;-count&amp;gt;
    &amp;lt;/flow-statistics&amp;gt;
    &amp;lt;priority&amp;gt;3&amp;lt;/priority&amp;gt;
    &amp;lt;hard-timeout&amp;gt;0&amp;lt;/hard-timeout&amp;gt;
    &amp;lt;match&amp;gt;
        &amp;lt;in-port&amp;gt;1&amp;lt;/in-port&amp;gt;
        &amp;lt;ethernet-match&amp;gt;
            &amp;lt;ethernet-type&amp;gt;
                &amp;lt;type&amp;gt;2048&amp;lt;/type&amp;gt;
            &amp;lt;/ethernet-type&amp;gt;
        &amp;lt;/ethernet-match&amp;gt;
    &amp;lt;/match&amp;gt;
    &amp;lt;cookie_mask&amp;gt;0&amp;lt;/cookie_mask&amp;gt;
    &amp;lt;cookie&amp;gt;0&amp;lt;/cookie&amp;gt;
    &amp;lt;flags/&amp;gt;
    &amp;lt;instructions&amp;gt;
        &amp;lt;instruction&amp;gt;
            &amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;
            &amp;lt;apply-actions&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;4&amp;lt;/order&amp;gt;
                    &amp;lt;output-action&amp;gt;
                        &amp;lt;output-node-connector&amp;gt;3&amp;lt;/output-node-connector&amp;gt;
                        &amp;lt;max-length&amp;gt;60&amp;lt;/max-length&amp;gt;
                    &amp;lt;/output-action&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;5&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ethernet-match&amp;gt;
                            &amp;lt;ethernet-destination&amp;gt;
                                &amp;lt;address&amp;gt;00:00:00:aa:00:56&amp;lt;/address&amp;gt;
                            &amp;lt;/ethernet-destination&amp;gt;
                        &amp;lt;/ethernet-match&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;6&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ipv4-destination&amp;gt;10.0.3.10/32&amp;lt;/ipv4-destination&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;7&amp;lt;/order&amp;gt;
                    &amp;lt;output-action&amp;gt;
                        &amp;lt;output-node-connector&amp;gt;4&amp;lt;/output-node-connector&amp;gt;
                        &amp;lt;max-length&amp;gt;60&amp;lt;/max-length&amp;gt;
                    &amp;lt;/output-action&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ipv4-destination&amp;gt;10.0.1.10/32&amp;lt;/ipv4-destination&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;1&amp;lt;/order&amp;gt;
                    &amp;lt;output-action&amp;gt;
                        &amp;lt;output-node-connector&amp;gt;2&amp;lt;/output-node-connector&amp;gt;
                        &amp;lt;max-length&amp;gt;60&amp;lt;/max-length&amp;gt;
                    &amp;lt;/output-action&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;2&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ethernet-match&amp;gt;
                            &amp;lt;ethernet-destination&amp;gt;
                                &amp;lt;address&amp;gt;00:00:00:aa:00:55&amp;lt;/address&amp;gt;
                            &amp;lt;/ethernet-destination&amp;gt;
                        &amp;lt;/ethernet-match&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;3&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ipv4-destination&amp;gt;10.0.0.10/32&amp;lt;/ipv4-destination&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;8&amp;lt;/order&amp;gt;
                    &amp;lt;set-nw-ttl-action&amp;gt;
                        &amp;lt;nw-ttl&amp;gt;7&amp;lt;/nw-ttl&amp;gt;
                    &amp;lt;/set-nw-ttl-action&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;9&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ipv4-destination&amp;gt;10.0.6.10/32&amp;lt;/ipv4-destination&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;10&amp;lt;/order&amp;gt;
                    &amp;lt;output-action&amp;gt;
                        &amp;lt;output-node-connector&amp;gt;4&amp;lt;/output-node-connector&amp;gt;
                        &amp;lt;max-length&amp;gt;60&amp;lt;/max-length&amp;gt;
                    &amp;lt;/output-action&amp;gt;
                &amp;lt;/action&amp;gt;
            &amp;lt;/apply-actions&amp;gt;
        &amp;lt;/instruction&amp;gt;
    &amp;lt;/instructions&amp;gt;
    &amp;lt;idle-timeout&amp;gt;0&amp;lt;/idle-timeout&amp;gt;
&amp;lt;/flow&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

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

&lt;p&gt;&lt;b&gt;First some notes:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;The order numbers has changed. I.e., what was previously order 9 is now order 8.&lt;/li&gt;
	&lt;li&gt;There is still an order 0&lt;/li&gt;
	&lt;li&gt;The highest order number is now 10 (it was 11)&lt;/li&gt;
	&lt;li&gt;Can I re-run the above delete command and delete the new action-order 0?&lt;/li&gt;
&lt;/ul&gt;


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

&lt;p&gt;Here is a bit of a diff to make it easier to compare the above:&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;
diff -r  
&amp;lt;                     &amp;lt;order&amp;gt;5&amp;lt;/order&amp;gt;
43c37
&amp;lt;                     &amp;lt;order&amp;gt;6&amp;lt;/order&amp;gt;
---
&amp;gt;                     &amp;lt;order&amp;gt;5&amp;lt;/order&amp;gt;
53c47
&amp;lt;                     &amp;lt;order&amp;gt;7&amp;lt;/order&amp;gt;
---
&amp;gt;                     &amp;lt;order&amp;gt;6&amp;lt;/order&amp;gt;
59,66c53,57
&amp;lt;                     &amp;lt;set-field&amp;gt;
&amp;lt;                         &amp;lt;ethernet-match&amp;gt;
&amp;lt;                             &amp;lt;ethernet-destination&amp;gt;
&amp;lt;                                 &amp;lt;address&amp;gt;00:00:00:aa:00:54&amp;lt;/address&amp;gt;
&amp;lt;                             &amp;lt;/ethernet-destination&amp;gt;
&amp;lt;                         &amp;lt;/ethernet-match&amp;gt;
&amp;lt;                     &amp;lt;/set-field&amp;gt;
---
99c89
&amp;lt;                     &amp;lt;order&amp;gt;9&amp;lt;/order&amp;gt;
---
&amp;gt;                     &amp;lt;order&amp;gt;8&amp;lt;/order&amp;gt;
105c95
&amp;lt;                     &amp;lt;order&amp;gt;10&amp;lt;/order&amp;gt;
---
&amp;gt;                     &amp;lt;order&amp;gt;9&amp;lt;/order&amp;gt;
111c101
&amp;lt;                     &amp;lt;order&amp;gt;11&amp;lt;/order&amp;gt;
---
&amp;gt;                     &amp;lt;order&amp;gt;10&amp;lt;/order&amp;gt;

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Okay, so now what was originally action/1 is now action/0.&#160;&lt;/p&gt;

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

&lt;p&gt;Here is the bug, I want to now delete this new action/0. Since the order value has changed to 0, re-run my REST DELETE command:&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;REST DELETE&#160;restconf/config/opendaylight-inventory:nodes/node/openflow:&lt;/tt&gt;&lt;tt&gt;123456789&lt;/tt&gt;/table/0/flow/101/instructions/instruction/0/apply-actions/action/0&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;Returns 409:&lt;/tt&gt;&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;
{
    &lt;span class=&quot;code-quote&quot;&gt;&quot;errors&quot;&lt;/span&gt;: {
        &lt;span class=&quot;code-quote&quot;&gt;&quot;error&quot;&lt;/span&gt;: [
            {
                &lt;span class=&quot;code-quote&quot;&gt;&quot;error-type&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;protocol&quot;&lt;/span&gt;,
                &lt;span class=&quot;code-quote&quot;&gt;&quot;error-tag&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;data-missing&quot;&lt;/span&gt;,
                &lt;span class=&quot;code-quote&quot;&gt;&quot;error-message&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;Data does not exist &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; path: /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:257642806997568}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)&lt;span class=&quot;code-keyword&quot;&gt;switch&lt;/span&gt;-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)ip-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)stale-meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)stale-group, (urn:opendaylight:flow:inventory?revision=2013-08-19)table, (urn:opendaylight:flow:inventory?revision=2013-08-19)table-features]}/(urn:opendaylight:flow:inventory?revision=2013-08-19)table/table[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=0}]/flow/flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=101}]/instructions/instruction/instruction[{(urn:opendaylight:flow:inventory?revision=2013-08-19)order=0}]/instruction/apply-actions/action/action[{(urn:opendaylight:flow:inventory?revision=2013-08-19)order=0}]&quot;&lt;/span&gt;
            }
        ]
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;It appears internally to ODL and its internal config, it doesn&apos;t acknowledge action/0. Internally, it still sees it as action/1. When I retry that delete command but with action/1 it works:&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;REST DELETE&#160;restconf/config/opendaylight-inventory:nodes/node/openflow:&lt;/tt&gt;&lt;tt&gt;123456789&lt;/tt&gt;/table/0/flow/101/instructions/instruction/0/apply-actions/action/1&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;Returns 200&lt;/tt&gt;&lt;/p&gt;

&lt;p&gt;And the resulting config is:&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;REST GET&#160;/restconf/operational/opendaylight-inventory:nodes/node/openflow:&lt;/tt&gt;&lt;tt&gt;123456789&lt;/tt&gt;/table/0/flow/101&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;
&amp;lt;flow xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:flow:inventory&quot;&lt;/span&gt;&amp;gt;
    &amp;lt;id&amp;gt;101&amp;lt;/id&amp;gt;
    &amp;lt;table_id&amp;gt;0&amp;lt;/table_id&amp;gt;
    &amp;lt;flow-statistics xmlns=&lt;span class=&quot;code-quote&quot;&gt;&quot;urn:opendaylight:flow:statistics&quot;&lt;/span&gt;&amp;gt;
        &amp;lt;duration&amp;gt;
            &amp;lt;second&amp;gt;2&amp;lt;/second&amp;gt;
            &amp;lt;nanosecond&amp;gt;7000000&amp;lt;/nanosecond&amp;gt;
        &amp;lt;/duration&amp;gt;
        &amp;lt;packet-count&amp;gt;249&amp;lt;/packet-count&amp;gt;
        &amp;lt;&lt;span class=&quot;code-object&quot;&gt;byte&lt;/span&gt;-count&amp;gt;17059&amp;lt;/&lt;span class=&quot;code-object&quot;&gt;byte&lt;/span&gt;-count&amp;gt;
    &amp;lt;/flow-statistics&amp;gt;
    &amp;lt;priority&amp;gt;3&amp;lt;/priority&amp;gt;
    &amp;lt;hard-timeout&amp;gt;0&amp;lt;/hard-timeout&amp;gt;
    &amp;lt;match&amp;gt;
        &amp;lt;in-port&amp;gt;1&amp;lt;/in-port&amp;gt;
        &amp;lt;ethernet-match&amp;gt;
            &amp;lt;ethernet-type&amp;gt;
                &amp;lt;type&amp;gt;2048&amp;lt;/type&amp;gt;
            &amp;lt;/ethernet-type&amp;gt;
        &amp;lt;/ethernet-match&amp;gt;
    &amp;lt;/match&amp;gt;
    &amp;lt;cookie_mask&amp;gt;0&amp;lt;/cookie_mask&amp;gt;
    &amp;lt;cookie&amp;gt;0&amp;lt;/cookie&amp;gt;
    &amp;lt;flags/&amp;gt;
    &amp;lt;instructions&amp;gt;
        &amp;lt;instruction&amp;gt;
            &amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;
            &amp;lt;apply-actions&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;4&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ethernet-match&amp;gt;
                            &amp;lt;ethernet-destination&amp;gt;
                                &amp;lt;address&amp;gt;00:00:00:aa:00:56&amp;lt;/address&amp;gt;
                            &amp;lt;/ethernet-destination&amp;gt;
                        &amp;lt;/ethernet-match&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;5&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ipv4-destination&amp;gt;10.0.3.10/32&amp;lt;/ipv4-destination&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;6&amp;lt;/order&amp;gt;
                    &amp;lt;output-action&amp;gt;
                        &amp;lt;output-node-connector&amp;gt;4&amp;lt;/output-node-connector&amp;gt;
                        &amp;lt;max-length&amp;gt;60&amp;lt;/max-length&amp;gt;
                    &amp;lt;/output-action&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;7&amp;lt;/order&amp;gt;
                    &amp;lt;set-nw-ttl-action&amp;gt;
                        &amp;lt;nw-ttl&amp;gt;7&amp;lt;/nw-ttl&amp;gt;
                    &amp;lt;/set-nw-ttl-action&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;
                    &amp;lt;output-action&amp;gt;
                        &amp;lt;output-node-connector&amp;gt;2&amp;lt;/output-node-connector&amp;gt;
                        &amp;lt;max-length&amp;gt;60&amp;lt;/max-length&amp;gt;
                    &amp;lt;/output-action&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;1&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ethernet-match&amp;gt;
                            &amp;lt;ethernet-destination&amp;gt;
                                &amp;lt;address&amp;gt;00:00:00:aa:00:55&amp;lt;/address&amp;gt;
                            &amp;lt;/ethernet-destination&amp;gt;
                        &amp;lt;/ethernet-match&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;2&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ipv4-destination&amp;gt;10.0.0.10/32&amp;lt;/ipv4-destination&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;3&amp;lt;/order&amp;gt;
                    &amp;lt;output-action&amp;gt;
                        &amp;lt;output-node-connector&amp;gt;3&amp;lt;/output-node-connector&amp;gt;
                        &amp;lt;max-length&amp;gt;60&amp;lt;/max-length&amp;gt;
                    &amp;lt;/output-action&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;8&amp;lt;/order&amp;gt;
                    &amp;lt;set-field&amp;gt;
                        &amp;lt;ipv4-destination&amp;gt;10.0.6.10/32&amp;lt;/ipv4-destination&amp;gt;
                    &amp;lt;/set-field&amp;gt;
                &amp;lt;/action&amp;gt;
                &amp;lt;action&amp;gt;
                    &amp;lt;order&amp;gt;9&amp;lt;/order&amp;gt;
                    &amp;lt;output-action&amp;gt;
                        &amp;lt;output-node-connector&amp;gt;4&amp;lt;/output-node-connector&amp;gt;
                        &amp;lt;max-length&amp;gt;60&amp;lt;/max-length&amp;gt;
                    &amp;lt;/output-action&amp;gt;
                &amp;lt;/action&amp;gt;
            &amp;lt;/apply-actions&amp;gt;
        &amp;lt;/instruction&amp;gt;
    &amp;lt;/instructions&amp;gt;
    &amp;lt;idle-timeout&amp;gt;0&amp;lt;/idle-timeout&amp;gt;
&amp;lt;/flow&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Look close and you see that action/0 is what was originally action/2 and also notice that the highest action order number is 9 (it was 11 originally).&lt;/p&gt;

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

&lt;p&gt;So internally, the action-order values keep their original value, even though when I get-config, the order numbers are sequential.&lt;/p&gt;

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

&lt;p&gt;Goal: when running a get-config, I should be able to reference the action/order value as seen by the current get-config. I do not have a way to track the original order values and I believe maintaining the original order value would mean maintaining old states of the system.&#160;&lt;/p&gt;

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

&lt;p&gt;Also, as mentioned earlier, the order numbers get overridden by ODL. I.e., if my order values were 123, 150, 155 it will get renumbered to 0, 1, 2. This doesn&apos;t bother me per-se, I can work around that, but I need to be able to reference the order values as given by the current get-config query.&#160;&lt;/p&gt;

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

&lt;p&gt;This issue is a blocker for us in that we need to be able to do micro edits to our config without sweeping deletes and replaces of entire flows.&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="33700">OPNFLWPLUG-1115</key>
            <summary>Inconsistencies Deleting Elements in a Config</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</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="10001">Won&apos;t Do</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="esender">Eric Sender</reporter>
                        <labels>
                    </labels>
                <created>Wed, 16 Dec 2020 19:12:34 +0000</created>
                <updated>Fri, 18 Nov 2022 07:20:11 +0000</updated>
                            <resolved>Fri, 18 Nov 2022 07:20:11 +0000</resolved>
                                    <version>Aluminium-SR1</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="68903" author="rovarga" created="Wed, 16 Dec 2020 21:27:43 +0000"  >&lt;p&gt;This looks like a translation issue in OpenFlow &#8211; note neither RESTCONF nor datastore can perform data transformations (i.e. changing &apos;order&apos;). &apos;order&apos; is a construct defined by OFP YANG models.&lt;/p&gt;</comment>
                            <comment id="68904" author="rovarga" created="Wed, 16 Dec 2020 21:31:12 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=esender&quot; class=&quot;user-hover&quot; rel=&quot;esender&quot;&gt;esender&lt;/a&gt; can you add the before and after contents of the config datastore, please?&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="68906" author="JIRAUSER13128" created="Wed, 16 Dec 2020 21:36:41 +0000"  >&lt;p&gt;I actually do have that pasted in the issue description, including a diff between the before and after.&#160;&lt;/p&gt;

&lt;p&gt;The full config would be huge, I narrowed the config to the specific flow in question. Did you want to see the full config?&#160;&lt;/p&gt;</comment>
                            <comment id="68909" author="rovarga" created="Wed, 16 Dec 2020 22:00:51 +0000"  >&lt;p&gt;I was not sure what I was looking for exactly, now I think I know. What does&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;REST GET&#160;restconf/config/opendaylight-inventory:nodes/node/openflow:123456789/table/0/flow/101/instructions/instruction/0/apply-actions/action/0&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;return?&lt;/p&gt;

&lt;p&gt;Also, there should be a stack trace in karaf.log to go with that 409, I think. Can you attach that, too?&lt;/p&gt;</comment>
                            <comment id="68910" author="JIRAUSER13128" created="Wed, 16 Dec 2020 22:55:32 +0000"  >&lt;p&gt;I don&apos;t see a stacktrace unforunatly, even in DEBUG logging mode.&lt;/p&gt;

&lt;p&gt;Look at:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Line 4689 - start of REST Delete&lt;/li&gt;
	&lt;li&gt;Line 4950 - &quot;409&quot; response noted.&#160;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/attachment/16001/karaf.log.gz&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.opendaylight.org/secure/attachment/16001/karaf.log.gz&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="68912" author="JIRAUSER13128" created="Thu, 17 Dec 2020 00:29:58 +0000"  >&lt;p&gt;(If there is an alternative to DELETE that I could try, I&apos;d like to. I am playing with the REST PATCH endpoint but I am having trouble getting it to work and I can&apos;t find any good examples of using REST PATCH)&lt;/p&gt;</comment>
                            <comment id="70324" author="JIRAUSER13318" created="Fri, 3 Dec 2021 19:41:57 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=esender&quot; class=&quot;user-hover&quot; rel=&quot;esender&quot;&gt;esender&lt;/a&gt; All the flow information above is from the operational datastore, which is populated by OpenFlow Plugin. Since OpenFlow itself does not have an explicit attribute &lt;tt&gt;order&lt;/tt&gt; for ordering of actions, it&apos;s just an ordered list, the attribute is populated by the plugin incrementing from 0. So if you look at the configuration datastore, you will see different &lt;tt&gt;order&lt;/tt&gt; values, and the values in the configuration datastore are not modified by the plugin.&lt;/p&gt;

&lt;p&gt;For example, I created a flow with 4 actions - note that the order values are &lt;tt&gt;100&lt;/tt&gt;, &lt;tt&gt;101&lt;/tt&gt;, &lt;tt&gt;102&lt;/tt&gt;, &lt;tt&gt;103&lt;/tt&gt;. Also, the URL is for the RFC8040 implementation, not for Bierman02 draft that starts with &lt;tt&gt;/restconf&lt;/tt&gt;.&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;GET /rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=1/flow=1/instructions/instruction=0/apply-actions?content=config
{
    &quot;flow-node-inventory:apply-actions&quot;: {
        &quot;action&quot;: [
            {
                &quot;order&quot;: 100,
                &quot;output-action&quot;: {
                    &quot;output-node-connector&quot;: &quot;LOCAL&quot;
                }
            },
            {
                &quot;order&quot;: 101,
                &quot;output-action&quot;: {
                    &quot;output-node-connector&quot;: &quot;1&quot;
                }
            },
            {
                &quot;order&quot;: 102,
                &quot;output-action&quot;: {
                    &quot;output-node-connector&quot;: &quot;2&quot;
                }
            },
            {
                &quot;order&quot;: 103,
                &quot;output-action&quot;: {
                    &quot;output-node-connector&quot;: &quot;3&quot;
                }
            }
        ]
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;From the operational data store I get this - note that the order values are &lt;tt&gt;0&lt;/tt&gt;, &lt;tt&gt;1&lt;/tt&gt;, &lt;tt&gt;2&lt;/tt&gt;, &lt;tt&gt;3&lt;/tt&gt;.&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;GET /rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=1/flow=1/instructions/instruction=0/apply-actions?content=nonconfig

{
    &quot;flow-node-inventory:apply-actions&quot;: {
        &quot;action&quot;: [
            {
                &quot;order&quot;: 0,
                &quot;output-action&quot;: {
                    &quot;max-length&quot;: 0,
                    &quot;output-node-connector&quot;: &quot;LOCAL&quot;
                }
            },
            {
                &quot;order&quot;: 1,
                &quot;output-action&quot;: {
                    &quot;max-length&quot;: 0,
                    &quot;output-node-connector&quot;: &quot;1&quot;
                }
            },
            {
                &quot;order&quot;: 2,
                &quot;output-action&quot;: {
                    &quot;max-length&quot;: 0,
                    &quot;output-node-connector&quot;: &quot;2&quot;
                }
            },
            {
                &quot;order&quot;: 3,
                &quot;output-action&quot;: {
                    &quot;max-length&quot;: 0,
                    &quot;output-node-connector&quot;: &quot;3&quot;
                }
            }
        ]
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="70325" author="JIRAUSER13318" created="Fri, 3 Dec 2021 19:49:13 +0000"  >&lt;p&gt;However, in general the inventory data model is not very compatible with RFC8040 - which allows getting both configuration &amp;amp; operational data together.&lt;/p&gt;

&lt;p&gt;For example, the following REST call&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;GET /rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=1/flow=1/instructions/instruction=0/apply-actions
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;or&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;GET /rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=1/flow=1/instructions/instruction=0/apply-actions?content=all
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;returns the following combing both configuration &amp;amp; operational data.&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;{
    &quot;flow-node-inventory:apply-actions&quot;: {
        &quot;action&quot;: [
            {
                &quot;order&quot;: 0,
                &quot;output-action&quot;: {
                    &quot;max-length&quot;: 0,
                    &quot;output-node-connector&quot;: &quot;LOCAL&quot;
                }
            },
            {
                &quot;order&quot;: 1,
                &quot;output-action&quot;: {
                    &quot;max-length&quot;: 0,
                    &quot;output-node-connector&quot;: &quot;1&quot;
                }
            },
            {
                &quot;order&quot;: 2,
                &quot;output-action&quot;: {
                    &quot;max-length&quot;: 0,
                    &quot;output-node-connector&quot;: &quot;2&quot;
                }
            },
            {
                &quot;order&quot;: 3,
                &quot;output-action&quot;: {
                    &quot;max-length&quot;: 0,
                    &quot;output-node-connector&quot;: &quot;3&quot;
                }
            },
            {
                &quot;order&quot;: 100,
                &quot;output-action&quot;: {
                    &quot;output-node-connector&quot;: &quot;LOCAL&quot;
                }
            },
            {
                &quot;order&quot;: 101,
                &quot;output-action&quot;: {
                    &quot;output-node-connector&quot;: &quot;1&quot;
                }
            },
            {
                &quot;order&quot;: 102,
                &quot;output-action&quot;: {
                    &quot;output-node-connector&quot;: &quot;2&quot;
                }
            },
            {
                &quot;order&quot;: 103,
                &quot;output-action&quot;: {
                    &quot;output-node-connector&quot;: &quot;3&quot;
                }
            }
        ]
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And this obviously is really misleading at best.&lt;/p&gt;</comment>
                            <comment id="70327" author="JIRAUSER13128" created="Fri, 3 Dec 2021 20:05:28 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=sangwookha&quot; class=&quot;user-hover&quot; rel=&quot;sangwookha&quot;&gt;sangwookha&lt;/a&gt;&#160;- thank you for this. I did discover this distinction between the config and operational datastore (a year ago I was that much more newb to netconf).&#160;&lt;/p&gt;

&lt;p&gt;Our team engineered our solution with this understanding. We aren&apos;t quite able to micro-edit aspects of the operational flow, but we are okay doing full replacements instead.&#160;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="16001" name="karaf.log.gz" size="602231" author="esender" created="Wed, 16 Dec 2020 22:54:04 +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|i03wm7:</customfieldvalue>

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