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()); > > >> > > >