<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:53:17 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>[CONTROLLER-543] Malformed update-lsp RPC gets stuck with no response.</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-543</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;This bug is triggered similarly to &lt;a href=&quot;https://jira.opendaylight.org/browse/CONTROLLER-541&quot; title=&quot;Malformed update-lsp RPC leads to 500 Internal Server Error.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CONTROLLER-541&quot;&gt;&lt;del&gt;CONTROLLER-541&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This may be bug of BGPCEP plugin, but I guess RPC input data validation is a job for restconf component.&lt;/p&gt;

&lt;p&gt;Bug was encountered when using ODL configured to use draft-ietf-pce-stateful-pce-02 extension to PCEP in environment with capable PCCs, I do not know how to replicate bug without them.&lt;/p&gt;

&lt;p&gt;As a preparation, add-lsp has to be called, here is example curl number 1:&lt;br/&gt;
curl -X POST -H &quot;Content-Type:application/yang.data+json&quot; -d &apos;{&quot;input&quot;:{&quot;node&quot;:&quot;pcc://39.39.39.39&quot;,&quot;name&quot;:&quot;my_name&quot;,&quot;network-topology-ref&quot;:&quot;/network-topology:network-topology/network-topology:topology&lt;span class=&quot;error&quot;&gt;&amp;#91;network-topology:topology-id=\&amp;quot;pcep-topology\&amp;quot;&amp;#93;&lt;/span&gt;&quot;,&quot;arguments&quot;:{&quot;endpoints-obj&quot;:{&quot;ipv4&quot;:&lt;/p&gt;
{&quot;source-ipv4-address&quot;:&quot;39.39.39.39&quot;,&quot;destination-ipv4-address&quot;:&quot;43.43.43.43&quot;}
&lt;p&gt;}}}}&apos; 127.0.0.1:8080/restconf/operations/network-topology-pcep:add-lsp&lt;/p&gt;

&lt;p&gt;Critical step happens when calling update-lsp without &quot;ero&quot; field. Example (verbose) curl number 4:&lt;br/&gt;
curl -v -X POST -H &quot;Content-Type:application/yang.data+json&quot; -d &apos;{&quot;input&quot;:{&quot;node&quot;:&quot;pcc://39.39.39.39&quot;,&quot;name&quot;:&quot;my_name&quot;,&quot;network-topology-ref&quot;:&quot;/network-topology:network-topology/network-topology:topology&lt;span class=&quot;error&quot;&gt;&amp;#91;network-topology:topology-id=\&amp;quot;pcep-topology\&amp;quot;&amp;#93;&lt;/span&gt;&quot;,&quot;arguments&quot;:&lt;/p&gt;
{&quot;operational&quot;:true}
&lt;p&gt;}}&apos; 127.0.0.1:8080/restconf/operations/network-topology-pcep:update-lsp&lt;/p&gt;

&lt;p&gt;This call produces no lines in opendaylight.log (default logback.xml except org.opendaylight.bgpcep set to TRACE), curl does not print any response related text and just keeps waiting indefinitely.&lt;/p&gt;

&lt;p&gt;For comparison, here is correct form of intended update-lsp, as example curl number 3:&lt;br/&gt;
curl -X POST -H &quot;Content-Type:application/yang.data+json&quot; -d &apos;{&quot;input&quot;:{&quot;node&quot;:&quot;pcc://39.39.39.39&quot;,&quot;name&quot;:&quot;my_name&quot;,&quot;network-topology-ref&quot;:&quot;/network-topology:network-topology/network-topology:topology&lt;span class=&quot;error&quot;&gt;&amp;#91;network-topology:topology-id=\&amp;quot;pcep-topology\&amp;quot;&amp;#93;&lt;/span&gt;&quot;,&quot;arguments&quot;:{&quot;operational&quot;:true,&quot;ero&quot;:[{&quot;subobject&quot;:{&quot;loose&quot;:false,&quot;ip-prefix&quot;:&lt;/p&gt;
{&quot;ip-prefix&quot;:&quot;195.20.160.40/32&quot;}
&lt;p&gt;}},{&quot;subobject&quot;:{&quot;loose&quot;:false,&quot;ip-prefix&quot;:&lt;/p&gt;
{&quot;ip-prefix&quot;:&quot;201.20.160.43/32&quot;}
&lt;p&gt;}},{&quot;subobject&quot;:{&quot;loose&quot;:false,&quot;ip-prefix&quot;:&lt;/p&gt;
{&quot;ip-prefix&quot;:&quot;43.43.43.43/32&quot;}
&lt;p&gt;}}]}}}&apos; 127.0.0.1:8080/restconf/operations/network-topology-pcep:update-lsp&lt;/p&gt;

&lt;p&gt;And to get back to initial state (before curl number 1) it seem to be sufficient to just call remove-lsp, using example curl number 0:&lt;br/&gt;
curl -X POST -H &quot;Content-Type:application/yang.data+json&quot; -d &apos;{&quot;input&quot;:{&quot;node&quot;:&quot;pcc://39.39.39.39&quot;,&quot;name&quot;:&quot;my_name&quot;,&quot;network-topology-ref&quot;:&quot;/network-topology:network-topology/network-topology:topology&lt;span class=&quot;error&quot;&gt;&amp;#91;network-topology:topology-id=\&amp;quot;pcep-topology\&amp;quot;&amp;#93;&lt;/span&gt;&quot;}}&apos; 127.0.0.1:8080/restconf/operations/network-topology-pcep:remove-lsp&lt;/p&gt;

&lt;p&gt;What is wrong? Lack of response. For differently malformed RPCs I have seen error code 400 with helpful message, so I expected the same here.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="25097">CONTROLLER-543</key>
            <summary>Malformed update-lsp RPC gets stuck with no response.</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="10004" iconUrl="https://jira.opendaylight.org/images/icons/status_generic.gif" description="">Verified</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="jgloncak">Jozef Gloncak</assignee>
                                    <reporter username="vrpolak">Vratko Polak</reporter>
                        <labels>
                    </labels>
                <created>Thu, 5 Jun 2014 16:32:49 +0000</created>
                <updated>Tue, 14 Nov 2017 15:18:01 +0000</updated>
                            <resolved>Wed, 23 Jul 2014 14:04:37 +0000</resolved>
                                    <version>Helium</version>
                                                    <component>restconf</component>
                        <due>Thu, 26 Jun 2014 00:00:00 +0000</due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="48490" author="vrpolak" created="Thu, 19 Jun 2014 13:10:42 +0000"  >&lt;p&gt;My guess on what is happening: ODL sends PCUpd message without ERO, router reports tunnel is Down (as it just had lost its path) but ODL waits for it to go Up, which of course never happens. I have not found whether PCUpd with LSP object but without ERO object is valid at all, so I am not even sure error code 400 is the proper reaction.&lt;/p&gt;</comment>
                            <comment id="48491" author="dkutenicsova" created="Tue, 24 Jun 2014 09:54:50 +0000"  >&lt;p&gt;Implement a check in Stateful02SessionListenet (pcep-topology-provider), that checks presence of ERO in update-lsp (can be empty). Just for 02, as 07 is being reworked completely.&lt;/p&gt;</comment>
                            <comment id="48492" author="milos.fabian@pantheon.tech" created="Tue, 24 Jun 2014 11:55:24 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/8295/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/8295/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="48493" author="vrpolak" created="Tue, 22 Jul 2014 15:00:18 +0000"  >&lt;p&gt;The same as in &lt;a href=&quot;https://jira.opendaylight.org/browse/CONTROLLER-541&quot; title=&quot;Malformed update-lsp RPC leads to 500 Internal Server Error.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CONTROLLER-541&quot;&gt;&lt;del&gt;CONTROLLER-541&lt;/del&gt;&lt;/a&gt;. BGPCEP creates meaningfull exception, but RESTCONF fails to translate in to http status 400, and even hides the exception in DEBUG log level:&lt;/p&gt;

&lt;p&gt;2014-07-22 07:54:40.607 PDT &lt;span class=&quot;error&quot;&gt;&amp;#91;http-bio-8080-exec-2&amp;#93;&lt;/span&gt; DEBUG o.o.c.s.r.i.RestconfDocumentedExceptionMapper - In toResponse: errors: [error-type: application, error-tag: operation-failed, error-message: The operation encountered an unexpected error while executing.error-info: org.opendaylight.controller.sal.restconf.impl.RestconfDocumentedException: errors: &lt;span class=&quot;error&quot;&gt;&amp;#91;error-type: protocol, error-tag: invalid-value, error-message: Input is missing ERO object.&amp;#93;&lt;/span&gt;]&lt;/p&gt;</comment>
                            <comment id="48494" author="jgloncak" created="Wed, 23 Jul 2014 12:16:24 +0000"  >&lt;p&gt;(In reply to Vratko Pol&#225;k from comment #4)&lt;br/&gt;
&amp;gt; The same as in &lt;a href=&quot;https://jira.opendaylight.org/browse/CONTROLLER-541&quot; title=&quot;Malformed update-lsp RPC leads to 500 Internal Server Error.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CONTROLLER-541&quot;&gt;&lt;del&gt;CONTROLLER-541&lt;/del&gt;&lt;/a&gt;. BGPCEP creates meaningfull exception, but RESTCONF&lt;br/&gt;
&amp;gt; fails to translate in to http status 400, and even hides the exception in&lt;br/&gt;
&amp;gt; DEBUG log level:&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; 2014-07-22 07:54:40.607 PDT &lt;span class=&quot;error&quot;&gt;&amp;#91;http-bio-8080-exec-2&amp;#93;&lt;/span&gt; DEBUG&lt;br/&gt;
&amp;gt; o.o.c.s.r.i.RestconfDocumentedExceptionMapper - In toResponse: errors:&lt;br/&gt;
&amp;gt; [error-type: application, error-tag: operation-failed, error-message: The&lt;br/&gt;
&amp;gt; operation encountered an unexpected error while executing.error-info:&lt;br/&gt;
&amp;gt; org.opendaylight.controller.sal.restconf.impl.RestconfDocumentedException:&lt;br/&gt;
&amp;gt; errors: [error-type: protocol, error-tag: invalid-value, error-message:&lt;br/&gt;
&amp;gt; Input is missing ERO object.]]&lt;/p&gt;

&lt;p&gt;probably will be solved with &lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/9257/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/9257/&lt;/a&gt; from &lt;a href=&quot;https://jira.opendaylight.org/browse/CONTROLLER-541&quot; title=&quot;Malformed update-lsp RPC leads to 500 Internal Server Error.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CONTROLLER-541&quot;&gt;&lt;del&gt;CONTROLLER-541&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="48495" author="vrpolak" created="Wed, 23 Jul 2014 14:04:23 +0000"  >&lt;p&gt;Verified fixed in &lt;a href=&quot;https://jenkins.opendaylight.org/integration/view/Integration%20jobs/job/integration-master-project-centralized-integration/1675/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/integration/view/Integration%20jobs/job/integration-master-project-centralized-integration/1675/&lt;/a&gt;&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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1146</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=1146]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10363"><![CDATA[Helium-M4]]></customfieldvalue>

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

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