<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:31:21 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-18] Pre-configuration of flows causes exception</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-18</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;When trying to add a flow to a node which is not connected (i.e. trying to pre-configure a node), the following exception is thrown:&lt;/p&gt;

&lt;p&gt;&amp;lt;html&amp;gt;&lt;br/&gt;
    &amp;lt;head&amp;gt;&lt;br/&gt;
        &amp;lt;title&amp;gt;Apache Tomcat/7.0.32 - Error report&amp;lt;/title&amp;gt;&lt;br/&gt;
        &amp;lt;style&amp;gt;&lt;br/&gt;
            &amp;lt;!--H1 &lt;/p&gt;
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
&lt;p&gt; H2 &lt;/p&gt;
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
&lt;p&gt; H3 &lt;/p&gt;
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
&lt;p&gt; BODY &lt;/p&gt;
{font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
&lt;p&gt; B &lt;/p&gt;
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
&lt;p&gt; P &lt;/p&gt;
{font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}
&lt;p&gt;A &lt;/p&gt;
{color : black;}
&lt;p&gt;A.name &lt;/p&gt;
{color : black;}
&lt;p&gt;HR &lt;/p&gt;
{color : #525D76;}
&lt;p&gt;--&amp;gt;&lt;br/&gt;
        &amp;lt;/style&amp;gt;&lt;br/&gt;
    &amp;lt;/head&amp;gt;&lt;br/&gt;
    &amp;lt;body&amp;gt;&lt;br/&gt;
        &amp;lt;h1&amp;gt;HTTP Status 500 - Internal Server Error&amp;lt;/h1&amp;gt;&lt;br/&gt;
        &amp;lt;HR size=&quot;1&quot; noshade=&quot;noshade&quot;&amp;gt;&lt;br/&gt;
            &amp;lt;p&amp;gt;&lt;br/&gt;
                &amp;lt;b&amp;gt;type&amp;lt;/b&amp;gt; Status report&lt;br/&gt;
            &amp;lt;/p&amp;gt;&lt;br/&gt;
            &amp;lt;p&amp;gt;&lt;br/&gt;
                &amp;lt;b&amp;gt;message&amp;lt;/b&amp;gt;&lt;br/&gt;
                &amp;lt;u&amp;gt;Internal Server Error&amp;lt;/u&amp;gt;&lt;br/&gt;
            &amp;lt;/p&amp;gt;&lt;br/&gt;
            &amp;lt;p&amp;gt;&lt;br/&gt;
                &amp;lt;b&amp;gt;description&amp;lt;/b&amp;gt;&lt;br/&gt;
                &amp;lt;u&amp;gt;The server encountered an internal error that prevented it from fulfilling this request.&amp;lt;/u&amp;gt;&lt;br/&gt;
            &amp;lt;/p&amp;gt;&lt;br/&gt;
            &amp;lt;HR size=&quot;1&quot; noshade=&quot;noshade&quot;&amp;gt;&lt;br/&gt;
                &amp;lt;h3&amp;gt;Apache Tomcat/7.0.32&amp;lt;/h3&amp;gt;&lt;br/&gt;
            &amp;lt;/body&amp;gt;&lt;br/&gt;
        &amp;lt;/html&amp;gt;&lt;/p&gt;


&lt;p&gt;Use, for example:&lt;/p&gt;

&lt;p&gt;PUT &lt;a href=&quot;http://192.168.4.1:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/135&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://192.168.4.1:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/135&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Accept: application/xml&lt;br/&gt;
Content-type: application/xml&lt;/p&gt;

&lt;p&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&amp;gt;&lt;br/&gt;
&amp;lt;flow xmlns=&quot;urn:opendaylight:flow:inventory&quot;&amp;gt;&lt;br/&gt;
    &amp;lt;strict&amp;gt;false&amp;lt;/strict&amp;gt;&lt;br/&gt;
    &amp;lt;flow-name&amp;gt;FooXf20&amp;lt;/flow-name&amp;gt;&lt;br/&gt;
    &amp;lt;id&amp;gt;135&amp;lt;/id&amp;gt;&lt;br/&gt;
    &amp;lt;cookie_mask&amp;gt;255&amp;lt;/cookie_mask&amp;gt;&lt;br/&gt;
    &amp;lt;cookie&amp;gt;20&amp;lt;/cookie&amp;gt;&lt;br/&gt;
    &amp;lt;table_id&amp;gt;2&amp;lt;/table_id&amp;gt;&lt;br/&gt;
    &amp;lt;priority&amp;gt;2&amp;lt;/priority&amp;gt;&lt;br/&gt;
    &amp;lt;hard-timeout&amp;gt;1200&amp;lt;/hard-timeout&amp;gt;&lt;br/&gt;
    &amp;lt;idle-timeout&amp;gt;3400&amp;lt;/idle-timeout&amp;gt;&lt;br/&gt;
    &amp;lt;installHw&amp;gt;false&amp;lt;/installHw&amp;gt;&lt;br/&gt;
    &amp;lt;instructions&amp;gt;&lt;br/&gt;
        &amp;lt;instruction&amp;gt;&lt;br/&gt;
            &amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;&lt;br/&gt;
            &amp;lt;apply-actions&amp;gt;&lt;br/&gt;
                &amp;lt;action&amp;gt;&lt;br/&gt;
                    &amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;&lt;br/&gt;
                    &amp;lt;dec-nw-ttl/&amp;gt;&lt;br/&gt;
                &amp;lt;/action&amp;gt;&lt;br/&gt;
            &amp;lt;/apply-actions&amp;gt;&lt;br/&gt;
        &amp;lt;/instruction&amp;gt;&lt;br/&gt;
    &amp;lt;/instructions&amp;gt;&lt;br/&gt;
    &amp;lt;match&amp;gt;&lt;br/&gt;
        &amp;lt;metadata&amp;gt;&lt;br/&gt;
            &amp;lt;metadata&amp;gt;12345&amp;lt;/metadata&amp;gt;&lt;br/&gt;
        &amp;lt;/metadata&amp;gt;&lt;br/&gt;
    &amp;lt;/match&amp;gt;&lt;br/&gt;
&amp;lt;/flow&amp;gt;&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Mac OS&lt;br/&gt;
Platform: Macintosh&lt;/p&gt;</environment>
        <key id="27286">OPNFLWPLUG-18</key>
            <summary>Pre-configuration of flows causes exception</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <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="vdemcak@cisco.com">Vaclav Demcak</assignee>
                                    <reporter username="jmedved@cisco.com">Jan Medved</reporter>
                        <labels>
                    </labels>
                <created>Sat, 11 Jan 2014 22:21:55 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:00 +0000</updated>
                            <resolved>Mon, 18 Aug 2014 07:58:47 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>10</watches>
                                                                                                                <comments>
                            <comment id="55088" author="msunal@cisco.com" created="Tue, 14 Jan 2014 15:36:44 +0000"  >&lt;p&gt;RESTCONF returns status code 500 because transaction status is FAILED. Restconf has not information why transaction was failed. Bug is moved to mdsal&lt;/p&gt;

&lt;p&gt;This is log of exception from console:&lt;/p&gt;

&lt;p&gt;2014-01-14 16:18:56.528 CET &lt;span class=&quot;error&quot;&gt;&amp;#91;pool-23-thread-2&amp;#93;&lt;/span&gt; INFO  o.o.c.m.s.c.i.service.TwoPhaseCommit - Transaction: BA-2 Started.&lt;br/&gt;
2014-01-14 16:18:56.538 CET &lt;span class=&quot;error&quot;&gt;&amp;#91;pool-23-thread-2&amp;#93;&lt;/span&gt; ERROR o.o.c.m.s.c.i.service.TwoPhaseCommit - Transaction: BA-2 Finish Commit failed&lt;br/&gt;
java.lang.IllegalStateException: No routable provider is processing routed message for InstanceIdentifier [path=[org.opendaylight.yang.gen.v1.urn.open&lt;br/&gt;
daylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:1&amp;#93;&lt;/span&gt;]]]]&lt;br/&gt;
        at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService$$Broker$Router.addFlow(SalFlowService$$Broker$Router.java) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService$$Broker$DirectProxy.addFlow(SalFlowService$$Broker$DirectProxy.java) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.frm.flow.FlowTransaction.add(FlowTransaction.java:101) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.frm.AbstractTransaction.callRpcs(AbstractTransaction.java:56) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.frm.AbstractTransaction.finish(AbstractTransaction.java:28) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:94) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:31) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_25&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.FutureTask.run(FutureTask.java:166) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_25&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_25&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_25&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.lang.Thread.run(Thread.java:724) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_25&amp;#93;&lt;/span&gt;&lt;br/&gt;
2014-01-14 16:18:56.553 CET &lt;span class=&quot;error&quot;&gt;&amp;#91;pool-22-thread-2&amp;#93;&lt;/span&gt; ERROR o.o.c.m.s.c.i.service.TwoPhaseCommit - Transaction: DOM-1 Finish Commit failed&lt;br/&gt;
java.lang.IllegalStateException:&lt;br/&gt;
        at org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector$DomToBindingTransaction.finish(BindingIndependentConnector.java:326) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:94) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:31) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_25&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.FutureTask.run(FutureTask.java:166) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_25&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_25&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_25&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.lang.Thread.run(Thread.java:724) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_25&amp;#93;&lt;/span&gt;&lt;br/&gt;
Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: No routable provider is processing routed message for InstanceIdentifier [path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:1&amp;#93;&lt;/span&gt;]]]]&lt;br/&gt;
        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_25&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.FutureTask.get(FutureTask.java:111) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_25&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector$DomToBindingTransaction.finish(BindingIndependentConnector.java:321) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        ... 7 common frames omitted&lt;br/&gt;
Caused by: java.lang.IllegalStateException: No routable provider is processing routed message for InstanceIdentifier [path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:1&amp;#93;&lt;/span&gt;]]]]&lt;br/&gt;
        at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService$$Broker$Router.removeFlow(SalFlowService$$Broker$Router.java) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService$$Broker$DirectProxy.removeFlow(SalFlowService$$Broker$DirectProxy.java) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.frm.flow.FlowTransaction.remove(FlowTransaction.java:53) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.frm.AbstractTransaction.rollbackRpcs(AbstractTransaction.java:96) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.frm.AbstractTransaction.rollback(AbstractTransaction.java:38) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.rollback(TwoPhaseCommit.java:147) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:104) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        ... 6 common frames omitted&lt;/p&gt;</comment>
                            <comment id="55089" author="tony.tkacik@gmail.com" created="Fri, 24 Jan 2014 13:54:01 +0000"  >&lt;p&gt;This functionality is in the scope of new FRM, not MD-SAL.&lt;/p&gt;</comment>
                            <comment id="55090" author="abhijit2511" created="Thu, 30 Jan 2014 16:46:50 +0000"  >&lt;p&gt;Should be fixed when &quot;mark and sweep&quot; gets implemented.&lt;/p&gt;</comment>
                            <comment id="55091" author="syedbahm@cisco.com" created="Wed, 26 Mar 2014 22:30:51 +0000"  >&lt;p&gt;Per last meeting we wanted to see if this is still an issue. &lt;/p&gt;

&lt;p&gt;Conclusion:&lt;br/&gt;
 Seems still an issue-- when tried configuring flow without any switch connected get the following exception &lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;014-03-26 15:12:16.311 PDT &lt;span class=&quot;error&quot;&gt;&amp;#91;md-sal-binding-commit-0&amp;#93;&lt;/span&gt; ERROR o.o.c.m.s.c.i.service.TwoPhaseCommit - Transaction: BA-171 Finish Commit failed&lt;br/&gt;
java.lang.IllegalArgumentException: Session for the cookie is invalid. Reason: the switch has been recently disconnected OR inventory provides outdated information.&lt;br/&gt;
	at org.opendaylight.openflowplugin.openflow.md.core.session.MessageDispatchServiceImpl.getConnectionAdapter(MessageDispatchServiceImpl.java:92) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowplugin.openflow.md.core.session.MessageDispatchServiceImpl.flowMod(MessageDispatchServiceImpl.java:124) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowplugin.openflow.md.core.sal.ModelDrivenSwitchImpl.addFlow(ModelDrivenSwitchImpl.java:242) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService$$Broker$Router.addFlow(SalFlowService$$Broker$Router.java) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService$$Broker$DirectProxy.addFlow(SalFlowService$$Broker$DirectProxy.java) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.frm.flow.FlowTransaction.add(FlowTransaction.java:121) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.frm.AbstractTransaction.callRpcs(AbstractTransaction.java:63) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.frm.AbstractTransaction.finish(AbstractTransaction.java:35) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:110) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at &lt;br/&gt;
-----------------------&lt;/p&gt;

&lt;p&gt;Doesn&apos;t the ability to support pre-configured flows require the ability to support pre-configure Node &amp;#8211; didn&apos;t find any API that helps in doing the same.&lt;/p&gt;</comment>
                            <comment id="55092" author="moraja@cisco.com" created="Wed, 26 Mar 2014 22:42:30 +0000"  >&lt;p&gt;Basheer, &lt;/p&gt;

&lt;p&gt;I believe in this case adding a node is not required and also it would be wrong to add a node I believe because it is operational data which should not be set by a client (It is ok for it to be set by the controller code but not the client that is the distinction in my mind).&lt;/p&gt;

&lt;p&gt;I think the proper way to handle this may be to not add the flow to the open flow plugin when the node is not present in the operational data when addFow is called. Then in the onNodeAdded listener in FRM you must check if flows exist for that node in the configuration and if they do then you must add those flows to the openflowplugin.&lt;/p&gt;

&lt;p&gt;Other folks can chime in on this if my assessment is incorrect.&lt;/p&gt;</comment>
                            <comment id="55093" author="mirehak@cisco.com" created="Thu, 27 Mar 2014 03:45:49 +0000"  >&lt;p&gt;Hi,&lt;br/&gt;
this is more of enhancement than bug. Currently transaction is used in order to write stuff into config context of dataStorage. Then md-sal invokes twoPhaseCommit which involves transaction handlers and here we have FRM.&lt;/p&gt;

&lt;p&gt;Here is a simple scenario of preconfiguration functionality:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;if FRM finds out there is no corresponding node in operational context, it can still add the flow to config (there might be added &quot;force&quot; flag to addFlow model to better controll that), but application/user should get notified of that&lt;/li&gt;
	&lt;li&gt;NodeUpdated notification later will invoke FRM to check preconfigured stuff and push it to announced device&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="55094" author="vishnoianil@gmail.com" created="Thu, 27 Mar 2014 06:27:15 +0000"  >&lt;p&gt;Wanted to understand the use case here. We are trying to configure the node which is not yet connected to the controller. So how user actually will determine the flow construct without knowing the switch details? Can you please share the use case for doing this?&lt;/p&gt;</comment>
                            <comment id="55095" author="abhijit2511" created="Thu, 22 May 2014 05:37:27 +0000"  >&lt;p&gt;Michal thinks this should be partially working now.&lt;/p&gt;</comment>
                            <comment id="55096" author="abhijit2511" created="Thu, 22 May 2014 05:37:44 +0000"  >&lt;p&gt;Michal thinks this should be partially working now.&lt;/p&gt;</comment>
                            <comment id="55097" author="vdemcak@cisco.com" created="Fri, 20 Jun 2014 14:33:12 +0000"  >&lt;p&gt;java.lang.IllegalStateException: Address not found for route [RouteIdentifierImpl{context=null, type=(urn:opendaylight:flow:service?revision=2013-08-19)add-flow, route=(urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[&lt;/p&gt;
{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:1}
&lt;p&gt;]}]&lt;br/&gt;
	at com.google.common.base.Preconditions.checkState(Preconditions.java:176) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.connector.remoterpc.ClientImpl.lookupRemoteAddressForRpc(ClientImpl.java:211) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.connector.remoterpc.ClientImpl.invokeRpc(ClientImpl.java:126) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.connector.remoterpc.RemoteRpcProvider.invokeRpc(RemoteRpcProvider.java:107) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareRpcBroker.invokeRpc(SchemaAwareRpcBroker.java:244) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareRpcBroker$RoutedRpcSelector.invokeRpc(SchemaAwareRpcBroker.java:342) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareRpcBroker.invokeRpc(SchemaAwareRpcBroker.java:168) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.dom.broker.osgi.RpcProvisionRegistryProxy.invokeRpc(RpcProvisionRegistryProxy.java:67) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.binding.impl.connect.dom.RpcInvocationStrategy.forwardToDomBroker(RpcInvocationStrategy.java:121) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentConnector$DomToBindingRpcForwarder.invoke(BindingIndependentConnector.java:665) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.sun.proxy.$Proxy97.addFlow(Unknown Source) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService$$Broker$Router.addFlow(SalFlowService$$Broker$Router.java) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService$$Broker$DirectProxy.addFlow(SalFlowService$$Broker$DirectProxy.java) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.frm.flow.FlowChangeListener.add(FlowChangeListener.java:116) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.frm.AbstractChangeListener.onDataChanged(AbstractChangeListener.java:51) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker$BackwardsCompatibleConfigurationDataChangeInvoker.onDataChanged(ForwardedBackwardsCompatibleDataBroker.java:458) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:158) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.dom.store.impl.ChangeListenerNotifyTask.run(ChangeListenerNotifyTask.java:33) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) &lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_45&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.concurrent.FutureTask.run(FutureTask.java:262) &lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_45&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) &lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_45&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) &lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_45&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.lang.Thread.run(Thread.java:744) &lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_45&amp;#93;&lt;/span&gt;&lt;/p&gt;</comment>
                            <comment id="55098" author="vdemcak@cisco.com" created="Fri, 20 Jun 2014 14:33:51 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/8174/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/8174/&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/8175/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/8175/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:Backlog:Node_Status_Reconciliation#Prepared_Status&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:Backlog:Node_Status_Reconciliation#Prepared_Status&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="55099" author="abhijit2511" created="Tue, 12 Aug 2014 23:39:03 +0000"  >&lt;p&gt;About Vaclav&apos;s last comments:&lt;/p&gt;

&lt;p&gt;So why is this not merged yet (controller)? What&apos;s the status of the merges? The OF plugin gerrit seems to be abandoned as no longer needed. Is the fix no god?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="27383">OPNFLWPLUG-115</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>282</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=282]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10365"><![CDATA[Helium-M5]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10301"><![CDATA[Normal]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02yk7:</customfieldvalue>

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