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;