You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ed...@apache.org on 2013/01/22 02:02:21 UTC

[7/7] git commit: add unit test back, primary storage life cycle is tested

Updated Branches:
  refs/heads/javelin f7e75d3aa -> 4fbecf15e


add unit test back, primary storage life cycle is tested


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/4fbecf15
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/4fbecf15
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/4fbecf15

Branch: refs/heads/javelin
Commit: 4fbecf15ecbfa17cba514c310f78f6e455b3ba3e
Parents: 3251cd6
Author: Edison Su <ed...@citrix.com>
Authored: Mon Jan 21 16:59:24 2013 -0800
Committer: Edison Su <ed...@citrix.com>
Committed: Mon Jan 21 17:01:00 2013 -0800

----------------------------------------------------------------------
 core/src/com/cloud/storage/StoragePoolVO.java      |   18 +-
 .../entity/api/db/dao/HostDetailsDaoImpl.java      |    2 +-
 engine/storage/integration-test/pom.xml            |    6 +
 .../storage/test/ChildTestConfiguration.java       |   89 +++
 .../cloudstack/storage/test/volumeServiceTest.java |   71 ++-
 .../test/resource/storageContext.xml               |   95 ++--
 .../integration-test/test/resource/testng.xml      |    2 +-
 .../cloudstack/storage/HypervisorHostEndPoint.java |   17 +-
 .../storage/datastore/db/PrimaryDataStoreVO.java   |    1 +
 .../provider/DataStoreProviderManagerImpl.java     |   12 +-
 .../storage/endpoint/DefaultEndPointSelector.java  |    6 +-
 .../storage/image/db/ImageDataDaoImpl.java         |   12 +-
 .../volume/datastore/PrimaryDataStoreHelper.java   |    1 -
 .../storage/datastore/DefaultPrimaryDataStore.java |   33 +-
 .../DefaultPrimaryDataStoreLifeCycleImpl.java      |    8 +-
 ...DefaultPrimaryDataStoreProviderManagerImpl.java |    8 +-
 .../storage/volume/VolumeManagerImpl.java          |    2 +-
 .../src/com/cloud/hypervisor/guru/VMwareGuru.java  |    2 +-
 .../xen/resource/XenServerStorageResource.java     |   12 +-
 .../network/lb/ElasticLoadBalancerManagerImpl.java |    6 +-
 .../cloud/network/lb/dao/ElasticLbVmMapDao.java    |    2 +-
 .../network/lb/dao/ElasticLbVmMapDaoImpl.java      |    2 +-
 .../cloud/api/commands/AddF5LoadBalancerCmd.java   |    2 +-
 .../api/commands/ConfigureF5LoadBalancerCmd.java   |    2 +-
 .../cloud/api/commands/ListF5LoadBalancersCmd.java |    2 +-
 .../cloud/api/response/F5LoadBalancerResponse.java |    3 +-
 .../element/F5ExternalLoadBalancerElement.java     |   10 +-
 .../F5ExternalLoadBalancerElementService.java      |    3 +-
 .../com/cloud/api/commands/AddSrxFirewallCmd.java  |    2 +-
 .../api/commands/ConfigureSrxFirewallCmd.java      |    2 +-
 .../cloud/api/commands/ListSrxFirewallsCmd.java    |    2 +-
 .../cloud/api/response/SrxFirewallResponse.java    |    3 +-
 .../element/JuniperSRXExternalFirewallElement.java |   10 +-
 .../element/JuniperSRXFirewallElementService.java  |    3 +-
 .../api/commands/AddNetscalerLoadBalancerCmd.java  |    2 +-
 .../ConfigureNetscalerLoadBalancerCmd.java         |    2 +-
 .../commands/ListNetscalerLoadBalancersCmd.java    |    2 +-
 .../response/NetscalerLoadBalancerResponse.java    |    3 +-
 .../cloud/network/element/NetscalerElement.java    |   10 +-
 .../NetscalerLoadBalancerElementService.java       |    2 +-
 .../cloud/network/element/NiciraNvpElement.java    |    4 +-
 .../network/guru/NiciraNvpGuestNetworkGuru.java    |    4 +-
 .../guru/NiciraNvpGuestNetworkGuruTest.java        |    4 +-
 .../cloud/network/guru/OvsGuestNetworkGuru.java    |    2 +-
 server/src/com/cloud/api/ApiDBUtils.java           |   16 +-
 server/src/com/cloud/api/ApiResponseHelper.java    |    6 +-
 .../cloud/baremetal/BareMetalVmManagerImpl.java    |    2 +-
 .../configuration/ConfigurationManagerImpl.java    |    6 +-
 .../consoleproxy/ConsoleProxyManagerImpl.java      |    4 +-
 server/src/com/cloud/dc/dao/DataCenterDaoImpl.java |    2 +-
 .../cloud/dc/dao/DataCenterIpAddressDaoImpl.java   |    2 +-
 .../dao/DataCenterLinkLocalIpAddressDaoImpl.java   |    2 +-
 .../com/cloud/dc/dao/DataCenterVnetDaoImpl.java    |    2 +-
 server/src/com/cloud/dc/dao/DcDetailsDaoImpl.java  |    2 +-
 server/src/com/cloud/dc/dao/HostPodDao.java        |    2 -
 server/src/com/cloud/dc/dao/HostPodDaoImpl.java    |   29 +-
 server/src/com/cloud/dc/dao/PodVlanDaoImpl.java    |    2 +-
 server/src/com/cloud/host/dao/HostDaoImpl.java     |    2 +-
 .../src/com/cloud/host/dao/HostDetailsDaoImpl.java |    2 +-
 server/src/com/cloud/host/dao/HostTagsDaoImpl.java |    2 +-
 .../network/ExternalFirewallDeviceManager.java     |    1 +
 .../network/ExternalFirewallDeviceManagerImpl.java |    5 +
 .../cloud/network/ExternalFirewallDeviceVO.java    |  161 -----
 .../network/ExternalLoadBalancerDeviceManager.java |    1 +
 .../ExternalLoadBalancerDeviceManagerImpl.java     |    9 +-
 .../network/ExternalLoadBalancerDeviceVO.java      |  200 ------
 .../ExternalLoadBalancerUsageManagerImpl.java      |    5 +
 .../com/cloud/network/FirewallRulesCidrsVO.java    |   65 --
 server/src/com/cloud/network/IPAddressVO.java      |  292 ---------
 .../cloud/network/InlineLoadBalancerNicMapVO.java  |   60 --
 .../com/cloud/network/LBStickinessPolicyVO.java    |  145 -----
 .../src/com/cloud/network/LoadBalancerVMMapVO.java |   77 ---
 server/src/com/cloud/network/LoadBalancerVO.java   |   98 ---
 .../com/cloud/network/NetworkAccountDaoImpl.java   |   29 -
 server/src/com/cloud/network/NetworkAccountVO.java |   72 --
 server/src/com/cloud/network/NetworkDomainVO.java  |   71 --
 .../cloud/network/NetworkExternalFirewallVO.java   |   88 ---
 .../network/NetworkExternalLoadBalancerVO.java     |   89 ---
 server/src/com/cloud/network/NetworkManager.java   |    2 +
 .../src/com/cloud/network/NetworkManagerImpl.java  |    5 +
 server/src/com/cloud/network/NetworkModelImpl.java |    5 +
 .../src/com/cloud/network/NetworkRuleConfigVO.java |   93 ---
 .../src/com/cloud/network/NetworkServiceImpl.java  |    4 +
 .../src/com/cloud/network/NetworkServiceMapVO.java |   91 ---
 .../src/com/cloud/network/NetworkUsageManager.java |    2 +
 .../com/cloud/network/NetworkUsageManagerImpl.java |    2 +
 server/src/com/cloud/network/NetworkVO.java        |  494 --------------
 .../src/com/cloud/network/PhysicalNetworkVO.java   |  231 -------
 .../com/cloud/network/PortProfileManagerImpl.java  |    5 +-
 server/src/com/cloud/network/PortProfileVO.java    |  204 ------
 .../src/com/cloud/network/RemoteAccessVpnVO.java   |  116 ----
 server/src/com/cloud/network/RouterNetworkVO.java  |   74 ---
 .../cloud/network/Site2SiteCustomerGatewayVO.java  |  205 ------
 .../cloud/network/Site2SiteVpnConnectionVO.java    |  141 ----
 .../com/cloud/network/Site2SiteVpnGatewayVO.java   |  113 ----
 .../cloud/network/StorageNetworkManagerImpl.java   |    1 +
 server/src/com/cloud/network/addr/PublicIp.java    |    2 +-
 .../com/cloud/network/as/AutoScaleManagerImpl.java |    2 +-
 .../network/dao/ExternalFirewallDeviceDao.java     |    5 +-
 .../network/dao/ExternalFirewallDeviceDaoImpl.java |    5 +-
 .../network/dao/ExternalFirewallDeviceVO.java      |  161 +++++
 .../network/dao/ExternalLoadBalancerDeviceDao.java |    6 +-
 .../dao/ExternalLoadBalancerDeviceDaoImpl.java     |    5 +-
 .../network/dao/ExternalLoadBalancerDeviceVO.java  |  200 ++++++
 .../cloud/network/dao/FirewallRulesCidrsDao.java   |    1 -
 .../network/dao/FirewallRulesCidrsDaoImpl.java     |    1 -
 .../cloud/network/dao/FirewallRulesCidrsVO.java    |   65 ++
 .../cloud/network/dao/FirewallRulesDaoImpl.java    |    1 -
 server/src/com/cloud/network/dao/IPAddressDao.java |    1 -
 .../com/cloud/network/dao/IPAddressDaoImpl.java    |    1 -
 server/src/com/cloud/network/dao/IPAddressVO.java  |  295 +++++++++
 .../network/dao/InlineLoadBalancerNicMapDao.java   |    1 -
 .../dao/InlineLoadBalancerNicMapDaoImpl.java       |    1 -
 .../network/dao/InlineLoadBalancerNicMapVO.java    |   60 ++
 .../cloud/network/dao/LBStickinessPolicyDao.java   |    1 -
 .../network/dao/LBStickinessPolicyDaoImpl.java     |    1 -
 .../cloud/network/dao/LBStickinessPolicyVO.java    |  145 +++++
 .../src/com/cloud/network/dao/LoadBalancerDao.java |    1 -
 .../com/cloud/network/dao/LoadBalancerDaoImpl.java |    1 -
 .../cloud/network/dao/LoadBalancerVMMapDao.java    |    1 -
 .../network/dao/LoadBalancerVMMapDaoImpl.java      |    1 -
 .../com/cloud/network/dao/LoadBalancerVMMapVO.java |   77 +++
 .../src/com/cloud/network/dao/LoadBalancerVO.java  |   98 +++
 .../cloud/network/dao/NetworkAccountDaoImpl.java   |   29 +
 .../com/cloud/network/dao/NetworkAccountVO.java    |   72 ++
 server/src/com/cloud/network/dao/NetworkDao.java   |    2 -
 .../src/com/cloud/network/dao/NetworkDaoImpl.java  |    5 -
 .../com/cloud/network/dao/NetworkDomainDao.java    |    1 -
 .../cloud/network/dao/NetworkDomainDaoImpl.java    |    1 -
 .../src/com/cloud/network/dao/NetworkDomainVO.java |   72 ++
 .../network/dao/NetworkExternalFirewallDao.java    |    1 -
 .../dao/NetworkExternalFirewallDaoImpl.java        |    1 -
 .../network/dao/NetworkExternalFirewallVO.java     |   88 +++
 .../dao/NetworkExternalLoadBalancerDao.java        |    1 -
 .../dao/NetworkExternalLoadBalancerDaoImpl.java    |    1 -
 .../network/dao/NetworkExternalLoadBalancerVO.java |   89 +++
 .../cloud/network/dao/NetworkRuleConfigDao.java    |    1 -
 .../network/dao/NetworkRuleConfigDaoImpl.java      |    1 -
 .../com/cloud/network/dao/NetworkRuleConfigVO.java |   93 +++
 .../cloud/network/dao/NetworkServiceMapDao.java    |    1 -
 .../network/dao/NetworkServiceMapDaoImpl.java      |    1 -
 .../com/cloud/network/dao/NetworkServiceMapVO.java |   92 +++
 server/src/com/cloud/network/dao/NetworkVO.java    |  499 +++++++++++++++
 .../com/cloud/network/dao/PhysicalNetworkDao.java  |    1 -
 .../cloud/network/dao/PhysicalNetworkDaoImpl.java  |    1 -
 .../com/cloud/network/dao/PhysicalNetworkVO.java   |  234 +++++++
 .../src/com/cloud/network/dao/PortProfileDao.java  |    1 -
 .../com/cloud/network/dao/PortProfileDaoImpl.java  |    1 -
 .../src/com/cloud/network/dao/PortProfileVO.java   |  204 ++++++
 .../com/cloud/network/dao/RemoteAccessVpnDao.java  |    1 -
 .../cloud/network/dao/RemoteAccessVpnDaoImpl.java  |    1 -
 .../com/cloud/network/dao/RemoteAccessVpnVO.java   |  119 ++++
 .../cloud/network/dao/RouterNetworkDaoImpl.java    |    1 -
 .../src/com/cloud/network/dao/RouterNetworkVO.java |   75 +++
 .../network/dao/Site2SiteCustomerGatewayDao.java   |    1 -
 .../dao/Site2SiteCustomerGatewayDaoImpl.java       |    1 -
 .../network/dao/Site2SiteCustomerGatewayVO.java    |  206 ++++++
 .../network/dao/Site2SiteVpnConnectionDao.java     |    1 -
 .../network/dao/Site2SiteVpnConnectionDaoImpl.java |    2 -
 .../network/dao/Site2SiteVpnConnectionVO.java      |  143 ++++
 .../cloud/network/dao/Site2SiteVpnGatewayDao.java  |    1 -
 .../network/dao/Site2SiteVpnGatewayDaoImpl.java    |    1 -
 .../cloud/network/dao/Site2SiteVpnGatewayVO.java   |  114 ++++
 .../network/firewall/FirewallManagerImpl.java      |    2 +-
 .../com/cloud/network/guru/ControlNetworkGuru.java |    2 +-
 .../com/cloud/network/guru/DirectNetworkGuru.java  |    4 +-
 .../network/guru/DirectPodBasedNetworkGuru.java    |    2 +-
 .../network/guru/ExternalGuestNetworkGuru.java     |    2 +-
 .../com/cloud/network/guru/GuestNetworkGuru.java   |    6 +-
 .../cloud/network/guru/PodBasedNetworkGuru.java    |    2 +-
 .../com/cloud/network/guru/PrivateNetworkGuru.java |    2 +-
 .../com/cloud/network/guru/PublicNetworkGuru.java  |    4 +-
 .../com/cloud/network/guru/StorageNetworkGuru.java |    2 +-
 .../network/lb/LoadBalancingRulesManagerImpl.java  |   10 +-
 .../router/VirtualNetworkApplianceManagerImpl.java |   36 +-
 .../VpcVirtualNetworkApplianceManagerImpl.java     |    8 +-
 .../com/cloud/network/rules/FirewallManager.java   |    2 +-
 .../com/cloud/network/rules/RulesManagerImpl.java  |    2 +-
 .../security/dao/SecurityGroupVMMapDaoImpl.java    |    2 +-
 .../src/com/cloud/network/vpc/VpcManagerImpl.java  |    4 +-
 .../network/vpn/RemoteAccessVpnManagerImpl.java    |    4 +-
 .../com/cloud/network/vpn/Site2SiteVpnManager.java |    2 +-
 .../cloud/network/vpn/Site2SiteVpnManagerImpl.java |    8 +-
 .../com/cloud/resource/ResourceManagerImpl.java    |    2 +-
 .../com/cloud/server/ConfigurationServerImpl.java  |    2 +-
 .../src/com/cloud/server/ManagementServerImpl.java |    6 +-
 .../secondary/SecondaryStorageManagerImpl.java     |    4 +-
 server/src/com/cloud/user/AccountManagerImpl.java  |    6 +-
 server/src/com/cloud/vm/UserVmManagerImpl.java     |    6 +-
 server/src/com/cloud/vm/UserVmStateListener.java   |    2 +-
 server/src/com/cloud/vm/VirtualMachineManager.java |    2 +-
 .../com/cloud/vm/VirtualMachineManagerImpl.java    |    2 +-
 .../src/com/cloud/vm/dao/DomainRouterDaoImpl.java  |    2 +-
 .../com/cloud/network/MockFirewallManagerImpl.java |    1 +
 .../com/cloud/network/MockNetworkManagerImpl.java  |    2 +
 .../com/cloud/network/MockNetworkModelImpl.java    |    2 +
 .../test/com/cloud/network/NetworkModelTest.java   |    1 +
 .../cloud/vm/MockVirtualMachineManagerImpl.java    |    2 +-
 .../test/com/cloud/vpc/MockNetworkManagerImpl.java |    4 +-
 .../com/cloud/vpc/MockSite2SiteVpnManagerImpl.java |    2 +-
 .../test/com/cloud/vpc/dao/MockNetworkDaoImpl.java |    4 +-
 .../vpc/dao/MockNetworkServiceMapDaoImpl.java      |    2 +-
 setup/db/4.1-new-db-schema.sql                     |    5 +-
 .../cloud/utils/component/ComponentContext.java    |    3 +
 204 files changed, 3743 insertions(+), 3549 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/core/src/com/cloud/storage/StoragePoolVO.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/storage/StoragePoolVO.java b/core/src/com/cloud/storage/StoragePoolVO.java
index 49abd50..af6e4e2 100644
--- a/core/src/com/cloud/storage/StoragePoolVO.java
+++ b/core/src/com/cloud/storage/StoragePoolVO.java
@@ -49,7 +49,7 @@ public class StoragePoolVO implements StoragePool {
     
     @Column(name="pool_type", updatable=false, nullable=false, length=32)
     @Enumerated(value=EnumType.STRING)
-    private StoragePoolType protocol;
+    private StoragePoolType poolType;
     
     @Column(name=GenericDao.CREATED_COLUMN)
     Date created;
@@ -112,7 +112,7 @@ public class StoragePoolVO implements StoragePool {
 	
 	@Override
     public StoragePoolType getPoolType() {
-		return protocol;
+		return poolType;
 	}
 
 	@Override
@@ -215,7 +215,7 @@ public class StoragePoolVO implements StoragePool {
         this.name  = name;
         this.id = poolId;
         this.uuid = uuid;
-        this.protocol = type;
+        this.poolType = type;
         this.dataCenterId = dataCenterId;
         this.availableBytes = availableBytes;
         this.capacityBytes = capacityBytes;
@@ -227,11 +227,11 @@ public class StoragePoolVO implements StoragePool {
     }
     
     public StoragePoolVO(StoragePoolVO that) {
-        this(that.id, that.name, that.uuid, that.protocol, that.dataCenterId, that.podId, that.availableBytes, that.capacityBytes, that.hostAddress, that.port, that.path);
+        this(that.id, that.name, that.uuid, that.poolType, that.dataCenterId, that.podId, that.availableBytes, that.capacityBytes, that.hostAddress, that.port, that.path);
     }
     
     public StoragePoolVO(StoragePoolType type, String hostAddress, int port, String path) {
-        this.protocol = type;
+        this.poolType = type;
         this.hostAddress = hostAddress;
         this.port = port;
         this.path = path;
@@ -240,7 +240,7 @@ public class StoragePoolVO implements StoragePool {
     }
 
     public StoragePoolVO(StoragePoolType type, String hostAddress, int port, String path, String userInfo) {
-        this.protocol = type;
+        this.poolType = type;
         this.hostAddress = hostAddress;
         this.port = port;
         this.path = path;
@@ -285,12 +285,12 @@ public class StoragePoolVO implements StoragePool {
     
     @Override
     public boolean isShared() {
-    	return protocol.isShared();
+    	return poolType.isShared();
     }
     
     @Override
     public boolean isLocal() {
-    	return !protocol.isShared();
+    	return !poolType.isShared();
     }
     
     @Transient
@@ -341,6 +341,6 @@ public class StoragePoolVO implements StoragePool {
 	
     @Override
     public String toString() {
-        return new StringBuilder("Pool[").append(id).append("|").append(protocol).append("]").toString();
+        return new StringBuilder("Pool[").append(id).append("|").append(poolType).append("]").toString();
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/db/dao/HostDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/db/dao/HostDetailsDaoImpl.java b/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/db/dao/HostDetailsDaoImpl.java
index ee5c809..02f8c2c 100644
--- a/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/db/dao/HostDetailsDaoImpl.java
+++ b/engine/orchestration/src/org/apache/cloudstack/engine/datacenter/entity/api/db/dao/HostDetailsDaoImpl.java
@@ -37,7 +37,7 @@ public class HostDetailsDaoImpl extends GenericDaoBase<DetailVO, Long> implement
     protected final SearchBuilder<DetailVO> HostSearch;
     protected final SearchBuilder<DetailVO> DetailSearch;
     
-    protected HostDetailsDaoImpl() {
+    public HostDetailsDaoImpl() {
         HostSearch = createSearchBuilder();
         HostSearch.and("hostId", HostSearch.entity().getHostId(), SearchCriteria.Op.EQ);
         HostSearch.done();

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/integration-test/pom.xml
----------------------------------------------------------------------
diff --git a/engine/storage/integration-test/pom.xml b/engine/storage/integration-test/pom.xml
index f004561..fae9e9c 100644
--- a/engine/storage/integration-test/pom.xml
+++ b/engine/storage/integration-test/pom.xml
@@ -34,6 +34,12 @@
     </dependency>
     <dependency>
       <groupId>org.apache.cloudstack</groupId>
+      <artifactId>cloud-engine-storage-snapshot</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cloudstack</groupId>
       <artifactId>cloud-engine-storage-image</artifactId>
       <version>${project.version}</version>
       <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java
----------------------------------------------------------------------
diff --git a/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java b/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java
index 1b12b54..c965322 100644
--- a/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java
+++ b/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java
@@ -16,12 +16,38 @@
 // under the License.
 package org.apache.cloudstack.storage.test;
 
+import org.apache.cloudstack.acl.APIChecker;
+import org.apache.cloudstack.engine.service.api.OrchestrationService;
 import org.apache.cloudstack.storage.HostEndpointRpcServer;
+import org.apache.cloudstack.storage.endpoint.DefaultEndPointSelector;
+import org.apache.cloudstack.storage.endpoint.EndPointSelector;
 import org.mockito.Mockito;
 import org.springframework.context.annotation.Bean;
 
 import com.cloud.agent.AgentManager;
+import com.cloud.cluster.ClusteredAgentRebalanceService;
+import com.cloud.cluster.agentlb.dao.HostTransferMapDao;
+import com.cloud.cluster.agentlb.dao.HostTransferMapDaoImpl;
+import com.cloud.dc.dao.ClusterDao;
+import com.cloud.dc.dao.ClusterDaoImpl;
+import com.cloud.dc.dao.DataCenterDao;
+import com.cloud.dc.dao.DataCenterDaoImpl;
+import com.cloud.dc.dao.DataCenterIpAddressDaoImpl;
+import com.cloud.dc.dao.DataCenterLinkLocalIpAddressDaoImpl;
+import com.cloud.dc.dao.DataCenterVnetDaoImpl;
+import com.cloud.dc.dao.DcDetailsDaoImpl;
+import com.cloud.dc.dao.HostPodDao;
+import com.cloud.dc.dao.HostPodDaoImpl;
+import com.cloud.dc.dao.PodVlanDaoImpl;
 import com.cloud.host.dao.HostDao;
+import com.cloud.host.dao.HostDetailsDao;
+import com.cloud.host.dao.HostDetailsDaoImpl;
+import com.cloud.host.dao.HostTagsDao;
+import com.cloud.host.dao.HostTagsDaoImpl;
+import com.cloud.server.auth.UserAuthenticator;
+import com.cloud.storage.dao.StoragePoolHostDao;
+import com.cloud.storage.dao.StoragePoolHostDaoImpl;
+import com.cloud.utils.component.ComponentContext;
 
 public class ChildTestConfiguration extends TestConfiguration {
 	
@@ -34,6 +60,53 @@ public class ChildTestConfiguration extends TestConfiguration {
 	}
 	
 	@Bean
+	public EndPointSelector selector() {
+	    return Mockito.mock(EndPointSelector.class);
+	}
+	@Bean
+	public DataCenterDao dcDao() {
+	    return new DataCenterDaoImpl();
+	}
+	@Bean
+	public HostDetailsDao hostDetailsDao() {
+	    return new HostDetailsDaoImpl();
+	}
+	
+	@Bean
+	public HostTagsDao hostTagsDao() {
+	    return new HostTagsDaoImpl();
+	}
+	
+	@Bean ClusterDao clusterDao() {
+	    return new ClusterDaoImpl();
+	}
+	
+	@Bean HostTransferMapDao hostTransferDao() {
+	    return new HostTransferMapDaoImpl();
+	}
+	@Bean DataCenterIpAddressDaoImpl dataCenterIpAddressDaoImpl() {
+	    return new DataCenterIpAddressDaoImpl();
+	}
+	@Bean DataCenterLinkLocalIpAddressDaoImpl dataCenterLinkLocalIpAddressDaoImpl() {
+	    return new DataCenterLinkLocalIpAddressDaoImpl();
+	}
+	@Bean DataCenterVnetDaoImpl dataCenterVnetDaoImpl() {
+	    return new DataCenterVnetDaoImpl();
+	}
+	@Bean PodVlanDaoImpl podVlanDaoImpl() {
+	    return new PodVlanDaoImpl();
+	}
+	@Bean DcDetailsDaoImpl dcDetailsDaoImpl() {
+	    return new DcDetailsDaoImpl();
+	}
+	@Bean HostPodDao hostPodDao() {
+	    return new HostPodDaoImpl();
+	}
+	@Bean StoragePoolHostDao storagePoolHostDao() {
+	    return new StoragePoolHostDaoImpl();
+	}
+	
+	@Bean
 	public AgentManager agentMgr() {
 		return new DirectAgentManagerSimpleImpl();
 	}
@@ -42,6 +115,22 @@ public class ChildTestConfiguration extends TestConfiguration {
     public HostEndpointRpcServer rpcServer() {
         return new MockHostEndpointRpcServerDirectCallResource();
     }
+    @Bean
+    public ClusteredAgentRebalanceService _rebalanceService() {
+        return Mockito.mock(ClusteredAgentRebalanceService.class);
+    }
+    @Bean
+    public UserAuthenticator authenticator() {
+        return Mockito.mock(UserAuthenticator.class);
+    }
+    @Bean
+    public OrchestrationService orchSrvc() {
+        return Mockito.mock(OrchestrationService.class);
+    }
+    @Bean
+    public APIChecker apiChecker() {
+        return Mockito.mock(APIChecker.class);
+    }
 /*	@Override
 	@Bean
 	public PrimaryDataStoreDao primaryDataStoreDao() {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/volumeServiceTest.java
----------------------------------------------------------------------
diff --git a/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/volumeServiceTest.java b/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/volumeServiceTest.java
index 0a69247..0d4a540 100644
--- a/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/volumeServiceTest.java
+++ b/engine/storage/integration-test/test/org/apache/cloudstack/storage/test/volumeServiceTest.java
@@ -18,6 +18,8 @@
  */
 package org.apache.cloudstack.storage.test;
 
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -33,12 +35,15 @@ import org.apache.cloudstack.engine.subsystem.api.storage.ClusterScope;
 import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
 import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreLifeCycle;
 import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
+import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint;
 import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreInfo;
 import org.apache.cloudstack.engine.subsystem.api.storage.type.RootDisk;
+import org.apache.cloudstack.storage.HypervisorHostEndPoint;
 import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
 import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreVO;
 import org.apache.cloudstack.storage.datastore.provider.DataStoreProvider;
 import org.apache.cloudstack.storage.datastore.provider.DataStoreProviderManager;
+import org.apache.cloudstack.storage.endpoint.EndPointSelector;
 import org.apache.cloudstack.storage.image.ImageService;
 import org.apache.cloudstack.storage.image.db.ImageDataDao;
 import org.apache.cloudstack.storage.image.db.ImageDataVO;
@@ -66,7 +71,7 @@ import com.cloud.org.Managed.ManagedState;
 import com.cloud.resource.ResourceState;
 import com.cloud.storage.Storage.TemplateType;
 
-@ContextConfiguration(locations="classpath:/storageContext.xml")
+@ContextConfiguration(locations={"classpath:/storageContext.xml"})
 public class volumeServiceTest extends CloudStackTestNGBase {
 	//@Inject
 	//ImageDataStoreProviderManager imageProviderMgr;
@@ -92,6 +97,8 @@ public class volumeServiceTest extends CloudStackTestNGBase {
 	DataStoreProviderManager dataStoreProviderMgr;
 	@Inject
 	AgentManager agentMgr;
+	@Inject
+	EndPointSelector selector;
 	Long dcId;
 	Long clusterId;
 	Long podId;
@@ -101,7 +108,12 @@ public class volumeServiceTest extends CloudStackTestNGBase {
 	
     @Test(priority = -1)
 	public void setUp() {
-        
+        try {
+            dataStoreProviderMgr.configure(null, new HashMap<String, Object>());
+        } catch (ConfigurationException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
         host = hostDao.findByGuid(this.getHostGuid());
         if (host != null) {
             dcId = host.getDataCenterId();
@@ -143,13 +155,8 @@ public class volumeServiceTest extends CloudStackTestNGBase {
 		host.setClusterId(cluster.getId());
 
 		host = hostDao.persist(host);
-		try {
-            dataStoreProviderMgr.configure(null, new HashMap<String, Object>());
-        } catch (ConfigurationException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-		primaryStore = createPrimaryDataStore();
+
+		//primaryStore = createPrimaryDataStore();
 	
 		//CreateVolumeAnswer createVolumeFromImageAnswer = new CreateVolumeAnswer(UUID.randomUUID().toString());
 
@@ -175,7 +182,12 @@ public class volumeServiceTest extends CloudStackTestNGBase {
         List<HostVO> results = new ArrayList<HostVO>();
         results.add(host);
         Mockito.when(hostDao.listAll()).thenReturn(results);
+        Mockito.when(hostDao.findById(Mockito.anyLong())).thenReturn(host);
         Mockito.when(hostDao.findHypervisorHostInCluster(Mockito.anyLong())).thenReturn(results);
+        List<EndPoint> eps = new ArrayList<EndPoint>();
+        eps.add(HypervisorHostEndPoint.getHypervisorHostEndPoint(host.getId(),
+                host.getPrivateIpAddress()));
+        Mockito.when(selector.selectAll(Mockito.any(DataStore.class))).thenReturn(eps);
     }
 
 	private ImageDataVO createImageData() {
@@ -220,16 +232,50 @@ public class volumeServiceTest extends CloudStackTestNGBase {
 	public void createTemplateTest() {
 		createTemplate();
 	}
+	
+	@Test
+	public void testCreatePrimaryStorage() {
+	    DataStoreProvider provider = dataStoreProviderMgr.getDataStoreProvider("default primary data store provider");
+        Map<String, String> params = new HashMap<String, String>();
+        URI uri = null;
+        try {
+            uri = new URI(this.getPrimaryStorageUrl());
+        } catch (URISyntaxException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+        params.put("url", this.getPrimaryStorageUrl());
+        params.put("server", uri.getHost());
+        params.put("path", uri.getPath());
+        params.put("protocol", uri.getScheme());
+        params.put("dcId", dcId.toString());
+        params.put("clusterId", clusterId.toString());
+        params.put("name", this.primaryName);
+        params.put("port", "1");
+        params.put("roles", DataStoreRole.Primary.toString());
+        params.put("uuid", UUID.nameUUIDFromBytes(this.getPrimaryStorageUrl().getBytes()).toString());
+        params.put("providerId", String.valueOf(provider.getId()));
+        
+        DataStoreLifeCycle lifeCycle = provider.getLifeCycle();
+        DataStore store = lifeCycle.initialize(params);
+        ClusterScope scope = new ClusterScope(clusterId, podId, dcId);
+        lifeCycle.attachCluster(store, scope);
+	}
 
 	@Test
 	public PrimaryDataStoreInfo createPrimaryDataStore() {
-		try {
+		try {/*
 		    DataStoreProvider provider = dataStoreProviderMgr.getDataStoreProvider("default primary data store provider");
 		    Map<String, String> params = new HashMap<String, String>();
-            params.put("url", this.getPrimaryStorageUrl());
+		    URI uri = new URI(this.getPrimaryStorageUrl());
+		    params.put("url", this.getPrimaryStorageUrl());
+            params.put("server", uri.getHost());
+            params.put("path", uri.getPath());
+            params.put("protocol", uri.getScheme());
             params.put("dcId", dcId.toString());
             params.put("clusterId", clusterId.toString());
             params.put("name", this.primaryName);
+            params.put("port", "1");
             params.put("roles", DataStoreRole.Primary.toString());
             params.put("uuid", UUID.nameUUIDFromBytes(this.getPrimaryStorageUrl().getBytes()).toString());
             params.put("providerId", String.valueOf(provider.getId()));
@@ -238,6 +284,7 @@ public class volumeServiceTest extends CloudStackTestNGBase {
 		    DataStore store = lifeCycle.initialize(params);
 		    ClusterScope scope = new ClusterScope(clusterId, podId, dcId);
 		    lifeCycle.attachCluster(store, scope);
+		    */
 		    /*
 		    PrimaryDataStoreProvider provider = primaryDataStoreProviderMgr.getDataStoreProvider("default primary data store provider");
 		    primaryDataStoreProviderMgr.configure("primary data store mgr", new HashMap<String, Object>());
@@ -306,7 +353,7 @@ public class volumeServiceTest extends CloudStackTestNGBase {
 	}
 
 	//@Test
-	@Test
+	//@Test
     public void test1() {
 		/*System.out.println(VolumeTypeHelper.getType("Root"));
 		System.out.println(VolumeDiskTypeHelper.getDiskType("vmdk"));

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/integration-test/test/resource/storageContext.xml
----------------------------------------------------------------------
diff --git a/engine/storage/integration-test/test/resource/storageContext.xml b/engine/storage/integration-test/test/resource/storageContext.xml
index c81fe7d..0127c96 100644
--- a/engine/storage/integration-test/test/resource/storageContext.xml
+++ b/engine/storage/integration-test/test/resource/storageContext.xml
@@ -1,22 +1,14 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements. See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership. The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License. You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied. See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
+  license agreements. See the NOTICE file distributed with this work for additional 
+  information regarding copyright ownership. The ASF licenses this file to 
+  you under the Apache License, Version 2.0 (the "License"); you may not use 
+  this file except in compliance with the License. You may obtain a copy of 
+  the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
+  by applicable law or agreed to in writing, software distributed under the 
+  License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+  OF ANY KIND, either express or implied. See the License for the specific 
+  language governing permissions and limitations under the License. -->
 <beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
   xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
@@ -29,59 +21,62 @@
                                  http://www.springframework.org/schema/context
                                           http://www.springframework.org/schema/context/spring-context-3.0.xsd">
   <context:annotation-config />
-  <context:component-scan base-package="org.apache.cloudstack.storage" />
-  <context:component-scan base-package="org.apache.cloudstack.engine.subsystem.api.storage" />
-  <context:component-scan base-package="com.cloud.utils.db" />
-  <context:component-scan base-package="com.cloud.utils.component" />
-  <context:component-scan base-package="com.cloud.host.dao" />
-  <context:component-scan base-package="com.cloud.dc.dao" />
-  <context:component-scan base-package="com.cloud.cluster.agentlb.dao" />
- 
-   <context:component-scan base-package=" com.cloud.upgrade.dao" />
-  <tx:annotation-driven transaction-manager="transactionManager" />
-  <bean id="aopTestBean" class="org.apache.cloudstack.storage.test.AopTestAdvice"/>
-  <aop:config proxy-target-class="true" >
-    <aop:aspect id="AopTestAdvice" ref="aopTestBean">
-    <aop:pointcut id="aoptest"
-      expression="@annotation(com.cloud.utils.db.DB)" />
-      <aop:around pointcut-ref="aoptest" method="AopTestMethod"/> 
-    </aop:aspect>
+  <context:component-scan
+    base-package="org.apache.cloudstack.storage" />
+    <context:component-scan base-package="com.cloud.utils.db" />
+    <context:component-scan base-package="com.cloud.utils.component" />
     
 
+  <aop:config proxy-target-class="true">
+    <aop:aspect id="dbContextBuilder" ref="transactionContextBuilder">
+      <aop:pointcut id="captureAnyMethod" expression="execution(* *(..))" />
+
+      <aop:around pointcut-ref="captureAnyMethod" method="AroundAnyMethod" />
+    </aop:aspect>
+
+    <aop:aspect id="actionEventInterceptorAspect" ref="actionEventInterceptor">
+      <aop:pointcut id="captureEventMethod"
+        expression="execution(* *(..)) and @annotation(com.cloud.event.ActionEvent)" />
+      <aop:around pointcut-ref="captureEventMethod" method="AroundAnyMethod" />
+    </aop:aspect>
+
   </aop:config>
- 
 
-  <bean id="someDependencyMock" class="org.apache.cloudstack.storage.test.StorageFactoryBean">
-    <constructor-arg name="classToBeMocked"
-      value="org.apache.cloudstack.storage.volume.VolumeMotionService" />
-  </bean>
-  
+  <bean id="transactionContextBuilder" class="com.cloud.utils.db.TransactionContextBuilder" />
+  <bean id="actionEventInterceptor" class="com.cloud.event.ActionEventInterceptor" />
+
+
   <bean class="org.apache.cloudstack.storage.test.ChildTestConfiguration" />
-  
-  <bean id="onwireRegistry" class="org.apache.cloudstack.framework.serializer.OnwireClassRegistry"
-    init-method="scan" >
+
+  <bean id="onwireRegistry"
+    class="org.apache.cloudstack.framework.serializer.OnwireClassRegistry"
+    init-method="scan">
     <property name="packages">
       <list>
         <value>org.apache.cloudstack.framework</value>
       </list>
     </property>
   </bean>
-  
-  <bean id="messageSerializer" class="org.apache.cloudstack.framework.serializer.JsonMessageSerializer">
+
+  <bean id="messageSerializer"
+    class="org.apache.cloudstack.framework.serializer.JsonMessageSerializer">
     <property name="onwireClassRegistry" ref="onwireRegistry" />
   </bean>
 
-  <bean id="transportProvider" class="org.apache.cloudstack.framework.server.ServerTransportProvider"  init-method="initialize">
+  <bean id="transportProvider"
+    class="org.apache.cloudstack.framework.server.ServerTransportProvider"
+    init-method="initialize">
     <property name="workerPoolSize" value="5" />
     <property name="nodeId" value="Node1" />
     <property name="messageSerializer" ref="messageSerializer" />
   </bean>
-  
-  <bean id="rpcProvider" class="org.apache.cloudstack.framework.rpc.RpcProviderImpl" init-method="initialize">
+
+  <bean id="rpcProvider" class="org.apache.cloudstack.framework.rpc.RpcProviderImpl"
+    init-method="initialize">
     <constructor-arg ref="transportProvider" />
     <property name="messageSerializer" ref="messageSerializer" />
   </bean>
 
-  <bean id="eventBus" class = "org.apache.cloudstack.framework.eventbus.EventBusBase" />
+  <bean id="eventBus" class="org.apache.cloudstack.framework.eventbus.EventBusBase" />
 
 </beans>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/integration-test/test/resource/testng.xml
----------------------------------------------------------------------
diff --git a/engine/storage/integration-test/test/resource/testng.xml b/engine/storage/integration-test/test/resource/testng.xml
index bf9f8f0..db32c24 100644
--- a/engine/storage/integration-test/test/resource/testng.xml
+++ b/engine/storage/integration-test/test/resource/testng.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements. See the NOTICE file
@@ -16,7 +17,6 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
 <suite thread-count="1" verbose="1" name="storage test" annotations="JDK" parallel="classes">
   <!--describe your test environment-->

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/src/org/apache/cloudstack/storage/HypervisorHostEndPoint.java
----------------------------------------------------------------------
diff --git a/engine/storage/src/org/apache/cloudstack/storage/HypervisorHostEndPoint.java b/engine/storage/src/org/apache/cloudstack/storage/HypervisorHostEndPoint.java
index c36a7de..6c49b1a 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/HypervisorHostEndPoint.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/HypervisorHostEndPoint.java
@@ -29,21 +29,32 @@ import com.cloud.agent.api.Answer;
 import com.cloud.agent.api.Command;
 import com.cloud.exception.AgentUnavailableException;
 import com.cloud.exception.OperationTimedoutException;
+import com.cloud.utils.component.ComponentContext;
 
 public class HypervisorHostEndPoint implements EndPoint {
     private static final Logger s_logger = Logger.getLogger(HypervisorHostEndPoint.class);
-    private final long hostId;
-    private final String hostAddress;
+    private  long hostId;
+    private  String hostAddress;
     @Inject
     AgentManager agentMgr;
     @Inject
     HostEndpointRpcServer rpcServer;
 
-    public HypervisorHostEndPoint(long hostId, String hostAddress) {
+    protected HypervisorHostEndPoint() {
+      
+    }
+    
+    private void configure(long hostId, String hostAddress) {
         this.hostId = hostId;
         this.hostAddress = hostAddress;
     }
     
+    public static HypervisorHostEndPoint getHypervisorHostEndPoint(long hostId, String hostAddress) {
+        HypervisorHostEndPoint ep = ComponentContext.inject(HypervisorHostEndPoint.class);
+        ep.configure(hostId, hostAddress);
+        return ep;
+    }
+    
     public String getHostAddr() {
         return this.hostAddress;
     }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreVO.java
----------------------------------------------------------------------
diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreVO.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreVO.java
index 19e1990..3e37ec7 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreVO.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreVO.java
@@ -98,6 +98,7 @@ public class PrimaryDataStoreVO implements Identity {
     private Long clusterId;
 
     @Column(name = "scope")
+    @Enumerated(value = EnumType.STRING)
     private ScopeType scope;
 
     public long getId() {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DataStoreProviderManagerImpl.java
----------------------------------------------------------------------
diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DataStoreProviderManagerImpl.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DataStoreProviderManagerImpl.java
index 2f6bd6c..692e84b 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DataStoreProviderManagerImpl.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DataStoreProviderManagerImpl.java
@@ -44,8 +44,8 @@ public class DataStoreProviderManagerImpl implements DataStoreProviderManager {
 
     @Override
     public DataStoreProvider getDataStoreProvider(String name) {
-        // TODO Auto-generated method stub
-        return null;
+        DataStoreProviderVO dspv = providerDao.findByName(name);
+        return providerMap.get(dspv.getUuid());
     }
 
     @Override
@@ -58,7 +58,7 @@ public class DataStoreProviderManagerImpl implements DataStoreProviderManager {
     public boolean configure(String name, Map<String, Object> params)
     		throws ConfigurationException {
     	
-/*
+
     	//TODO: hold global lock
         List<DataStoreProviderVO> providerVos = providerDao.listAll();
         for (DataStoreProvider provider : providers) {
@@ -71,20 +71,22 @@ public class DataStoreProviderManagerImpl implements DataStoreProviderManager {
                     break;
                 }
             }
-            String uuid = provider.getUuid();
+            String uuid = null;
             if (!existingProvider) {
                 uuid = UUID.nameUUIDFromBytes(provider.getName().getBytes()).toString();
                 providerVO = new DataStoreProviderVO();
                 providerVO.setName(provider.getName());
                 providerVO.setUuid(uuid);
                 providerVO = providerDao.persist(providerVO);
+            } else {
+                uuid = providerVO.getUuid();
             }
             params.put("uuid", uuid);
             params.put("id", providerVO.getId());
             provider.configure(params);
             providerMap.put(uuid, provider);
         }
-*/       
+     
         return true;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
----------------------------------------------------------------------
diff --git a/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java b/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
index b39142c..d45aa72 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
@@ -118,7 +118,7 @@ public class DefaultEndPointSelector implements EndPointSelector {
             return null;
         }
 
-        return new HypervisorHostEndPoint(host.getId(),
+        return HypervisorHostEndPoint.getHypervisorHostEndPoint(host.getId(),
                 host.getPrivateIpAddress());
     }
 
@@ -176,7 +176,7 @@ public class DefaultEndPointSelector implements EndPointSelector {
         List<EndPoint> endPoints = new ArrayList<EndPoint>();
         if (store.getScope().getScopeType() == ScopeType.HOST) {
             HostVO host = hostDao.findById(store.getScope().getScopeId());
-            endPoints.add(new HypervisorHostEndPoint(host.getId(),
+            endPoints.add(HypervisorHostEndPoint.getHypervisorHostEndPoint(host.getId(),
                     host.getPrivateIpAddress()));
         } else if (store.getScope().getScopeType() == ScopeType.CLUSTER) {
             SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
@@ -184,7 +184,7 @@ public class DefaultEndPointSelector implements EndPointSelector {
             sc.addAnd(sc.getEntity().getStatus(), Op.EQ, Status.Up);
             List<HostVO> hosts = sc.find();
             for (HostVO host : hosts) {
-                endPoints.add(new HypervisorHostEndPoint(host.getId(),
+                endPoints.add(HypervisorHostEndPoint.getHypervisorHostEndPoint(host.getId(),
                         host.getPrivateIpAddress()));
             }
            

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataDaoImpl.java b/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataDaoImpl.java
index bcff894..082a078 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataDaoImpl.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataDaoImpl.java
@@ -76,18 +76,18 @@ public class ImageDataDaoImpl extends GenericDaoBase<ImageDataVO, Long> implemen
     private static final Logger s_logger = Logger.getLogger(VMTemplateDaoImpl.class);
 
 
-    @Inject VMTemplateZoneDao _templateZoneDao = null;
+    VMTemplateZoneDao _templateZoneDao = null;
 
-    @Inject VMTemplateDetailsDao _templateDetailsDao = null;
+    VMTemplateDetailsDao _templateDetailsDao = null;
 
 
-    @Inject ConfigurationDao _configDao = null;
+    ConfigurationDao _configDao = null;
 
-    @Inject HostDao _hostDao = null;
+    HostDao _hostDao = null;
 
-    @Inject DomainDao _domainDao = null;
+    DomainDao _domainDao = null;
 
-    @Inject DataCenterDao _dcDao = null;
+    DataCenterDao _dcDao = null;
     private final String SELECT_TEMPLATE_HOST_REF = "SELECT t.id, h.data_center_id, t.unique_name, t.name, t.public, t.featured, t.type, t.hvm, t.bits, t.url, t.format, t.created, t.account_id, "
             + "t.checksum, t.display_text, t.enable_password, t.guest_os_id, t.bootable, t.prepopulate, t.cross_zones, t.hypervisor_type FROM vm_template t";
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/src/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java
----------------------------------------------------------------------
diff --git a/engine/storage/src/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java b/engine/storage/src/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java
index a7397e1..20ceaa3 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java
@@ -49,7 +49,6 @@ public class PrimaryDataStoreHelper {
         dataStoreVO.setPath(params.get("path"));
         dataStoreVO.setPoolType(params.get("protocol"));
         dataStoreVO.setPort(Integer.parseInt(params.get("port")));
-        //dataStoreVO.setKey(params.get("key"));
         dataStoreVO.setName(params.get("name"));
         dataStoreVO.setUuid(params.get("uuid"));
         dataStoreVO = dataStoreDao.persist(dataStoreVO);

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java
----------------------------------------------------------------------
diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java
index 6ab9120..0f11c42 100644
--- a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java
+++ b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java
@@ -33,6 +33,7 @@ import org.apache.cloudstack.engine.subsystem.api.storage.ScopeType;
 import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
 import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
 import org.apache.cloudstack.engine.subsystem.api.storage.disktype.DiskFormat;
+import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
 import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreVO;
 import org.apache.cloudstack.storage.datastore.provider.DataStoreProvider;
 import org.apache.cloudstack.storage.image.ImageDataFactory;
@@ -46,7 +47,6 @@ import org.apache.cloudstack.storage.volume.db.VolumeVO;
 import org.apache.log4j.Logger;
 
 import com.cloud.hypervisor.Hypervisor.HypervisorType;
-import com.cloud.storage.dao.StoragePoolHostDao;
 import com.cloud.utils.component.ComponentContext;
 
 public class DefaultPrimaryDataStore implements PrimaryDataStore {
@@ -54,6 +54,8 @@ public class DefaultPrimaryDataStore implements PrimaryDataStore {
             .getLogger(DefaultPrimaryDataStore.class);
     protected PrimaryDataStoreDriver driver;
     protected PrimaryDataStoreVO pdsv;
+    @Inject
+    protected PrimaryDataStoreDao dataStoreDao;
     protected PrimaryDataStoreLifeCycle lifeCycle;
     @Inject
     private ObjectInDataStoreManager objectInStoreMgr;
@@ -66,7 +68,11 @@ public class DefaultPrimaryDataStore implements PrimaryDataStore {
     @Inject
     private VolumeDao2 volumeDao;
 
-    private DefaultPrimaryDataStore(PrimaryDataStoreVO pdsv,
+    protected DefaultPrimaryDataStore() {
+       
+    }
+    
+    public void configure(PrimaryDataStoreVO pdsv,
             PrimaryDataStoreDriver driver, DataStoreProvider provider) {
         this.pdsv = pdsv;
         this.driver = driver;
@@ -76,9 +82,9 @@ public class DefaultPrimaryDataStore implements PrimaryDataStore {
     public static DefaultPrimaryDataStore createDataStore(
             PrimaryDataStoreVO pdsv, PrimaryDataStoreDriver driver,
             DataStoreProvider provider) {
-        DefaultPrimaryDataStore dataStore = new DefaultPrimaryDataStore(pdsv,
-                driver, provider);
-        return ComponentContext.inject(dataStore);
+        DefaultPrimaryDataStore dataStore = (DefaultPrimaryDataStore)ComponentContext.inject(DefaultPrimaryDataStore.class);
+        dataStore.configure(pdsv, driver, provider);
+        return dataStore;
     }
 
     @Override
@@ -113,12 +119,14 @@ public class DefaultPrimaryDataStore implements PrimaryDataStore {
     @Override
     public long getId() {
         // TODO Auto-generated method stub
-        return 0;
+        return this.pdsv.getId();
     }
 
     @Override
     public String getUri() {
-        return this.pdsv.getPoolType() + File.separator
+        String path = this.pdsv.getPath();
+        path.replaceFirst("/*", "");
+        return this.pdsv.getPoolType() + ":" + File.separator + File.separator
                 + this.pdsv.getHostAddress() + File.separator
                 + this.pdsv.getPath() + File.separator
                 + "?role=" + this.getRole()
@@ -127,11 +135,12 @@ public class DefaultPrimaryDataStore implements PrimaryDataStore {
 
     @Override
     public Scope getScope() {
-        if (pdsv.getScope() == ScopeType.CLUSTER) {
-            return new ClusterScope(pdsv.getClusterId(), pdsv.getPodId(),
-                    pdsv.getDataCenterId());
-        } else if (pdsv.getScope() == ScopeType.ZONE) {
-            return new ZoneScope(pdsv.getDataCenterId());
+        PrimaryDataStoreVO vo = dataStoreDao.findById(this.pdsv.getId());
+        if (vo.getScope() == ScopeType.CLUSTER) {
+            return new ClusterScope(vo.getClusterId(), vo.getPodId(),
+                    vo.getDataCenterId());
+        } else if (vo.getScope() == ScopeType.ZONE) {
+            return new ZoneScope(vo.getDataCenterId());
         }
         return null;
     }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/lifecycle/DefaultPrimaryDataStoreLifeCycleImpl.java
----------------------------------------------------------------------
diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/lifecycle/DefaultPrimaryDataStoreLifeCycleImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/lifecycle/DefaultPrimaryDataStoreLifeCycleImpl.java
index 709c51a..ffe7efd 100644
--- a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/lifecycle/DefaultPrimaryDataStoreLifeCycleImpl.java
+++ b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/lifecycle/DefaultPrimaryDataStoreLifeCycleImpl.java
@@ -44,9 +44,8 @@ import com.cloud.host.dao.HostDao;
 import com.cloud.hypervisor.Hypervisor.HypervisorType;
 
 public class DefaultPrimaryDataStoreLifeCycleImpl implements PrimaryDataStoreLifeCycle {
-    protected PrimaryDataStore dataStore;
     @Inject
-    EndPointSelector selecotr;
+    EndPointSelector selector;
     @Inject
     PrimaryDataStoreDao dataStoreDao;
     @Inject
@@ -67,7 +66,7 @@ public class DefaultPrimaryDataStoreLifeCycleImpl implements PrimaryDataStoreLif
 
     protected void attachCluster(DataStore store) {
         //send down AttachPrimaryDataStoreCmd command to all the hosts in the cluster
-        List<EndPoint> endPoints = selecotr.selectAll(dataStore);
+        List<EndPoint> endPoints = selector.selectAll(store);
         CreatePrimaryDataStoreCmd createCmd = new CreatePrimaryDataStoreCmd(store.getUri());
         EndPoint ep = endPoints.get(0);
         HostVO host = hostDao.findById(ep.getId());
@@ -76,7 +75,7 @@ public class DefaultPrimaryDataStoreLifeCycleImpl implements PrimaryDataStoreLif
         }
         
         endPoints.get(0).sendMessage(createCmd);
-        AttachPrimaryDataStoreCmd cmd = new AttachPrimaryDataStoreCmd(dataStore.getUri());
+        AttachPrimaryDataStoreCmd cmd = new AttachPrimaryDataStoreCmd(store.getUri());
         for (EndPoint endp : endPoints) {
             endp.sendMessage(cmd);
         }
@@ -92,6 +91,7 @@ public class DefaultPrimaryDataStoreLifeCycleImpl implements PrimaryDataStoreLif
         dataStoreVO.setScope(scope.getScopeType());
         dataStoreDao.update(dataStoreVO.getId(), dataStoreVO);
         
+        
         attachCluster(dataStore);
         
         dataStoreVO = dataStoreDao.findById(dataStore.getId());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/manager/DefaultPrimaryDataStoreProviderManagerImpl.java
----------------------------------------------------------------------
diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/manager/DefaultPrimaryDataStoreProviderManagerImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/manager/DefaultPrimaryDataStoreProviderManagerImpl.java
index fd66ffb..1a24d87 100644
--- a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/manager/DefaultPrimaryDataStoreProviderManagerImpl.java
+++ b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/manager/DefaultPrimaryDataStoreProviderManagerImpl.java
@@ -34,6 +34,8 @@ import org.apache.cloudstack.storage.datastore.provider.DataStoreProviderManager
 import org.apache.cloudstack.storage.volume.PrimaryDataStoreDriver;
 import org.springframework.stereotype.Component;
 
+import com.cloud.utils.component.ComponentContext;
+
 @Component
 public class DefaultPrimaryDataStoreProviderManagerImpl implements PrimaryDataStoreProviderManager {
     @Inject
@@ -49,10 +51,10 @@ public class DefaultPrimaryDataStoreProviderManagerImpl implements PrimaryDataSt
         PrimaryDataStoreVO dataStoreVO = dataStoreDao.findById(dataStoreId);
         long providerId = dataStoreVO.getStorageProviderId();
         DataStoreProvider provider = providerManager.getDataStoreProviderById(providerId);
-        DefaultPrimaryDataStore dataStore = DefaultPrimaryDataStore.createDataStore(dataStoreVO, 
+        /*DefaultPrimaryDataStore dataStore = DefaultPrimaryDataStore.createDataStore(dataStoreVO, 
                 driverMaps.get(provider.getUuid()),
-                provider);
-
+                provider);*/
+        DefaultPrimaryDataStore dataStore = DefaultPrimaryDataStore.createDataStore(dataStoreVO, driverMaps.get(provider.getUuid()), provider);
         return dataStore;
     }
     

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeManagerImpl.java
----------------------------------------------------------------------
diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeManagerImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeManagerImpl.java
index 77a5949..bcff312 100644
--- a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeManagerImpl.java
+++ b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeManagerImpl.java
@@ -35,7 +35,7 @@ import com.cloud.utils.fsm.StateMachine2;
 public class VolumeManagerImpl implements VolumeManager {
     @Inject
     protected VolumeDao2 _volumeDao;
-    private final static StateMachine2<State, Event, VolumeVO> s_fsm = new StateMachine2<State, Event, VolumeVO>();
+    private final StateMachine2<State, Event, VolumeVO> s_fsm = new StateMachine2<State, Event, VolumeVO>();
     public VolumeManagerImpl() {
         initStateMachine();
     }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java
index b9d6506..65fbf4a 100644
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java
@@ -51,9 +51,9 @@ import com.cloud.hypervisor.vmware.VmwareCleanupMaid;
 import com.cloud.hypervisor.vmware.manager.VmwareManager;
 import com.cloud.hypervisor.vmware.mo.VirtualEthernetCardType;
 import com.cloud.network.NetworkModel;
-import com.cloud.network.NetworkVO;
 import com.cloud.network.Networks.TrafficType;
 import com.cloud.network.dao.NetworkDao;
+import com.cloud.network.dao.NetworkVO;
 import com.cloud.secstorage.CommandExecLogDao;
 import com.cloud.secstorage.CommandExecLogVO;
 import com.cloud.storage.GuestOSVO;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServerStorageResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServerStorageResource.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServerStorageResource.java
index 417de0b..b0ddb8e 100644
--- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServerStorageResource.java
+++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServerStorageResource.java
@@ -570,10 +570,18 @@ public class XenServerStorageResource {
     }
     
     protected Answer execute(AttachPrimaryDataStoreCmd cmd) {
-        PrimaryDataStoreTO dataStore = null;
+        String dataStoreUri = cmd.getDataStore();
         Connection conn = hypervisorResource.getConnection();
+        Map<String, String> params = null;
         try {
-            SR sr = hypervisorResource.getStorageRepository(conn, dataStore.getUuid());
+            try {
+                URI uri = new URI(dataStoreUri);
+                params = getParameters(uri);
+            } catch (URISyntaxException e1) {
+                s_logger.debug("uri exception", e1);
+                return new CreateVolumeAnswer(cmd, false, e1.toString()); 
+            }
+            SR sr = hypervisorResource.getStorageRepository(conn, params.get("storeUuid"));
             hypervisorResource.setupHeartbeatSr(conn, sr, false);
             long capacity = sr.getPhysicalSize(conn);
             long available = capacity - sr.getPhysicalUtilisation(conn);

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
index e0a211a..39b0a9d 100644
--- a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
+++ b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
@@ -75,22 +75,22 @@ import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.exception.StorageUnavailableException;
 import com.cloud.hypervisor.Hypervisor.HypervisorType;
 import com.cloud.network.ElasticLbVmMapVO;
-import com.cloud.network.IPAddressVO;
-import com.cloud.network.LoadBalancerVO;
 import com.cloud.network.Network;
 import com.cloud.network.Network.Provider;
 import com.cloud.network.Network.Service;
 import com.cloud.network.NetworkManager;
 import com.cloud.network.NetworkModel;
-import com.cloud.network.NetworkVO;
 import com.cloud.network.Networks.TrafficType;
 import com.cloud.network.PhysicalNetworkServiceProvider;
 import com.cloud.network.VirtualRouterProvider;
 import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
 import com.cloud.network.addr.PublicIp;
 import com.cloud.network.dao.IPAddressDao;
+import com.cloud.network.dao.IPAddressVO;
 import com.cloud.network.dao.LoadBalancerDao;
+import com.cloud.network.dao.LoadBalancerVO;
 import com.cloud.network.dao.NetworkDao;
+import com.cloud.network.dao.NetworkVO;
 import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
 import com.cloud.network.dao.VirtualRouterProviderDao;
 import com.cloud.network.lb.LoadBalancingRule.LbDestination;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDao.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDao.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDao.java
index 725377c..5c03a3c 100644
--- a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDao.java
+++ b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDao.java
@@ -19,7 +19,7 @@ package com.cloud.network.lb.dao;
 import java.util.List;
 
 import com.cloud.network.ElasticLbVmMapVO;
-import com.cloud.network.LoadBalancerVO;
+import com.cloud.network.dao.LoadBalancerVO;
 import com.cloud.utils.db.GenericDao;
 import com.cloud.vm.DomainRouterVO;
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java
index be61f58..fcf835c 100644
--- a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java
+++ b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java
@@ -25,9 +25,9 @@ import javax.inject.Inject;
 import org.springframework.stereotype.Component;
 
 import com.cloud.network.ElasticLbVmMapVO;
-import com.cloud.network.LoadBalancerVO;
 import com.cloud.network.dao.LoadBalancerDao;
 import com.cloud.network.dao.LoadBalancerDaoImpl;
+import com.cloud.network.dao.LoadBalancerVO;
 import com.cloud.network.router.VirtualRouter.Role;
 import com.cloud.network.router.VirtualRouter.Role;
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/f5/src/com/cloud/api/commands/AddF5LoadBalancerCmd.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/f5/src/com/cloud/api/commands/AddF5LoadBalancerCmd.java b/plugins/network-elements/f5/src/com/cloud/api/commands/AddF5LoadBalancerCmd.java
index dcfd72f..1670351 100644
--- a/plugins/network-elements/f5/src/com/cloud/api/commands/AddF5LoadBalancerCmd.java
+++ b/plugins/network-elements/f5/src/com/cloud/api/commands/AddF5LoadBalancerCmd.java
@@ -31,7 +31,7 @@ import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.exception.ResourceAllocationException;
 import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.network.ExternalLoadBalancerDeviceVO;
+import com.cloud.network.dao.ExternalLoadBalancerDeviceVO;
 import com.cloud.network.element.F5ExternalLoadBalancerElementService;
 import com.cloud.user.UserContext;
 import com.cloud.utils.exception.CloudRuntimeException;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/f5/src/com/cloud/api/commands/ConfigureF5LoadBalancerCmd.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/f5/src/com/cloud/api/commands/ConfigureF5LoadBalancerCmd.java b/plugins/network-elements/f5/src/com/cloud/api/commands/ConfigureF5LoadBalancerCmd.java
index 761352a..209a258 100644
--- a/plugins/network-elements/f5/src/com/cloud/api/commands/ConfigureF5LoadBalancerCmd.java
+++ b/plugins/network-elements/f5/src/com/cloud/api/commands/ConfigureF5LoadBalancerCmd.java
@@ -30,7 +30,7 @@ import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.exception.ResourceAllocationException;
 import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.network.ExternalLoadBalancerDeviceVO;
+import com.cloud.network.dao.ExternalLoadBalancerDeviceVO;
 import com.cloud.network.element.F5ExternalLoadBalancerElementService;
 import com.cloud.user.UserContext;
 import com.cloud.utils.exception.CloudRuntimeException;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/f5/src/com/cloud/api/commands/ListF5LoadBalancersCmd.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/f5/src/com/cloud/api/commands/ListF5LoadBalancersCmd.java b/plugins/network-elements/f5/src/com/cloud/api/commands/ListF5LoadBalancersCmd.java
index 270447d..d400149 100644
--- a/plugins/network-elements/f5/src/com/cloud/api/commands/ListF5LoadBalancersCmd.java
+++ b/plugins/network-elements/f5/src/com/cloud/api/commands/ListF5LoadBalancersCmd.java
@@ -34,7 +34,7 @@ import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.exception.ResourceAllocationException;
 import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.network.ExternalLoadBalancerDeviceVO;
+import com.cloud.network.dao.ExternalLoadBalancerDeviceVO;
 import com.cloud.network.element.F5ExternalLoadBalancerElementService;
 import com.cloud.utils.exception.CloudRuntimeException;
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/f5/src/com/cloud/api/response/F5LoadBalancerResponse.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/f5/src/com/cloud/api/response/F5LoadBalancerResponse.java b/plugins/network-elements/f5/src/com/cloud/api/response/F5LoadBalancerResponse.java
index 19e6726..6179037 100644
--- a/plugins/network-elements/f5/src/com/cloud/api/response/F5LoadBalancerResponse.java
+++ b/plugins/network-elements/f5/src/com/cloud/api/response/F5LoadBalancerResponse.java
@@ -21,7 +21,8 @@ import org.apache.cloudstack.api.ApiConstants;
 import com.cloud.serializer.Param;
 import com.google.gson.annotations.SerializedName;
 import org.apache.cloudstack.api.BaseResponse;
-import com.cloud.network.ExternalLoadBalancerDeviceVO;
+
+import com.cloud.network.dao.ExternalLoadBalancerDeviceVO;
 
 @EntityReference(value=ExternalLoadBalancerDeviceVO.class)
 public class F5LoadBalancerResponse extends BaseResponse {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java b/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
index 36f0dad..94c098e 100644
--- a/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
+++ b/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
@@ -57,25 +57,25 @@ import com.cloud.host.dao.HostDao;
 import com.cloud.host.dao.HostDetailsDao;
 import com.cloud.network.ExternalLoadBalancerDeviceManager;
 import com.cloud.network.ExternalLoadBalancerDeviceManagerImpl;
-import com.cloud.network.ExternalLoadBalancerDeviceVO;
-import com.cloud.network.ExternalLoadBalancerDeviceVO.LBDeviceState;
 import com.cloud.network.Network;
 import com.cloud.network.Network.Capability;
 import com.cloud.network.Network.Provider;
 import com.cloud.network.Network.Service;
-import com.cloud.network.NetworkExternalLoadBalancerVO;
 import com.cloud.network.NetworkModel;
-import com.cloud.network.NetworkVO;
 import com.cloud.network.Networks.TrafficType;
 import com.cloud.network.PhysicalNetwork;
 import com.cloud.network.PhysicalNetworkServiceProvider;
-import com.cloud.network.PhysicalNetworkVO;
 import com.cloud.network.PublicIpAddress;
 import com.cloud.network.dao.ExternalLoadBalancerDeviceDao;
+import com.cloud.network.dao.ExternalLoadBalancerDeviceVO;
 import com.cloud.network.dao.NetworkDao;
 import com.cloud.network.dao.NetworkExternalLoadBalancerDao;
+import com.cloud.network.dao.NetworkExternalLoadBalancerVO;
 import com.cloud.network.dao.NetworkServiceMapDao;
+import com.cloud.network.dao.NetworkVO;
 import com.cloud.network.dao.PhysicalNetworkDao;
+import com.cloud.network.dao.PhysicalNetworkVO;
+import com.cloud.network.dao.ExternalLoadBalancerDeviceVO.LBDeviceState;
 import com.cloud.network.lb.LoadBalancingRule;
 import com.cloud.network.resource.F5BigIpResource;
 import com.cloud.network.rules.LbStickinessMethod;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElementService.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElementService.java b/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElementService.java
index 951bc3c..4a66e3b 100644
--- a/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElementService.java
+++ b/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElementService.java
@@ -28,8 +28,9 @@ import com.cloud.api.commands.ListF5LoadBalancerNetworksCmd;
 import com.cloud.api.commands.ListF5LoadBalancersCmd;
 import com.cloud.api.response.F5LoadBalancerResponse;
 import com.cloud.host.Host;
-import com.cloud.network.ExternalLoadBalancerDeviceVO;
 import com.cloud.network.Network;
+import com.cloud.network.dao.ExternalLoadBalancerDeviceVO;
+
 import org.apache.cloudstack.api.response.ExternalLoadBalancerResponse;
 import com.cloud.utils.component.PluggableService;
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/AddSrxFirewallCmd.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/AddSrxFirewallCmd.java b/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/AddSrxFirewallCmd.java
index 2411f9c..f5bb037 100644
--- a/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/AddSrxFirewallCmd.java
+++ b/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/AddSrxFirewallCmd.java
@@ -35,7 +35,7 @@ import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.exception.ResourceAllocationException;
 import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.network.ExternalFirewallDeviceVO;
+import com.cloud.network.dao.ExternalFirewallDeviceVO;
 import com.cloud.network.element.JuniperSRXFirewallElementService;
 import com.cloud.user.UserContext;
 import com.cloud.utils.exception.CloudRuntimeException;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/ConfigureSrxFirewallCmd.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/ConfigureSrxFirewallCmd.java b/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/ConfigureSrxFirewallCmd.java
index 0f2e14c..9bffee1 100644
--- a/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/ConfigureSrxFirewallCmd.java
+++ b/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/ConfigureSrxFirewallCmd.java
@@ -34,7 +34,7 @@ import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.exception.ResourceAllocationException;
 import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.network.ExternalFirewallDeviceVO;
+import com.cloud.network.dao.ExternalFirewallDeviceVO;
 import com.cloud.network.element.JuniperSRXFirewallElementService;
 import com.cloud.user.UserContext;
 import com.cloud.utils.exception.CloudRuntimeException;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/ListSrxFirewallsCmd.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/ListSrxFirewallsCmd.java b/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/ListSrxFirewallsCmd.java
index 973ad14..320a684 100644
--- a/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/ListSrxFirewallsCmd.java
+++ b/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/ListSrxFirewallsCmd.java
@@ -33,7 +33,7 @@ import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.exception.ResourceAllocationException;
 import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.network.ExternalFirewallDeviceVO;
+import com.cloud.network.dao.ExternalFirewallDeviceVO;
 import com.cloud.network.element.JuniperSRXFirewallElementService;
 import com.cloud.utils.exception.CloudRuntimeException;
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/juniper-srx/src/com/cloud/api/response/SrxFirewallResponse.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/juniper-srx/src/com/cloud/api/response/SrxFirewallResponse.java b/plugins/network-elements/juniper-srx/src/com/cloud/api/response/SrxFirewallResponse.java
index 56aab70..db947fc 100644
--- a/plugins/network-elements/juniper-srx/src/com/cloud/api/response/SrxFirewallResponse.java
+++ b/plugins/network-elements/juniper-srx/src/com/cloud/api/response/SrxFirewallResponse.java
@@ -21,7 +21,8 @@ import org.apache.cloudstack.api.EntityReference;
 import com.cloud.serializer.Param;
 import com.google.gson.annotations.SerializedName;
 import org.apache.cloudstack.api.BaseResponse;
-import com.cloud.network.ExternalFirewallDeviceVO;
+
+import com.cloud.network.dao.ExternalFirewallDeviceVO;
 
 @EntityReference(value=ExternalFirewallDeviceVO.class)
 @SuppressWarnings("unused")

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java b/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
index d13b95d..622b55c 100644
--- a/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
+++ b/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
@@ -58,26 +58,26 @@ import com.cloud.host.HostVO;
 import com.cloud.host.dao.HostDao;
 import com.cloud.host.dao.HostDetailsDao;
 import com.cloud.network.ExternalFirewallDeviceManagerImpl;
-import com.cloud.network.ExternalFirewallDeviceVO;
-import com.cloud.network.ExternalFirewallDeviceVO.FirewallDeviceState;
 import com.cloud.network.Network;
 import com.cloud.network.Network.Capability;
 import com.cloud.network.Network.Provider;
 import com.cloud.network.Network.Service;
-import com.cloud.network.NetworkExternalFirewallVO;
 import com.cloud.network.NetworkModel;
-import com.cloud.network.NetworkVO;
 import com.cloud.network.PhysicalNetwork;
 import com.cloud.network.PhysicalNetworkServiceProvider;
-import com.cloud.network.PhysicalNetworkVO;
 import com.cloud.network.PublicIpAddress;
 import com.cloud.network.RemoteAccessVpn;
 import com.cloud.network.VpnUser;
 import com.cloud.network.dao.ExternalFirewallDeviceDao;
+import com.cloud.network.dao.ExternalFirewallDeviceVO;
 import com.cloud.network.dao.NetworkDao;
 import com.cloud.network.dao.NetworkExternalFirewallDao;
+import com.cloud.network.dao.NetworkExternalFirewallVO;
 import com.cloud.network.dao.NetworkServiceMapDao;
+import com.cloud.network.dao.NetworkVO;
 import com.cloud.network.dao.PhysicalNetworkDao;
+import com.cloud.network.dao.PhysicalNetworkVO;
+import com.cloud.network.dao.ExternalFirewallDeviceVO.FirewallDeviceState;
 import com.cloud.network.resource.JuniperSrxResource;
 import com.cloud.network.rules.FirewallRule;
 import com.cloud.network.rules.PortForwardingRule;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXFirewallElementService.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXFirewallElementService.java b/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXFirewallElementService.java
index d5f5384..2da5b47 100644
--- a/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXFirewallElementService.java
+++ b/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXFirewallElementService.java
@@ -28,8 +28,9 @@ import com.cloud.api.commands.ListSrxFirewallNetworksCmd;
 import com.cloud.api.commands.ListSrxFirewallsCmd;
 import com.cloud.api.response.SrxFirewallResponse;
 import com.cloud.host.Host;
-import com.cloud.network.ExternalFirewallDeviceVO;
 import com.cloud.network.Network;
+import com.cloud.network.dao.ExternalFirewallDeviceVO;
+
 import org.apache.cloudstack.api.response.ExternalFirewallResponse;
 import com.cloud.utils.component.PluggableService;
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/netscaler/src/com/cloud/api/commands/AddNetscalerLoadBalancerCmd.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/netscaler/src/com/cloud/api/commands/AddNetscalerLoadBalancerCmd.java b/plugins/network-elements/netscaler/src/com/cloud/api/commands/AddNetscalerLoadBalancerCmd.java
index 356cec5..80c8cb9 100644
--- a/plugins/network-elements/netscaler/src/com/cloud/api/commands/AddNetscalerLoadBalancerCmd.java
+++ b/plugins/network-elements/netscaler/src/com/cloud/api/commands/AddNetscalerLoadBalancerCmd.java
@@ -28,7 +28,7 @@ import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.exception.ResourceAllocationException;
 import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.network.ExternalLoadBalancerDeviceVO;
+import com.cloud.network.dao.ExternalLoadBalancerDeviceVO;
 import com.cloud.network.element.NetscalerLoadBalancerElementService;
 import com.cloud.user.UserContext;
 import com.cloud.utils.exception.CloudRuntimeException;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/netscaler/src/com/cloud/api/commands/ConfigureNetscalerLoadBalancerCmd.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/netscaler/src/com/cloud/api/commands/ConfigureNetscalerLoadBalancerCmd.java b/plugins/network-elements/netscaler/src/com/cloud/api/commands/ConfigureNetscalerLoadBalancerCmd.java
index d4d1dd3..a04a48d 100644
--- a/plugins/network-elements/netscaler/src/com/cloud/api/commands/ConfigureNetscalerLoadBalancerCmd.java
+++ b/plugins/network-elements/netscaler/src/com/cloud/api/commands/ConfigureNetscalerLoadBalancerCmd.java
@@ -30,7 +30,7 @@ import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.exception.ResourceAllocationException;
 import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.network.ExternalLoadBalancerDeviceVO;
+import com.cloud.network.dao.ExternalLoadBalancerDeviceVO;
 import com.cloud.network.element.NetscalerLoadBalancerElementService;
 import com.cloud.user.UserContext;
 import com.cloud.utils.exception.CloudRuntimeException;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/netscaler/src/com/cloud/api/commands/ListNetscalerLoadBalancersCmd.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/netscaler/src/com/cloud/api/commands/ListNetscalerLoadBalancersCmd.java b/plugins/network-elements/netscaler/src/com/cloud/api/commands/ListNetscalerLoadBalancersCmd.java
index 566ff7b..25cf479 100644
--- a/plugins/network-elements/netscaler/src/com/cloud/api/commands/ListNetscalerLoadBalancersCmd.java
+++ b/plugins/network-elements/netscaler/src/com/cloud/api/commands/ListNetscalerLoadBalancersCmd.java
@@ -36,7 +36,7 @@ import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.exception.ResourceAllocationException;
 import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.network.ExternalLoadBalancerDeviceVO;
+import com.cloud.network.dao.ExternalLoadBalancerDeviceVO;
 import com.cloud.network.element.NetscalerLoadBalancerElementService;
 import com.cloud.utils.exception.CloudRuntimeException;
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/netscaler/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/netscaler/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java b/plugins/network-elements/netscaler/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java
index 40be29e..bd25880 100644
--- a/plugins/network-elements/netscaler/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java
+++ b/plugins/network-elements/netscaler/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java
@@ -23,7 +23,8 @@ import org.apache.cloudstack.api.EntityReference;
 import com.cloud.serializer.Param;
 import com.google.gson.annotations.SerializedName;
 import org.apache.cloudstack.api.BaseResponse;
-import com.cloud.network.ExternalLoadBalancerDeviceVO;
+
+import com.cloud.network.dao.ExternalLoadBalancerDeviceVO;
 
 @EntityReference(value=ExternalLoadBalancerDeviceVO.class)
 @SuppressWarnings("unused")

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fbecf15/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
index 868c56a..5a03c0e 100644
--- a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
+++ b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
@@ -67,30 +67,30 @@ import com.cloud.host.dao.HostDao;
 import com.cloud.host.dao.HostDetailsDao;
 import com.cloud.network.ExternalLoadBalancerDeviceManager;
 import com.cloud.network.ExternalLoadBalancerDeviceManagerImpl;
-import com.cloud.network.ExternalLoadBalancerDeviceVO;
-import com.cloud.network.ExternalLoadBalancerDeviceVO.LBDeviceState;
 import com.cloud.network.IpAddress;
 import com.cloud.network.NetScalerPodVO;
 import com.cloud.network.Network;
 import com.cloud.network.Network.Capability;
 import com.cloud.network.Network.Provider;
 import com.cloud.network.Network.Service;
-import com.cloud.network.NetworkExternalLoadBalancerVO;
 import com.cloud.network.NetworkModel;
-import com.cloud.network.NetworkVO;
 import com.cloud.network.Networks.TrafficType;
 import com.cloud.network.PhysicalNetwork;
 import com.cloud.network.PhysicalNetworkServiceProvider;
-import com.cloud.network.PhysicalNetworkVO;
 import com.cloud.network.PublicIpAddress;
 import com.cloud.network.as.AutoScaleCounter;
 import com.cloud.network.as.AutoScaleCounter.AutoScaleCounterType;
 import com.cloud.network.dao.ExternalLoadBalancerDeviceDao;
+import com.cloud.network.dao.ExternalLoadBalancerDeviceVO;
 import com.cloud.network.dao.NetScalerPodDao;
 import com.cloud.network.dao.NetworkDao;
 import com.cloud.network.dao.NetworkExternalLoadBalancerDao;
+import com.cloud.network.dao.NetworkExternalLoadBalancerVO;
 import com.cloud.network.dao.NetworkServiceMapDao;
+import com.cloud.network.dao.NetworkVO;
 import com.cloud.network.dao.PhysicalNetworkDao;
+import com.cloud.network.dao.PhysicalNetworkVO;
+import com.cloud.network.dao.ExternalLoadBalancerDeviceVO.LBDeviceState;
 import com.cloud.network.lb.LoadBalancingRule;
 import com.cloud.network.lb.LoadBalancingRule.LbDestination;
 import com.cloud.network.resource.NetscalerResource;