<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:35:46 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-200] Stale OF entries retained in br-int flow table on openstack-controller side,when VM resides on unstacked compute node</title>
                <link>https://jira.opendaylight.org/browse/OVSDB-200</link>
                <project id="10158" key="OVSDB">ovsdb</project>
                    <description>&lt;p&gt;Build#: Lithium-SR1 Build&lt;br/&gt;
Openstack: stable/kilo&lt;/p&gt;

&lt;p&gt;local.conf snip&lt;br/&gt;
=======&lt;br/&gt;
enable_plugin networking-odl &lt;a href=&quot;https://github.com/stackforge/networking-odl&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/stackforge/networking-odl&lt;/a&gt; stable/kilo&lt;br/&gt;
Q_PLUGIN=ml2&lt;br/&gt;
ENABLE_TENANT_TUNNELS=True&lt;br/&gt;
Q_ML2_TENANT_NETWORK_TYPE=vxlan&lt;br/&gt;
PUBLIC_INTERFACE=em3&lt;br/&gt;
ODL_LOCAL_IP=20.1.1.3&lt;br/&gt;
disable_service q-l3&lt;br/&gt;
Q_L3_ENABLED=True&lt;br/&gt;
ODL_L3=True&lt;/p&gt;

&lt;p&gt;ODL custom.properites&lt;br/&gt;
================&lt;br/&gt;
ovsdb.l3.fwd.enabled=yes&lt;br/&gt;
ovsdb.l3gateway.mac=00:00:5E:00:02:01  (tested with both enable/disabled option)&lt;/p&gt;

&lt;p&gt;Environment&lt;br/&gt;
============&lt;br/&gt;
Openstack controller &amp;amp; 10 compute node connected with ODL as external mode.&lt;/p&gt;


&lt;p&gt;Problem:&lt;br/&gt;
==========&lt;br/&gt;
1.Have create the VxLAN tunnel Network (3.3.3.0/24) and spawed 1 VM instance on each compute node (i.e 12 compute node).Respective OF entries created on br-int (as per sudo ovs-ofctl -O OpenFlow13 dump-flows br-int)&lt;/p&gt;

&lt;p&gt;2.Unstacked the all 12 compute node &lt;/p&gt;

&lt;p&gt;3.Check br-int OF entries on openstack controller side. &lt;br/&gt;
 (sudo ovs-ofctl -O OpenFlow13 dump-flows br-int)&lt;/p&gt;

&lt;p&gt; Expected all OF entries needs to be removed either by OF flow expire mechanism or unstack event from compute node side.&lt;/p&gt;

&lt;p&gt; Current behaviour all 12 VM Instance OF entries retained untill openstack controller unstacked and restacked.&lt;/p&gt;


&lt;p&gt;sudo ovs-ofctl -O OpenFlow13 dump-flows br-int&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="21892">OVSDB-200</key>
            <summary>Stale OF entries retained in br-int flow table on openstack-controller side,when VM resides on unstacked compute node</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="10003">Cannot Reproduce</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="vasanthan_balasubram@dell.com">Vasanthan Balasubramaniyan</reporter>
                        <labels>
                    </labels>
                <created>Tue, 1 Sep 2015 12:43:12 +0000</created>
                <updated>Thu, 19 Oct 2017 21:29:11 +0000</updated>
                            <resolved>Wed, 30 Sep 2015 10:53:37 +0000</resolved>
                                    <version>unspecified</version>
                                                    <component>openstack.net-virt</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="40949" author="ravi_sabapathy@dell.com" created="Tue, 1 Sep 2015 13:33:20 +0000"  >&lt;p&gt;The OVS cleanup is not initiated by the ODL controller. It is initiated by unstack.sh script. &lt;/p&gt;

&lt;p&gt;The script file /opt/stack/networking-odl/devstack/plugin.sh has a function stop_opendaylight-compute(). This function will try to delete all the ports and bridges of the OVS.  This issue is not related to ODL and it should be related to openstack.&lt;/p&gt;</comment>
                            <comment id="40958" author="vasanthan_balasubram@dell.com" created="Wed, 2 Sep 2015 07:10:39 +0000"  >&lt;p&gt;Attachment Controller_Node_br_int.txt has been added with description: OpenstackCOntroller_BR_INT_OFENTRIES&lt;/p&gt;</comment>
                            <comment id="40950" author="vasanthan_balasubram@dell.com" created="Wed, 2 Sep 2015 07:11:46 +0000"  >&lt;p&gt;Compute node br-int OF entries and you can see stale OF entries on controller_br_int attachment&lt;/p&gt;</comment>
                            <comment id="40959" author="vasanthan_balasubram@dell.com" created="Wed, 2 Sep 2015 07:11:46 +0000"  >&lt;p&gt;Attachment compute_node_br_int.txt has been added with description: openstackComputeNode_BRINT_OFEntries&lt;/p&gt;</comment>
                            <comment id="40951" author="vasanthan_balasubram@dell.com" created="Wed, 2 Sep 2015 07:23:15 +0000"  >&lt;p&gt;Flow programming(i.e flow creation) done thru ODL controller,so respective flow deletion also needs to be performed thru ODL Controller.&lt;/p&gt;


&lt;p&gt;Step to recreate :&lt;br/&gt;
==================&lt;br/&gt;
1.Stack the Openstack controller and one compute node (i.e used one compute node because to isolated stale entries easily)&lt;br/&gt;
2.Create Networks on openstack controller&lt;br/&gt;
3.Spawn VM-1 on openstack controller node (i.e openstack controller node also act as compute node),check the br-int OF entries&lt;br/&gt;
4.Spawn VM-2 on openstack compute node),check br-int OF entries on both openstack controller and compute node.&lt;br/&gt;
5.Unstack &amp;amp; cleanup the compute node instance(where VM2 node spawned).Check the br-int OF entries on openstack-controller node side.&lt;br/&gt;
6.stack the compute node and spawn the VM-3 (and attach step3 created network).Verify the br-int OF entries on openstack controller &amp;amp; compute node .&lt;br/&gt;
7.You can see the OF stale entries br-int of openstack controller.Each VM instance(spawned on compute node) will create one OF entry on openstack controller node br-int.So OF stale entries will grow,if number of VM grows on compute node side and overload the openstack controller.&lt;/p&gt;

&lt;p&gt;This complete br-int OF entries captured and attached with defects.&lt;/p&gt;


&lt;p&gt;On Practical scenario,&lt;br/&gt;
=====================&lt;br/&gt;
1.Openstack Compute node stack/unstack is common beahviour in datacenter.&lt;br/&gt;
2.Openstack Controller node cannot be unstacked too often,(i.e on each openstack Compute node unstack).&lt;br/&gt;
3.if OF stale entries doesn&apos;t cleaned on Controller node of each Compute node unstack &amp;amp; clean side,then easily overload/exhaust the Openstack controller node OVS flow table using ODL controller.&lt;/p&gt;</comment>
                            <comment id="40952" author="ravi_sabapathy@dell.com" created="Thu, 3 Sep 2015 19:48:02 +0000"  >&lt;p&gt;           As per the bug, a VM is created in each of the compute nodes. When the unstack.sh script is executed only the openstack services are disabled. The VM and the network are not deleted. &lt;/p&gt;

&lt;p&gt;           When a VM/network  is deleted from openstack, 2 types of event will reach ODL,&lt;br/&gt;
               1. Northbound events from openstack&lt;br/&gt;
               2. South bound events from OVS   &lt;/p&gt;

&lt;p&gt;            Only after processing these 2 types of event, the ODL will clear the flows. When the unstack.sh scripts is executed on any node, the northbound events are not generated. This event will be generated by the openstack and that&apos;s the reason for flows not getting removed. The proper cleanup has to be initiated from openstack. &lt;/p&gt;

&lt;p&gt;           The unstack.sh procedure will put ODL in a inconsistent state with respect to the flows. So, ODL cannot do anything to fix this issue. This bug will be more appropriate in openstack context.&lt;/p&gt;</comment>
                            <comment id="40953" author="ravi_sabapathy@dell.com" created="Mon, 7 Sep 2015 10:47:38 +0000"  >&lt;p&gt;            When the unstack.sh script is run the neutron PORT DELETE southound events does not reach ODL controller. This is the reason why the stale entries are present in controller node.&lt;br/&gt;
            When the same cleanup is done through the openstack, the neutron PORT  DELETE southbound events reach the ODL controller which clears the flows in all the connected nodes.&lt;/p&gt;

&lt;p&gt;          So, unstack.sh will not be the clean way to removes VM&apos;s and network.&lt;/p&gt;</comment>
                            <comment id="40954" author="ravi_sabapathy@dell.com" created="Tue, 8 Sep 2015 10:06:43 +0000"  >&lt;p&gt;   The clean way to cleanup the node is to delete VM and network from openstack Horizon UI. In this way stale entry issue can be resolved. Cleanup from openstack is the preferred approach. &lt;/p&gt;

&lt;p&gt;    So, could you please close the BUG?&lt;/p&gt;</comment>
                            <comment id="40955" author="ravi_sabapathy@dell.com" created="Thu, 10 Sep 2015 06:37:20 +0000"  >&lt;p&gt;Fixed the plugin.sh scipt to delete all the ports and then delete the OVSDB connection.&lt;/p&gt;</comment>
                            <comment id="40960" author="ravi_sabapathy@dell.com" created="Thu, 10 Sep 2015 06:37:20 +0000"  >&lt;p&gt;Attachment plugin.sh has been added with description: The modified Plugin.sh will solve the stale entry issue&lt;/p&gt;</comment>
                            <comment id="40956" author="vasanthan_balasubram@dell.com" created="Thu, 10 Sep 2015 09:42:22 +0000"  >
&lt;p&gt;1.Copied the plugin.sh (attached this bugzilla)on /opt/stack/networking-odl/devstack/&lt;br/&gt;
2.Restacked the compute node&lt;br/&gt;
3.Spwaned VM1 on compute node1 and VM2 on compute node2&lt;/p&gt;

&lt;p&gt;Compute node1 snip&lt;br/&gt;
==================&lt;br/&gt;
sudo ovs-ofctl -O OpenFlow13 dump-flows br-int | grep &quot;x427&quot;&lt;/p&gt;

&lt;p&gt;cookie=0x0, duration=311.991s, table=110, n_packets=5, n_bytes=968, tun_id=0x427,dl_dst=fa:16:3e:94:dd:6c actions=output:3&lt;/p&gt;

&lt;p&gt;4.Unstacked the compute node-2 and vm-2 related OF entries has been removed from br-int&lt;/p&gt;


&lt;p&gt;This bug fix specific with *&lt;b&gt;Openstack&lt;/b&gt;* side .Hence closing this issue.&lt;/p&gt;</comment>
                            <comment id="40957" author="ravi_sabapathy@dell.com" created="Wed, 30 Sep 2015 10:53:37 +0000"  >&lt;p&gt;This BUG is specific to openstack. Submitted a review in openstack&lt;br/&gt;
&lt;a href=&quot;https://review.openstack.org/#/c/228393&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.openstack.org/#/c/228393&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="12804" name="Controller_Node_br_int.txt" size="25306" author="vasanthan_balasubram@dell.com" created="Wed, 2 Sep 2015 07:10:39 +0000"/>
                            <attachment id="12805" name="compute_node_br_int.txt" size="14275" author="vasanthan_balasubram@dell.com" created="Wed, 2 Sep 2015 07:11:46 +0000"/>
                            <attachment id="12806" name="plugin.sh" size="13428" author="ravi_sabapathy@dell.com" created="Thu, 10 Sep 2015 06:37:20 +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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4229</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=4229]]></customfieldvalue>

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

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