<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:25:49 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>[NEUTRON-204] networking-odl gives up on websocket, stops retrying</title>
                <link>https://jira.opendaylight.org/browse/NEUTRON-204</link>
                <project id="10145" key="NEUTRON">neutron</project>
                    <description>&lt;p&gt;after bouncing all three nodes of an ODL cluster, websocket registration fails and networking-odl gives up. From that point forward, the netvirt workflow is broken&lt;/p&gt;</description>
                <environment></environment>
        <key id="30993">NEUTRON-204</key>
            <summary>networking-odl gives up on websocket, stops retrying</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="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="jhershbe">Josh Hershberg</assignee>
                                    <reporter username="jluhrsen">Jamo Luhrsen</reporter>
                        <labels>
                            <label>csit:3node</label>
                    </labels>
                <created>Thu, 8 Nov 2018 01:22:41 +0000</created>
                <updated>Thu, 10 Jan 2019 23:58:11 +0000</updated>
                                                            <fixVersion>Fluorine-SR2</fixVersion>
                    <fixVersion>Neon</fixVersion>
                                    <component>northbound-api</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="65516" author="jluhrsen" created="Thu, 8 Nov 2018 01:24:05 +0000"  >&lt;p&gt;Is NEUTRON the right project for this?&lt;/p&gt;</comment>
                            <comment id="65517" author="jluhrsen" created="Thu, 8 Nov 2018 01:28:45 +0000"  >&lt;p&gt;copy paste from an email:&lt;/p&gt;

&lt;p&gt;I think we are really close with everything, but I want to get to the bottom&lt;br/&gt;
of another one. job is here &lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Essentially, what&apos;s happening is that networking-odl just quits trying to&lt;br/&gt;
get a websocket. The final error is this:&lt;/p&gt;

&lt;p&gt;2018-11-07 19:35:45.116 sERROR networking_odl.common.websocket_client None req-4b2fa066-886c-4c1b-a836-8ea50cafa8ae None None websocket irrecoverable error &lt;/p&gt;

&lt;p&gt;which is from here &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;I think what&apos;s happening is that the /restconf call to make the registration&lt;br/&gt;
gets a 40x (404 in the log message) which basically terminates the thread to&lt;br/&gt;
keep retrying to make the registration.&lt;/p&gt;

&lt;p&gt;I&apos;m not sure that retrying would help anyway. Something seems&lt;br/&gt;
busted at this point in time, but where? This is after we have&lt;br/&gt;
finished the ha_l3 robot suite which takes all three ODLs down at the&lt;br/&gt;
same time and brings them back. The cluster is back and in sync ~12m&lt;br/&gt;
before this happens, but in those 12m our haproxy never gets the websocket&lt;br/&gt;
backup as UP. It does get the restconf backend up. You can see here &lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt;&lt;br/&gt;
in the haproxy log where this happens. 20:21:29 shows the last of the &lt;br/&gt;
3 nodes going down for websocket, and after you only see restconf come&lt;br/&gt;
back UP and no more messages about websocket.&lt;/p&gt;

&lt;p&gt;Now, in each of the karaf logs &lt;span class=&quot;error&quot;&gt;&amp;#91;3&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;4&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;5&amp;#93;&lt;/span&gt; you can see that our haproxy&lt;br/&gt;
healthcheck is hitting each node and it&apos;s rejecting it because the&lt;br/&gt;
registration is not there yet. Remember, this is fluorine and your&lt;br/&gt;
change to pre-register this websocket is not done. The point is that&lt;br/&gt;
haproxy is there and working and polling on each node.&lt;/p&gt;

&lt;p&gt;So, where is that registration getting lost. The one from &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;. Oh,&lt;br/&gt;
here is the full neutron-server log to see it &lt;span class=&quot;error&quot;&gt;&amp;#91;6&amp;#93;&lt;/span&gt;. It seems that the&lt;br/&gt;
restconf registration request is being sent by networking-odl, but&lt;br/&gt;
it&apos;s not working.&lt;/p&gt;

&lt;p&gt;That&apos;s as far as I got for now. Any ideas to run with?&lt;/p&gt;

&lt;p&gt;While I was writing this, one of my oxygen jobs &lt;span class=&quot;error&quot;&gt;&amp;#91;7&amp;#93;&lt;/span&gt; also seems to have &lt;br/&gt;
failed in the same way. So, my hope that websocket pre-registration&lt;br/&gt;
changes that are there in oxygen would fix it, doesn&apos;t seem to.&lt;/p&gt;

&lt;p&gt;Here&apos;s a JIRA for this one:&lt;br/&gt;
  &lt;a href=&quot;https://jira.opendaylight.org/browse/NEUTRON-204&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.opendaylight.org/browse/NEUTRON-204&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
JamO&lt;/p&gt;



&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt; &lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/499/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine/14&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/builder-copy-sandbox-logs/499/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine/14&lt;/a&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt; &lt;a href=&quot;http://git.openstack.org/cgit/openstack/networking-odl/tree/networking_odl/common/websocket_client.py?id=38497ef6c0c228c1794ddae3ad971353b3ff64c4#n115&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://git.openstack.org/cgit/openstack/networking-odl/tree/networking_odl/common/websocket_client.py?id=38497ef6c0c228c1794ddae3ad971353b3ff64c4#n115&lt;/a&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt; &lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/499/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine/14/haproxy.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/builder-copy-sandbox-logs/499/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine/14/haproxy.log.gz&lt;/a&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;3&amp;#93;&lt;/span&gt; &lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/499/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine/14/odl_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/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/499/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine/14/odl_1/odl1_karaf.log.gz&lt;/a&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;4&amp;#93;&lt;/span&gt; &lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/499/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine/14/odl_2/odl2_karaf.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/builder-copy-sandbox-logs/499/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine/14/odl_2/odl2_karaf.log.gz&lt;/a&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;5&amp;#93;&lt;/span&gt; &lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/499/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine/14/odl_3/odl3_karaf.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/builder-copy-sandbox-logs/499/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine/14/odl_3/odl3_karaf.log.gz&lt;/a&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;6&amp;#93;&lt;/span&gt; &lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/499/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine/14/control_1/oslogs/neutron-server.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/builder-copy-sandbox-logs/499/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-fluorine/14/control_1/oslogs/neutron-server.log.gz&lt;/a&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;7&amp;#93;&lt;/span&gt; &lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/500/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-oxygen/12/&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/builder-copy-sandbox-logs/500/jamo-netvirt-csit-3node-0cmb-1ctl-2cmp-openstack-queens-upstream-stateful-oxygen/12/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="65978" author="jluhrsen" created="Thu, 13 Dec 2018 03:52:20 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=jhershbe&quot; class=&quot;user-hover&quot; rel=&quot;jhershbe&quot;&gt;jhershbe&lt;/a&gt;, did we ever get a patch in networking-odl to not actually die in the thread that&lt;br/&gt;
retries the websocket? I think that&apos;s all we need to mark this specific bug as resolved.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="31269">GENIUS-263</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <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|i03k9j:</customfieldvalue>

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