[ https://issues.apache.org/jira/browse/CLOUDSTACK-2698?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
venkata swamybabu budumuru updated CLOUDSTACK-2698: --------------------------------------------------- Attachment: logs.tgz > [RouterVM] In multi-cluster environment with disabled cluster fails with > error "javax.persistence.EntityExistsException: Entity already exists:" > ------------------------------------------------------------------------------------------------------------------------------------------------ > > Key: CLOUDSTACK-2698 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-2698 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Components: Network Controller > Affects Versions: 4.2.0 > Environment: commit 80a3c0535e0a8ad3edba3713a61d063a176191d8 > Reporter: venkata swamybabu budumuru > Priority: Critical > Fix For: 4.2.0 > > Attachments: logs.tgz > > > Steps to reproduce: > 1. Have CloudStack with one advanced zone having 2 clusters > - VMware cluster with 1 host > - XenServer cluster with 1 host > 2. Make sure systemvm and at least one router came up on VMware > 3. Disable and unmanage VMware cluster > 4. Try to deploy a VPC router > Observations:- > (i) Even though the VMware cluster is disabled it still tried to bring up > system VM template of type VMware hypervisor and it failed to find a suitable > host and failed. > Here is the snippet of management server log. > 2013-05-27 11:41:50,144 DEBUG > [network.router.VirtualNetworkApplianceManagerImpl] (Job-Executor-37:job-35) > Allocating the domR with the hypervisor type VMware > 2013-05-27 11:41:50,150 DEBUG [cloud.vm.VirtualMachineManagerImpl] > (Job-Executor-37:job-35) Allocating entries for VM: VM[DomainRouter|r-20-VM] > 2013-05-27 11:41:50,156 DEBUG [cloud.vm.VirtualMachineManagerImpl] > (Job-Executor-37:job-35) Allocating nics for VM[DomainRouter|r-20-VM] > 2013-05-27 11:41:50,157 DEBUG [cloud.network.NetworkManagerImpl] > (Job-Executor-37:job-35) Allocating nic for vm VM[DomainRouter|r-20-VM] in > network Ntwk[202|Control|3] with requested profile null > 2013-05-27 11:41:50,171 DEBUG [cloud.network.NetworkManagerImpl] > (Job-Executor-37:job-35) Allocating nic for vm VM[DomainRouter|r-20-VM] in > network Ntwk[200|Public|1] with requested profile > NicProfile[0-0-null-10.147.44.68-vlan://44 > 2013-05-27 11:41:50,184 DEBUG [cloud.vm.VirtualMachineManagerImpl] > (Job-Executor-37:job-35) Allocaing disks for VM[DomainRouter|r-20-VM] > 2013-05-27 11:41:50,200 DEBUG [cloud.vm.VirtualMachineManagerImpl] > (Job-Executor-37:job-35) Allocation completed for VM: > VM[DomainRouter|r-20-VM] > 2013-05-27 11:41:50,200 DEBUG > [network.router.VirtualNetworkApplianceManagerImpl] (Job-Executor-37:job-35) > Starting router VM[DomainRouter|r-20-VM] > 2013-05-27 11:41:50,207 DEBUG [cloud.capacity.CapacityManagerImpl] > (Job-Executor-37:job-35) VM state transitted from :Stopped to Starting with > event: StartRequestedvm's original host id: null new host id: null host id > before state transition: null > 2013-05-27 11:41:50,207 DEBUG [cloud.vm.VirtualMachineManagerImpl] > (Job-Executor-37:job-35) Successfully transitioned to start state for > VM[DomainRouter|r-20-VM] reservation id = 9963d5e7-0045-4d19-87fb-8280b0ba008c > 2013-05-27 11:41:50,215 DEBUG [cloud.vm.VirtualMachineManagerImpl] > (Job-Executor-37:job-35) Trying to deploy VM, vm has dcId: 1 and podId: null > 2013-05-27 11:41:50,215 DEBUG [cloud.vm.VirtualMachineManagerImpl] > (Job-Executor-37:job-35) Deploy avoids pods: null, clusters: null, hosts: null > 2013-05-27 11:41:50,218 DEBUG [cloud.deploy.DeploymentPlanningManagerImpl] > (Job-Executor-37:job-35) Deploy avoids pods: null, clusters: null, hosts: null > 2013-05-27 11:41:50,220 DEBUG [cloud.deploy.DeploymentPlanningManagerImpl] > (Job-Executor-37:job-35) DeploymentPlanner allocation algorithm: > com.cloud.deploy.FirstFitPlanner_EnhancerByCloudStack_10a196b5@1f54ce2a > 2013-05-27 11:41:50,220 DEBUG [cloud.deploy.DeploymentPlanningManagerImpl] > (Job-Executor-37:job-35) Trying to allocate a host and storage pools from > dc:1, pod:null,cluster:null, requested cpu: 500, requested ram: 134217728 > 2013-05-27 11:41:50,220 DEBUG [cloud.deploy.DeploymentPlanningManagerImpl] > (Job-Executor-37:job-35) Is ROOT volume READY (pool already allocated)?: No > 2013-05-27 11:41:50,220 DEBUG [cloud.deploy.FirstFitPlanner] > (Job-Executor-37:job-35) Searching all possible resources under this Zone: 1 > 2013-05-27 11:41:50,221 DEBUG [cloud.deploy.FirstFitPlanner] > (Job-Executor-37:job-35) Listing clusters in order of aggregate capacity, > that have (atleast one host with) enough CPU and RAM capacity under this > Zone: 1 > 2013-05-27 11:41:50,235 DEBUG [cloud.deploy.DeploymentPlanningManagerImpl] > (Job-Executor-37:job-35) Checking resources in Cluster: 1 under Pod: 1 > 2013-05-27 11:41:50,236 DEBUG [allocator.impl.FirstFitAllocator] > (Job-Executor-37:job-35 FirstFitRoutingAllocator) Looking for hosts in dc: 1 > pod:1 cluster:1 > 2013-05-27 11:41:50,240 DEBUG [allocator.impl.FirstFitAllocator] > (Job-Executor-37:job-35 FirstFitRoutingAllocator) FirstFitAllocator has 0 > hosts to check for allocation: [] > 2013-05-27 11:41:50,243 DEBUG [allocator.impl.FirstFitAllocator] > (Job-Executor-37:job-35 FirstFitRoutingAllocator) Found 0 hosts for > allocation after prioritization: [] > 2013-05-27 11:41:50,243 DEBUG [allocator.impl.FirstFitAllocator] > (Job-Executor-37:job-35 FirstFitRoutingAllocator) Looking for speed=500Mhz, > Ram=128 > 2013-05-27 11:41:50,243 DEBUG [allocator.impl.FirstFitAllocator] > (Job-Executor-37:job-35 FirstFitRoutingAllocator) Host Allocator returning 0 > suitable hosts > 2013-05-27 11:41:50,243 DEBUG [cloud.deploy.DeploymentPlanningManagerImpl] > (Job-Executor-37:job-35) No suitable hosts found > 2013-05-27 11:41:50,243 DEBUG [cloud.deploy.DeploymentPlanningManagerImpl] > (Job-Executor-37:job-35) No suitable hosts found under this Cluster: 1 > 2013-05-27 11:41:50,249 DEBUG [cloud.deploy.DeploymentPlanningManagerImpl] > (Job-Executor-37:job-35) Cluster: 2 has HyperVisorType that does not match > the VM, skipping this cluster > 2013-05-27 11:41:50,249 DEBUG [cloud.deploy.DeploymentPlanningManagerImpl] > (Job-Executor-37:job-35) Could not find suitable Deployment Destination for > this VM under any clusters, returning. > 2013-05-27 11:41:50,249 DEBUG [cloud.deploy.FirstFitPlanner] > (Job-Executor-37:job-35) Searching all possible resources under this Zone: 1 > 2013-05-27 11:41:50,250 DEBUG [cloud.deploy.FirstFitPlanner] > (Job-Executor-37:job-35) Listing clusters in order of aggregate capacity, > that have (atleast one host with) enough CPU and RAM capacity under this > Zone: 1 > 2013-05-27 11:41:50,255 DEBUG [cloud.deploy.FirstFitPlanner] > (Job-Executor-37:job-35) Removing from the clusterId list these clusters from > avoid set: [1, 2] > 2013-05-27 11:41:50,255 DEBUG [cloud.deploy.FirstFitPlanner] > (Job-Executor-37:job-35) No clusters found after removing disabled clusters > and clusters in avoid list, returning. > 2013-05-27 11:41:50,270 DEBUG [cloud.capacity.CapacityManagerImpl] > (Job-Executor-37:job-35) VM state transitted from :Starting to Stopped with > event: OperationFailedvm's original host id: null new host id: null host id > before state transition: null > (iv) It tried to pick XenServer template up on above failure but, it failed > saying entity already exists. > 013-05-27 11:41:50,390 DEBUG > [network.router.VirtualNetworkApplianceManagerImpl] (Job-Executor-37:job-35) > Allocating the domR with the hypervisor type XenServer > 2013-05-27 11:41:50,396 DEBUG [cloud.vm.VirtualMachineManagerImpl] > (Job-Executor-37:job-35) Allocating entries for VM: VM[DomainRouter|r-20-VM] > 2013-05-27 11:41:50,400 DEBUG [db.Transaction.Transaction] > (Job-Executor-37:job-35) Rolling back the transaction: Time = 3 Name = > -AsyncJobManagerImpl$1.run:401-Executors$RunnableAdapter.call:471-FutureTask$Sync.innerRun:334-FutureTask.run:166-ThreadPoolExecutor.runWorker:1146-ThreadPoolExecutor$Worker.run:615-Thread.run:679; > called by > -Transaction.rollback:890-Transaction.removeUpTo:833-Transaction.close:657-TransactionContextBuilder.interceptException:63-ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept:133-VirtualNetworkApplianceManagerImpl.persist:2982-VirtualNetworkApplianceManagerImpl.persist:258-VirtualMachineManagerImpl.allocate:344-ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept:125-VirtualMachineManagerImpl.allocate:397-VirtualNetworkApplianceManagerImpl.deployRouter:1644-VpcVirtualNetworkApplianceManagerImpl.deployVpcRouter:325 > 2013-05-27 11:41:50,401 WARN [network.vpc.VpcManagerImpl] > (Job-Executor-37:job-35) Failed to start vpc [VPC [4-test] due to > javax.persistence.EntityExistsException: Entity already exists: > at com.cloud.utils.db.GenericDaoBase.persist(GenericDaoBase.java:1340) > at > com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125) > at > com.cloud.network.router.VirtualNetworkApplianceManagerImpl.persist(VirtualNetworkApplianceManagerImpl.java:2982) > at > com.cloud.network.router.VirtualNetworkApplianceManagerImpl.persist(VirtualNetworkApplianceManagerImpl.java:258) > at > com.cloud.vm.VirtualMachineManagerImpl.allocate(VirtualMachineManagerImpl.java:344) > at > com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125) > at > com.cloud.vm.VirtualMachineManagerImpl.allocate(VirtualMachineManagerImpl.java:397) > at > com.cloud.network.router.VirtualNetworkApplianceManagerImpl.deployRouter(VirtualNetworkApplianceManagerImpl.java:1644) > at > com.cloud.network.router.VpcVirtualNetworkApplianceManagerImpl.deployVpcRouter(VpcVirtualNetworkApplianceManagerImpl.java:325) > at > com.cloud.network.router.VpcVirtualNetworkApplianceManagerImpl.findOrDeployVirtualRouterInVpc(VpcVirtualNetworkApplianceManagerImpl.java:225) > at > com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125) > at > com.cloud.network.router.VpcVirtualNetworkApplianceManagerImpl.deployVirtualRouterInVpc(VpcVirtualNetworkApplianceManagerImpl.java:174) > at > com.cloud.network.element.VpcVirtualRouterElement.implementVpc(VpcVirtualRouterElement.java:126) > at > com.cloud.network.vpc.VpcManagerImpl.startVpc(VpcManagerImpl.java:989) > at > com.cloud.network.vpc.VpcManagerImpl.startVpc(VpcManagerImpl.java:961) > at > org.apache.cloudstack.api.command.user.vpc.CreateVPCCmd.execute(CreateVPCCmd.java:137) > at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:155) > at > com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:437) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:679) > Caused by: > com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: > Duplicate entry '20' for key 'PRIMARY' > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:532) > at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) > at com.mysql.jdbc.Util.getInstance(Util.java:386) > at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1040) > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074) > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006) > at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468) > at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629) > at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719) > at > com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155) > at > com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2450) > at > com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2371) > at > com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2355) > at > org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) > at > org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) > at com.cloud.utils.db.GenericDaoBase.persist(GenericDaoBase.java:1305) > ... 36 more > 2013-05-27 11:41:50,409 DEBUG [network.vpc.VpcManagerImpl] > (Job-Executor-37:job-35) Destroying vpc [VPC [4-test] that failed to start > (ii) After making the VMware template type as 'USER' in the database, it > picked the XenServer template and everything went fine. > Attaching all the required -- 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