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