I'm wondering if the upgraded agent is treated as a new host. This was literally built fresh, new zone, added one host, upgraded to 4.2, break... Is storage plugin's initialize called every time a host connects, or should it only be called for new agents/hosts? On Sep 23, 2013 12:43 PM, "edison su (JIRA)" <j...@apache.org> wrote:
> > [ > https://issues.apache.org/jira/browse/CLOUDSTACK-4725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13775548#comment-13775548] > > edison su commented on CLOUDSTACK-4725: > --------------------------------------- > > You may need to take a look at your DB, to find out, where the duplicated > uuid coming from. > From the code:StorageManagerImpl->createLocalStorage: > StoragePoolVO pool = > _storagePoolDao.findPoolByHostPath(host.getDataCenterId(), host.getPodId(), > pInfo.getHost(), pInfo.getHostPath(), > pInfo.getUuid()); > > if (pool == null) { > create a new local storage, which cause exception as you met. > } else { > just add the existing pool > } > > It's possible, that there is a duplicated local storage with the same > uuid, but the host ip address, or pod id or datacenter id is changed? > > > KVM agent fails to join if local pool is already registered > > ----------------------------------------------------------- > > > > Key: CLOUDSTACK-4725 > > URL: > https://issues.apache.org/jira/browse/CLOUDSTACK-4725 > > Project: CloudStack > > Issue Type: Bug > > Security Level: Public(Anyone can view this level - this is the > default.) > > Components: KVM > > Affects Versions: 4.2.0 > > Reporter: Marcus Sorensen > > Assignee: edison su > > Priority: Critical > > Fix For: 4.2.1 > > > > > > "Another active pool with the same uuid already exists" > > This might be a regression, I believe we used to catch this case and/or > check libvirt to see if pool was already established and just return if it > is already there. Or maybe we only do that for non-local. > > 2013-09-22 23:42:35,265 DEBUG [agent.manager.AgentManagerImpl] > (AgentConnectTaskPool-396:null) Sending Connect to listener: > LocalStoragePoolListener > > 2013-09-22 23:42:35,266 DEBUG > [datastore.lifecycle.CloudStackPrimaryDataStoreLifeCycleImpl] > (AgentConnectTaskPool-396:null) createPool Params @ scheme - Filesystem > storageHost - 172.17.10.10 hostPath - /var/lib/libvirt/images port - -1 > > 2013-09-22 23:42:35,267 DEBUG > [datastore.lifecycle.CloudStackPrimaryDataStoreLifeCycleImpl] > (AgentConnectTaskPool-396:null) Another active pool with the same uuid > already exists > > 2013-09-22 23:42:35,267 WARN [cloud.storage.StorageManagerImpl] > (AgentConnectTaskPool-396:null) Unable to setup the local storage pool for > Host[-1-Routing] > > com.cloud.utils.exception.CloudRuntimeException: Another active pool > with the same uuid already exists > > at > org.apache.cloudstack.storage.datastore.lifecycle.CloudStackPrimaryDataStoreLifeCycleImpl.initialize(CloudStackPrimaryDataStoreLifeCycleImpl.java:319) > > at > com.cloud.storage.StorageManagerImpl.createLocalStorage(StorageManagerImpl.java:647) > > at > com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125) > > at > com.cloud.storage.LocalStoragePoolListener.processConnect(LocalStoragePoolListener.java:86) > > at > com.cloud.agent.manager.AgentManagerImpl.notifyMonitorsOfConnection(AgentManagerImpl.java:587) > > at > com.cloud.agent.manager.AgentManagerImpl.handleConnectedAgent(AgentManagerImpl.java:1085) > > at > com.cloud.agent.manager.AgentManagerImpl.access$100(AgentManagerImpl.java:144) > > at > com.cloud.agent.manager.AgentManagerImpl$HandleAgentConnectTask.run(AgentManagerImpl.java:1160) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > > at java.lang.Thread.run(Thread.java:724) > > -- > 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 >