Mike, You may remove the "else" part which does not exist in previous versions in ConfigurationManagerImpl.java.
-Wei 2017-02-15 20:55 GMT+01:00 Tutkowski, Mike <mike.tutkow...@netapp.com>: > OK, so, what I plan to do is jump back a bunch of commits and see if it > works. If it does, I can binary search my way to the commit that fails it. > If the commit I pick doesn’t work, I can jump back a bunch more. If that > one works, I I can binary search my way to the commit that fails it, etc. > > Just a time-consuming process, but it should get the job done. > > On 2/15/17, 12:39 PM, "williamstev...@gmail.com on behalf of Will > Stevens" <williamstev...@gmail.com on behalf of wstev...@cloudops.com> > wrote: > > That does seem to be the case. :( > > *Will STEVENS* > Lead Developer > > <https://goo.gl/NYZ8KK> > > On Wed, Feb 15, 2017 at 2:32 PM, 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()); > > >> > > > > > > > > >