cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajesh Battala <rajesh.batt...@citrix.com>
Subject RE: [Merge] Minimal Hyper-V Plugin
Date Mon, 02 Sep 2013 07:37:14 GMT
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.lafferty@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.

Mime
View raw message