Hi Donal, One more issue is, currently local storage is discovered when host is added. But when mgmt. server got restarted, there is an exception happening while add/discovering already existing local storage pool.
Root cause: ========== I had debugged and figured out the root cause, CS not able to find the storage pool and tries to created it but it fails to add to DB as the entry is already persisted. The reason why CS not able to get the existing localstorage is , when executing the query to get the storage pool, it's getting empty set . It's because of the storage path issue. In the db the local storage path is stored as "C:\Users\Public\Documents\Hyper-V\Virtual+Hard+Disks", ('+' symbol in place of space) In the db query its searching without "+" and with space which is causing the query to have empty set and hence the issue. I can fix the issue by removing the "+" when we are persisting the local storage pool from hyperv Exception: ========= WARN [c.c.r.ResourceManagerImpl] (AgentTaskPool-14:ctx-ddbbf089) Unable to connect due to com.cloud.exception.ConnectionException: Unable to setup the local storage pool for Host[-1-Routing] at com.cloud.storage.StorageManagerImpl.createLocalStorage(StorageManagerImpl.java:598) 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:519) at com.cloud.agent.manager.AgentManagerImpl.handleDirectConnectAgent(AgentManagerImpl.java:1414) at com.cloud.resource.ResourceManagerImpl.createHostAndAgent(ResourceManagerImpl.java:1760) at com.cloud.resource.ResourceManagerImpl.createHostAndAgent(ResourceManagerImpl.java:1922) at com.cloud.agent.manager.AgentManagerImpl$SimulateStartTask.run(AgentManagerImpl.java:1063) 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:722) Caused by: com.cloud.utils.exception.CloudRuntimeException: duplicate uuid: 35aa91ba-c95b-3fc4-91df-9c95dc31b350-HypervResource at org.apache.cloudstack.storage.volume.datastore.PrimaryDataStoreHelper.createPrimaryDataStore(PrimaryDataStoreHelper.java:66) at org.apache.cloudstack.storage.datastore.lifecycle.CloudStackPrimaryDataStoreLifeCycleImpl.initialize(CloudStackPrimaryDataStoreLifeCycleImpl.java:349) at com.cloud.storage.StorageManagerImpl.createLocalStorage(StorageManagerImpl.java:589) ... 14 more -----Original Message----- From: Donal Lafferty [mailto:donal.laffe...@citrix.com] Sent: Saturday, August 31, 2013 5:19 AM To: dev@cloudstack.apache.org Subject: [Merge] Minimal Hyper-V Plugin A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its architecture allows additional functionality to be easily added. Incorporating the plugin in CloudStack will allow the community to participate in improving the features available with Hyper-V. The plugin uses a Director Connect Agent architecture described here: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Progress This links provides details of third party libraries used by the plugin including their licenses. No source for these libraries is used, and the binaries are downloaded from their distributors at build time. No proprietary tools are required for the build. For instance, C# compiled with Mono has been tested. Therefore, the plugin has been added to the default build and the default deployment. The plugin includes unit and functional tests that can be triggered at build time. See the link above for details. The Apache header is applied to source and where feasible to build config files. The source is the https://github.com/lafferty/cloudstack/tree/hyperv_plugin Finally, the review request is at https://reviews.apache.org/r/13922/ Testing? Integration test: created zone with CIFS secondary storage, added Hyper-V host, registered templates, create/stop/start/destroy VM. Scripts for zone setup are available on request. Functional & unit tests: the Java versions are part of the build. The C# versions were run inside Visual Studio's Test Explorer.