<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:25:28 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-66] java.lang.NullPointerException at org.opendaylight.neutron.transcriber.NeutronSubnetInterface.fromMd</title>
                <link>https://jira.opendaylight.org/browse/NEUTRON-66</link>
                <project id="10145" key="NEUTRON">neutron</project>
                    <description>&lt;p&gt;While trying to display the subnet information, I hit on the following null pointer exception.&lt;/p&gt;

&lt;p&gt;Here are the steps I did.&lt;br/&gt;
1)On a devstack (stable/kilo) setup installed ODL(beryllium)&lt;br/&gt;
2)Created a network with subnet&lt;br/&gt;
3)Deleted the subnet&lt;br/&gt;
4)Use api to display the subnet info.&lt;/p&gt;

&lt;p&gt;GET controller/nb/v2/neutron/subnets&lt;/p&gt;

&lt;p&gt;&amp;lt;html&amp;gt;&lt;br/&gt;
    &amp;lt;head&amp;gt;&lt;br/&gt;
        &amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=ISO-8859-1&quot;/&amp;gt;&lt;br/&gt;
        &amp;lt;title&amp;gt;Error 500 Server Error&amp;lt;/title&amp;gt;&lt;br/&gt;
    &amp;lt;/head&amp;gt;&lt;br/&gt;
    &amp;lt;body&amp;gt;&lt;br/&gt;
        &amp;lt;h2&amp;gt;HTTP ERROR 500&amp;lt;/h2&amp;gt;&lt;br/&gt;
        &amp;lt;p&amp;gt;Problem accessing /controller/nb/v2/neutron/subnets. Reason:&lt;/p&gt;

&lt;p&gt;            &amp;lt;pre&amp;gt;    Server Error&amp;lt;/pre&amp;gt;&lt;br/&gt;
        &amp;lt;/p&amp;gt;&lt;br/&gt;
        &amp;lt;h3&amp;gt;Caused by:&amp;lt;/h3&amp;gt;&lt;br/&gt;
        &amp;lt;pre&amp;gt;java.lang.NullPointerException&lt;br/&gt;
	at org.opendaylight.neutron.transcriber.NeutronSubnetInterface.fromMd(NeutronSubnetInterface.java:163)&lt;br/&gt;
	at org.opendaylight.neutron.transcriber.NeutronSubnetInterface.getAllSubnets(NeutronSubnetInterface.java:97)&lt;br/&gt;
	at org.opendaylight.neutron.northbound.api.NeutronSubnetsNorthbound.listSubnets(NeutronSubnetsNorthbound.java:121)&lt;br/&gt;
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br/&gt;
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)&lt;br/&gt;
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&lt;br/&gt;
	at java.lang.reflect.Method.invoke(Method.java:606)&lt;br/&gt;
	at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)&lt;br/&gt;
	at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)&lt;br/&gt;
	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)&lt;br/&gt;
	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)&lt;br/&gt;
	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)&lt;br/&gt;
	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)&lt;br/&gt;
	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)&lt;br/&gt;
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)&lt;br/&gt;
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)&lt;br/&gt;
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)&lt;br/&gt;
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)&lt;br/&gt;
	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)&lt;br/&gt;
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)&lt;br/&gt;
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)&lt;br/&gt;
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)&lt;br/&gt;
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)&lt;br/&gt;
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)&lt;br/&gt;
	at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:247)&lt;br/&gt;
	at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:210)&lt;br/&gt;
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)&lt;br/&gt;
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)&lt;br/&gt;
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69)&lt;br/&gt;
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)&lt;br/&gt;
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)&lt;br/&gt;
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)&lt;br/&gt;
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)&lt;br/&gt;
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240)&lt;br/&gt;
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)&lt;br/&gt;
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)&lt;br/&gt;
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)&lt;br/&gt;
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)&lt;br/&gt;
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)&lt;br/&gt;
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)&lt;br/&gt;
	at org.eclipse.jetty.server.Server.handle(Server.java:370)&lt;br/&gt;
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)&lt;br/&gt;
	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)&lt;br/&gt;
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)&lt;br/&gt;
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)&lt;br/&gt;
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)&lt;br/&gt;
	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)&lt;br/&gt;
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)&lt;br/&gt;
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)&lt;br/&gt;
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)&lt;br/&gt;
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)&lt;br/&gt;
	at java.lang.Thread.run(Thread.java:745)&lt;br/&gt;
&amp;lt;/pre&amp;gt;&lt;br/&gt;
        &amp;lt;hr /&amp;gt;&lt;br/&gt;
        &amp;lt;i&amp;gt;&lt;br/&gt;
            &amp;lt;small&amp;gt;Powered by Jetty://&amp;lt;/small&amp;gt;&lt;br/&gt;
        &amp;lt;/i&amp;gt;&lt;/p&gt;

&lt;p&gt;    &amp;lt;/body&amp;gt;&lt;br/&gt;
&amp;lt;/html&amp;gt;&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="26628">NEUTRON-66</key>
            <summary>java.lang.NullPointerException at org.opendaylight.neutron.transcriber.NeutronSubnetInterface.fromMd</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <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="raveek@hp.com">Ravindra Kenchappa</assignee>
                                    <reporter username="rijilabraham@gmail.com">Rijil Abraham</reporter>
                        <labels>
                    </labels>
                <created>Wed, 9 Sep 2015 14:50:57 +0000</created>
                <updated>Fri, 16 Oct 2015 05:42:07 +0000</updated>
                            <resolved>Fri, 16 Oct 2015 05:42:07 +0000</resolved>
                                    <version>master</version>
                                                    <component>transcriber</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="53439" author="rijilabraham@gmail.com" created="Wed, 9 Sep 2015 14:50:57 +0000"  >&lt;p&gt;Attachment q-svc.log.2015-09-09-091950 has been added with description: q-svc log&lt;/p&gt;</comment>
                            <comment id="53440" author="rijilabraham@gmail.com" created="Wed, 9 Sep 2015 14:52:02 +0000"  >&lt;p&gt;Attachment karaf.log has been added with description: odl log&lt;/p&gt;</comment>
                            <comment id="53434" author="rijilabraham@gmail.com" created="Mon, 14 Sep 2015 05:55:13 +0000"  >&lt;p&gt;Exact steps to recreate the issue:&lt;/p&gt;

&lt;p&gt;1)On a devstack (stable/kilo) setup installed ODL(beryllium)&lt;/p&gt;

&lt;p&gt;2)Create a network using the POST API&lt;br/&gt;
POST &lt;a href=&quot;http://105.0.1.210:8181/controller/nb/v2/neutron/networks&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://105.0.1.210:8181/controller/nb/v2/neutron/networks&lt;/a&gt;&lt;br/&gt;
body - {&quot;network&quot;: {&quot;status&quot;: &quot;ACTIVE&quot;, &quot;subnets&quot;: [], &quot;name&quot;: &quot;tempest-test-network--35617655&quot;, &quot;router:external&quot;: false, &quot;tenant_id&quot;: &quot;1d7ecd7c5a5b4f84afd5ddd735e0f6b6&quot;, &quot;admin_state_up&quot;: true, &quot;mtu&quot;: 0, &quot;shared&quot;: false, &quot;id&quot;: &quot;9df465d6-e398-4a01-8f4d-071b5ac2f24d&quot;}}&lt;/p&gt;

&lt;p&gt;3)Create a subnet using POST API&lt;br/&gt;
POST &lt;a href=&quot;http://105.0.1.210:8181/controller/nb/v2/neutron/subnets&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://105.0.1.210:8181/controller/nb/v2/neutron/subnets&lt;/a&gt;&lt;br/&gt;
body - {&quot;subnet&quot;: {&quot;name&quot;: &quot;&quot;, &quot;enable_dhcp&quot;: true, &quot;network_id&quot;: &quot;9df465d6-e398-4a01-8f4d-071b5ac2f24d&quot;, &quot;tenant_id&quot;: &quot;1d7ecd7c5a5b4f84afd5ddd735e0f6b6&quot;, &quot;dns_nameservers&quot;: [], &quot;gateway_ip&quot;: null, &quot;ipv6_ra_mode&quot;: null, &quot;allocation_pools&quot;: [&lt;/p&gt;
{&quot;start&quot;: &quot;2003::3&quot;, &quot;end&quot;: &quot;2003::4&quot;}
&lt;p&gt;], &quot;host_routes&quot;: [], &quot;ip_version&quot;: 6, &quot;ipv6_address_mode&quot;: null, &quot;cidr&quot;: &quot;2003::/64&quot;, &quot;id&quot;: &quot;251598aa-bccf-4c1c-b429-655565b80f7e&quot;, &quot;subnetpool_id&quot;: null}}&lt;/p&gt;


&lt;p&gt;4)Delete the network using the DELETE API&lt;br/&gt;
DELETE &lt;a href=&quot;http://105.0.1.210:8181/controller/nb/v2/neutron/networks/9df465d6-e398-4a01-8f4d-071b5ac2f24d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://105.0.1.210:8181/controller/nb/v2/neutron/networks/9df465d6-e398-4a01-8f4d-071b5ac2f24d&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;5)Now using the API display the subnet info&lt;br/&gt;
GET &lt;a href=&quot;http://105.0.1.210:8181/controller/nb/v2/neutron/subnets&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://105.0.1.210:8181/controller/nb/v2/neutron/subnets&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="53435" author="raveek@hp.com" created="Thu, 24 Sep 2015 10:44:29 +0000"  >&lt;p&gt;When deleting the network in NeutronSubnetinterface.java it tries to  access all the subnets belongs the network that being deleted. For some reason some of subnets do not have the gateway-ip and hence the NPE. When NPE check is added the issue is not seen and in the test-network.py tempest test 6 more tests case were passed. Now we have 6 failures related to UPDATE network testcase.&lt;/p&gt;</comment>
                            <comment id="53436" author="yamahata" created="Wed, 30 Sep 2015 00:04:17 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/27619/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/27619/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Can you please try the above patch?&lt;/p&gt;</comment>
                            <comment id="53437" author="yamahata" created="Wed, 30 Sep 2015 00:07:17 +0000"  >&lt;p&gt;NOTE: looking at openstack neutron code, ipv6 ra mode and ipv6 address mode also can be null in addition to gateway ip.&lt;br/&gt;
So the uploaded patch includes null pointer check for all of three.&lt;/p&gt;</comment>
                            <comment id="53438" author="raveek@hp.com" created="Wed, 30 Sep 2015 03:12:26 +0000"  >&lt;p&gt;I looked at the changes &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/27619/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/27619/&lt;/a&gt; and it should work, but the other 2 checks is not needed because there will not be NPE until the &quot;subnet&quot; is NULL.&lt;/p&gt;

&lt;p&gt;if (subnet.getIpv6RaMode() != null) {&lt;br/&gt;
            result.setIpV6RaMode(DHCPV6_MAP.get(subnet.getIpv6RaMode()));&lt;br/&gt;
}&lt;br/&gt;
if (subnet.getIpv6AddressMode() != null) {               result.setIpV6AddressMode(DHCPV6_MAP.get(subnet.getIpv6AddressMode()));&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;In this test-case when the SUBNET is created the gateway-ip is set to NULL.&lt;/p&gt;

&lt;p&gt;3)Create a subnet using POST API&lt;br/&gt;
POST &lt;a href=&quot;http://105.0.1.210:8181/controller/nb/v2/neutron/subnets&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://105.0.1.210:8181/controller/nb/v2/neutron/subnets&lt;/a&gt;&lt;br/&gt;
body - {&quot;subnet&quot;: {&quot;name&quot;: &quot;&quot;, &quot;enable_dhcp&quot;: true, &quot;network_id&quot;: &quot;9df465d6-e398-4a01-8f4d-071b5ac2f24d&quot;, &quot;tenant_id&quot;: &quot;1d7ecd7c5a5b4f84afd5ddd735e0f6b6&quot;, &quot;dns_nameservers&quot;: [], &quot;gateway_ip&quot;: null, &quot;ipv6_ra_mode&quot;: null, &quot;allocation_pools&quot;: [&lt;/p&gt;
{&quot;start&quot;: &quot;2003::3&quot;, &quot;end&quot;: &quot;2003::4&quot;}
&lt;p&gt;], &quot;host_routes&quot;: [], &quot;ip_version&quot;: 6, &quot;ipv6_address_mode&quot;: null, &quot;cidr&quot;: &quot;2003::/64&quot;, &quot;id&quot;: &quot;251598aa-bccf-4c1c-b429-655565b80f7e&quot;, &quot;subnetpool_id&quot;: null}}&lt;/p&gt;


&lt;p&gt;And  in fromMD() we tried to access the gateway_ip from the subnet object and tries get its vlaue, since gateway_ip is null we get NPE.&lt;/p&gt;

&lt;p&gt;result.setGatewayIP(String.valueOf(subnet.getGatewayIp().getValue()));&lt;/p&gt;

&lt;p&gt;We have encounter another issue and fixing that also and uploading that patch.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13748" name="karaf.log" size="454016" author="rijilabraham@gmail.com" created="Wed, 9 Sep 2015 14:52:02 +0000"/>
                            <attachment id="13747" name="q-svc.log.2015-09-09-091950" size="762923" author="rijilabraham@gmail.com" created="Wed, 9 Sep 2015 14:50:57 +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>4285</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=4285]]></customfieldvalue>

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

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