diff --git a/core/test/com/cloud/vmware/TestVMWare.java b/core/test/com/cloud/vmware/TestVMWare.java deleted file mode 100644 index 76ecc489d7a..00000000000 --- a/core/test/com/cloud/vmware/TestVMWare.java +++ /dev/null @@ -1,1124 +0,0 @@ -package com.cloud.vmware; - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.URL; -import java.rmi.RemoteException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.net.ssl.HostnameVerifier; -import javax.net.ssl.HttpsURLConnection; -import javax.net.ssl.SSLSession; - -import org.apache.log4j.xml.DOMConfigurator; - -import com.cloud.utils.PropertiesUtil; -import com.vmware.apputils.version.ExtendedAppUtil; -import com.vmware.vim25.HostIpConfig; -import com.vmware.vim25.HostVirtualNicSpec; -import com.vmware.vim25.HostConfigManager; -import com.vmware.vim25.HostPortGroupSpec; -import com.vmware.vim25.HttpNfcLeaseDeviceUrl; -import com.vmware.vim25.HttpNfcLeaseInfo; -import com.vmware.vim25.HttpNfcLeaseState; -import com.vmware.vim25.OvfCreateImportSpecParams; -import com.vmware.vim25.OvfCreateImportSpecResult; -import com.vmware.vim25.OvfFileItem; -import com.vmware.vim25.OvfNetworkMapping; -import com.vmware.vim25.VirtualMachineConfigSpec; -import com.vmware.vim25.VirtualDeviceConfigSpecOperation; -import com.vmware.vim25.VirtualEthernetCard; -import com.vmware.vim25.VirtualEthernetCardNetworkBackingInfo; -import com.vmware.vim25.VirtualNicManagerNetConfig; -import com.vmware.vim25.VirtualPCNet32; -import com.vmware.vim25.VirtualDeviceConfigSpec; -import com.vmware.vim25.VirtualMachineCloneSpec; -import com.vmware.vim25.VirtualMachineRelocateSpec; -import com.vmware.vim25.ArrayOfManagedObjectReference; -import com.vmware.vim25.DatastoreInfo; -import com.vmware.vim25.DynamicProperty; -import com.vmware.vim25.InvalidProperty; -import com.vmware.vim25.ManagedObjectReference; -import com.vmware.vim25.ObjectContent; -import com.vmware.vim25.ObjectSpec; -import com.vmware.vim25.PropertyFilterSpec; -import com.vmware.vim25.PropertySpec; -import com.vmware.vim25.RuntimeFault; -import com.vmware.vim25.SelectionSpec; -import com.vmware.vim25.TraversalSpec; - -public class TestVMWare { - private static ExtendedAppUtil cb; - - static { - try { - javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1]; - javax.net.ssl.TrustManager tm = new TrustAllManager(); - trustAllCerts[0] = tm; - javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL"); - sc.init(null, trustAllCerts, null); - javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); - } catch (Exception e) { - } - } - - private static void setupLog4j() { - File file = PropertiesUtil.findConfigFile("log4j-cloud.xml"); - - if(file != null) { - System.out.println("Log4j configuration from : " + file.getAbsolutePath()); - DOMConfigurator.configureAndWatch(file.getAbsolutePath(), 10000); - } else { - System.out.println("Configure log4j with default properties"); - } - } - - private void getAndPrintInventoryContents() throws Exception { - TraversalSpec resourcePoolTraversalSpec = new TraversalSpec(); - resourcePoolTraversalSpec.setName("resourcePoolTraversalSpec"); - resourcePoolTraversalSpec.setType("ResourcePool"); - resourcePoolTraversalSpec.setPath("resourcePool"); - resourcePoolTraversalSpec.setSkip(new Boolean(false)); - resourcePoolTraversalSpec.setSelectSet( - new SelectionSpec [] { new SelectionSpec(null,null,"resourcePoolTraversalSpec") }); - - TraversalSpec computeResourceRpTraversalSpec = new TraversalSpec(); - computeResourceRpTraversalSpec.setName("computeResourceRpTraversalSpec"); - computeResourceRpTraversalSpec.setType("ComputeResource"); - computeResourceRpTraversalSpec.setPath("resourcePool"); - computeResourceRpTraversalSpec.setSkip(new Boolean(false)); - computeResourceRpTraversalSpec.setSelectSet( - new SelectionSpec [] { new SelectionSpec(null,null,"resourcePoolTraversalSpec") }); - - TraversalSpec computeResourceHostTraversalSpec = new TraversalSpec(); - computeResourceHostTraversalSpec.setName("computeResourceHostTraversalSpec"); - computeResourceHostTraversalSpec.setType("ComputeResource"); - computeResourceHostTraversalSpec.setPath("host"); - computeResourceHostTraversalSpec.setSkip(new Boolean(false)); - - TraversalSpec datacenterHostTraversalSpec = new TraversalSpec(); - datacenterHostTraversalSpec.setName("datacenterHostTraversalSpec"); - datacenterHostTraversalSpec.setType("Datacenter"); - datacenterHostTraversalSpec.setPath("hostFolder"); - datacenterHostTraversalSpec.setSkip(new Boolean(false)); - datacenterHostTraversalSpec.setSelectSet( - new SelectionSpec [] { new SelectionSpec(null,null,"folderTraversalSpec") }); - - TraversalSpec datacenterVmTraversalSpec = new TraversalSpec(); - datacenterVmTraversalSpec.setName("datacenterVmTraversalSpec"); - datacenterVmTraversalSpec.setType("Datacenter"); - datacenterVmTraversalSpec.setPath("vmFolder"); - datacenterVmTraversalSpec.setSkip(new Boolean(false)); - datacenterVmTraversalSpec.setSelectSet( - new SelectionSpec [] { new SelectionSpec(null,null,"folderTraversalSpec") }); - - TraversalSpec folderTraversalSpec = new TraversalSpec(); - folderTraversalSpec.setName("folderTraversalSpec"); - folderTraversalSpec.setType("Folder"); - folderTraversalSpec.setPath("childEntity"); - folderTraversalSpec.setSkip(new Boolean(false)); - folderTraversalSpec.setSelectSet( - new SelectionSpec [] { new SelectionSpec(null,null,"folderTraversalSpec"), - datacenterHostTraversalSpec, - datacenterVmTraversalSpec, - computeResourceRpTraversalSpec, - computeResourceHostTraversalSpec, - resourcePoolTraversalSpec }); - - PropertySpec[] propspecary = new PropertySpec[] { new PropertySpec() }; - propspecary[0].setAll(new Boolean(false)); - propspecary[0].setPathSet(new String[] { "name" }); - propspecary[0].setType("ManagedEntity"); - - PropertyFilterSpec spec = new PropertyFilterSpec(); - spec.setPropSet(propspecary); - spec.setObjectSet(new ObjectSpec[] { new ObjectSpec() }); - spec.getObjectSet(0).setObj(cb.getServiceConnection3().getRootFolder()); - spec.getObjectSet(0).setSkip(new Boolean(false)); - spec.getObjectSet(0).setSelectSet( - new SelectionSpec[] { folderTraversalSpec }); - - // Recursively get all ManagedEntity ManagedObjectReferences - // and the "name" property for all ManagedEntities retrieved - ObjectContent[] ocary = - cb.getServiceConnection3().getService().retrieveProperties( - cb.getServiceConnection3().getServiceContent().getPropertyCollector(), - new PropertyFilterSpec[] { spec } - ); - - // If we get contents back. print them out. - if (ocary != null) { - ObjectContent oc = null; - ManagedObjectReference mor = null; - DynamicProperty[] pcary = null; - DynamicProperty pc = null; - for (int oci = 0; oci < ocary.length; oci++) { - oc = ocary[oci]; - mor = oc.getObj(); - pcary = oc.getPropSet(); - - System.out.println("Object Type : " + mor.getType()); - System.out.println("Reference Value : " + mor.get_value()); - - if (pcary != null) { - for (int pci = 0; pci < pcary.length; pci++) { - pc = pcary[pci]; - System.out.println(" Property Name : " + pc.getName()); - if (pc != null) { - if (!pc.getVal().getClass().isArray()) { - System.out.println(" Property Value : " + pc.getVal()); - } - else { - Object[] ipcary = (Object[])pc.getVal(); - System.out.println("Val : " + pc.getVal()); - for (int ii = 0; ii < ipcary.length; ii++) { - Object oval = ipcary[ii]; - if (oval.getClass().getName().indexOf("ManagedObjectReference") >= 0) { - ManagedObjectReference imor = (ManagedObjectReference)oval; - - System.out.println("Inner Object Type : " + imor.getType()); - System.out.println("Inner Reference Value : " + imor.get_value()); - } - else { - System.out.println("Inner Property Value : " + oval); - } - } - } - } - } - } - } - } else { - System.out.println("No Managed Entities retrieved!"); - } - } - - private void listDataCenters() { - try { - ManagedObjectReference[] morDatacenters = getDataCenterMors(); - if(morDatacenters != null) { - for(ManagedObjectReference mor : morDatacenters) { - System.out.println("Datacenter : " + mor.get_value()); - - Map properites = new HashMap(); - properites.put("name", null); - properites.put("vmFolder", null); - properites.put("hostFolder", null); - - getProperites(mor, properites); - for(Map.Entry entry : properites.entrySet()) { - if(entry.getValue() instanceof ManagedObjectReference) { - ManagedObjectReference morProp = (ManagedObjectReference)entry.getValue(); - System.out.println("\t" + entry.getKey() + ":(" + morProp.getType() + ", " + morProp.get_value() + ")"); - } else { - System.out.println("\t" + entry.getKey() + ":" + entry.getValue()); - } - } - - System.out.println("Datacenter clusters"); - ManagedObjectReference[] clusters = getDataCenterClusterMors(mor); - if(clusters != null) { - for(ManagedObjectReference morCluster : clusters) { - Object[] props = this.getProperties(morCluster, new String[] {"name"}); - System.out.println("cluster : " + props[0]); - - System.out.println("cluster hosts"); - ManagedObjectReference[] hosts = getClusterHostMors(morCluster); - if(hosts != null) { - for(ManagedObjectReference morHost : hosts) { - Object[] props2 = this.getProperties(morHost, new String[] {"name"}); - System.out.println("host : " + props2[0]); - } - } - } - } - - System.out.println("Datacenter standalone hosts"); - ManagedObjectReference[] hosts = getDataCenterStandaloneHostMors(mor); - if(hosts != null) { - for(ManagedObjectReference morHost : hosts) { - Object[] props = this.getProperties(morHost, new String[] {"name"}); - System.out.println("host : " + props[0]); - } - } - - System.out.println("Datacenter datastores"); - ManagedObjectReference[] stores = getDataCenterDatastoreMors(mor); - if(stores != null) { - for(ManagedObjectReference morStore : stores) { - // data store name property does not work for some reason - Object[] props = getProperties(morStore, new String[] {"info" }); - - System.out.println(morStore.getType() + ": " + ((DatastoreInfo)props[0]).getName()); - } - } - - System.out.println("Datacenter VMs"); - ManagedObjectReference[] vms = getDataCenterVMMors(mor); - if(stores != null) { - for(ManagedObjectReference morVm : vms) { - Object[] props = this.getProperties(morVm, new String[] {"name"}); - System.out.println("VM name: " + props[0] + ", ref val: " + morVm.get_value()); - } - } - } - } - } catch(RuntimeFault e) { - e.printStackTrace(); - } catch(RemoteException e) { - e.printStackTrace(); - } - } - - private void listInventoryFolders() { - TraversalSpec folderTraversalSpec = new TraversalSpec(); - folderTraversalSpec.setName("folderTraversalSpec"); - folderTraversalSpec.setType("Folder"); - folderTraversalSpec.setPath("childEntity"); - folderTraversalSpec.setSkip(new Boolean(false)); - folderTraversalSpec.setSelectSet( - new SelectionSpec [] { new SelectionSpec(null, null, "folderTraversalSpec")} - ); - - PropertySpec[] propSpecs = new PropertySpec[] { new PropertySpec() }; - propSpecs[0].setAll(new Boolean(false)); - propSpecs[0].setPathSet(new String[] { "name" }); - propSpecs[0].setType("ManagedEntity"); - - PropertyFilterSpec filterSpec = new PropertyFilterSpec(); - filterSpec.setPropSet(propSpecs); - filterSpec.setObjectSet(new ObjectSpec[] { new ObjectSpec() }); - filterSpec.getObjectSet(0).setObj(cb.getServiceConnection3().getRootFolder()); - filterSpec.getObjectSet(0).setSkip(new Boolean(false)); - filterSpec.getObjectSet(0).setSelectSet( - new SelectionSpec[] { folderTraversalSpec } - ); - - try { - ObjectContent[] objContent = cb.getServiceConnection3().getService().retrieveProperties( - cb.getServiceConnection3().getServiceContent().getPropertyCollector(), - new PropertyFilterSpec[] { filterSpec } - ); - printContent(objContent); - } catch (InvalidProperty e) { - e.printStackTrace(); - } catch (RuntimeFault e) { - e.printStackTrace(); - } catch (RemoteException e) { - e.printStackTrace(); - } - } - - private TraversalSpec getFolderRecursiveTraversalSpec() { - SelectionSpec recurseFolders = new SelectionSpec(); - recurseFolders.setName("folder2childEntity"); - - TraversalSpec folder2childEntity = new TraversalSpec(); - folder2childEntity.setType("Folder"); - folder2childEntity.setPath("childEntity"); - folder2childEntity.setName(recurseFolders.getName()); - folder2childEntity.setSelectSet(new SelectionSpec[] { recurseFolders }); - - return folder2childEntity; - } - - private ManagedObjectReference[] getDataCenterMors() throws RuntimeFault, RemoteException { - PropertySpec pSpec = new PropertySpec(); - pSpec.setType("Datacenter"); - pSpec.setPathSet(new String[] { "name"} ); - - ObjectSpec oSpec = new ObjectSpec(); - oSpec.setObj(cb.getServiceConnection3().getRootFolder()); - oSpec.setSkip(Boolean.TRUE); - oSpec.setSelectSet(new SelectionSpec[] { getFolderRecursiveTraversalSpec() }); - - PropertyFilterSpec pfSpec = new PropertyFilterSpec(); - pfSpec.setPropSet(new PropertySpec[] { pSpec }); - pfSpec.setObjectSet(new ObjectSpec[] { oSpec }); - - ObjectContent[] ocs = cb.getServiceConnection3().getService().retrieveProperties( - cb.getServiceConnection3().getServiceContent().getPropertyCollector(), - new PropertyFilterSpec[] { pfSpec }); - - if(ocs != null) { - ManagedObjectReference[] morDatacenters = new ManagedObjectReference[ocs.length]; - for(int i = 0; i < ocs.length; i++) - morDatacenters[i] = ocs[i].getObj(); - - return morDatacenters; - } - return null; - } - - private ManagedObjectReference[] getDataCenterVMMors(ManagedObjectReference morDatacenter) throws RuntimeFault, RemoteException { - PropertySpec pSpec = new PropertySpec(); - pSpec.setType("VirtualMachine"); - pSpec.setPathSet(new String[] { "name"} ); - - ObjectSpec oSpec = new ObjectSpec(); - oSpec.setObj(morDatacenter); - oSpec.setSkip(Boolean.TRUE); - - TraversalSpec tSpec = new TraversalSpec(); - tSpec.setName("dc2VMFolder"); - tSpec.setType("Datacenter"); - tSpec.setPath("vmFolder"); - tSpec.setSelectSet(new SelectionSpec[] { getFolderRecursiveTraversalSpec() } ); - - oSpec.setSelectSet(new SelectionSpec[] { tSpec }); - - PropertyFilterSpec pfSpec = new PropertyFilterSpec(); - pfSpec.setPropSet(new PropertySpec[] { pSpec }); - pfSpec.setObjectSet(new ObjectSpec[] { oSpec }); - - ObjectContent[] ocs = cb.getServiceConnection3().getService().retrieveProperties( - cb.getServiceConnection3().getServiceContent().getPropertyCollector(), - new PropertyFilterSpec[] { pfSpec }); - - if(ocs != null) { - ManagedObjectReference[] morVMs = new ManagedObjectReference[ocs.length]; - for(int i = 0; i < ocs.length; i++) - morVMs[i] = ocs[i].getObj(); - - return morVMs; - } - return null; - } - - private ManagedObjectReference[] getDataCenterDatastoreMors(ManagedObjectReference morDatacenter) throws RuntimeFault, RemoteException { - Object[] stores = getProperties(morDatacenter, new String[] { "datastore" }); - if(stores != null && stores.length == 1) { - return ((ArrayOfManagedObjectReference)stores[0]).getManagedObjectReference(); - } - return null; - } - - private ManagedObjectReference[] getDataCenterClusterMors(ManagedObjectReference morDatacenter) throws RuntimeFault, RemoteException { - PropertySpec pSpec = new PropertySpec(); - pSpec.setType("ClusterComputeResource"); - pSpec.setPathSet(new String[] { "name"} ); - - ObjectSpec oSpec = new ObjectSpec(); - oSpec.setObj(morDatacenter); - oSpec.setSkip(Boolean.TRUE); - - TraversalSpec tSpec = new TraversalSpec(); - tSpec.setName("traversalHostFolder"); - tSpec.setType("Datacenter"); - tSpec.setPath("hostFolder"); - tSpec.setSkip(false); - tSpec.setSelectSet(new SelectionSpec[] { getFolderRecursiveTraversalSpec() }); - - oSpec.setSelectSet(new TraversalSpec[] { tSpec }); - - PropertyFilterSpec pfSpec = new PropertyFilterSpec(); - pfSpec.setPropSet(new PropertySpec[] { pSpec }); - pfSpec.setObjectSet(new ObjectSpec[] { oSpec }); - - ObjectContent[] ocs = cb.getServiceConnection3().getService().retrieveProperties( - cb.getServiceConnection3().getServiceContent().getPropertyCollector(), - new PropertyFilterSpec[] { pfSpec }); - - if(ocs != null) { - ManagedObjectReference[] morDatacenters = new ManagedObjectReference[ocs.length]; - for(int i = 0; i < ocs.length; i++) - morDatacenters[i] = ocs[i].getObj(); - - return morDatacenters; - } - return null; - } - - private ManagedObjectReference[] getDataCenterStandaloneHostMors(ManagedObjectReference morDatacenter) throws RuntimeFault, RemoteException { - PropertySpec pSpec = new PropertySpec(); - pSpec.setType("ComputeResource"); - pSpec.setPathSet(new String[] { "name"} ); - - ObjectSpec oSpec = new ObjectSpec(); - oSpec.setObj(morDatacenter); - oSpec.setSkip(Boolean.TRUE); - - TraversalSpec tSpec = new TraversalSpec(); - tSpec.setName("traversalHostFolder"); - tSpec.setType("Datacenter"); - tSpec.setPath("hostFolder"); - tSpec.setSkip(false); - tSpec.setSelectSet(new SelectionSpec[] { getFolderRecursiveTraversalSpec() }); - - oSpec.setSelectSet(new TraversalSpec[] { tSpec }); - - PropertyFilterSpec pfSpec = new PropertyFilterSpec(); - pfSpec.setPropSet(new PropertySpec[] { pSpec }); - pfSpec.setObjectSet(new ObjectSpec[] { oSpec }); - - ObjectContent[] ocs = cb.getServiceConnection3().getService().retrieveProperties( - cb.getServiceConnection3().getServiceContent().getPropertyCollector(), - new PropertyFilterSpec[] { pfSpec }); - - if(ocs != null) { - List listComputeResources = new ArrayList(); - for(ObjectContent oc : ocs) { - if(oc.getObj().getType().equalsIgnoreCase("ComputeResource")) - listComputeResources.add(oc.getObj()); - } - - List listHosts = new ArrayList(); - for(ManagedObjectReference morComputeResource : listComputeResources) { - ManagedObjectReference[] hosts = getComputeResourceHostMors(morComputeResource); - if(hosts != null) { - for(ManagedObjectReference host: hosts) - listHosts.add(host); - } - } - - return listHosts.toArray(new ManagedObjectReference[0]); - } - return null; - } - - private ManagedObjectReference[] getComputeResourceHostMors(ManagedObjectReference morCompute) throws RuntimeFault, RemoteException { - PropertySpec pSpec = new PropertySpec(); - pSpec.setType("HostSystem"); - pSpec.setPathSet(new String[] { "name"} ); - - ObjectSpec oSpec = new ObjectSpec(); - oSpec.setObj(morCompute); - oSpec.setSkip(true); - - TraversalSpec tSpec = new TraversalSpec(); - tSpec.setName("computeResource2Host"); - tSpec.setType("ComputeResource"); - tSpec.setPath("host"); - tSpec.setSkip(false); - oSpec.setSelectSet(new TraversalSpec[] { tSpec }); - - PropertyFilterSpec pfSpec = new PropertyFilterSpec(); - pfSpec.setPropSet(new PropertySpec[] { pSpec }); - pfSpec.setObjectSet(new ObjectSpec[] { oSpec }); - - ObjectContent[] ocs = cb.getServiceConnection3().getService().retrieveProperties( - cb.getServiceConnection3().getServiceContent().getPropertyCollector(), - new PropertyFilterSpec[] { pfSpec }); - - if(ocs != null) { - ManagedObjectReference[] morDatacenters = new ManagedObjectReference[ocs.length]; - for(int i = 0; i < ocs.length; i++) - morDatacenters[i] = ocs[i].getObj(); - - return morDatacenters; - } - return null; - } - - private ManagedObjectReference[] getClusterHostMors(ManagedObjectReference morCluster) throws RuntimeFault, RemoteException { - // ClusterComputeResource inherits from ComputeResource - return getComputeResourceHostMors(morCluster); - } - - private ObjectContent[] getDataCenterProperites(String[] properites) throws RuntimeFault, RemoteException { - PropertySpec pSpec = new PropertySpec(); - pSpec.setType("Datacenter"); - pSpec.setPathSet(properites ); - - SelectionSpec recurseFolders = new SelectionSpec(); - recurseFolders.setName("folder2childEntity"); - - TraversalSpec folder2childEntity = new TraversalSpec(); - folder2childEntity.setType("Folder"); - folder2childEntity.setPath("childEntity"); - folder2childEntity.setName(recurseFolders.getName()); - folder2childEntity.setSelectSet(new SelectionSpec[] { recurseFolders }); - - ObjectSpec oSpec = new ObjectSpec(); - oSpec.setObj(cb.getServiceConnection3().getRootFolder()); - oSpec.setSkip(Boolean.TRUE); - oSpec.setSelectSet(new SelectionSpec[] { folder2childEntity }); - - PropertyFilterSpec pfSpec = new PropertyFilterSpec(); - pfSpec.setPropSet(new PropertySpec[] { pSpec }); - pfSpec.setObjectSet(new ObjectSpec[] { oSpec }); - - return cb.getServiceConnection3().getService().retrieveProperties( - cb.getServiceConnection3().getServiceContent().getPropertyCollector(), - new PropertyFilterSpec[] { pfSpec }); - } - - private void printContent(ObjectContent[] objContent) { - if(objContent != null) { - for(ObjectContent oc : objContent) { - ManagedObjectReference mor = oc.getObj(); - DynamicProperty[] objProps = oc.getPropSet(); - - System.out.println("Object type: " + mor.getType()); - if(objProps != null) { - for(DynamicProperty objProp : objProps) { - if(!objProp.getClass().isArray()) { - System.out.println("\t" + objProp.getName() + "=" + objProp.getVal()); - } else { - Object[] ipcary = (Object[])objProp.getVal(); - System.out.print("\t" + objProp.getName() + "=["); - int i = 0; - for(Object item : ipcary) { - if (item.getClass().getName().indexOf("ManagedObjectReference") >= 0) { - ManagedObjectReference imor = (ManagedObjectReference)item; - System.out.print("(" + imor.getType() + "," + imor.get_value() + ")"); - } else { - System.out.print(item); - } - - if(i < ipcary.length - 1) - System.out.print(", "); - i++; - } - - System.out.println("]"); - } - } - } - } - } - } - - private void getProperites(ManagedObjectReference mor, Map properties) throws RuntimeFault, RemoteException { - PropertySpec pSpec = new PropertySpec(); - pSpec.setType(mor.getType()); - pSpec.setPathSet(properties.keySet().toArray(new String[0])); - - ObjectSpec oSpec = new ObjectSpec(); - oSpec.setObj(mor); - - PropertyFilterSpec pfSpec = new PropertyFilterSpec(); - pfSpec.setPropSet(new PropertySpec[] {pSpec} ); - pfSpec.setObjectSet(new ObjectSpec[] {oSpec} ); - - ObjectContent[] ocs = cb.getServiceConnection3().getService().retrieveProperties( - cb.getServiceConnection3().getServiceContent().getPropertyCollector(), - new PropertyFilterSpec[] {pfSpec} ); - - if(ocs != null) { - for(ObjectContent oc : ocs) { - DynamicProperty[] propSet = oc.getPropSet(); - if(propSet != null) { - for(DynamicProperty prop : propSet) { - properties.put(prop.getName(), prop.getVal()); - } - } - } - } - } - - private Object[] getProperties(ManagedObjectReference moRef, String[] properties) throws RuntimeFault, RemoteException { - PropertySpec pSpec = new PropertySpec(); - pSpec.setType(moRef.getType()); - pSpec.setPathSet(properties); - - ObjectSpec oSpec = new ObjectSpec(); - // Set the starting object - oSpec.setObj(moRef); - - PropertyFilterSpec pfSpec = new PropertyFilterSpec(); - pfSpec.setPropSet(new PropertySpec[] {pSpec} ); - pfSpec.setObjectSet(new ObjectSpec[] {oSpec} ); - ObjectContent[] ocs = cb.getServiceConnection3().getService().retrieveProperties( - cb.getServiceConnection3().getServiceContent().getPropertyCollector(), - new PropertyFilterSpec[] {pfSpec} ); - - Object[] ret = new Object[properties.length]; - if(ocs != null) { - for(int i = 0; i< ocs.length; ++i) { - ObjectContent oc = ocs[i]; - DynamicProperty[] dps = oc.getPropSet(); - if(dps != null) { - for(int j = 0; j < dps.length; ++j) { - DynamicProperty dp = dps[j]; - for(int p = 0; p < ret.length; ++p) { - if(properties[p].equals(dp.getName())) { - ret[p] = dp.getVal(); - } - } - } - } - } - } - return ret; - } - - private void powerOnVm() throws Exception { - ManagedObjectReference morVm = new ManagedObjectReference(); - morVm.setType("VirtualMachine"); - morVm.set_value("vm-480"); - - cb.getServiceConnection3().getService().powerOnVM_Task(morVm, null); - } - - private void powerOffVm() throws Exception { - ManagedObjectReference morVm = new ManagedObjectReference(); - morVm.setType("VirtualMachine"); - morVm.set_value("vm-66"); - - cb.getServiceConnection3().getService().powerOffVM_Task(morVm); - } - - private void createSnapshot() throws Exception { - ManagedObjectReference morVm = new ManagedObjectReference(); - morVm.setType("VirtualMachine"); - morVm.set_value("vm-66"); - cb.getServiceConnection3().getService().createSnapshot_Task(morVm, "RunningSnapshotProg", "", false, false); - } - - private void registerTemplate() throws Exception { - ManagedObjectReference morFolder = new ManagedObjectReference(); - morFolder.setType("Folder"); - morFolder.set_value("group-v3"); - - ManagedObjectReference morHost = new ManagedObjectReference(); - morHost.setType("HostSystem"); - morHost.set_value("host-48"); - - System.out.println("Begin registerVM_Task"); - ManagedObjectReference taskmor = cb.getServiceConnection3().getService().registerVM_Task( - morFolder, "[NFS datastore] Template-Fedora/Template-Fedora.vmtx", "Template-Fedora", true, - null, morHost); - System.out.println("End registerVM_Task"); - - String result = cb.getServiceUtil3().waitForTask(taskmor); - if (result.equalsIgnoreCase("Sucess")) { - System.out.println("Registering The Virtual Machine ..........Done"); - } else { - System.out.println("Some Exception While Registering The VM"); - } - } - - private void createVmFromTemplate() throws Exception { - VirtualMachineCloneSpec cloneSpec = new VirtualMachineCloneSpec(); - - ManagedObjectReference morDatastore = new ManagedObjectReference(); - morDatastore.setType("Datastore"); - morDatastore.set_value("datastore-30"); - - ManagedObjectReference morHost = new ManagedObjectReference(); - morHost.setType("HostSystem"); - morHost.set_value("host-48"); - - ManagedObjectReference morPool = new ManagedObjectReference(); - morPool.setType("ResourcePool"); - morPool.set_value("resgroup-41"); - - VirtualMachineRelocateSpec relocSpec = new VirtualMachineRelocateSpec(); - cloneSpec.setLocation(relocSpec); - cloneSpec.setPowerOn(false); - cloneSpec.setTemplate(false); - - relocSpec.setDatastore(morDatastore); - relocSpec.setHost(morHost); - relocSpec.setPool(morPool); - - ManagedObjectReference morTemplate = new ManagedObjectReference(); - morTemplate.setType("VirtualMachine"); - morTemplate.set_value("vm-76"); - - ManagedObjectReference morFolder = new ManagedObjectReference(); - morFolder.setType("Folder"); - morFolder.set_value("group-v3"); - - ManagedObjectReference cloneTask - = cb.getServiceConnection3().getService().cloneVM_Task(morTemplate, morFolder, - "Fedora-clone-test", cloneSpec); - - String status = cb.getServiceUtil3().waitForTask(cloneTask); - if(status.equalsIgnoreCase("failure")) { - System.out.println("Failure -: Virtual Machine cannot be cloned"); - } - - if(status.equalsIgnoreCase("sucess")) { - System.out.println("Virtual Machine Cloned successfully."); - } - } - - private void addNic() throws Exception { - ManagedObjectReference morVm = new ManagedObjectReference(); - morVm.setType("VirtualMachine"); - morVm.set_value("vm-77"); - - ManagedObjectReference morNetwork = new ManagedObjectReference(); - morNetwork.setType("DistributedVirtualPortgroup"); - morNetwork.set_value("dvportgroup-56"); - - VirtualDeviceConfigSpec nicSpec = new VirtualDeviceConfigSpec(); - nicSpec.setOperation(VirtualDeviceConfigSpecOperation.add); - VirtualEthernetCard nic = new VirtualPCNet32(); - VirtualEthernetCardNetworkBackingInfo nicBacking - = new VirtualEthernetCardNetworkBackingInfo(); - nicBacking.setDeviceName("Adapter to dSwitch-vlan26"); - nicBacking.setNetwork(morNetwork); - - nic.setAddressType("generated"); - nic.setBacking(nicBacking); - nic.setKey(4); - nicSpec.setDevice(nic); - - VirtualMachineConfigSpec vmConfigSpec = new VirtualMachineConfigSpec(); - VirtualDeviceConfigSpec [] nicSpecArray = {nicSpec}; - vmConfigSpec.setDeviceChange(nicSpecArray); - - ManagedObjectReference tmor - = cb.getServiceConnection3().getService().reconfigVM_Task( - morVm, vmConfigSpec); - - String status = cb.getServiceUtil3().waitForTask(tmor); - if(status.equalsIgnoreCase("failure")) { - System.out.println("Failure -: Virtual Machine cannot be cloned"); - } - - if(status.equalsIgnoreCase("sucess")) { - System.out.println("Virtual Machine Cloned successfully."); - } - } - - // add virtual NIC to vmkernel - private void addNicToNetwork() throws Exception { - ManagedObjectReference morHost = new ManagedObjectReference(); - morHost.setType("HostSystem"); - morHost.set_value("host-48"); - - HostPortGroupSpec portgrp = new HostPortGroupSpec(); - portgrp.setName("VM Network vlan26"); - - Object cmobj = cb.getServiceUtil3().getDynamicProperty(morHost, "configManager"); - HostConfigManager configMgr = (HostConfigManager)cmobj; - ManagedObjectReference nwSystem = configMgr.getNetworkSystem(); - - HostVirtualNicSpec vNicSpec = new HostVirtualNicSpec(); - HostIpConfig ipConfig = new HostIpConfig(); - ipConfig.setDhcp(false); - ipConfig.setIpAddress("192.168.26.177"); - ipConfig.setSubnetMask("255.255.255.0"); - - vNicSpec.setIp(ipConfig); - vNicSpec.setPortgroup("VM Network vlan26"); - - cb.getServiceConnection3().getService().addVirtualNic(nwSystem, - "dvPortGroup-vlan26", vNicSpec); - } - - private void createDatacenter() throws Exception { - cb.getServiceConnection3().getService().createDatacenter( - cb.getServiceConnection3().getRootFolder(), - "cloud.dc.test"); - } - - private void getPropertyWithPath() throws Exception { - ManagedObjectReference morHost = new ManagedObjectReference(); - morHost.setType("HostSystem"); - morHost.set_value("host-161"); - - VirtualNicManagerNetConfig[] netConfigs = (VirtualNicManagerNetConfig[])cb.getServiceUtil3().getDynamicProperty(morHost, "config.virtualNicManagerInfo.netConfig"); - } - - private void getHostVMs() throws Exception { - ManagedObjectReference morHost = new ManagedObjectReference(); - morHost.setType("HostSystem"); - morHost.set_value("host-48"); - - PropertySpec pSpec = new PropertySpec(); - pSpec.setType("VirtualMachine"); - pSpec.setPathSet(new String[] { "name", "runtime.powerState", "config.template" }); - - TraversalSpec host2VmTraversal = new TraversalSpec(); - host2VmTraversal.setType("HostSystem"); - host2VmTraversal.setPath("vm"); - host2VmTraversal.setName("host2VmTraversal"); - - ObjectSpec oSpec = new ObjectSpec(); - oSpec.setObj(morHost); - oSpec.setSkip(Boolean.TRUE); - oSpec.setSelectSet(new SelectionSpec[] { host2VmTraversal }); - - PropertyFilterSpec pfSpec = new PropertyFilterSpec(); - pfSpec.setPropSet(new PropertySpec[] { pSpec }); - pfSpec.setObjectSet(new ObjectSpec[] { oSpec }); - - ObjectContent[] ocs = cb.getServiceConnection3().getService().retrieveProperties( - cb.getServiceConnection3().getServiceContent().getPropertyCollector(), - new PropertyFilterSpec[] { pfSpec }); - this.printContent(ocs); - } - - private void testFT() throws Exception { - - ManagedObjectReference morVm = new ManagedObjectReference(); - morVm.setType("VirtualMachine"); - morVm.set_value("vm-480"); - - ManagedObjectReference morHost = new ManagedObjectReference(); - morHost.setType("HostSystem"); - morHost.set_value("host-470"); - - System.out.println("Create secondary VM"); - ManagedObjectReference morTask = cb.getServiceConnection3().getService().createSecondaryVM_Task(morVm, morHost); - String result = cb.getServiceUtil3().waitForTask(morTask); - - System.out.println("Create secondary VM resutl : " + result); - } - - private void testFTEnable() throws Exception { - ManagedObjectReference morVm = new ManagedObjectReference(); - morVm.setType("VirtualMachine"); - morVm.set_value("vm-480"); - - ManagedObjectReference morHost = new ManagedObjectReference(); - morHost.setType("HostSystem"); - morHost.set_value("host-470"); - - ManagedObjectReference morSecondaryVm = new ManagedObjectReference(); - morSecondaryVm.setType("VirtualMachine"); - morSecondaryVm.set_value("vm-485"); - - System.out.println("Enable FT"); - ManagedObjectReference morTask = cb.getServiceConnection3().getService().enableSecondaryVM_Task(morVm, - morSecondaryVm, morHost); - String result = cb.getServiceUtil3().waitForTask(morTask); - - System.out.println("Enable FT resutl : " + result); - } - - private void importOVF() throws Exception { - ManagedObjectReference morHost = new ManagedObjectReference(); - morHost.setType("HostSystem"); - morHost.set_value("host-223"); - - ManagedObjectReference morRp = new ManagedObjectReference(); - morRp.setType("ResourcePool"); - morRp.set_value("resgroup-222"); - - ManagedObjectReference morDs = new ManagedObjectReference(); - morDs.setType("Datastore"); - morDs.set_value("datastore-30"); - - ManagedObjectReference morVmFolder = new ManagedObjectReference(); - morVmFolder.setType("Folder"); - morVmFolder.set_value("group-v3"); - - ManagedObjectReference morNetwork = new ManagedObjectReference(); - morNetwork.setType("Network"); - morNetwork.set_value("network-32"); - - ManagedObjectReference morOvf = cb.getServiceConnection3().getServiceContent().getOvfManager(); - - OvfCreateImportSpecParams importSpecParams = new OvfCreateImportSpecParams(); - importSpecParams.setHostSystem(morHost); - importSpecParams.setLocale("US"); - importSpecParams.setEntityName("winxpsp3-ovf-deployed"); - importSpecParams.setDeploymentOption(""); - importSpecParams.setDiskProvisioning("thin"); - -/* - OvfNetworkMapping networkMapping = new OvfNetworkMapping(); - networkMapping.setName("VM Network"); - networkMapping.setNetwork(morNetwork); // network); - importSpecParams.setNetworkMapping(new OvfNetworkMapping[] { networkMapping }); -*/ - importSpecParams.setPropertyMapping(null); - - String ovfDescriptor = readOvfContent("C:\\research\\vmware\\winxpsp3-ovf\\winxpsp3-ovf.ovf"); - OvfCreateImportSpecResult ovfImportResult = cb.getServiceConnection3().getService().createImportSpec( - morOvf, ovfDescriptor, morRp, morDs, importSpecParams); - - if(ovfImportResult != null) { - long totalBytes = addTotalBytes(ovfImportResult); - - ManagedObjectReference morLease = cb.getServiceConnection3().getService().importVApp(morRp, - ovfImportResult.getImportSpec(), morVmFolder, morHost); - - HttpNfcLeaseState state; - for(;;) { - state = (HttpNfcLeaseState)cb.getServiceUtil3().getDynamicProperty(morLease, "state"); - if(state == HttpNfcLeaseState.ready || state == HttpNfcLeaseState.error) - break; - } - - if(state == HttpNfcLeaseState.ready) { - HttpNfcLeaseInfo httpNfcLeaseInfo = (HttpNfcLeaseInfo)cb.getServiceUtil3().getDynamicProperty(morLease, "info"); - HttpNfcLeaseDeviceUrl[] deviceUrls = httpNfcLeaseInfo.getDeviceUrl(); - long bytesAlreadyWritten = 0; - for (HttpNfcLeaseDeviceUrl deviceUrl : deviceUrls) { - - String deviceKey = deviceUrl.getImportKey(); - for (OvfFileItem ovfFileItem : ovfImportResult.getFileItem()) { - if (deviceKey.equals(ovfFileItem.getDeviceId())) { - System.out.println("Import key==OvfFileItem device id: " + deviceKey); - System.out.println("device URL: " + deviceUrl.getUrl()); - - String absoluteFile = "C:\\research\\vmware\\winxpsp3-ovf\\" + ovfFileItem.getPath(); - String urlToPost = deviceUrl.getUrl().replace("*", "esxhost-1.lab.vmops.com"); - - uploadVmdkFile(ovfFileItem.isCreate(), absoluteFile, urlToPost, bytesAlreadyWritten, totalBytes); - bytesAlreadyWritten += ovfFileItem.getSize(); - System.out.println("Completed uploading the VMDK file:" + absoluteFile); - } - } - } - cb.getServiceConnection3().getService().httpNfcLeaseProgress(morLease, 100); - cb.getServiceConnection3().getService().httpNfcLeaseComplete(morLease); - } - } - } - - private static void uploadVmdkFile(boolean put, String diskFilePath, String urlStr, long bytesAlreadyWritten, long totalBytes) throws IOException { - HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() { - public boolean verify(String urlHostName, SSLSession session) { - return true; - } - }); - - HttpsURLConnection conn = (HttpsURLConnection) new URL(urlStr).openConnection(); - - conn.setDoOutput(true); - conn.setUseCaches(false); - - int CHUCK_LEN = 64*1024; - conn.setChunkedStreamingMode(CHUCK_LEN); - conn.setRequestMethod(put? "PUT" : "POST"); // Use a post method to write the file. - conn.setRequestProperty("Connection", "Keep-Alive"); - conn.setRequestProperty("Content-Type", "application/x-vnd.vmware-streamVmdk"); - conn.setRequestProperty("Content-Length", Long.toString(new File(diskFilePath).length())); - BufferedOutputStream bos = new BufferedOutputStream(conn.getOutputStream()); - BufferedInputStream diskis = new BufferedInputStream(new FileInputStream(diskFilePath)); - int bytesAvailable = diskis.available(); - int bufferSize = Math.min(bytesAvailable, CHUCK_LEN); - byte[] buffer = new byte[bufferSize]; - long totalBytesWritten = 0; - while (true) { - int bytesRead = diskis.read(buffer, 0, bufferSize); - if (bytesRead == -1) - { - System.out.println("Total bytes written: " + totalBytesWritten); - break; - } - totalBytesWritten += bytesRead; - bos.write(buffer, 0, bufferSize); - bos.flush(); - System.out.println("Total bytes written: " + totalBytesWritten); - -/* - int progressPercent = (int) (((bytesAlreadyWritten + totalBytesWritten) * 100) / totalBytes); - leaseUpdater.setPercent(progressPercent); -*/ - } - diskis.close(); - bos.flush(); - bos.close(); - conn.disconnect(); - } - - public static long addTotalBytes(OvfCreateImportSpecResult ovfImportResult) { - OvfFileItem[] fileItemArr = ovfImportResult.getFileItem(); - long totalBytes = 0; - if (fileItemArr != null) { - for (OvfFileItem fi : fileItemArr) { - printOvfFileItem(fi); - totalBytes += fi.getSize(); - } - } - return totalBytes; - } - - private static void printOvfFileItem(OvfFileItem fi) { - System.out.println("================ OvfFileItem ================"); - System.out.println("chunkSize: " + fi.getChunkSize()); - System.out.println("create: " + fi.isCreate()); - System.out.println("deviceId: " + fi.getDeviceId()); - System.out.println("path: " + fi.getPath()); - System.out.println("size: " + fi.getSize()); - System.out.println("=============================================="); - } - - public static String readOvfContent(String ovfFilePath) throws IOException { - StringBuffer strContent = new StringBuffer(); - BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(ovfFilePath))); - String lineStr; - while ((lineStr = in.readLine()) != null) { - strContent.append(lineStr); - } - - in.close(); - return strContent.toString(); - } - - public static String escapeSpecialChars(String str) { - str = str.replaceAll("<", "<"); - return str.replaceAll(">", ">"); // do not escape "&" -> "&", "\"" -> """ - } - - public static void main(String[] args) throws Exception { - setupLog4j(); - TestVMWare client = new TestVMWare(); - - // skip certificate check - System.setProperty("axis.socketSecureFactory", "org.apache.axis.components.net.SunFakeTrustSocketFactory"); - - String serviceUrl = "https://" + args[0] + "/sdk/vimService"; - - try { - String[] params = new String[] {"--url", serviceUrl, "--username", args[1], "--password", args[2] }; - - cb = ExtendedAppUtil.initialize("Connect", params); - cb.connect(); - System.out.println("Connection Succesful."); - - // client.listInventoryFolders(); - // client.listDataCenters(); - // client.powerOnVm(); - // client.createSnapshot(); - // client.registerTemplate(); - // client.createVmFromTemplate(); - // client.addNic(); - // client.addNicToNetwork(); - - // client.createDatacenter(); - // client.getPropertyWithPath(); - // client.getHostVMs(); - // client.testFT(); - // client.testFTEnable(); - - client.importOVF(); - - cb.disConnect(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public static class TrustAllManager implements javax.net.ssl.TrustManager, javax.net.ssl.X509TrustManager { - - public java.security.cert.X509Certificate[] getAcceptedIssuers() { - return null; - } - - public boolean isServerTrusted(java.security.cert.X509Certificate[] certs) { - return true; - } - - public boolean isClientTrusted(java.security.cert.X509Certificate[] certs) { - return true; - } - - public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) - throws java.security.cert.CertificateException { - return; - } - public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) - throws java.security.cert.CertificateException { - return; - } - } -} - diff --git a/core/src/com/cloud/alert/dao/AlertDao.java b/server/src/com/cloud/alert/dao/AlertDao.java similarity index 100% rename from core/src/com/cloud/alert/dao/AlertDao.java rename to server/src/com/cloud/alert/dao/AlertDao.java diff --git a/core/src/com/cloud/alert/dao/AlertDaoImpl.java b/server/src/com/cloud/alert/dao/AlertDaoImpl.java similarity index 100% rename from core/src/com/cloud/alert/dao/AlertDaoImpl.java rename to server/src/com/cloud/alert/dao/AlertDaoImpl.java diff --git a/core/src/com/cloud/async/dao/SyncQueueDao.java b/server/src/com/cloud/async/dao/SyncQueueDao.java similarity index 100% rename from core/src/com/cloud/async/dao/SyncQueueDao.java rename to server/src/com/cloud/async/dao/SyncQueueDao.java diff --git a/core/src/com/cloud/async/dao/SyncQueueDaoImpl.java b/server/src/com/cloud/async/dao/SyncQueueDaoImpl.java similarity index 100% rename from core/src/com/cloud/async/dao/SyncQueueDaoImpl.java rename to server/src/com/cloud/async/dao/SyncQueueDaoImpl.java diff --git a/core/src/com/cloud/async/dao/SyncQueueItemDao.java b/server/src/com/cloud/async/dao/SyncQueueItemDao.java similarity index 100% rename from core/src/com/cloud/async/dao/SyncQueueItemDao.java rename to server/src/com/cloud/async/dao/SyncQueueItemDao.java diff --git a/core/src/com/cloud/async/dao/SyncQueueItemDaoImpl.java b/server/src/com/cloud/async/dao/SyncQueueItemDaoImpl.java similarity index 100% rename from core/src/com/cloud/async/dao/SyncQueueItemDaoImpl.java rename to server/src/com/cloud/async/dao/SyncQueueItemDaoImpl.java diff --git a/core/src/com/cloud/capacity/dao/CapacityDao.java b/server/src/com/cloud/capacity/dao/CapacityDao.java similarity index 100% rename from core/src/com/cloud/capacity/dao/CapacityDao.java rename to server/src/com/cloud/capacity/dao/CapacityDao.java diff --git a/core/src/com/cloud/capacity/dao/CapacityDaoImpl.java b/server/src/com/cloud/capacity/dao/CapacityDaoImpl.java similarity index 100% rename from core/src/com/cloud/capacity/dao/CapacityDaoImpl.java rename to server/src/com/cloud/capacity/dao/CapacityDaoImpl.java diff --git a/core/src/com/cloud/certificate/dao/CertificateDao.java b/server/src/com/cloud/certificate/dao/CertificateDao.java similarity index 100% rename from core/src/com/cloud/certificate/dao/CertificateDao.java rename to server/src/com/cloud/certificate/dao/CertificateDao.java diff --git a/core/src/com/cloud/certificate/dao/CertificateDaoImpl.java b/server/src/com/cloud/certificate/dao/CertificateDaoImpl.java similarity index 100% rename from core/src/com/cloud/certificate/dao/CertificateDaoImpl.java rename to server/src/com/cloud/certificate/dao/CertificateDaoImpl.java diff --git a/core/src/com/cloud/cluster/ClusterManager.java b/server/src/com/cloud/cluster/ClusterManager.java similarity index 100% rename from core/src/com/cloud/cluster/ClusterManager.java rename to server/src/com/cloud/cluster/ClusterManager.java diff --git a/core/src/com/cloud/cluster/ClusterManagerListener.java b/server/src/com/cloud/cluster/ClusterManagerListener.java similarity index 100% rename from core/src/com/cloud/cluster/ClusterManagerListener.java rename to server/src/com/cloud/cluster/ClusterManagerListener.java diff --git a/core/src/com/cloud/cluster/ClusterNodeJoinEventArgs.java b/server/src/com/cloud/cluster/ClusterNodeJoinEventArgs.java similarity index 100% rename from core/src/com/cloud/cluster/ClusterNodeJoinEventArgs.java rename to server/src/com/cloud/cluster/ClusterNodeJoinEventArgs.java diff --git a/core/src/com/cloud/cluster/ClusterNodeLeftEventArgs.java b/server/src/com/cloud/cluster/ClusterNodeLeftEventArgs.java similarity index 100% rename from core/src/com/cloud/cluster/ClusterNodeLeftEventArgs.java rename to server/src/com/cloud/cluster/ClusterNodeLeftEventArgs.java diff --git a/core/src/com/cloud/cluster/ClusterService.java b/server/src/com/cloud/cluster/ClusterService.java similarity index 100% rename from core/src/com/cloud/cluster/ClusterService.java rename to server/src/com/cloud/cluster/ClusterService.java diff --git a/core/src/com/cloud/cluster/ManagementServerHostVO.java b/server/src/com/cloud/cluster/ManagementServerHostVO.java similarity index 100% rename from core/src/com/cloud/cluster/ManagementServerHostVO.java rename to server/src/com/cloud/cluster/ManagementServerHostVO.java diff --git a/core/src/com/cloud/cluster/RemoteMethodConstants.java b/server/src/com/cloud/cluster/RemoteMethodConstants.java similarity index 100% rename from core/src/com/cloud/cluster/RemoteMethodConstants.java rename to server/src/com/cloud/cluster/RemoteMethodConstants.java diff --git a/core/src/com/cloud/cluster/dao/ManagementServerHostDao.java b/server/src/com/cloud/cluster/dao/ManagementServerHostDao.java similarity index 100% rename from core/src/com/cloud/cluster/dao/ManagementServerHostDao.java rename to server/src/com/cloud/cluster/dao/ManagementServerHostDao.java diff --git a/core/src/com/cloud/cluster/dao/ManagementServerHostDaoImpl.java b/server/src/com/cloud/cluster/dao/ManagementServerHostDaoImpl.java similarity index 100% rename from core/src/com/cloud/cluster/dao/ManagementServerHostDaoImpl.java rename to server/src/com/cloud/cluster/dao/ManagementServerHostDaoImpl.java diff --git a/core/src/com/cloud/configuration/dao/ConfigurationDao.java b/server/src/com/cloud/configuration/dao/ConfigurationDao.java similarity index 100% rename from core/src/com/cloud/configuration/dao/ConfigurationDao.java rename to server/src/com/cloud/configuration/dao/ConfigurationDao.java diff --git a/core/src/com/cloud/configuration/dao/ConfigurationDaoImpl.java b/server/src/com/cloud/configuration/dao/ConfigurationDaoImpl.java similarity index 100% rename from core/src/com/cloud/configuration/dao/ConfigurationDaoImpl.java rename to server/src/com/cloud/configuration/dao/ConfigurationDaoImpl.java diff --git a/core/src/com/cloud/configuration/dao/ResourceCountDao.java b/server/src/com/cloud/configuration/dao/ResourceCountDao.java similarity index 100% rename from core/src/com/cloud/configuration/dao/ResourceCountDao.java rename to server/src/com/cloud/configuration/dao/ResourceCountDao.java diff --git a/core/src/com/cloud/configuration/dao/ResourceCountDaoImpl.java b/server/src/com/cloud/configuration/dao/ResourceCountDaoImpl.java similarity index 100% rename from core/src/com/cloud/configuration/dao/ResourceCountDaoImpl.java rename to server/src/com/cloud/configuration/dao/ResourceCountDaoImpl.java diff --git a/core/src/com/cloud/configuration/dao/ResourceLimitDao.java b/server/src/com/cloud/configuration/dao/ResourceLimitDao.java similarity index 100% rename from core/src/com/cloud/configuration/dao/ResourceLimitDao.java rename to server/src/com/cloud/configuration/dao/ResourceLimitDao.java diff --git a/core/src/com/cloud/configuration/dao/ResourceLimitDaoImpl.java b/server/src/com/cloud/configuration/dao/ResourceLimitDaoImpl.java similarity index 100% rename from core/src/com/cloud/configuration/dao/ResourceLimitDaoImpl.java rename to server/src/com/cloud/configuration/dao/ResourceLimitDaoImpl.java diff --git a/core/src/com/cloud/dc/AccountVlanMapVO.java b/server/src/com/cloud/dc/AccountVlanMapVO.java similarity index 100% rename from core/src/com/cloud/dc/AccountVlanMapVO.java rename to server/src/com/cloud/dc/AccountVlanMapVO.java diff --git a/core/src/com/cloud/dc/ClusterVO.java b/server/src/com/cloud/dc/ClusterVO.java similarity index 100% rename from core/src/com/cloud/dc/ClusterVO.java rename to server/src/com/cloud/dc/ClusterVO.java diff --git a/core/src/com/cloud/dc/DataCenterIpAddressVO.java b/server/src/com/cloud/dc/DataCenterIpAddressVO.java similarity index 100% rename from core/src/com/cloud/dc/DataCenterIpAddressVO.java rename to server/src/com/cloud/dc/DataCenterIpAddressVO.java diff --git a/core/src/com/cloud/dc/DataCenterLinkLocalIpAddressVO.java b/server/src/com/cloud/dc/DataCenterLinkLocalIpAddressVO.java similarity index 100% rename from core/src/com/cloud/dc/DataCenterLinkLocalIpAddressVO.java rename to server/src/com/cloud/dc/DataCenterLinkLocalIpAddressVO.java diff --git a/core/src/com/cloud/dc/DataCenterVO.java b/server/src/com/cloud/dc/DataCenterVO.java similarity index 100% rename from core/src/com/cloud/dc/DataCenterVO.java rename to server/src/com/cloud/dc/DataCenterVO.java diff --git a/core/src/com/cloud/dc/DataCenterVnetVO.java b/server/src/com/cloud/dc/DataCenterVnetVO.java similarity index 100% rename from core/src/com/cloud/dc/DataCenterVnetVO.java rename to server/src/com/cloud/dc/DataCenterVnetVO.java diff --git a/core/src/com/cloud/dc/HostPodVO.java b/server/src/com/cloud/dc/HostPodVO.java similarity index 100% rename from core/src/com/cloud/dc/HostPodVO.java rename to server/src/com/cloud/dc/HostPodVO.java diff --git a/core/src/com/cloud/dc/PodCluster.java b/server/src/com/cloud/dc/PodCluster.java similarity index 100% rename from core/src/com/cloud/dc/PodCluster.java rename to server/src/com/cloud/dc/PodCluster.java diff --git a/core/src/com/cloud/dc/PodVlanMapVO.java b/server/src/com/cloud/dc/PodVlanMapVO.java similarity index 100% rename from core/src/com/cloud/dc/PodVlanMapVO.java rename to server/src/com/cloud/dc/PodVlanMapVO.java diff --git a/core/src/com/cloud/dc/PodVlanVO.java b/server/src/com/cloud/dc/PodVlanVO.java similarity index 100% rename from core/src/com/cloud/dc/PodVlanVO.java rename to server/src/com/cloud/dc/PodVlanVO.java diff --git a/core/src/com/cloud/dc/VlanVO.java b/server/src/com/cloud/dc/VlanVO.java similarity index 100% rename from core/src/com/cloud/dc/VlanVO.java rename to server/src/com/cloud/dc/VlanVO.java diff --git a/core/src/com/cloud/dc/dao/AccountVlanMapDao.java b/server/src/com/cloud/dc/dao/AccountVlanMapDao.java similarity index 100% rename from core/src/com/cloud/dc/dao/AccountVlanMapDao.java rename to server/src/com/cloud/dc/dao/AccountVlanMapDao.java diff --git a/core/src/com/cloud/dc/dao/AccountVlanMapDaoImpl.java b/server/src/com/cloud/dc/dao/AccountVlanMapDaoImpl.java similarity index 100% rename from core/src/com/cloud/dc/dao/AccountVlanMapDaoImpl.java rename to server/src/com/cloud/dc/dao/AccountVlanMapDaoImpl.java diff --git a/core/src/com/cloud/dc/dao/ClusterDao.java b/server/src/com/cloud/dc/dao/ClusterDao.java similarity index 100% rename from core/src/com/cloud/dc/dao/ClusterDao.java rename to server/src/com/cloud/dc/dao/ClusterDao.java diff --git a/core/src/com/cloud/dc/dao/ClusterDaoImpl.java b/server/src/com/cloud/dc/dao/ClusterDaoImpl.java similarity index 100% rename from core/src/com/cloud/dc/dao/ClusterDaoImpl.java rename to server/src/com/cloud/dc/dao/ClusterDaoImpl.java diff --git a/core/src/com/cloud/dc/dao/DataCenterDao.java b/server/src/com/cloud/dc/dao/DataCenterDao.java similarity index 100% rename from core/src/com/cloud/dc/dao/DataCenterDao.java rename to server/src/com/cloud/dc/dao/DataCenterDao.java diff --git a/core/src/com/cloud/dc/dao/DataCenterDaoImpl.java b/server/src/com/cloud/dc/dao/DataCenterDaoImpl.java similarity index 100% rename from core/src/com/cloud/dc/dao/DataCenterDaoImpl.java rename to server/src/com/cloud/dc/dao/DataCenterDaoImpl.java diff --git a/core/src/com/cloud/dc/dao/DataCenterIpAddressDao.java b/server/src/com/cloud/dc/dao/DataCenterIpAddressDao.java similarity index 100% rename from core/src/com/cloud/dc/dao/DataCenterIpAddressDao.java rename to server/src/com/cloud/dc/dao/DataCenterIpAddressDao.java diff --git a/core/src/com/cloud/dc/dao/DataCenterIpAddressDaoImpl.java b/server/src/com/cloud/dc/dao/DataCenterIpAddressDaoImpl.java similarity index 100% rename from core/src/com/cloud/dc/dao/DataCenterIpAddressDaoImpl.java rename to server/src/com/cloud/dc/dao/DataCenterIpAddressDaoImpl.java diff --git a/core/src/com/cloud/dc/dao/DataCenterLinkLocalIpAddressDaoImpl.java b/server/src/com/cloud/dc/dao/DataCenterLinkLocalIpAddressDaoImpl.java similarity index 100% rename from core/src/com/cloud/dc/dao/DataCenterLinkLocalIpAddressDaoImpl.java rename to server/src/com/cloud/dc/dao/DataCenterLinkLocalIpAddressDaoImpl.java diff --git a/core/src/com/cloud/dc/dao/DataCenterVnetDaoImpl.java b/server/src/com/cloud/dc/dao/DataCenterVnetDaoImpl.java similarity index 100% rename from core/src/com/cloud/dc/dao/DataCenterVnetDaoImpl.java rename to server/src/com/cloud/dc/dao/DataCenterVnetDaoImpl.java diff --git a/core/src/com/cloud/dc/dao/HostPodDao.java b/server/src/com/cloud/dc/dao/HostPodDao.java similarity index 100% rename from core/src/com/cloud/dc/dao/HostPodDao.java rename to server/src/com/cloud/dc/dao/HostPodDao.java diff --git a/core/src/com/cloud/dc/dao/HostPodDaoImpl.java b/server/src/com/cloud/dc/dao/HostPodDaoImpl.java similarity index 100% rename from core/src/com/cloud/dc/dao/HostPodDaoImpl.java rename to server/src/com/cloud/dc/dao/HostPodDaoImpl.java diff --git a/core/src/com/cloud/dc/dao/PodVlanDaoImpl.java b/server/src/com/cloud/dc/dao/PodVlanDaoImpl.java similarity index 100% rename from core/src/com/cloud/dc/dao/PodVlanDaoImpl.java rename to server/src/com/cloud/dc/dao/PodVlanDaoImpl.java diff --git a/core/src/com/cloud/dc/dao/PodVlanMapDao.java b/server/src/com/cloud/dc/dao/PodVlanMapDao.java similarity index 100% rename from core/src/com/cloud/dc/dao/PodVlanMapDao.java rename to server/src/com/cloud/dc/dao/PodVlanMapDao.java diff --git a/core/src/com/cloud/dc/dao/PodVlanMapDaoImpl.java b/server/src/com/cloud/dc/dao/PodVlanMapDaoImpl.java similarity index 100% rename from core/src/com/cloud/dc/dao/PodVlanMapDaoImpl.java rename to server/src/com/cloud/dc/dao/PodVlanMapDaoImpl.java diff --git a/core/src/com/cloud/dc/dao/VlanDao.java b/server/src/com/cloud/dc/dao/VlanDao.java similarity index 100% rename from core/src/com/cloud/dc/dao/VlanDao.java rename to server/src/com/cloud/dc/dao/VlanDao.java diff --git a/core/src/com/cloud/dc/dao/VlanDaoImpl.java b/server/src/com/cloud/dc/dao/VlanDaoImpl.java similarity index 100% rename from core/src/com/cloud/dc/dao/VlanDaoImpl.java rename to server/src/com/cloud/dc/dao/VlanDaoImpl.java diff --git a/core/src/com/cloud/domain/DomainVO.java b/server/src/com/cloud/domain/DomainVO.java similarity index 100% rename from core/src/com/cloud/domain/DomainVO.java rename to server/src/com/cloud/domain/DomainVO.java diff --git a/core/src/com/cloud/domain/dao/DomainDao.java b/server/src/com/cloud/domain/dao/DomainDao.java similarity index 100% rename from core/src/com/cloud/domain/dao/DomainDao.java rename to server/src/com/cloud/domain/dao/DomainDao.java diff --git a/core/src/com/cloud/domain/dao/DomainDaoImpl.java b/server/src/com/cloud/domain/dao/DomainDaoImpl.java similarity index 100% rename from core/src/com/cloud/domain/dao/DomainDaoImpl.java rename to server/src/com/cloud/domain/dao/DomainDaoImpl.java diff --git a/core/src/com/cloud/ha/FenceBuilder.java b/server/src/com/cloud/ha/FenceBuilder.java similarity index 100% rename from core/src/com/cloud/ha/FenceBuilder.java rename to server/src/com/cloud/ha/FenceBuilder.java diff --git a/core/src/com/cloud/ha/HaWorkVO.java b/server/src/com/cloud/ha/HaWorkVO.java similarity index 100% rename from core/src/com/cloud/ha/HaWorkVO.java rename to server/src/com/cloud/ha/HaWorkVO.java diff --git a/core/src/com/cloud/ha/HighAvailabilityManager.java b/server/src/com/cloud/ha/HighAvailabilityManager.java similarity index 100% rename from core/src/com/cloud/ha/HighAvailabilityManager.java rename to server/src/com/cloud/ha/HighAvailabilityManager.java diff --git a/core/src/com/cloud/ha/Investigator.java b/server/src/com/cloud/ha/Investigator.java similarity index 100% rename from core/src/com/cloud/ha/Investigator.java rename to server/src/com/cloud/ha/Investigator.java diff --git a/core/src/com/cloud/ha/dao/HighAvailabilityDao.java b/server/src/com/cloud/ha/dao/HighAvailabilityDao.java similarity index 100% rename from core/src/com/cloud/ha/dao/HighAvailabilityDao.java rename to server/src/com/cloud/ha/dao/HighAvailabilityDao.java diff --git a/core/src/com/cloud/ha/dao/HighAvailabilityDaoImpl.java b/server/src/com/cloud/ha/dao/HighAvailabilityDaoImpl.java similarity index 100% rename from core/src/com/cloud/ha/dao/HighAvailabilityDaoImpl.java rename to server/src/com/cloud/ha/dao/HighAvailabilityDaoImpl.java diff --git a/core/src/com/cloud/host/dao/DetailsDao.java b/server/src/com/cloud/host/dao/DetailsDao.java similarity index 100% rename from core/src/com/cloud/host/dao/DetailsDao.java rename to server/src/com/cloud/host/dao/DetailsDao.java diff --git a/core/src/com/cloud/host/dao/DetailsDaoImpl.java b/server/src/com/cloud/host/dao/DetailsDaoImpl.java similarity index 100% rename from core/src/com/cloud/host/dao/DetailsDaoImpl.java rename to server/src/com/cloud/host/dao/DetailsDaoImpl.java diff --git a/core/src/com/cloud/host/dao/HostDao.java b/server/src/com/cloud/host/dao/HostDao.java similarity index 100% rename from core/src/com/cloud/host/dao/HostDao.java rename to server/src/com/cloud/host/dao/HostDao.java diff --git a/core/src/com/cloud/host/dao/HostDaoImpl.java b/server/src/com/cloud/host/dao/HostDaoImpl.java similarity index 100% rename from core/src/com/cloud/host/dao/HostDaoImpl.java rename to server/src/com/cloud/host/dao/HostDaoImpl.java diff --git a/core/src/com/cloud/maid/StackMaid.java b/server/src/com/cloud/maid/StackMaid.java similarity index 100% rename from core/src/com/cloud/maid/StackMaid.java rename to server/src/com/cloud/maid/StackMaid.java diff --git a/core/src/com/cloud/maid/StackMaidVO.java b/server/src/com/cloud/maid/StackMaidVO.java similarity index 100% rename from core/src/com/cloud/maid/StackMaidVO.java rename to server/src/com/cloud/maid/StackMaidVO.java diff --git a/core/src/com/cloud/maid/dao/StackMaidDao.java b/server/src/com/cloud/maid/dao/StackMaidDao.java similarity index 100% rename from core/src/com/cloud/maid/dao/StackMaidDao.java rename to server/src/com/cloud/maid/dao/StackMaidDao.java diff --git a/core/src/com/cloud/maid/dao/StackMaidDaoImpl.java b/server/src/com/cloud/maid/dao/StackMaidDaoImpl.java similarity index 100% rename from core/src/com/cloud/maid/dao/StackMaidDaoImpl.java rename to server/src/com/cloud/maid/dao/StackMaidDaoImpl.java diff --git a/core/src/com/cloud/network/ExteralIpAddressAllocator.java b/server/src/com/cloud/network/ExteralIpAddressAllocator.java similarity index 100% rename from core/src/com/cloud/network/ExteralIpAddressAllocator.java rename to server/src/com/cloud/network/ExteralIpAddressAllocator.java diff --git a/core/src/com/cloud/network/HAProxyConfigurator.java b/server/src/com/cloud/network/HAProxyConfigurator.java similarity index 100% rename from core/src/com/cloud/network/HAProxyConfigurator.java rename to server/src/com/cloud/network/HAProxyConfigurator.java diff --git a/core/src/com/cloud/network/IPAddressVO.java b/server/src/com/cloud/network/IPAddressVO.java similarity index 100% rename from core/src/com/cloud/network/IPAddressVO.java rename to server/src/com/cloud/network/IPAddressVO.java diff --git a/core/src/com/cloud/network/IpAddrAllocator.java b/server/src/com/cloud/network/IpAddrAllocator.java similarity index 100% rename from core/src/com/cloud/network/IpAddrAllocator.java rename to server/src/com/cloud/network/IpAddrAllocator.java diff --git a/core/src/com/cloud/network/LoadBalancerVMMapVO.java b/server/src/com/cloud/network/LoadBalancerVMMapVO.java similarity index 100% rename from core/src/com/cloud/network/LoadBalancerVMMapVO.java rename to server/src/com/cloud/network/LoadBalancerVMMapVO.java diff --git a/core/src/com/cloud/network/LoadBalancerVO.java b/server/src/com/cloud/network/LoadBalancerVO.java similarity index 100% rename from core/src/com/cloud/network/LoadBalancerVO.java rename to server/src/com/cloud/network/LoadBalancerVO.java diff --git a/core/src/com/cloud/network/NetworkRuleConfigVO.java b/server/src/com/cloud/network/NetworkRuleConfigVO.java similarity index 100% rename from core/src/com/cloud/network/NetworkRuleConfigVO.java rename to server/src/com/cloud/network/NetworkRuleConfigVO.java diff --git a/core/src/com/cloud/network/RemoteAccessVpnVO.java b/server/src/com/cloud/network/RemoteAccessVpnVO.java similarity index 100% rename from core/src/com/cloud/network/RemoteAccessVpnVO.java rename to server/src/com/cloud/network/RemoteAccessVpnVO.java diff --git a/core/src/com/cloud/network/dao/FirewallRulesDao.java b/server/src/com/cloud/network/dao/FirewallRulesDao.java similarity index 100% rename from core/src/com/cloud/network/dao/FirewallRulesDao.java rename to server/src/com/cloud/network/dao/FirewallRulesDao.java diff --git a/core/src/com/cloud/network/dao/FirewallRulesDaoImpl.java b/server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java similarity index 100% rename from core/src/com/cloud/network/dao/FirewallRulesDaoImpl.java rename to server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java diff --git a/core/src/com/cloud/network/dao/IPAddressDao.java b/server/src/com/cloud/network/dao/IPAddressDao.java similarity index 100% rename from core/src/com/cloud/network/dao/IPAddressDao.java rename to server/src/com/cloud/network/dao/IPAddressDao.java diff --git a/core/src/com/cloud/network/dao/IPAddressDaoImpl.java b/server/src/com/cloud/network/dao/IPAddressDaoImpl.java similarity index 100% rename from core/src/com/cloud/network/dao/IPAddressDaoImpl.java rename to server/src/com/cloud/network/dao/IPAddressDaoImpl.java diff --git a/core/src/com/cloud/network/dao/LoadBalancerDao.java b/server/src/com/cloud/network/dao/LoadBalancerDao.java similarity index 100% rename from core/src/com/cloud/network/dao/LoadBalancerDao.java rename to server/src/com/cloud/network/dao/LoadBalancerDao.java diff --git a/core/src/com/cloud/network/dao/LoadBalancerDaoImpl.java b/server/src/com/cloud/network/dao/LoadBalancerDaoImpl.java similarity index 100% rename from core/src/com/cloud/network/dao/LoadBalancerDaoImpl.java rename to server/src/com/cloud/network/dao/LoadBalancerDaoImpl.java diff --git a/core/src/com/cloud/network/dao/LoadBalancerVMMapDao.java b/server/src/com/cloud/network/dao/LoadBalancerVMMapDao.java similarity index 100% rename from core/src/com/cloud/network/dao/LoadBalancerVMMapDao.java rename to server/src/com/cloud/network/dao/LoadBalancerVMMapDao.java diff --git a/core/src/com/cloud/network/dao/LoadBalancerVMMapDaoImpl.java b/server/src/com/cloud/network/dao/LoadBalancerVMMapDaoImpl.java similarity index 100% rename from core/src/com/cloud/network/dao/LoadBalancerVMMapDaoImpl.java rename to server/src/com/cloud/network/dao/LoadBalancerVMMapDaoImpl.java diff --git a/core/src/com/cloud/network/dao/NetworkRuleConfigDao.java b/server/src/com/cloud/network/dao/NetworkRuleConfigDao.java similarity index 100% rename from core/src/com/cloud/network/dao/NetworkRuleConfigDao.java rename to server/src/com/cloud/network/dao/NetworkRuleConfigDao.java diff --git a/core/src/com/cloud/network/dao/NetworkRuleConfigDaoImpl.java b/server/src/com/cloud/network/dao/NetworkRuleConfigDaoImpl.java similarity index 100% rename from core/src/com/cloud/network/dao/NetworkRuleConfigDaoImpl.java rename to server/src/com/cloud/network/dao/NetworkRuleConfigDaoImpl.java diff --git a/core/src/com/cloud/network/dao/RemoteAccessVpnDao.java b/server/src/com/cloud/network/dao/RemoteAccessVpnDao.java similarity index 100% rename from core/src/com/cloud/network/dao/RemoteAccessVpnDao.java rename to server/src/com/cloud/network/dao/RemoteAccessVpnDao.java diff --git a/core/src/com/cloud/network/dao/RemoteAccessVpnDaoImpl.java b/server/src/com/cloud/network/dao/RemoteAccessVpnDaoImpl.java similarity index 100% rename from core/src/com/cloud/network/dao/RemoteAccessVpnDaoImpl.java rename to server/src/com/cloud/network/dao/RemoteAccessVpnDaoImpl.java diff --git a/core/src/com/cloud/network/dao/VpnUserDao.java b/server/src/com/cloud/network/dao/VpnUserDao.java similarity index 100% rename from core/src/com/cloud/network/dao/VpnUserDao.java rename to server/src/com/cloud/network/dao/VpnUserDao.java diff --git a/core/src/com/cloud/network/dao/VpnUserDaoImpl.java b/server/src/com/cloud/network/dao/VpnUserDaoImpl.java similarity index 100% rename from core/src/com/cloud/network/dao/VpnUserDaoImpl.java rename to server/src/com/cloud/network/dao/VpnUserDaoImpl.java diff --git a/core/src/com/cloud/network/security/dao/IngressRuleDao.java b/server/src/com/cloud/network/security/dao/IngressRuleDao.java similarity index 100% rename from core/src/com/cloud/network/security/dao/IngressRuleDao.java rename to server/src/com/cloud/network/security/dao/IngressRuleDao.java diff --git a/core/src/com/cloud/network/security/dao/IngressRuleDaoImpl.java b/server/src/com/cloud/network/security/dao/IngressRuleDaoImpl.java similarity index 100% rename from core/src/com/cloud/network/security/dao/IngressRuleDaoImpl.java rename to server/src/com/cloud/network/security/dao/IngressRuleDaoImpl.java diff --git a/core/src/com/cloud/network/security/dao/NetworkGroupDao.java b/server/src/com/cloud/network/security/dao/NetworkGroupDao.java similarity index 100% rename from core/src/com/cloud/network/security/dao/NetworkGroupDao.java rename to server/src/com/cloud/network/security/dao/NetworkGroupDao.java diff --git a/core/src/com/cloud/network/security/dao/NetworkGroupDaoImpl.java b/server/src/com/cloud/network/security/dao/NetworkGroupDaoImpl.java similarity index 100% rename from core/src/com/cloud/network/security/dao/NetworkGroupDaoImpl.java rename to server/src/com/cloud/network/security/dao/NetworkGroupDaoImpl.java diff --git a/core/src/com/cloud/network/security/dao/NetworkGroupRulesDao.java b/server/src/com/cloud/network/security/dao/NetworkGroupRulesDao.java similarity index 100% rename from core/src/com/cloud/network/security/dao/NetworkGroupRulesDao.java rename to server/src/com/cloud/network/security/dao/NetworkGroupRulesDao.java diff --git a/core/src/com/cloud/network/security/dao/NetworkGroupRulesDaoImpl.java b/server/src/com/cloud/network/security/dao/NetworkGroupRulesDaoImpl.java similarity index 100% rename from core/src/com/cloud/network/security/dao/NetworkGroupRulesDaoImpl.java rename to server/src/com/cloud/network/security/dao/NetworkGroupRulesDaoImpl.java diff --git a/core/src/com/cloud/network/security/dao/NetworkGroupVMMapDao.java b/server/src/com/cloud/network/security/dao/NetworkGroupVMMapDao.java similarity index 100% rename from core/src/com/cloud/network/security/dao/NetworkGroupVMMapDao.java rename to server/src/com/cloud/network/security/dao/NetworkGroupVMMapDao.java diff --git a/core/src/com/cloud/network/security/dao/NetworkGroupVMMapDaoImpl.java b/server/src/com/cloud/network/security/dao/NetworkGroupVMMapDaoImpl.java similarity index 100% rename from core/src/com/cloud/network/security/dao/NetworkGroupVMMapDaoImpl.java rename to server/src/com/cloud/network/security/dao/NetworkGroupVMMapDaoImpl.java diff --git a/core/src/com/cloud/network/security/dao/NetworkGroupWorkDao.java b/server/src/com/cloud/network/security/dao/NetworkGroupWorkDao.java similarity index 100% rename from core/src/com/cloud/network/security/dao/NetworkGroupWorkDao.java rename to server/src/com/cloud/network/security/dao/NetworkGroupWorkDao.java diff --git a/core/src/com/cloud/network/security/dao/NetworkGroupWorkDaoImpl.java b/server/src/com/cloud/network/security/dao/NetworkGroupWorkDaoImpl.java similarity index 100% rename from core/src/com/cloud/network/security/dao/NetworkGroupWorkDaoImpl.java rename to server/src/com/cloud/network/security/dao/NetworkGroupWorkDaoImpl.java diff --git a/core/src/com/cloud/network/security/dao/VmRulesetLogDao.java b/server/src/com/cloud/network/security/dao/VmRulesetLogDao.java similarity index 100% rename from core/src/com/cloud/network/security/dao/VmRulesetLogDao.java rename to server/src/com/cloud/network/security/dao/VmRulesetLogDao.java diff --git a/core/src/com/cloud/network/security/dao/VmRulesetLogDaoImpl.java b/server/src/com/cloud/network/security/dao/VmRulesetLogDaoImpl.java similarity index 100% rename from core/src/com/cloud/network/security/dao/VmRulesetLogDaoImpl.java rename to server/src/com/cloud/network/security/dao/VmRulesetLogDaoImpl.java diff --git a/core/src/com/cloud/offerings/NetworkOfferingVO.java b/server/src/com/cloud/offerings/NetworkOfferingVO.java similarity index 100% rename from core/src/com/cloud/offerings/NetworkOfferingVO.java rename to server/src/com/cloud/offerings/NetworkOfferingVO.java diff --git a/core/src/com/cloud/server/Criteria.java b/server/src/com/cloud/server/Criteria.java similarity index 100% rename from core/src/com/cloud/server/Criteria.java rename to server/src/com/cloud/server/Criteria.java diff --git a/core/src/com/cloud/service/ServiceOfferingVO.java b/server/src/com/cloud/service/ServiceOfferingVO.java similarity index 100% rename from core/src/com/cloud/service/ServiceOfferingVO.java rename to server/src/com/cloud/service/ServiceOfferingVO.java diff --git a/core/src/com/cloud/service/dao/ServiceOfferingDao.java b/server/src/com/cloud/service/dao/ServiceOfferingDao.java similarity index 100% rename from core/src/com/cloud/service/dao/ServiceOfferingDao.java rename to server/src/com/cloud/service/dao/ServiceOfferingDao.java diff --git a/core/src/com/cloud/service/dao/ServiceOfferingDaoImpl.java b/server/src/com/cloud/service/dao/ServiceOfferingDaoImpl.java similarity index 100% rename from core/src/com/cloud/service/dao/ServiceOfferingDaoImpl.java rename to server/src/com/cloud/service/dao/ServiceOfferingDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/DiskOfferingDao.java b/server/src/com/cloud/storage/dao/DiskOfferingDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/DiskOfferingDao.java rename to server/src/com/cloud/storage/dao/DiskOfferingDao.java diff --git a/core/src/com/cloud/storage/dao/DiskOfferingDaoImpl.java b/server/src/com/cloud/storage/dao/DiskOfferingDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/DiskOfferingDaoImpl.java rename to server/src/com/cloud/storage/dao/DiskOfferingDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/GuestOSCategoryDao.java b/server/src/com/cloud/storage/dao/GuestOSCategoryDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/GuestOSCategoryDao.java rename to server/src/com/cloud/storage/dao/GuestOSCategoryDao.java diff --git a/core/src/com/cloud/storage/dao/GuestOSCategoryDaoImpl.java b/server/src/com/cloud/storage/dao/GuestOSCategoryDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/GuestOSCategoryDaoImpl.java rename to server/src/com/cloud/storage/dao/GuestOSCategoryDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/GuestOSDao.java b/server/src/com/cloud/storage/dao/GuestOSDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/GuestOSDao.java rename to server/src/com/cloud/storage/dao/GuestOSDao.java diff --git a/core/src/com/cloud/storage/dao/GuestOSDaoImpl.java b/server/src/com/cloud/storage/dao/GuestOSDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/GuestOSDaoImpl.java rename to server/src/com/cloud/storage/dao/GuestOSDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/LaunchPermissionDao.java b/server/src/com/cloud/storage/dao/LaunchPermissionDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/LaunchPermissionDao.java rename to server/src/com/cloud/storage/dao/LaunchPermissionDao.java diff --git a/core/src/com/cloud/storage/dao/LaunchPermissionDaoImpl.java b/server/src/com/cloud/storage/dao/LaunchPermissionDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/LaunchPermissionDaoImpl.java rename to server/src/com/cloud/storage/dao/LaunchPermissionDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/SnapshotDao.java b/server/src/com/cloud/storage/dao/SnapshotDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/SnapshotDao.java rename to server/src/com/cloud/storage/dao/SnapshotDao.java diff --git a/core/src/com/cloud/storage/dao/SnapshotDaoImpl.java b/server/src/com/cloud/storage/dao/SnapshotDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/SnapshotDaoImpl.java rename to server/src/com/cloud/storage/dao/SnapshotDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/SnapshotPolicyDao.java b/server/src/com/cloud/storage/dao/SnapshotPolicyDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/SnapshotPolicyDao.java rename to server/src/com/cloud/storage/dao/SnapshotPolicyDao.java diff --git a/core/src/com/cloud/storage/dao/SnapshotPolicyDaoImpl.java b/server/src/com/cloud/storage/dao/SnapshotPolicyDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/SnapshotPolicyDaoImpl.java rename to server/src/com/cloud/storage/dao/SnapshotPolicyDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/SnapshotScheduleDao.java b/server/src/com/cloud/storage/dao/SnapshotScheduleDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/SnapshotScheduleDao.java rename to server/src/com/cloud/storage/dao/SnapshotScheduleDao.java diff --git a/core/src/com/cloud/storage/dao/SnapshotScheduleDaoImpl.java b/server/src/com/cloud/storage/dao/SnapshotScheduleDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/SnapshotScheduleDaoImpl.java rename to server/src/com/cloud/storage/dao/SnapshotScheduleDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/StoragePoolDao.java b/server/src/com/cloud/storage/dao/StoragePoolDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/StoragePoolDao.java rename to server/src/com/cloud/storage/dao/StoragePoolDao.java diff --git a/core/src/com/cloud/storage/dao/StoragePoolDaoImpl.java b/server/src/com/cloud/storage/dao/StoragePoolDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/StoragePoolDaoImpl.java rename to server/src/com/cloud/storage/dao/StoragePoolDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/StoragePoolDetailsDao.java b/server/src/com/cloud/storage/dao/StoragePoolDetailsDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/StoragePoolDetailsDao.java rename to server/src/com/cloud/storage/dao/StoragePoolDetailsDao.java diff --git a/core/src/com/cloud/storage/dao/StoragePoolDetailsDaoImpl.java b/server/src/com/cloud/storage/dao/StoragePoolDetailsDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/StoragePoolDetailsDaoImpl.java rename to server/src/com/cloud/storage/dao/StoragePoolDetailsDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/StoragePoolHostDao.java b/server/src/com/cloud/storage/dao/StoragePoolHostDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/StoragePoolHostDao.java rename to server/src/com/cloud/storage/dao/StoragePoolHostDao.java diff --git a/core/src/com/cloud/storage/dao/StoragePoolHostDaoImpl.java b/server/src/com/cloud/storage/dao/StoragePoolHostDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/StoragePoolHostDaoImpl.java rename to server/src/com/cloud/storage/dao/StoragePoolHostDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/UploadDao.java b/server/src/com/cloud/storage/dao/UploadDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/UploadDao.java rename to server/src/com/cloud/storage/dao/UploadDao.java diff --git a/core/src/com/cloud/storage/dao/UploadDaoImpl.java b/server/src/com/cloud/storage/dao/UploadDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/UploadDaoImpl.java rename to server/src/com/cloud/storage/dao/UploadDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/VMTemplateDao.java b/server/src/com/cloud/storage/dao/VMTemplateDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/VMTemplateDao.java rename to server/src/com/cloud/storage/dao/VMTemplateDao.java diff --git a/core/src/com/cloud/storage/dao/VMTemplateDaoImpl.java b/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/VMTemplateDaoImpl.java rename to server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/VMTemplateHostDao.java b/server/src/com/cloud/storage/dao/VMTemplateHostDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/VMTemplateHostDao.java rename to server/src/com/cloud/storage/dao/VMTemplateHostDao.java diff --git a/core/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java b/server/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java rename to server/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/VMTemplatePoolDao.java b/server/src/com/cloud/storage/dao/VMTemplatePoolDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/VMTemplatePoolDao.java rename to server/src/com/cloud/storage/dao/VMTemplatePoolDao.java diff --git a/core/src/com/cloud/storage/dao/VMTemplatePoolDaoImpl.java b/server/src/com/cloud/storage/dao/VMTemplatePoolDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/VMTemplatePoolDaoImpl.java rename to server/src/com/cloud/storage/dao/VMTemplatePoolDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/VMTemplateZoneDao.java b/server/src/com/cloud/storage/dao/VMTemplateZoneDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/VMTemplateZoneDao.java rename to server/src/com/cloud/storage/dao/VMTemplateZoneDao.java diff --git a/core/src/com/cloud/storage/dao/VMTemplateZoneDaoImpl.java b/server/src/com/cloud/storage/dao/VMTemplateZoneDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/VMTemplateZoneDaoImpl.java rename to server/src/com/cloud/storage/dao/VMTemplateZoneDaoImpl.java diff --git a/core/src/com/cloud/storage/dao/VolumeDao.java b/server/src/com/cloud/storage/dao/VolumeDao.java similarity index 100% rename from core/src/com/cloud/storage/dao/VolumeDao.java rename to server/src/com/cloud/storage/dao/VolumeDao.java diff --git a/core/src/com/cloud/storage/dao/VolumeDaoImpl.java b/server/src/com/cloud/storage/dao/VolumeDaoImpl.java similarity index 100% rename from core/src/com/cloud/storage/dao/VolumeDaoImpl.java rename to server/src/com/cloud/storage/dao/VolumeDaoImpl.java diff --git a/core/src/com/cloud/storage/resource/DummySecondaryStorageResource.java b/server/src/com/cloud/storage/resource/DummySecondaryStorageResource.java similarity index 100% rename from core/src/com/cloud/storage/resource/DummySecondaryStorageResource.java rename to server/src/com/cloud/storage/resource/DummySecondaryStorageResource.java diff --git a/core/src/com/cloud/storage/secondary/SecStorageVmAlertEventArgs.java b/server/src/com/cloud/storage/secondary/SecStorageVmAlertEventArgs.java similarity index 100% rename from core/src/com/cloud/storage/secondary/SecStorageVmAlertEventArgs.java rename to server/src/com/cloud/storage/secondary/SecStorageVmAlertEventArgs.java diff --git a/core/src/com/cloud/storage/secondary/SecondaryStorageVmAllocator.java b/server/src/com/cloud/storage/secondary/SecondaryStorageVmAllocator.java similarity index 100% rename from core/src/com/cloud/storage/secondary/SecondaryStorageVmAllocator.java rename to server/src/com/cloud/storage/secondary/SecondaryStorageVmAllocator.java diff --git a/core/src/com/cloud/storage/secondary/SecondaryStorageVmManager.java b/server/src/com/cloud/storage/secondary/SecondaryStorageVmManager.java similarity index 100% rename from core/src/com/cloud/storage/secondary/SecondaryStorageVmManager.java rename to server/src/com/cloud/storage/secondary/SecondaryStorageVmManager.java diff --git a/core/src/com/cloud/user/dao/AccountDao.java b/server/src/com/cloud/user/dao/AccountDao.java similarity index 100% rename from core/src/com/cloud/user/dao/AccountDao.java rename to server/src/com/cloud/user/dao/AccountDao.java diff --git a/core/src/com/cloud/user/dao/AccountDaoImpl.java b/server/src/com/cloud/user/dao/AccountDaoImpl.java similarity index 100% rename from core/src/com/cloud/user/dao/AccountDaoImpl.java rename to server/src/com/cloud/user/dao/AccountDaoImpl.java diff --git a/core/src/com/cloud/user/dao/UserAccountDao.java b/server/src/com/cloud/user/dao/UserAccountDao.java similarity index 100% rename from core/src/com/cloud/user/dao/UserAccountDao.java rename to server/src/com/cloud/user/dao/UserAccountDao.java diff --git a/core/src/com/cloud/user/dao/UserAccountDaoImpl.java b/server/src/com/cloud/user/dao/UserAccountDaoImpl.java similarity index 100% rename from core/src/com/cloud/user/dao/UserAccountDaoImpl.java rename to server/src/com/cloud/user/dao/UserAccountDaoImpl.java diff --git a/core/src/com/cloud/user/dao/UserDao.java b/server/src/com/cloud/user/dao/UserDao.java similarity index 100% rename from core/src/com/cloud/user/dao/UserDao.java rename to server/src/com/cloud/user/dao/UserDao.java diff --git a/core/src/com/cloud/user/dao/UserDaoImpl.java b/server/src/com/cloud/user/dao/UserDaoImpl.java similarity index 100% rename from core/src/com/cloud/user/dao/UserDaoImpl.java rename to server/src/com/cloud/user/dao/UserDaoImpl.java diff --git a/core/src/com/cloud/user/dao/UserStatisticsDao.java b/server/src/com/cloud/user/dao/UserStatisticsDao.java similarity index 100% rename from core/src/com/cloud/user/dao/UserStatisticsDao.java rename to server/src/com/cloud/user/dao/UserStatisticsDao.java diff --git a/core/src/com/cloud/user/dao/UserStatisticsDaoImpl.java b/server/src/com/cloud/user/dao/UserStatisticsDaoImpl.java similarity index 100% rename from core/src/com/cloud/user/dao/UserStatisticsDaoImpl.java rename to server/src/com/cloud/user/dao/UserStatisticsDaoImpl.java diff --git a/core/src/com/cloud/vm/dao/ConsoleProxyDao.java b/server/src/com/cloud/vm/dao/ConsoleProxyDao.java similarity index 100% rename from core/src/com/cloud/vm/dao/ConsoleProxyDao.java rename to server/src/com/cloud/vm/dao/ConsoleProxyDao.java diff --git a/core/src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java b/server/src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java similarity index 100% rename from core/src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java rename to server/src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java diff --git a/core/src/com/cloud/vm/dao/DomainRouterDao.java b/server/src/com/cloud/vm/dao/DomainRouterDao.java similarity index 100% rename from core/src/com/cloud/vm/dao/DomainRouterDao.java rename to server/src/com/cloud/vm/dao/DomainRouterDao.java diff --git a/core/src/com/cloud/vm/dao/DomainRouterDaoImpl.java b/server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java similarity index 100% rename from core/src/com/cloud/vm/dao/DomainRouterDaoImpl.java rename to server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java diff --git a/core/src/com/cloud/vm/dao/InstanceGroupDao.java b/server/src/com/cloud/vm/dao/InstanceGroupDao.java similarity index 100% rename from core/src/com/cloud/vm/dao/InstanceGroupDao.java rename to server/src/com/cloud/vm/dao/InstanceGroupDao.java diff --git a/core/src/com/cloud/vm/dao/InstanceGroupDaoImpl.java b/server/src/com/cloud/vm/dao/InstanceGroupDaoImpl.java similarity index 100% rename from core/src/com/cloud/vm/dao/InstanceGroupDaoImpl.java rename to server/src/com/cloud/vm/dao/InstanceGroupDaoImpl.java diff --git a/core/src/com/cloud/vm/dao/InstanceGroupVMMapDao.java b/server/src/com/cloud/vm/dao/InstanceGroupVMMapDao.java similarity index 100% rename from core/src/com/cloud/vm/dao/InstanceGroupVMMapDao.java rename to server/src/com/cloud/vm/dao/InstanceGroupVMMapDao.java diff --git a/core/src/com/cloud/vm/dao/InstanceGroupVMMapDaoImpl.java b/server/src/com/cloud/vm/dao/InstanceGroupVMMapDaoImpl.java similarity index 100% rename from core/src/com/cloud/vm/dao/InstanceGroupVMMapDaoImpl.java rename to server/src/com/cloud/vm/dao/InstanceGroupVMMapDaoImpl.java diff --git a/core/src/com/cloud/vm/dao/SecondaryStorageVmDao.java b/server/src/com/cloud/vm/dao/SecondaryStorageVmDao.java similarity index 100% rename from core/src/com/cloud/vm/dao/SecondaryStorageVmDao.java rename to server/src/com/cloud/vm/dao/SecondaryStorageVmDao.java diff --git a/core/src/com/cloud/vm/dao/SecondaryStorageVmDaoImpl.java b/server/src/com/cloud/vm/dao/SecondaryStorageVmDaoImpl.java similarity index 100% rename from core/src/com/cloud/vm/dao/SecondaryStorageVmDaoImpl.java rename to server/src/com/cloud/vm/dao/SecondaryStorageVmDaoImpl.java diff --git a/core/src/com/cloud/vm/dao/UserVmDao.java b/server/src/com/cloud/vm/dao/UserVmDao.java similarity index 100% rename from core/src/com/cloud/vm/dao/UserVmDao.java rename to server/src/com/cloud/vm/dao/UserVmDao.java diff --git a/core/src/com/cloud/vm/dao/UserVmDaoImpl.java b/server/src/com/cloud/vm/dao/UserVmDaoImpl.java similarity index 100% rename from core/src/com/cloud/vm/dao/UserVmDaoImpl.java rename to server/src/com/cloud/vm/dao/UserVmDaoImpl.java diff --git a/core/src/com/cloud/vm/dao/VMInstanceDao.java b/server/src/com/cloud/vm/dao/VMInstanceDao.java similarity index 100% rename from core/src/com/cloud/vm/dao/VMInstanceDao.java rename to server/src/com/cloud/vm/dao/VMInstanceDao.java diff --git a/core/src/com/cloud/vm/dao/VMInstanceDaoImpl.java b/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java similarity index 100% rename from core/src/com/cloud/vm/dao/VMInstanceDaoImpl.java rename to server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java diff --git a/core/test/com/cloud/async/CleanupDelegate.java b/server/test/com/cloud/async/CleanupDelegate.java similarity index 100% rename from core/test/com/cloud/async/CleanupDelegate.java rename to server/test/com/cloud/async/CleanupDelegate.java diff --git a/core/test/com/cloud/async/TestAsync.java b/server/test/com/cloud/async/TestAsync.java similarity index 100% rename from core/test/com/cloud/async/TestAsync.java rename to server/test/com/cloud/async/TestAsync.java