<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:23:09 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-1065] Patch ports are not created between br-int and br-physnet1</title>
                <link>https://jira.opendaylight.org/browse/NETVIRT-1065</link>
                <project id="10144" key="NETVIRT">netvirt</project>
                    <description>&lt;p&gt;&lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-csit-1node-openstack-ocata-upstream-stateful-nitrogen/771/log_01_l2.html.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-csit-1node-openstack-ocata-upstream-stateful-nitrogen/771/log_01_l2.html.gz&lt;/a&gt;&lt;br/&gt;
&#160;&lt;br/&gt;
See two issues with patch ports between br-int and br-physnet1:&lt;br/&gt;
&#160;&lt;br/&gt;
1. They are never created&lt;br/&gt;
2. They take over 90s to be created&lt;br/&gt;
&#160;&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt; is a job where the patch ports fail to add on compute_2. What I also notice is from the time br-physnet1 is created until patch ports are created on control_1 is 30s, then for compute_1 it is 100s. And then compute_2 never tries to create the patch ports.&lt;br/&gt;
&#160;&lt;br/&gt;
Recall the flow in csit:&lt;br/&gt;
0. Start stacking&lt;br/&gt;
1. Nodes connect to ODL&lt;br/&gt;
2. netvirt adds br-int and adds br-physnet1 port to br-int&lt;br/&gt;
3. Stacking completes&lt;br/&gt;
4. Delete br-physnet1 from br-int&lt;br/&gt;
5. Add br-physnet1 bridge&lt;br/&gt;
6. netvirt adds patch ports&lt;br/&gt;
&#160;&lt;br/&gt;
That all seems to work for the control and compute_1 but fails on the patch ports for compute_2. And as noted above, it took 37s to add them on the control node and 100s to add them on the control_1. Below for each node is the log when the br-physnet1 is seen and the next log is adding the patch ports.&lt;br/&gt;
&#160;&lt;br/&gt;
Can anyone see anything strange in the logs that would explain the issue? This happens randomly on either node or sometimes both nodes.&lt;br/&gt;
&#160;&lt;br/&gt;
I see in &lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt; which is the ovsdb log, that during this time when the ports should be updated that something is trying to create br-int, which you can see in the &quot;record 24&quot; and &quot;record 25&quot; logs below. It says invoked by user/python so that leads me to believe it is openstack code and not ODL. That seems to trigger the ovsdbnode update in ODL for compute 1, but doesn&apos;t help on compute 2. on compute 2 it happened just as tap ports were being added so maybe that casues problems.&lt;br/&gt;
&#160;&lt;br/&gt;
So it seems the patch to make sure the patch ports are created is missing something since it is not triggering the creation.&lt;br/&gt;
&#160;&lt;br/&gt;
&#160;&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; control_1:    2018-01-14 23:27:10,854 | INFO&#160; | eChangeHandler-0 | OvsdbNodeListener&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; | 242 - org.opendaylight.genius.itm-impl - 0.3.2.SNAPSHOT | OvsdbBridgeAugmentation ADD: DPID for bridge br-physnet1 is NULL. 2018-01-14 23:27:57,483 | INFO&#160; | eChangeHandler-0 | ElanBridgeManager&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; | 314 - org.opendaylight.netvirt.elanmanager-impl - 0.5.2.SNAPSHOT | addPatchPort: node: ovsdb://uuid/72adceaf-e656-432f-8d49-6eab88d40d06/bridge/br-int, bridge: br-int, portname: br-physnet1-pa peer: br-physnet1-int-patch status: success  &#160; compute_1:
 2018-01-14 23:27:12,127 | INFO&#160; | eChangeHandler-0 | OvsdbNodeListener&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; | 242 - org.opendaylight.genius.itm-impl - 0.3.2.SNAPSHOT | OvsdbBridgeAugmentation ADD: DPID for bridge br-physnet1 is NULL.
  record 24: 2018-01-14 23:28:56.501 &quot;ovs-vsctl (invoked by /bin/python): ovs-vsctl -- --may-exist add-br br-int -- set Bridge br-int datapath_type=system&quot;  &#160; 2018-01-14 23:28:56,524 | INFO&#160; | eChangeHandler-0 | ElanBridgeManager&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; | 314 - org.opendaylight.netvirt.elanmanager-impl - 0.5.2.SNAPSHOT | addPatchPort: node: ovsdb://uuid/c2e6d059-7ae8-4c4c-92fb-c40b656f5bdb/bridge/br-int, bridge: br-int, portname: br-physnet1-pa peer: br-physnet1-int-patch status: success
 &#160; compute_2: 2018-01-14 23:27:13,326 | INFO&#160; | eChangeHandler-0 | OvsdbNodeListener&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; | 242 - org.opendaylight.genius.itm-impl - 0.3.2.SNAPSHOT | OvsdbBridgeAugmentation ADD: DPID for bridge br-physnet1 is NULL.
  record 25: 2018-01-14 23:29:05.581 &quot;ovs-vsctl (invoked by /bin/python): ovs-vsctl -- --may-exist add-br br-int -- set Bridge br-int datapath_type=system&quot; &#160;  &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;&#160;&lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-csit-1node-openstack-ocata-upstream-stateful-nitrogen/771/log_01_l2.html.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-csit-1node-openstack-ocata-upstream-stateful-nitrogen/771/log_01_l2.html.gz&lt;/a&gt;&lt;br/&gt;
&#160;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt;&#160;&lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-csit-1node-openstack-ocata-upstream-stateful-nitrogen/771/compute_2/extra_debug.log.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-csit-1node-openstack-ocata-upstream-stateful-nitrogen/771/compute_2/extra_debug.log.gz&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="29079">NETVIRT-1065</key>
            <summary>Patch ports are not created between br-int and br-physnet1</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.opendaylight.org/images/icons/priorities/blocker.svg">Highest</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="jhershbe">Josh Hershberg</assignee>
                                    <reporter username="shague">Sam Hague</reporter>
                        <labels>
                            <label>csit:failures</label>
                    </labels>
                <created>Tue, 16 Jan 2018 14:42:58 +0000</created>
                <updated>Thu, 22 Feb 2018 11:14:19 +0000</updated>
                            <resolved>Thu, 22 Feb 2018 11:14:19 +0000</resolved>
                                    <version>Nitrogen</version>
                    <version>Carbon</version>
                    <version>Oxygen</version>
                                    <fixVersion>Oxygen</fixVersion>
                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                    <progress percentage="100">
                                    <originalProgress>
                                                    <row percentage="0" backgroundColor="#89afd7"/>
                                                    <row percentage="100" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </progress>
                                    <aggregateprogress percentage="100">
                                    <originalProgress>
                                                    <row percentage="0" backgroundColor="#89afd7"/>
                                                    <row percentage="100" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </aggregateprogress>
                                            <timeestimate seconds="0">0 minutes</timeestimate>
                            <timespent seconds="28800">1 day</timespent>
                                <comments>
                            <comment id="60733" author="shague@redhat.com" created="Tue, 16 Jan 2018 15:32:53 +0000"  >&lt;p&gt;62347 introduced a change where bridge updates other than br-int were dropped. Before that patch went in, when br-physnet1 was created an update would come in and the patch port creation path would execute. After that patch, this path was dropped. Only when an update comes in much later for br-int do we add the patch-ports. Another issue is that in some cases we don&apos;t get any notifications so the patch port path never executes.&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;4&amp;#93;&lt;/span&gt; is a job that is before the patches:&lt;/p&gt;

&lt;p&gt;&#160;&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;2017-09-11 12:35:38,990 | INFO | eChangeHandler-0 | OvsdbNodeListener | 240 - org.opendaylight.genius.itm-impl - 0.4.0.SNAPSHOT | OvsdbBridgeAugmentation ADD: DPID for bridge br-physnet1 is NULL. 2017-09-11 12:35:38,992 | WARN | nPool-2-worker-0 | sInterfaceTopologyStateAddHelper | 237 - org.opendaylight.genius.interfacemanager-impl - 0.4.0.SNAPSHOT | DataPathId found as null for Bridge Augmentation: OvsdbBridgeAugmentation{getBridgeName=OvsdbBridgeName [_value=br-physnet1], getBridgeOtherConfigs=[BridgeOtherConfigs{getBridgeOtherConfigKey=hwaddr, getBridgeOtherConfigValue=f6:00:00:ff:01:01, augmentations={}}, BridgeOtherConfigs{getBridgeOtherConfigKey=disable-in-band, getBridgeOtherConfigValue=true, augmentations={}}], getBridgeUuid=Uuid [_value=0abface2-b5e0-48e7-bf99-14fb45b3f18c], getDatapathType=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.DatapathTypeSystem, getManagedBy=OvsdbNodeRef [_value=KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node, path=[org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology[key=TopologyKey [_topologyId=Uri [_value=ovsdb:1]]], org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node[key=NodeKey [_nodeId=Uri [_value=ovsdb://uuid/8054e9a4-3550-4c00-9084-3d4aeb884ec8]]]]}], isStpEnable=false}... returning... 2017-09-11 12:35:38,996 | INFO | eChangeHandler-0 | ElanBridgeManager | 313 - org.opendaylight.netvirt.elanmanager-impl - 0.6.0.SNAPSHOT | addPatchPort: node: ovsdb://uuid/8054e9a4-3550-4c00-9084-3d4aeb884ec8/bridge/br-int, bridge: br-int, portname: br-physnet1-pa peer: br-physnet1-int-patch status: success
2017-09-11 12:35:38,996 | INFO | eChangeHandler-0 | ElanBridgeManager | 313 - org.opendaylight.netvirt.elanmanager-impl - 0.6.0.SNAPSHOT | addPatchPort: node: ovsdb://uuid/8054e9a4-3550-4c00-9084-3d4aeb884ec8/bridge/br-int, bridge: br-int, portname: br-physnet1-pa peer: br-physnet1-int-patch status: success&#160;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;5&amp;#93;&lt;/span&gt;. is after the patch and now the br-physnet1 update is dropped so patch ports are not created:&lt;/p&gt;

&lt;p&gt;&#160;&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;2017-09-18 08:13:04,304 | INFO | eChangeHandler-0 | OvsdbNodeListener | 240 - org.opendaylight.genius.itm-impl - 0.4.0.SNAPSHOT | OvsdbBridgeAugmentation ADD: DPID for bridge br-physnet1 is NULL. 2017-09-18 08:13:04,304 | WARN | nPool-2-worker-3 | sInterfaceTopologyStateAddHelper | 237 - org.opendaylight.genius.interfacemanager-impl - 0.4.0.SNAPSHOT | DataPathId found as null for Bridge Augmentation: OvsdbBridgeAugmentation{getBridgeName=OvsdbBridgeName [_value=br-physnet1], getBridgeOtherConfigs=[BridgeOtherConfigs{getBridgeOtherConfigKey=hwaddr, getBridgeOtherConfigValue=f6:00:00:ff:01:03, augmentations={}}, BridgeOtherConfigs{getBridgeOtherConfigKey=disable-in-band, getBridgeOtherConfigValue=true, augmentations={}}], getBridgeUuid=Uuid [_value=a881918a-f9e5-497d-97c2-370f0f64c823], getDatapathType=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.DatapathTypeSystem, getManagedBy=OvsdbNodeRef [_value=KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node, path=[org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology[key=TopologyKey [_topologyId=Uri [_value=ovsdb:1]]], org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node[key=NodeKey [_nodeId=Uri [_value=ovsdb://uuid/6ca90e85-3571-490a-ba9a-5b64460c7f14]]]]}], isStpEnable=false}... returning...
...
2017-09-18 08:13:31,477 | INFO | eChangeHandler-0 | ElanBridgeManager | 316 - org.opendaylight.netvirt.elanmanager-impl - 0.6.0.SNAPSHOT | addPatchPort: node: ovsdb://uuid/45769152-dc03-4487-b029-9f8bf651981a/bridge/br-int, bridge: br-int, portname: br-physnet1-pa peer: br-physnet1-int-patch status: success
&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;span class=&quot;error&quot;&gt;&amp;#91;3&amp;#93;&lt;/span&gt;&#160;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/62347/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/62347/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;4&amp;#93;&lt;/span&gt;&#160;&lt;a href=&quot;https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-ocata-gate-stateful-oxygen/1/odl1_karaf.log.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-ocata-gate-stateful-oxygen/1/odl1_karaf.log.gz&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;5&amp;#93;&lt;/span&gt;&#160;&lt;a href=&quot;https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-ocata-gate-stateful-oxygen/28/odl1_karaf.log.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-ocata-gate-stateful-oxygen/28/odl1_karaf.log.gz&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="60735" author="shague@redhat.com" created="Tue, 16 Jan 2018 15:39:02 +0000"  >&lt;p&gt;Some options:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;enforce that bridges be name br-xxx so that netvirt can distinguish within provider_mappings if the user expects a bridge or a port on br-int. provider_mappings=physnet1:br-physnet1. In OS land, bridge_mappings is used and it is clear that it is only for bridges. They do not have the concept of adding a port directly to br-int.&lt;/li&gt;
	&lt;li&gt;Add path in netvirt to process bridges in the provider_mappings. bridge update comes in, check if in provider_mappings and then build patch ports.&lt;/li&gt;
	&lt;li&gt;Drop the port option, but still need to add 2.&lt;/li&gt;
	&lt;li&gt;Modify CSIT to create br-physnet1 before stacking so that when br-int is created it will add the patch ports. This would still leave the issue of not creating patch ports if the user adds the provider bridges later.&lt;/li&gt;
	&lt;li&gt;Add explicit option for provider_port_mappings. Or switch to using host-config.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&#160;&lt;/p&gt;</comment>
                    </comments>
                    <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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i039jr:</customfieldvalue>

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