Alena Prokharchyk created CLOUDSTACK-573: --------------------------------------------
Summary: NPE at "com.cloud.network.NetworkManagerImpl.networkOfferingIsConfiguredForExternalNetworking(NetworkManagerImpl.java:4345)" when create network from the network offering having NULL provider for the service Key: CLOUDSTACK-573 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-573 Project: CloudStack Issue Type: Bug Security Level: Public (Anyone can view this level - this is the default.) Components: Management Server Affects Versions: 4.0.0 Reporter: Alena Prokharchyk Assignee: Alena Prokharchyk Priority: Trivial Fix For: 4.1.0 Steps to reproduce: 1) Create network offering, pass service list, but don't pass the provider: http://localhost:8096/?command=createNetworkOffering&name=alena11&displayText=alena&trafficType=Guest&guestIpType=Isolated&supportedServices=UserData We do allow having null provider in the network offering; later when network is being created from this network offering, the default provider of the service on the physical network is being set for the service. 2) Try to create the network from this network offering. It results in NPE, because check for external device use is being done before services/providers are finalized for the network: ERROR [cloud.api.ApiDispatcher] (catalina-exec-7:) Exception while executing CreateNetworkCmd: java.lang.NullPointerException at com.cloud.network.NetworkManagerImpl.networkOfferingIsConfiguredForExternalNetworking(NetworkManagerImpl.java:4345) at com.cloud.network.NetworkManagerImpl.createGuestNetwork(NetworkManagerImpl.java:2666) at com.cloud.utils.component.ComponentLocator$InterceptorDispatcher.intercept(ComponentLocator.java:1185) at com.cloud.api.commands.CreateNetworkCmd.execute(CreateNetworkCmd.java:220) at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:235) at com.cloud.api.ApiServer.queueCommand(ApiServer.java:540) at com.cloud.api.ApiServer.handleRequest(ApiServer.java:419) at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:300) at com.cloud.api.ApiServlet.doGet(ApiServlet.java:59) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2260) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira