Hi all,

We have a new PR that fixes this issue:
https://github.com/apache/cloudstack/pull/1952

Kind regards,

*Sigert Goeminne*
Software Development Engineer

*nuage*networks.net
Copernicuslaan 50
2018 Antwerp
Belgium




On Fri, Feb 17, 2017 at 8:55 AM, Kris Sterckx <
kris.ster...@nuagenetworks.net> wrote:

> Thanks Mike
>
> Investigating.
>
> Kris
>
> On 17 February 2017 at 08:18, Tutkowski, Mike <mike.tutkow...@netapp.com>
> wrote:
>
> > I added a comment on the code of the relevant PR, but the PR is in the
> > Merged state, so I don't know if people receive e-mail notifications
> then.
> >
> > > On Feb 17, 2017, at 12:16 AM, Wei ZHOU <ustcweiz...@gmail.com> wrote:
> > >
> > > Maybe we need ask Nuage why the lines are added.
> > >
> > >
> > > 2017-02-17 7:54 GMT+01:00 Tutkowski, Mike <mike.tutkow...@netapp.com>:
> > >
> > >> Hopefully we can now find someone with experience in CloudStack's
> > >> networking code to tell us if that fix is OK or if that was just a
> > Band-Aid
> > >> and we should do something more thorough to correct the issue.
> > >>
> > >>> On Feb 16, 2017, at 11:48 PM, Rajani Karuturi <raj...@apache.org>
> > wrote:
> > >>>
> > >>> Thanks for digging it Mike.
> > >>>
> > >>> ~ Rajani
> > >>>
> > >>> http://cloudplatform.accelerite.com/
> > >>>
> > >>> On February 17, 2017 at 12:18 AM, Tutkowski, Mike
> > >>> (mike.tutkow...@netapp.com) wrote:
> > >>>
> > >>> Hi,
> > >>>
> > >>> I opened a blocker for 4.10 regarding this issue:
> > >>>
> > >>> https://issues.apache.org/jira/browse/CLOUDSTACK-9790
> > >>>
> > >>> Thanks,
> > >>> Mike
> > >>>
> > >>> On 2/16/17, 8:35 AM, "Tutkowski, Mike"
> > >>> <mike.tutkow...@netapp.com> wrote:
> > >>>
> > >>> I believe the issue is here:
> > >>>
> > >>> https://github.com/apache/cloudstack/pull/1579
> > >>>
> > >>> In ConfigurationManagerImpl.java, it appears the lines that led
> > >>> to NPEs being thrown were added on lines 2924 – 2926:
> > >>>
> > >>> https://github.com/apache/cloudstack/pull/1579/files
> > >>>
> > >>> On 2/16/17, 2:42 AM, "Wido den Hollander" <w...@widodh.nl>
> > >>> wrote:
> > >>>
> > >>>> Op 16 februari 2017 om 6:21 schreef Rajani Karuturi
> > >>> <raj...@apache.org>:
> > >>>>
> > >>>>
> > >>>> unfortunately, running one set of tests itself is very time
> > >>>> consuming(multiplied by hypervisors, network modes etc. its
> > >>>> impossible to run all)
> > >>>>
> > >>>> If I remember correctly, wido tested it with PR 1700 (IPV6 in
> > >>>> basic networking)
> > >>>>
> > >>>
> > >>> I highly doubt it's PR 1700 which is causing this. The PR I have
> > >>> open to fix a issue ONLY applies if IPv6 has been set.
> > >>>
> > >>> PR 1700 only does something when you have set a IPv6 subnet in
> > >>> the 'vlan' table:
> > >>> https://github.com/apache/cloudstack/commit/
> > >> c0e7766713b2631a167c2ceea7d42b574a5cd1b9#diff-
> > >> f90fdac6810fd89f89e827309a41d180R231
> > >>>
> > >>> So I don't think it's caused by this since you NIC table will
> > >>> not be filled with IPv6 addresses afterwards.
> > >>>
> > >>> Wido
> > >>>
> > >>>> Can you try a commit before and a commit after that PR?
> > >>>>
> > >>>> Thanks,
> > >>>>
> > >>>> ~ Rajani
> > >>>>
> > >>>> http://cloudplatform.accelerite.com/
> > >>>>
> > >>>> On February 16, 2017 at 1:02 AM, Tutkowski, Mike
> > >>>> (mike.tutkow...@netapp.com) wrote:
> > >>>>
> > >>>> Thanks for noting that PR, Rene. I tried building a Basic Zone
> > >>>> making use of code from that PR, but – unfortunately – I still
> > >>>> get an exception (below).
> > >>>>
> > >>>> On a related note, does this mean we don’t run any integration
> > >>>> tests that build a Basic Zone before we OK a PR to be checked
> > >>> in?
> > >>>>
> > >>>> ERROR [c.c.a.ApiServer] (qtp555984412-267:ctx-a904cbd0
> > >>>> ctx-062a000a) (logid:30f5a3ec) unhandled exception executing
> > >>> api
> > >>>> command: [Ljava.lang.String;@4732a98c
> > >>>> java.lang.NullPointerException
> > >>>> at
> > >>>> com.cloud.utils.net.NetUtils.getCidrNetmask(NetUtils.java:956)
> > >>>> at
> > >>>>
> > >>> com.cloud.configuration.ConfigurationManagerImpl.validateIpRange(
> > >> ConfigurationManagerImpl.java:2924)
> > >>>> at
> > >>>>
> > >>> com.cloud.configuration.ConfigurationManagerImpl.
> > >> createVlanAndPublicIpRange(ConfigurationManagerImpl.java:2822)
> > >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >>>> at
> > >>>>
> > >>> sun.reflect.NativeMethodAccessorImpl.invoke(
> > >> NativeMethodAccessorImpl.java:62)
> > >>>> at
> > >>>>
> > >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > >> DelegatingMethodAccessorImpl.java:43)
> > >>>> at java.lang.reflect.Method.invoke(Method.java:498)
> > >>>> at
> > >>>>
> > >>> org.springframework.aop.support.AopUtils.
> > invokeJoinpointUsingReflection
> > >> (AopUtils.java:333)
> > >>>> at
> > >>>>
> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.
> > >> invokeJoinpoint(ReflectiveMethodInvocation.java:190)
> > >>>> at
> > >>>>
> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.
> proceed(
> > >> ReflectiveMethodInvocation.java:157)
> > >>>> at
> > >>>>
> > >>> org.apache.cloudstack.network.contrail.management.
> > >> EventUtils$EventInterceptor.invoke(EventUtils.java:107)
> > >>>> at
> > >>>>
> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.
> proceed(
> > >> ReflectiveMethodInvocation.java:168)
> > >>>> at
> > >>>>
> > >>> com.cloud.event.ActionEventInterceptor.invoke(
> > >> ActionEventInterceptor.java:51)
> > >>>> at
> > >>>>
> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.
> proceed(
> > >> ReflectiveMethodInvocation.java:168)
> > >>>> at
> > >>>>
> > >>> org.springframework.aop.interceptor.ExposeInvocationInterceptor.
> > invoke(
> > >> ExposeInvocationInterceptor.java:92)
> > >>>> at
> > >>>>
> > >>> org.springframework.aop.framework.ReflectiveMethodInvocation.
> proceed(
> > >> ReflectiveMethodInvocation.java:179)
> > >>>> at
> > >>>>
> > >>> org.springframework.aop.framework.JdkDynamicAopProxy.
> > >> invoke(JdkDynamicAopProxy.java:213)
> > >>>> at com.sun.proxy.$Proxy126.createVlanAndPublicIpRange(Unknown
> > >>>> Source)
> > >>>> at
> > >>>>
> > >>> org.apache.cloudstack.api.command.admin.vlan.
> > >> CreateVlanIpRangeCmd.execute(CreateVlanIpRangeCmd.java:219)
> > >>>> at
> > >>> com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:150)
> > >>>> at com.cloud.api.ApiServer.queueCommand(ApiServer.java:709)
> > >>>> at com.cloud.api.ApiServer.handleRequest(ApiServer.java:533)
> > >>>> at
> > >>>>
> > >>> com.cloud.api.ApiServlet.processRequestInContext(
> ApiServlet.java:299)
> > >>>> at com.cloud.api.ApiServlet$1.run(ApiServlet.java:129)
> > >>>> at
> > >>>>
> > >>> org.apache.cloudstack.managed.context.impl.
> > DefaultManagedContext$1.call(
> > >> DefaultManagedContext.java:56)
> > >>>> at
> > >>>>
> > >>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.
> > >> callWithContext(DefaultManagedContext.java:103)
> > >>>> at
> > >>>>
> > >>> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.
> > >> runWithContext(DefaultManagedContext.java:53)
> > >>>> at
> > >>> com.cloud.api.ApiServlet.processRequest(ApiServlet.java:126)
> > >>>> at com.cloud.api.ApiServlet.doGet(ApiServlet.java:88)
> > >>>> at
> > >>> javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
> > >>>> at
> > >>> javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:812)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> > >> doFilter(ServletHandler.java:1669)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(
> > >> WebSocketUpgradeFilter.java:189)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> > >> doFilter(ServletHandler.java:1652)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.servlet.ServletHandler.doHandle(
> > >> ServletHandler.java:585)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(
> > >> ScopedHandler.java:143)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.security.SecurityHandler.handle(
> > >> SecurityHandler.java:577)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.server.session.SessionHandler.
> > >> doHandle(SessionHandler.java:223)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.server.handler.ContextHandler.
> > >> doHandle(ContextHandler.java:1127)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.servlet.ServletHandler.doScope(
> > >> ServletHandler.java:515)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.server.session.SessionHandler.
> > >> doScope(SessionHandler.java:185)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.server.handler.ContextHandler.
> > >> doScope(ContextHandler.java:1061)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(
> > >> ScopedHandler.java:141)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
> > >> ContextHandlerCollection.java:215)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.server.handler.HandlerCollection.
> > >> handle(HandlerCollection.java:110)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> > >> HandlerWrapper.java:97)
> > >>>> at org.eclipse.jetty.server.Server.handle(Server.java:499)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.server.HttpConnection.onFillable(
> > >> HttpConnection.java:258)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.io.AbstractConnection$2.run(
> > >> AbstractConnection.java:544)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
> > >> QueuedThreadPool.java:635)
> > >>>> at
> > >>>>
> > >>> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(
> > >> QueuedThreadPool.java:555)
> > >>>> at java.lang.Thread.run(Thread.java:745)
> > >>>>
> > >>>> On 2/15/17, 12:52 AM, "Tutkowski, Mike"
> > >>>> <mike.tutkow...@netapp.com> wrote:
> > >>>>
> > >>>> Thanks for pointing this out.
> > >>>>
> > >>>> I can incorporate those changes in the morning and see if it
> > >>>> does the trick.
> > >>>>
> > >>>>> On Feb 15, 2017, at 12:50 AM, Rene Moser
> > >>> <m...@renemoser.net>
> > >>>> wrote:
> > >>>>>
> > >>>>> Probably related to
> > >>>> https://github.com/apache/cloudstack/pull/1927
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>> On 02/14/2017 10:44 PM, Tutkowski, Mike wrote:
> > >>>>>> Hi,
> > >>>>>>
> > >>>>>> I’m getting a NullPointerException when trying to create a
> > >>>> zone using master.
> > >>>>>>
> > >>>>>> Below is the relevant code in ConfigurationManagerImpl.
> > >>>>>>
> > >>>>>> In the else block, network.getCidr() returns null and
> > >>>> NetUtil.getCidrNetmask then throws a NullPointerException.
> > >>>>>>
> > >>>>>> I noticed that network.getGateway() also returns null
> > >>> (which
> > >>>> seems odd).
> > >>>>>>
> > >>>>>> Thoughts on this?
> > >>>>>>
> > >>>>>> Thanks!
> > >>>>>> Mike
> > >>>>>>
> > >>>>>> public Pair<Boolean, Pair<String, String>>
> > >>>> validateIpRange(final String startIP, final String endIP,
> > >>> final
> > >>>> String newVlanGateway, final String newVlanNetmask, final
> > >>>> List<VlanVO> vlans, final boolean ipv4,
> > >>>>>> final boolean ipv6, String ip6Gateway, String ip6Cidr,
> > >>> final
> > >>>> String startIPv6, final String endIPv6, final Network network)
> > >>> {
> > >>>>>> String vlanGateway = null;
> > >>>>>> String vlanNetmask = null;
> > >>>>>> boolean sameSubnet = false;
> > >>>>>> if (CollectionUtils.isNotEmpty(vlans)) {
> > >>>>>> for (final VlanVO vlan : vlans) {
> > >>>>>> vlanGateway = vlan.getVlanGateway();
> > >>>>>> vlanNetmask = vlan.getVlanNetmask();
> > >>>>>> sameSubnet = hasSameSubnet(ipv4, vlanGateway, vlanNetmask,
> > >>>> newVlanGateway, newVlanNetmask, startIP, endIP,
> > >>>>>> ipv6, ip6Gateway, ip6Cidr, startIPv6, endIPv6, network);
> > >>>>>> if (sameSubnet) break;
> > >>>>>> }
> > >>>>>> } else {
> > >>>>>> vlanGateway = network.getGateway();
> > >>>>>> vlanNetmask = NetUtils.getCidrNetmask(network.getCidr());
> > >>
> >
>

Reply via email to