<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:36:26 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-451] Multiple topology node entries for same Ovsdb instance not recovered on controller restart</title>
                <link>https://jira.opendaylight.org/browse/OVSDB-451</link>
                <project id="10158" key="OVSDB">ovsdb</project>
                    <description>&lt;p&gt;Create 3 sessions with 3 different node-ids from the controllers with an ovsdb instance.&lt;br/&gt;
Topology shard shows 3 entries.&lt;br/&gt;
Restart controller&lt;br/&gt;
Only 1 session is retained and the other 2 are not with the below warn&lt;br/&gt;
```2018-02-13 16:26:50,449 | WARN | on-dispatcher-62 | OvsdbDataTreeChangeListener | 414 - org.opendaylight.ovsdb.southbound-impl - 1.5.1 | Connection to device ConnectionInfo{getRemoteIp=IpAddress [_ipv4Address=Ipv4Address &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=10.18.130.109&amp;#93;&lt;/span&gt;], getRemotePort=PortNumber &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=6634&amp;#93;&lt;/span&gt;, augmentations={}} already exists. Plugin does not allow multiple connections to same device, hence dropping the request OvsdbNodeAugmentation{getConnectionInfo=ConnectionInfo{getRemoteIp=IpAddress [_ipv4Address=Ipv4Address &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=10.18.130.109&amp;#93;&lt;/span&gt;], getRemotePort=PortNumber &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=6634&amp;#93;&lt;/span&gt;, augmentations={}}}```&lt;br/&gt;
After the restart when we try to create new or existing node-id entries&#160;to the same instance the WARN is seen but it also allows the node entries to be created...&lt;/p&gt;</description>
                <environment></environment>
        <key id="29227">OVSDB-451</key>
            <summary>Multiple topology node entries for same Ovsdb instance not recovered on controller restart</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="1" iconUrl="https://jira.opendaylight.org/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="helenflorida">Helen Florida John</reporter>
                        <labels>
                    </labels>
                <created>Thu, 15 Feb 2018 19:38:02 +0000</created>
                <updated>Fri, 16 Feb 2018 17:41:10 +0000</updated>
                                                                            <component>Southbound.Open_vSwitch</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="61084" author="vishnoianil@gmail.com" created="Fri, 16 Feb 2018 06:59:18 +0000"  >&lt;p&gt;I assume you are using different node name but same connection info in all the request? Datastore does not enforce the uniqueness of the connection-info data, so user can put multiple node with different name but same config data, and data store will accept it because it&apos;s syntactically correct. Given that configuration in config data store is user intent, even thought it&apos;s wrong configuration southbound plugin won&apos;t make any changes to the configuration, but it should always reported the excepted operational state of that configuration. In this scenario, plugin should not create multiple session to the ovsdb device because&#160;plugin does not allow multiple connection to same device. If you are seeing this behavior, that&apos;s a bug.&lt;/p&gt;

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

&lt;p&gt;Given that OVSDB plugin should only allow one connection to the device, you should only see operational status only for one node-id in the operational data store. So expected programming model here is that application should check the operational state of connection from operational status and also make sure that they are not creating multiple session to the same device, because plugin will internally ignore the request.&lt;/p&gt;

&lt;p&gt;This behavior can be further improve by using the Commit Cohort functionality, where a semantic check can be done to check if the new connection request is asking a new session to already connected OVSDB instance, if yes, commit cohort should reject that request with appropriate error code.&lt;/p&gt;</comment>
                            <comment id="61092" author="helenflorida" created="Fri, 16 Feb 2018 17:41:10 +0000"  >&lt;p&gt;Yes, I am using different node names to the same connection..&lt;/p&gt;

&lt;p&gt;Based on your explanation given above I went back and noticed that even though the operational data store has entries for every different node however the connection status is seen only on the first one..&lt;/p&gt;

&lt;p&gt;It would be good if the improvement mentioned can be done cause the behavior is not the same before controller restart and after controller restart..&#160;&lt;/p&gt;

&lt;p&gt;So before start the controller makes the entries in the operational shard for all nodes however creates only one connection as active status and the rest it has no connection status information. After restart, the controller allows only the first node-id connection and rejects the remaining ones and the same is reflected in the operational shard.. I think the behavior of controller after restart should be similar before start avoid to avoid the entries of additional node-ids in the operational shard.. Please let me know your thoughts... Below is the output seen when it allows multiple node-id connections..&lt;/p&gt;

&lt;p&gt;&amp;lt;topology&amp;gt;&lt;br/&gt;
 &lt;b&gt;&amp;lt;topology-id&amp;gt;ovsdb:1&amp;lt;/topology-id&amp;gt;&lt;/b&gt;&lt;br/&gt;
 &lt;b&gt;&amp;lt;node&amp;gt;&lt;/b&gt;&lt;br/&gt;
 &lt;b&gt;&amp;lt;node-id&amp;gt;ovsdb:6&amp;lt;/node-id&amp;gt;&lt;/b&gt;&lt;br/&gt;
 &amp;lt;openvswitch-external-ids xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;external-id-key&amp;gt;system-id&amp;lt;/external-id-key&amp;gt;&lt;br/&gt;
 &amp;lt;external-id-value&amp;gt;09896aaa-0386-4517-a4d4-538119ab16a9&amp;lt;/external-id-value&amp;gt;&lt;br/&gt;
 &amp;lt;/openvswitch-external-ids&amp;gt;&lt;br/&gt;
 &amp;lt;openvswitch-external-ids xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;external-id-key&amp;gt;opendaylight-iid&amp;lt;/external-id-key&amp;gt;&lt;br/&gt;
 &amp;lt;external-id-value&amp;gt;/network-topology:network-topology/network-topology:topology&lt;span class=&quot;error&quot;&gt;&amp;#91;network-topology:topology-id=&amp;#39;ovsdb:1&amp;#39;&amp;#93;&lt;/span&gt;/network-topology:node&lt;span class=&quot;error&quot;&gt;&amp;#91;network-topology:node-id=&amp;#39;ovsdb:6&amp;#39;&amp;#93;&lt;/span&gt;&amp;lt;/external-id-value&amp;gt;&lt;br/&gt;
 &amp;lt;/openvswitch-external-ids&amp;gt;&lt;br/&gt;
 &amp;lt;connection-info xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;local-port&amp;gt;39354&amp;lt;/local-port&amp;gt;&lt;br/&gt;
 &amp;lt;remote-ip&amp;gt;10.18.130.109&amp;lt;/remote-ip&amp;gt;&lt;br/&gt;
 &amp;lt;remote-port&amp;gt;6634&amp;lt;/remote-port&amp;gt;&lt;br/&gt;
 &amp;lt;local-ip&amp;gt;10.18.130.45&amp;lt;/local-ip&amp;gt;&lt;br/&gt;
 &amp;lt;/connection-info&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-lisp&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-stt&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-tap&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-internal&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-patch&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-vxlan&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-system&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-ipsec-gre&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-gre&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-geneve&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;db-version xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;7.12.1&amp;lt;/db-version&amp;gt;&lt;br/&gt;
 &amp;lt;ovs-version xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;2.5.1&amp;lt;/ovs-version&amp;gt;&lt;br/&gt;
 &amp;lt;datapath-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;datapath-type&amp;gt;datapath-type-system&amp;lt;/datapath-type&amp;gt;&lt;br/&gt;
 &amp;lt;/datapath-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;datapath-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;datapath-type&amp;gt;datapath-type-netdev&amp;lt;/datapath-type&amp;gt;&lt;br/&gt;
 &amp;lt;/datapath-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;manager-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &lt;b&gt;&amp;lt;target&amp;gt;ptcp:6634&amp;lt;/target&amp;gt;&lt;/b&gt;&lt;br/&gt;
 &lt;b&gt;&amp;lt;number_of_connections&amp;gt;1&amp;lt;/number_of_connections&amp;gt;&lt;/b&gt;&lt;br/&gt;
 &lt;b&gt;&amp;lt;connected&amp;gt;true&amp;lt;/connected&amp;gt;&lt;/b&gt;&lt;br/&gt;
 &amp;lt;/manager-entry&amp;gt;&lt;br/&gt;
 &amp;lt;/node&amp;gt;&lt;br/&gt;
 &amp;lt;node&amp;gt;&lt;br/&gt;
 &lt;b&gt;&amp;lt;node-id&amp;gt;ovsdb:7&amp;lt;/node-id&amp;gt;&lt;/b&gt;&lt;br/&gt;
 &amp;lt;openvswitch-external-ids xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;external-id-key&amp;gt;system-id&amp;lt;/external-id-key&amp;gt;&lt;br/&gt;
 &amp;lt;external-id-value&amp;gt;09896aaa-0386-4517-a4d4-538119ab16a9&amp;lt;/external-id-value&amp;gt;&lt;br/&gt;
 &amp;lt;/openvswitch-external-ids&amp;gt;&lt;br/&gt;
 &amp;lt;openvswitch-external-ids xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;external-id-key&amp;gt;opendaylight-iid&amp;lt;/external-id-key&amp;gt;&lt;br/&gt;
 &amp;lt;external-id-value&amp;gt;/network-topology:network-topology/network-topology:topology&lt;span class=&quot;error&quot;&gt;&amp;#91;network-topology:topology-id=&amp;#39;ovsdb:1&amp;#39;&amp;#93;&lt;/span&gt;/network-topology:node&lt;span class=&quot;error&quot;&gt;&amp;#91;network-topology:node-id=&amp;#39;ovsdb:7&amp;#39;&amp;#93;&lt;/span&gt;&amp;lt;/external-id-value&amp;gt;&lt;br/&gt;
 &amp;lt;/openvswitch-external-ids&amp;gt;&lt;br/&gt;
 &amp;lt;connection-info xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;local-port&amp;gt;39354&amp;lt;/local-port&amp;gt;&lt;br/&gt;
 &amp;lt;remote-ip&amp;gt;10.18.130.109&amp;lt;/remote-ip&amp;gt;&lt;br/&gt;
 &amp;lt;remote-port&amp;gt;6634&amp;lt;/remote-port&amp;gt;&lt;br/&gt;
 &amp;lt;local-ip&amp;gt;10.18.130.45&amp;lt;/local-ip&amp;gt;&lt;br/&gt;
 &amp;lt;/connection-info&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-lisp&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-stt&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-tap&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-internal&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-patch&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-vxlan&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-system&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-ipsec-gre&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-gre&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;interface-type&amp;gt;interface-type-geneve&amp;lt;/interface-type&amp;gt;&lt;br/&gt;
 &amp;lt;/interface-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;db-version xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;7.12.1&amp;lt;/db-version&amp;gt;&lt;br/&gt;
 &amp;lt;ovs-version xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;2.5.1&amp;lt;/ovs-version&amp;gt;&lt;br/&gt;
 &amp;lt;datapath-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;datapath-type&amp;gt;datapath-type-system&amp;lt;/datapath-type&amp;gt;&lt;br/&gt;
 &amp;lt;/datapath-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;datapath-type-entry xmlns=&quot;urn:opendaylight:params:xml:ns:yang:ovsdb&quot;&amp;gt;&lt;br/&gt;
 &amp;lt;datapath-type&amp;gt;datapath-type-netdev&amp;lt;/datapath-type&amp;gt;&lt;br/&gt;
 &amp;lt;/datapath-type-entry&amp;gt;&lt;br/&gt;
 &amp;lt;/node&amp;gt;&lt;br/&gt;
 &amp;lt;/topology&amp;gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="14411" name="ovsdb-karaf.log" size="10119638" author="helenflorida" created="Thu, 15 Feb 2018 19:37:53 +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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03agn:</customfieldvalue>

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