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.

Reply via email to