You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Alena Prokharchyk (JIRA)" <ji...@apache.org> on 2013/06/21 23:44:19 UTC

[jira] [Commented] (CLOUDSTACK-2698) [RouterVM] In multi-cluster environment with disabled cluster fails with error "javax.persistence.EntityExistsException: Entity already exists:"

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-2698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13690755#comment-13690755 ] 

Alena Prokharchyk commented on CLOUDSTACK-2698:
-----------------------------------------------

Swamy, can you please attach management server log file. I need to know what exception had been thrown when VR failed to start on vmWare cluster.
                
> [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
>            Assignee: Alena Prokharchyk
>            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