<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:22:25 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>[NETVIRT-770] The time takes in Logical Switch creation and tunnel I/F creation will increase dramatically when repeating l2gw node addition/deletion.</title>
                <link>https://jira.opendaylight.org/browse/NETVIRT-770</link>
                <project id="10144" key="NETVIRT">netvirt</project>
                    <description>&lt;p&gt;Issue&#65306;&lt;br/&gt;
We repeated l2gw node addition/deletion to Open vSwitch HWVTEP Emulator a few times.&lt;br/&gt;
The first 10 times, Logical Switch and tunnel I/F will be created in about 6 seconds after l2gw connection creation.&lt;br/&gt;
After 100 times, it will takes more than 300 seconds to finish Logical Switch and tunnel I/F creation. &lt;/p&gt;


&lt;p&gt;Environment details:&lt;br/&gt;
OpenStack Version&#65306;stable/ocata&lt;br/&gt;
ODL Version&#65306;Carbon-FR + patch&lt;br/&gt;
   patch: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/56773/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/56773/&lt;/a&gt;&lt;br/&gt;
          &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/56710/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/56710/&lt;/a&gt;&lt;br/&gt;
          &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/58787/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/58787/&lt;/a&gt;&lt;br/&gt;
          &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/59598/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/59598/&lt;/a&gt;&lt;br/&gt;
HWVTEP: Open vSwitch 2.6.1 HWVTEP Emulator&lt;br/&gt;
      : HA Cluster&lt;/p&gt;


&lt;p&gt;What we did (Steps):&lt;br/&gt;
1. L2GW Node Initialization:&lt;br/&gt;
   a. delete L2GW GATEWAY/CONNECTION &lt;br/&gt;
   b. stop OVS process and initialize&lt;br/&gt;
2. Network/subnet deletion:&lt;br/&gt;
   neutron net-delete test-nw&lt;br/&gt;
3. Network/subnet creation:&lt;br/&gt;
   neutron net-create test-nw&lt;br/&gt;
   neutron subnet-create test-nw 192.168.0.0/24 --enable-dhcp&lt;br/&gt;
4. L2GW Node configuration&lt;br/&gt;
   L2GW/LACP environment configuration&lt;br/&gt;
   L2GW GATEWAY/CONNECTION creation&lt;br/&gt;
5. Wait until creation is completed&lt;br/&gt;
   Wait until the VXLAN I/F is created in the OVS of the L2GW Node with a 3 seconds &#215; 100 times loop &lt;br/&gt;
6. Communication confirmation (ping)&lt;br/&gt;
7. Go back to setp 1&lt;/p&gt;

&lt;p&gt;Please check the log files attached.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="20691">NETVIRT-770</key>
            <summary>The time takes in Logical Switch creation and tunnel I/F creation will increase dramatically when repeating l2gw node addition/deletion.</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</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="ran-xiao@vf.jp.nec.com">Ran Xiao</reporter>
                        <labels>
                    </labels>
                <created>Fri, 7 Jul 2017 12:01:02 +0000</created>
                <updated>Fri, 8 Nov 2019 11:03:07 +0000</updated>
                            <resolved>Fri, 8 Nov 2019 11:03:07 +0000</resolved>
                                    <version>Carbon</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>13</watches>
                                                                                                                <comments>
                            <comment id="38067" author="ran-xiao@vf.jp.nec.com" created="Fri, 7 Jul 2017 12:01:02 +0000"  >&lt;p&gt;Attachment karaf.log.xz has been added with description: karaflog_0&lt;/p&gt;</comment>
                            <comment id="38068" author="ran-xiao@vf.jp.nec.com" created="Fri, 7 Jul 2017 12:02:02 +0000"  >&lt;p&gt;Attachment karaf.log.1.xz has been added with description: karaflog_1&lt;/p&gt;</comment>
                            <comment id="38069" author="ran-xiao@vf.jp.nec.com" created="Fri, 7 Jul 2017 12:02:28 +0000"  >&lt;p&gt;Attachment karaf.log.2.xz has been added with description: karaflog_2&lt;/p&gt;</comment>
                            <comment id="38070" author="ran-xiao@vf.jp.nec.com" created="Fri, 7 Jul 2017 12:02:54 +0000"  >&lt;p&gt;Attachment karaf.log.3.xz has been added with description: karaflog_3&lt;/p&gt;</comment>
                            <comment id="38064" author="ran-xiao@vf.jp.nec.com" created="Wed, 2 Aug 2017 04:26:42 +0000"  >&lt;p&gt;The cause of this bug is that the information of deleted L2GW Node still left in ODL.&lt;/p&gt;

&lt;p&gt;We found that the creation time can be reduced by deleting ODL data when this issue occurred.&lt;br/&gt;
The information left in ODL and the results of the creation time reduction by deleting it are below:&lt;br/&gt;
1. MD-SAL network-topology(CONFIGURATION)&lt;br/&gt;
   Deleting this data will not reduce the creation time&lt;br/&gt;
2. MD-SAL itm(transport-zones)&lt;br/&gt;
   Deleting this data will reduce the creation time&lt;br/&gt;
3. Memory cache(L2GWCONN, HA)&lt;br/&gt;
   This data cannot be deleted from external side.&lt;/p&gt;</comment>
                            <comment id="38065" author="k.v.suneelu.verma@ericsson.com" created="Wed, 2 Aug 2017 06:03:17 +0000"  >&lt;p&gt;Hi Ran,&lt;br/&gt;
   Can you give the exact steps that are followed.&lt;br/&gt;
   like the restcalls that are used and the southbound config that is done.&lt;br/&gt;
Thanks,&lt;br/&gt;
Suneelu&lt;/p&gt;</comment>
                            <comment id="38066" author="ran-xiao@vf.jp.nec.com" created="Fri, 4 Aug 2017 06:37:04 +0000"  >&lt;p&gt;Hi Suneelu&lt;/p&gt;

&lt;p&gt;This issue also occurred in non-HA Cluster environment (single L2GW Node environment).&lt;/p&gt;

&lt;p&gt;The following are the detailed commands we used to collect data and REST API used for deletion.&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Command used for data collection&lt;br/&gt;
 1. MD-SAL network-topology(CONFIGURATION/OPERATIONAL)&lt;br/&gt;
   curl -s -u admin:admin &lt;a href=&quot;http://127.0.0.1:8080/restconf/config/network-topology:network-topology/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/restconf/config/network-topology:network-topology/&lt;/a&gt; | python -mjson.tool &amp;gt; /root/vtep/$1.config&lt;br/&gt;
   curl -s -u admin:admin &lt;a href=&quot;http://127.0.0.1:8080/restconf/operational/network-topology:network-topology/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/restconf/operational/network-topology:network-topology/&lt;/a&gt; | python -mjson.tool &amp;gt; /root/vtep/$1.operational&lt;br/&gt;
 2. MD-SAL itm(transport-zones)&lt;br/&gt;
   curl -s -u admin:admin &lt;a href=&quot;http://127.0.0.1:8080/restconf/config/itm:transport-zones&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/restconf/config/itm:transport-zones&lt;/a&gt; | python -mjson.tool &amp;gt; /root/vtep/$1.itm.transport-zones&lt;br/&gt;
 3. Memory cache(L2GWCONN, HA)&lt;br/&gt;
   for cache in L2GWCONN L2GW HA&lt;br/&gt;
   do&lt;br/&gt;
     echo &quot;#### ${cache} ####&quot;&lt;br/&gt;
     sshpass -p karaf ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 -l karaf ${LOCALHOST} l2gw:show-cache -cache ${cache}&lt;br/&gt;
   done &amp;gt;&amp;gt; /root/vtep/$1.cache&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;RESTAPI&lt;br/&gt;
 1. MD-SAL network-topology(CONFIGURATION)&lt;br/&gt;
    curl -s -u admin:admin -X DELETE &lt;a href=&quot;http://127.0.0.1:8181/restconf/config/network-topology:network-topology/topology/hwvtep%3A1/node/hwvtep%3A%2F%2Fuuid%2F$&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8181/restconf/config/network-topology:network-topology/topology/hwvtep%3A1/node/hwvtep%3A%2F%2Fuuid%2F$&lt;/a&gt;{uuid} | python -mjson.tool&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;For uuid, specify it as the uuid of node-id which obtained from hwvtep: 1&lt;br/&gt;
 2. MD-SAL itm(transport-zones)&lt;br/&gt;
    curl -s -u admin:admin -X DELETE &lt;a href=&quot;http://127.0.0.1:8181/restconf/config/itm:transport-zones/transport-zone/$&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8181/restconf/config/itm:transport-zones/transport-zone/$&lt;/a&gt;{uuid}&lt;/li&gt;
	&lt;li&gt;For uuid, specify it as the uuid obtained from the zone-name of * .itm.transport-zones&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;The contents of attached data file is listed as below:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Attached data file list&lt;br/&gt;
 100.*      Data of L2GW Node registration / deletion repeated near 100 times&lt;br/&gt;
 del1.*     Data after deleted &quot;MD-SAL network-topology (CONFIGURATION)&quot; near 107 times&lt;br/&gt;
 150.*      Data of L2GW Node registration / deletion repeated near 150 times&lt;br/&gt;
 del2.*     Data after deleted &quot;MD-SAL network-topology (CONFIGURATION)&quot; near 151 times&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;The detailed reproduction steps are below:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Detailed reproduction steps&lt;br/&gt;
1. L2GW Node Initialization&lt;br/&gt;
    Delete L2GW GATEWAY / CONNECTION&lt;br/&gt;
     neutron l2-gateway-connection-delete `neutron l2-gateway-connection-list --segmentation_id=2222 -c id -f value`&lt;br/&gt;
     neutron l2-gateway-delete gw1&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;    Stop OVS process and initialization:&lt;br/&gt;
     pkill ovsdb-server&lt;br/&gt;
     pkill ovs-vswitchd&lt;br/&gt;
     ps -ef|grep ovs-vtep | grep -v grep | awk &apos;&lt;/p&gt;
{print &quot;kill &quot;$2}
&lt;p&gt;&apos; | sh&lt;br/&gt;
     ps -ef | grep ovs | grep -v grep&lt;br/&gt;
     ps -ef | grep -v &apos;[&apos; | grep -v grep&lt;br/&gt;
     rm -f /etc/openvswitch/ovs.db /etc/openvswitch/vtep.db&lt;br/&gt;
     ovsdb-tool create /etc/openvswitch/ovs.db /usr/share/openvswitch/vswitch.ovsschema&lt;br/&gt;
     ovsdb-tool create /etc/openvswitch/vtep.db /usr/share/openvswitch/vtep.ovsschema&lt;br/&gt;
     ovs-dpctl del-flows system@ovs-system&lt;br/&gt;
     rm -f /var/log/openvswitch/*&lt;/p&gt;

&lt;p&gt;2. Network / subnet deletion&lt;br/&gt;
    neutron net-delete test-nw&lt;/p&gt;

&lt;p&gt;3. Network / subnet creation&lt;br/&gt;
    neutron net-create test-nw&lt;br/&gt;
    neutron subnet-create test-nw 192.168.0.0/24 --enable-dhcp&lt;/p&gt;

&lt;p&gt;4. L2GW Node setting up &lt;br/&gt;
    Create L2GW / LACP environment:&lt;br/&gt;
     ulimit -n 65535&lt;br/&gt;
     vtep=10.0.0.50&lt;br/&gt;
     BRIDGE=ocata-l2gw1&lt;br/&gt;
     ovsdb-server --pidfile --detach --log-file \&lt;br/&gt;
         --remote=punix:/var/run/openvswitch/db.sock \&lt;br/&gt;
         --remote=db:hardware_vtep,Global,managers \&lt;br/&gt;
         --remote=ptcp:6632 /etc/openvswitch/ovs.db /etc/openvswitch/vtep.db&lt;br/&gt;
     ovs-vswitchd --log-file --detach --pidfile \&lt;br/&gt;
         unix:/var/run/openvswitch/db.sock&lt;br/&gt;
     sleep 2&lt;br/&gt;
     ovs-vsctl add-br $BRIDGE&lt;br/&gt;
     ovs-vsctl add-port $BRIDGE eth2&lt;br/&gt;
     vtep-ctl add-ps $BRIDGE&lt;br/&gt;
     vtep-ctl set Physical_Switch $BRIDGE tunnel_ips=$vtep&lt;br/&gt;
     sleep 2&lt;br/&gt;
     /usr/share/openvswitch/scripts/ovs-vtep --log-file=/var/log/openvswitch/ovs-vtep.log \&lt;br/&gt;
         --pidfile=/var/run/openvswitch/ovs-vtep.pid \&lt;br/&gt;
         --detach $BRIDGE&lt;br/&gt;
     vtep-ctl set-manager tcp:172.16.1.30:6640&lt;/p&gt;

&lt;p&gt;    Create L2GW GATEWAY / CONNECTION:&lt;br/&gt;
     neutron l2-gateway-create gw1 --device name=ocata-l2gw1,interface_names=eth2&lt;br/&gt;
     neutron l2-gateway-connection-create gw1 test-nw --default-segmentation-id 2222&lt;/p&gt;

&lt;p&gt;5. Wait for creation completion&lt;br/&gt;
    ssh root@172.16.1.50 &apos;ovs-vsctl show&apos;&lt;br/&gt;
    ssh root@172.16.1.50 &apos;ovsdb-client dump hardware_vtep&apos; &lt;br/&gt;
     *wait untill the tunnel I/F (vx1) in Logical Switch is created&lt;/p&gt;

&lt;p&gt;6. Ping communication confirmation&lt;br/&gt;
   ip netns exec qdhcp-`neutron net-show test-nw -c id -f value` ping -c 5 192.168.0.200&lt;br/&gt;
   sleep 20&lt;/p&gt;</comment>
                            <comment id="38071" author="ran-xiao@vf.jp.nec.com" created="Fri, 4 Aug 2017 06:38:39 +0000"  >&lt;p&gt;Attachment data.tar.gz has been added with description: Data file&lt;/p&gt;</comment>
                            <comment id="67377" author="abhinav.gupta" created="Fri, 8 Nov 2019 11:03:07 +0000"  >&lt;p&gt;Old bug, will reopen if seen again&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="12548" name="data.tar.gz" size="107659" author="ran-xiao@vf.jp.nec.com" created="Fri, 4 Aug 2017 06:38:39 +0000"/>
                            <attachment id="12545" name="karaf.log.1.xz" size="994384" author="ran-xiao@vf.jp.nec.com" created="Fri, 7 Jul 2017 12:02:02 +0000"/>
                            <attachment id="12546" name="karaf.log.2.xz" size="911012" author="ran-xiao@vf.jp.nec.com" created="Fri, 7 Jul 2017 12:02:28 +0000"/>
                            <attachment id="12547" name="karaf.log.3.xz" size="746948" author="ran-xiao@vf.jp.nec.com" created="Fri, 7 Jul 2017 12:02:54 +0000"/>
                            <attachment id="12544" name="karaf.log.xz" size="462744" author="ran-xiao@vf.jp.nec.com" created="Fri, 7 Jul 2017 12:01:02 +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>8819</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=8819]]></customfieldvalue>

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

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