diff --git a/build/build-cloud.xml b/build/build-cloud.xml
index b533db9b1b7..1ec2afb79f5 100755
--- a/build/build-cloud.xml
+++ b/build/build-cloud.xml
@@ -588,15 +588,8 @@
-
-
-
-
-
-
-
-
+
diff --git a/build/build-common.xml b/build/build-common.xml
index 1d1aa87361d..7240f5323c3 100755
--- a/build/build-common.xml
+++ b/build/build-common.xml
@@ -73,7 +73,7 @@
-
+
diff --git a/plugins/deployment-planner/user-dispersing/.classpath b/plugins/deployment-planner/user-dispersing/.classpath
new file mode 100755
index 00000000000..a246f5e509f
--- /dev/null
+++ b/plugins/deployment-planner/user-dispersing/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/deployment-planner/user-dispersing/.project b/plugins/deployment-planner/user-dispersing/.project
new file mode 100755
index 00000000000..d9b2d401aa8
--- /dev/null
+++ b/plugins/deployment-planner/user-dispersing/.project
@@ -0,0 +1,17 @@
+
+
+ user-dispersing
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/plugins/deployment-planner/user-dispersing/.settings/org.eclipse.jdt.core.prefs b/plugins/deployment-planner/user-dispersing/.settings/org.eclipse.jdt.core.prefs
new file mode 100755
index 00000000000..d0ee7df1827
--- /dev/null
+++ b/plugins/deployment-planner/user-dispersing/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Tue Jun 19 15:34:37 PDT 2012
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/plugins/deployment-planner/user-dispersing/build.xml b/plugins/deployment-planner/user-dispersing/build.xml
new file mode 100644
index 00000000000..60a1f2d5d40
--- /dev/null
+++ b/plugins/deployment-planner/user-dispersing/build.xml
@@ -0,0 +1,609 @@
+
+
+
+
+
+
+ Cloud Stack ant build file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/server/src/com/cloud/deploy/UserDispersingPlanner.java b/plugins/deployment-planner/user-dispersing/src/com/cloud/deploy/UserDispersingPlanner.java
similarity index 100%
rename from server/src/com/cloud/deploy/UserDispersingPlanner.java
rename to plugins/deployment-planner/user-dispersing/src/com/cloud/deploy/UserDispersingPlanner.java
diff --git a/ovm/.classpath b/plugins/hypervisors/ovm/.classpath
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/.classpath
rename to plugins/hypervisors/ovm/.classpath
diff --git a/ovm/.project b/plugins/hypervisors/ovm/.project
similarity index 95%
rename from ovm/.project
rename to plugins/hypervisors/ovm/.project
index 4b9d34562c4..6ef55a50063 100755
--- a/ovm/.project
+++ b/plugins/hypervisors/ovm/.project
@@ -1,23 +1,23 @@
-
-
- ovm
-
-
-
-
-
- org.python.pydev.PyDevBuilder
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
- org.python.pydev.pythonNature
-
-
+
+
+ ovm
+
+
+
+
+
+ org.python.pydev.PyDevBuilder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.python.pydev.pythonNature
+
+
diff --git a/plugins/hypervisors/ovm/build.xml b/plugins/hypervisors/ovm/build.xml
new file mode 100755
index 00000000000..e63b049ad7e
--- /dev/null
+++ b/plugins/hypervisors/ovm/build.xml
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+ Cloud Stack ant build file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ovm/scripts/vm/hypervisor/ovm/ConfigFileOps.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/ConfigFileOps.py
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/ConfigFileOps.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/ConfigFileOps.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/Fixget_storage_reposExceptionDueToWrongReturnValueCheck.patch b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/Fixget_storage_reposExceptionDueToWrongReturnValueCheck.patch
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/Fixget_storage_reposExceptionDueToWrongReturnValueCheck.patch
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/Fixget_storage_reposExceptionDueToWrongReturnValueCheck.patch
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmCommonModule.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmCommonModule.py
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmCommonModule.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmCommonModule.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmDiskModule.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmDiskModule.py
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmDiskModule.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmDiskModule.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmDispatcher.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmDispatcher.py
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmDispatcher.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmDispatcher.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmDontTouchOCFS2ClusterWhenAgentStart.patch b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmDontTouchOCFS2ClusterWhenAgentStart.patch
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmDontTouchOCFS2ClusterWhenAgentStart.patch
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmDontTouchOCFS2ClusterWhenAgentStart.patch
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmFaultConstants.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmFaultConstants.py
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmFaultConstants.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmFaultConstants.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmHaHeartBeatModule.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmHaHeartBeatModule.py
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmHaHeartBeatModule.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmHaHeartBeatModule.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmHostModule.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmHostModule.py
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmHostModule.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmHostModule.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmLoggerModule.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmLoggerModule.py
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmLoggerModule.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmLoggerModule.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmNetworkModule.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmNetworkModule.py
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmNetworkModule.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmNetworkModule.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmOCFS2Module.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmOCFS2Module.py
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmOCFS2Module.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmOCFS2Module.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmObjectModule.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmObjectModule.py
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmObjectModule.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmObjectModule.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmPatch.patch b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmPatch.patch
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmPatch.patch
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmPatch.patch
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmSecurityGroupModule.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmSecurityGroupModule.py
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmSecurityGroupModule.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmSecurityGroupModule.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmStoragePoolModule.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmStoragePoolModule.py
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmStoragePoolModule.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmStoragePoolModule.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmVifModule.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmVifModule.py
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmVifModule.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmVifModule.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmVmModule.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmVmModule.py
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmVmModule.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmVmModule.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/OvmVolumeModule.py b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmVolumeModule.py
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/OvmVolumeModule.py
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/OvmVolumeModule.py
diff --git a/ovm/scripts/vm/hypervisor/ovm/configureOvm.sh b/plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/configureOvm.sh
similarity index 100%
rename from ovm/scripts/vm/hypervisor/ovm/configureOvm.sh
rename to plugins/hypervisors/ovm/scripts/vm/hypervisor/ovm/configureOvm.sh
diff --git a/ovm/src/com/cloud/ovm/hypervisor/OvmDiscoverer.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmDiscoverer.java
similarity index 100%
rename from ovm/src/com/cloud/ovm/hypervisor/OvmDiscoverer.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmDiscoverer.java
diff --git a/ovm/src/com/cloud/ovm/hypervisor/OvmFencer.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmFencer.java
similarity index 100%
rename from ovm/src/com/cloud/ovm/hypervisor/OvmFencer.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmFencer.java
diff --git a/ovm/src/com/cloud/ovm/hypervisor/OvmGuru.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmGuru.java
similarity index 100%
rename from ovm/src/com/cloud/ovm/hypervisor/OvmGuru.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmGuru.java
diff --git a/ovm/src/com/cloud/ovm/hypervisor/OvmHelper.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmHelper.java
similarity index 100%
rename from ovm/src/com/cloud/ovm/hypervisor/OvmHelper.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmHelper.java
diff --git a/ovm/src/com/cloud/ovm/hypervisor/OvmResourceBase.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmResourceBase.java
similarity index 100%
rename from ovm/src/com/cloud/ovm/hypervisor/OvmResourceBase.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmResourceBase.java
diff --git a/ovm/src/com/cloud/ovm/object/Coder.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/object/Coder.java
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/src/com/cloud/ovm/object/Coder.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/object/Coder.java
diff --git a/ovm/src/com/cloud/ovm/object/Connection.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/object/Connection.java
similarity index 100%
rename from ovm/src/com/cloud/ovm/object/Connection.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/object/Connection.java
diff --git a/ovm/src/com/cloud/ovm/object/OvmBridge.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmBridge.java
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/src/com/cloud/ovm/object/OvmBridge.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmBridge.java
diff --git a/ovm/src/com/cloud/ovm/object/OvmDisk.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmDisk.java
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/src/com/cloud/ovm/object/OvmDisk.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmDisk.java
diff --git a/ovm/src/com/cloud/ovm/object/OvmHost.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmHost.java
similarity index 100%
rename from ovm/src/com/cloud/ovm/object/OvmHost.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmHost.java
diff --git a/ovm/src/com/cloud/ovm/object/OvmObject.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmObject.java
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/src/com/cloud/ovm/object/OvmObject.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmObject.java
diff --git a/ovm/src/com/cloud/ovm/object/OvmSecurityGroup.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmSecurityGroup.java
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/src/com/cloud/ovm/object/OvmSecurityGroup.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmSecurityGroup.java
diff --git a/ovm/src/com/cloud/ovm/object/OvmStoragePool.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmStoragePool.java
similarity index 100%
rename from ovm/src/com/cloud/ovm/object/OvmStoragePool.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmStoragePool.java
diff --git a/ovm/src/com/cloud/ovm/object/OvmVif.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmVif.java
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/src/com/cloud/ovm/object/OvmVif.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmVif.java
diff --git a/ovm/src/com/cloud/ovm/object/OvmVlan.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmVlan.java
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/src/com/cloud/ovm/object/OvmVlan.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmVlan.java
diff --git a/ovm/src/com/cloud/ovm/object/OvmVm.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmVm.java
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/src/com/cloud/ovm/object/OvmVm.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmVm.java
diff --git a/ovm/src/com/cloud/ovm/object/OvmVolume.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmVolume.java
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/src/com/cloud/ovm/object/OvmVolume.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/object/OvmVolume.java
diff --git a/ovm/src/com/cloud/ovm/object/Test.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/object/Test.java
old mode 100644
new mode 100755
similarity index 100%
rename from ovm/src/com/cloud/ovm/object/Test.java
rename to plugins/hypervisors/ovm/src/com/cloud/ovm/object/Test.java