Sangeetha Hariharan created CLOUDSTACK-1219: -----------------------------------------------
Summary: Ipv6 - Provide better error messages when deploying a Vm with Ip an address that is outside the network's ip range / if the ip address already is assigned to another Vm. Key: CLOUDSTACK-1219 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-1219 Project: CloudStack Issue Type: Bug Security Level: Public (Anyone can view this level - this is the default.) Components: Management Server Affects Versions: 4.1.0 Environment: Latest build from network refactor branch. Reporter: Sangeetha Hariharan Assignee: Sheng Yang Fix For: 4.1.0 Ipv6 - Provide better error messages when deploying a Vm with Ip an address that is outside the network's ip range / if the ip address already is assigned to another Vm. Steps to reproduce the problem: Create a Ipv6 shared network. As a regular user , try to deploy a VM by passing a Ipv6 address that is already assigned to another Vm. Api call fails with "errorcode":530,"errortext":"Internal error executing command, please contact your system administrator"" As a regular user , try to deploy a VM by passing a Ipv6 address that is not in the ip range of the network. Api call fails with "errorcode":530,"errortext":"Internal error executing command, please contact your system administrator"" Expected Behavior: In both the above cases , User should be presented with better error messages which will enable him to take corrective actions: Note : When admin user does the above actions, he is presented with more informative error message. Following exception seen in management server logs: 8,701 ERROR [cloud.api.ApiDispatcher] (catalina-exec-16:null) Exception while executing DeployVMCmd: com.cloud.utils.exception.CloudRuntimeException: Requested IPv6 is not in the predefined range! at com.cloud.network.Ipv6AddressManagerImpl.assignDirectIp6Address(Ipv6AddressManagerImpl.java:140) at com.cloud.network.NetworkManagerImpl.allocateDirectIp(NetworkManagerImpl.java:3404) at com.cloud.network.guru.DirectNetworkGuru.allocate(DirectNetworkGuru.java:193) at com.cloud.network.NetworkManagerImpl.allocateNic(NetworkManagerImpl.java:1294) at com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:34) at com.cloud.network.NetworkManagerImpl.allocate(NetworkManagerImpl.java:1235) at com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:34) at com.cloud.vm.VirtualMachineManagerImpl.allocate(VirtualMachineManagerImpl.java:294) at com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:34) at com.cloud.vm.UserVmManagerImpl.createVirtualMachine(UserVmManagerImpl.java:2486) at com.cloud.utils.component.ComponentLocator$InterceptorDispatcher.intercept(ComponentLocator.java:1262) at com.cloud.vm.UserVmManagerImpl.createAdvancedVirtualMachine(UserVmManagerImpl.java:2224) at com.cloud.api.commands.DeployVMCmd.create(DeployVMCmd.java:433) at com.cloud.api.ApiDispatcher.dispatchCreateCmd(ApiDispatcher.java:102) at com.cloud.api.ApiServer.queueCommand(ApiServer.java:486) at com.cloud.api.ApiServer.handleRequest(ApiServer.java:424) at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:312) at com.cloud.api.ApiServlet.doGet(ApiServlet.java:64) 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:2268) 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) 2013-02-08 23:58:48,703 DEBUG [cloud.api.ApiServlet] (catalina-exec-16:null) ===END=== 10.217.252.59 -- GET command=deployVirtualMachine&zoneId=75c781d3-3424-4753-b5a8-08f3aaaff305&templateId=4a246766-1171-4c7e-b871-9c0210ea4932&hypervisor=KVM&serviceOfferingId=94c64e14-6ffe-437a-819b-0ed401c9a160&networkIds=128493ed-d0f1-4c9f-ab02-d9089530948c&displayname=tan-yoyo&name=tan-yoyo&response=json&sessionkey=ssUYwjaP%2FEwKVM2HroPi0Rk2fEI%3D&ip6address=fc00:3:1371:0:6ff6::1234 -- 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