<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:36:24 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>[OVSDB-439] Stale connection check is failing and end up removing node from data store.</title>
                <link>https://jira.opendaylight.org/browse/OVSDB-439</link>
                <project id="10158" key="OVSDB">ovsdb</project>
                    <description>&lt;p&gt;Hello Anil,&lt;br/&gt;
&#160;&lt;br/&gt;
Looks like we hit the same issue in our local testing.&#160;&lt;br/&gt;
With ODL Carbon (+ Pike, OVS2.7), during one reboot scenario, we observed some race condition in ODL/OVSDB.&#160;&lt;br/&gt;
Can you please let us know if this issue is a known-issue/addressed in OVSDB?&lt;br/&gt;
&#160;&lt;br/&gt;
Steps to Reproduce (in a working setup with a controller and two compute nodes):&lt;br/&gt;
1. Restart the compute node and wait for the compute node to come up.&lt;br/&gt;
2. Launch an instance on the compute node&lt;br/&gt;
3. You can observe that the instance initially stays in &quot;spawning&quot; state and then transitions to &quot;error&quot; state.&lt;br/&gt;
4. Restart the openvswitch on the compute node&lt;br/&gt;
5. Launch a new instance and it would boot successfully.&lt;br/&gt;
&#160;&lt;br/&gt;
Basically, when we issue the reboot on the compute node, ODL identifies that the node is idle and triggers the disconnection chain.&#160;&lt;br/&gt;
But, while this is going on, when the Compute node comes up, we could see that there is a race condition between the cleanup events and the events related to the node reconciliation.&lt;br/&gt;
&#160;&lt;br/&gt;
In this process, we could see that finally the Compute node is deleted from the operational store &lt;span class=&quot;error&quot;&gt;&amp;#91;#&amp;#93;&lt;/span&gt; eventhough its connected to the controller.&#160;&lt;br/&gt;
Since the node info is deleted from the datastore, the side effect is that port-binding fails and we are unable to spawn new VMs until we restart the OVS Switch on the Compute node.&lt;br/&gt;
Following&lt;span class=&quot;error&quot;&gt;&amp;#91;@&amp;#93;&lt;/span&gt; is a SNAP of the karaf logs which show this sequence.&lt;br/&gt;
&#160;&lt;br/&gt;
Additional notes:&lt;br/&gt;
In case, the compute node comes up with some delay (i.e., after the cleanup is properly done in ODL) this issue (i.e., step3 above) is not seen.&lt;br/&gt;
&#160;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;#&amp;#93;&lt;/span&gt; 2017-08-01 07:48:16,660 | INFO &#160;| lt-dispatcher-49 | OvsdbConnectionManager &#160; &#160; &#160; &#160; &#160; | 289 - org.opendaylight.ovsdb.southbound-impl - 1.4.1.Carbon-redhat-1 | Entity{type=&apos;ovsdb&apos;, id=/(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[&lt;/p&gt;
{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=ovsdb:1}
&lt;p&gt;]/node/node&lt;span class=&quot;error&quot;&gt;&amp;#91;\{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=ovsdb://uuid/e9806896-8dc2-4f17-83ea-c1c957608915}&amp;#93;&lt;/span&gt;} has no owner, cleaning up the operational data store&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;@&amp;#93;&lt;/span&gt;&#160;&lt;a href=&quot;https://gist.github.com/sridhargaddam/3761ef080e11f2dd2429c8d7016ae6d0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gist.github.com/sridhargaddam/3761ef080e11f2dd2429c8d7016ae6d0&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="28998">OVSDB-439</key>
            <summary>Stale connection check is failing and end up removing node from data store.</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="10000">Done</resolution>
                                        <assignee username="suneelu">suneelu varma</assignee>
                                    <reporter username="shague">Sam Hague</reporter>
                        <labels>
                            <label>csit:3node</label>
                            <label>ds</label>
                    </labels>
                <created>Fri, 15 Dec 2017 13:49:17 +0000</created>
                <updated>Mon, 9 Jul 2018 18:39:43 +0000</updated>
                            <resolved>Mon, 9 Jul 2018 18:39:43 +0000</resolved>
                                    <version>Carbon-SR3</version>
                                    <fixVersion>Oxygen-SR3</fixVersion>
                    <fixVersion>Fluorine</fixVersion>
                                    <component>Southbound.Open_vSwitch</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                                                            <comments>
                            <comment id="60544" author="vishnoianil@gmail.com" created="Fri, 22 Dec 2017 02:28:33 +0000"  >&lt;p&gt;This issue can be recreated with just OVSDB southbound plugin by using the following steps.&lt;/p&gt;

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

&lt;p&gt;(1) Connect the ovs (set-manager) to the controller.&lt;/p&gt;

&lt;p&gt;(2) Add following iptables rule, that will disconnect the communication to the controller&#160;&lt;/p&gt;

&lt;p&gt;sudo iptables -A OUTPUT -d &amp;lt;CONTROLLER_IP&amp;gt; -j DROP&lt;br/&gt;
sudo iptables -A INPUT -s&#160;&amp;lt;CONTROLLER_IP&amp;gt; -j DROP&lt;/p&gt;

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

&lt;p&gt;(3) Sleep for 90 seconds&lt;/p&gt;

&lt;p&gt;(4) Remove the roles and enable the communication to the controller&lt;/p&gt;

&lt;p&gt;sudo iptables -D OUTPUT -d&#160;&amp;lt;CONTROLLER_IP&amp;gt; -j DROP&lt;br/&gt;
sudo iptables -D INPUT -s&#160;&amp;lt;CONTROLLER_IP&amp;gt; -j DROP&lt;/p&gt;

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

&lt;p&gt;This should&#160;trigger the second connection from the switch to the controller, but&#160;the previous connection is still lingering in the controller. Current code has a bug that ends up disconnecting the second connection as well.&lt;/p&gt;

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

&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=jluhrsen&quot; class=&quot;user-hover&quot; rel=&quot;jluhrsen&quot;&gt;jluhrsen&lt;/a&gt; this is a good CSIT test to check the connection flips between OVS and controller.&lt;/p&gt;</comment>
                            <comment id="60545" author="vishnoianil@gmail.com" created="Fri, 22 Dec 2017 03:00:44 +0000"  >&lt;p&gt;stable/carbon : &lt;a href=&quot;https://git.opendaylight.org/gerrit/66718&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/66718&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="60610" author="jluhrsen" created="Fri, 5 Jan 2018 23:51:49 +0000"  >&lt;p&gt;I can&apos;t reproduce this. I have a CSIT &lt;a href=&quot;https://git.opendaylight.org/gerrit/c/66718/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;patch&lt;/a&gt; in the works, but I want to make sure the CSIT&lt;br/&gt;
can actually hit the bug. Locally, I&apos;m doing this:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;set manager&lt;/li&gt;
	&lt;li&gt;iptables block 6640 incoming&lt;/li&gt;
	&lt;li&gt;wait until I see the connection is not there anymore (ovs-vsctl show AND netstat)&lt;/li&gt;
	&lt;li&gt;unblock 6640&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;at this point I see the connection is made again and seems to stay. I must be missing&lt;br/&gt;
 some step.&lt;/p&gt;

&lt;p&gt;BTW,I know ovs will continue to try and sometimes the ovs-vsctl show will say&lt;br/&gt;
 is_connected: True briefly, as I think it does that as soon as the initial TCP 3whs&lt;br/&gt;
 succeeds. But, even so if it&apos;s rejected by ovsdb-lib then we&apos;ll see ovs trying to&lt;br/&gt;
 reconnect again. Because of this, I&apos;m trying to write the test to actually make sure&lt;br/&gt;
 there is no long term ESTABLISHED connection on port 6640 showing up using the&lt;br/&gt;
 same source tcp port number.&lt;/p&gt;</comment>
                            <comment id="60616" author="vishnoianil@gmail.com" created="Sat, 6 Jan 2018 07:57:50 +0000"  >&lt;p&gt;Basically this issue will recreate only if there are parallel connection to the controller from the same switch. To put controller you will have to drop the&#160;traffic both ways (controller to switch and vice versa), that&apos;s the reason i was installing two rules&#160;&lt;/p&gt;

&lt;p&gt;sudo iptables -A OUTPUT -d &amp;lt;CONTROLLER_IP&amp;gt; -j DROP&lt;br/&gt;
sudo iptables -A INPUT -s&#160;&amp;lt;CONTROLLER_IP&amp;gt; -j DROP&lt;/p&gt;

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

&lt;p&gt;You don&apos;t have to wait for connection to be gone, just wait for 60-90 seconds before removing the rules and it will get recreated consistently.&lt;/p&gt;</comment>
                            <comment id="63772" author="jluhrsen" created="Thu, 28 Jun 2018 06:18:02 +0000"  >&lt;p&gt;this patch is still unmerged. what&apos;s the plan here?&lt;/p&gt;</comment>
                            <comment id="63977" author="jluhrsen" created="Mon, 9 Jul 2018 18:39:43 +0000"  >&lt;p&gt;marking this done, as the patch went in back in December for carbon. I think we just didn&apos;t&lt;br/&gt;
close this jira at that point.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="29018">OVSDB-443</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="30123">OVSDB-462</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="28816">OVSDB-433</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="28996">OVSDB-438</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                            <subtask id="29018">OVSDB-443</subtask>
                    </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_10002" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>NETVIRT-996</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0391r:</customfieldvalue>

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