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

[11/40] Added Mock ApiServer, Regions API calls with api keys

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/server/test/com/cloud/network/security/MockSecurityGroupManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/network/security/MockSecurityGroupManagerImpl.java b/server/test/com/cloud/network/security/MockSecurityGroupManagerImpl.java
new file mode 100755
index 0000000..9c71c62
--- /dev/null
+++ b/server/test/com/cloud/network/security/MockSecurityGroupManagerImpl.java
@@ -0,0 +1,198 @@
+// 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.
+package com.cloud.network.security;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.ejb.Local;
+import javax.naming.ConfigurationException;
+
+import com.cloud.api.commands.AuthorizeSecurityGroupEgressCmd;
+import com.cloud.api.commands.AuthorizeSecurityGroupIngressCmd;
+import com.cloud.api.commands.CreateSecurityGroupCmd;
+import com.cloud.api.commands.DeleteSecurityGroupCmd;
+import com.cloud.api.commands.ListSecurityGroupsCmd;
+import com.cloud.api.commands.RevokeSecurityGroupEgressCmd;
+import com.cloud.api.commands.RevokeSecurityGroupIngressCmd;
+import com.cloud.exception.InvalidParameterValueException;
+import com.cloud.exception.PermissionDeniedException;
+import com.cloud.exception.ResourceInUseException;
+import com.cloud.utils.Pair;
+import com.cloud.utils.component.Manager;
+import com.cloud.utils.fsm.StateListener;
+import com.cloud.vm.VirtualMachine;
+import com.cloud.vm.VirtualMachine.Event;
+import com.cloud.vm.VirtualMachine.State;
+
+@Local(value = { SecurityGroupManager.class, SecurityGroupService.class })
+public class MockSecurityGroupManagerImpl implements SecurityGroupManager, SecurityGroupService, Manager, StateListener<State, VirtualMachine.Event, VirtualMachine> {
+
+	@Override
+	public boolean preStateTransitionEvent(State oldState, Event event,
+			State newState, VirtualMachine vo, boolean status, Object opaque) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public boolean postStateTransitionEvent(State oldState, Event event,
+			State newState, VirtualMachine vo, boolean status, Object opaque) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public boolean configure(String name, Map<String, Object> params)
+			throws ConfigurationException {
+		return true;
+	}
+
+	@Override
+	public boolean start() {
+		return true;
+	}
+
+	@Override
+	public boolean stop() {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public String getName() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public SecurityGroup createSecurityGroup(CreateSecurityGroupCmd command)
+			throws PermissionDeniedException, InvalidParameterValueException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public boolean revokeSecurityGroupIngress(RevokeSecurityGroupIngressCmd cmd) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public boolean revokeSecurityGroupEgress(RevokeSecurityGroupEgressCmd cmd) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public boolean deleteSecurityGroup(DeleteSecurityGroupCmd cmd)
+			throws ResourceInUseException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public List<? extends SecurityGroupRules> searchForSecurityGroupRules(
+			ListSecurityGroupsCmd cmd) throws PermissionDeniedException,
+			InvalidParameterValueException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public List<? extends SecurityRule> authorizeSecurityGroupIngress(
+			AuthorizeSecurityGroupIngressCmd cmd) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public List<? extends SecurityRule> authorizeSecurityGroupEgress(
+			AuthorizeSecurityGroupEgressCmd cmd) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public SecurityGroupVO createSecurityGroup(String name, String description,
+			Long domainId, Long accountId, String accountName) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public SecurityGroupVO createDefaultSecurityGroup(Long accountId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public boolean addInstanceToGroups(Long userVmId, List<Long> groups) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public void removeInstanceFromGroups(long userVmId) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void fullSync(long agentId,
+			HashMap<String, Pair<Long, Long>> newGroupStates) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public String getSecurityGroupsNamesForVm(long vmId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public List<SecurityGroupVO> getSecurityGroupsForVm(long vmId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public boolean isVmSecurityGroupEnabled(Long vmId) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public SecurityGroup getDefaultSecurityGroup(long accountId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public SecurityGroup getSecurityGroup(String name, long accountId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public boolean isVmMappedToDefaultSecurityGroup(long vmId) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+   }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/server/test/com/cloud/storage/MockStorageManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/storage/MockStorageManagerImpl.java b/server/test/com/cloud/storage/MockStorageManagerImpl.java
new file mode 100755
index 0000000..6273489
--- /dev/null
+++ b/server/test/com/cloud/storage/MockStorageManagerImpl.java
@@ -0,0 +1,679 @@
+// 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.
+package com.cloud.storage;
+
+import java.math.BigDecimal;
+import java.net.Inet6Address;
+import java.net.InetAddress;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.UnknownHostException;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+
+import javax.ejb.Local;
+import javax.naming.ConfigurationException;
+
+import org.apache.log4j.Logger;
+
+import com.cloud.agent.AgentManager;
+import com.cloud.agent.api.Answer;
+import com.cloud.agent.api.BackupSnapshotCommand;
+import com.cloud.agent.api.CleanupSnapshotBackupCommand;
+import com.cloud.agent.api.Command;
+import com.cloud.agent.api.CreateStoragePoolCommand;
+import com.cloud.agent.api.CreateVolumeFromSnapshotAnswer;
+import com.cloud.agent.api.CreateVolumeFromSnapshotCommand;
+import com.cloud.agent.api.DeleteStoragePoolCommand;
+import com.cloud.agent.api.ManageSnapshotCommand;
+import com.cloud.agent.api.ModifyStoragePoolAnswer;
+import com.cloud.agent.api.ModifyStoragePoolCommand;
+import com.cloud.agent.api.UpgradeSnapshotCommand;
+import com.cloud.agent.api.storage.CopyVolumeAnswer;
+import com.cloud.agent.api.storage.CopyVolumeCommand;
+import com.cloud.agent.api.storage.CreateAnswer;
+import com.cloud.agent.api.storage.CreateCommand;
+import com.cloud.agent.api.storage.DeleteTemplateCommand;
+import com.cloud.agent.api.storage.DeleteVolumeCommand;
+import com.cloud.agent.api.storage.DestroyCommand;
+import com.cloud.agent.api.to.StorageFilerTO;
+import com.cloud.agent.api.to.VolumeTO;
+import com.cloud.agent.manager.Commands;
+import com.cloud.alert.AlertManager;
+import com.cloud.api.ApiDBUtils;
+import com.cloud.api.commands.CancelPrimaryStorageMaintenanceCmd;
+import com.cloud.api.commands.CreateStoragePoolCmd;
+import com.cloud.api.commands.CreateVolumeCmd;
+import com.cloud.api.commands.DeletePoolCmd;
+import com.cloud.api.commands.ListVolumesCmd;
+import com.cloud.api.commands.UpdateStoragePoolCmd;
+import com.cloud.api.commands.UploadVolumeCmd;
+import com.cloud.async.AsyncJobManager;
+import com.cloud.capacity.Capacity;
+import com.cloud.capacity.CapacityManager;
+import com.cloud.capacity.CapacityState;
+import com.cloud.capacity.CapacityVO;
+import com.cloud.capacity.dao.CapacityDao;
+import com.cloud.cluster.CheckPointManager;
+import com.cloud.cluster.ClusterManagerListener;
+import com.cloud.cluster.ManagementServerHostVO;
+import com.cloud.configuration.Config;
+import com.cloud.configuration.ConfigurationManager;
+import com.cloud.configuration.Resource.ResourceType;
+import com.cloud.configuration.dao.ConfigurationDao;
+import com.cloud.consoleproxy.ConsoleProxyManager;
+import com.cloud.dc.ClusterVO;
+import com.cloud.dc.DataCenterVO;
+import com.cloud.dc.HostPodVO;
+import com.cloud.dc.Pod;
+import com.cloud.dc.dao.ClusterDao;
+import com.cloud.dc.dao.DataCenterDao;
+import com.cloud.dc.dao.HostPodDao;
+import com.cloud.deploy.DeployDestination;
+import com.cloud.domain.Domain;
+import com.cloud.domain.dao.DomainDao;
+import com.cloud.event.ActionEvent;
+import com.cloud.event.EventTypes;
+import com.cloud.event.UsageEventVO;
+import com.cloud.event.dao.EventDao;
+import com.cloud.event.dao.UsageEventDao;
+import com.cloud.exception.AgentUnavailableException;
+import com.cloud.exception.ConcurrentOperationException;
+import com.cloud.exception.DiscoveryException;
+import com.cloud.exception.InsufficientCapacityException;
+import com.cloud.exception.InsufficientStorageCapacityException;
+import com.cloud.exception.InvalidParameterValueException;
+import com.cloud.exception.OperationTimedoutException;
+import com.cloud.exception.PermissionDeniedException;
+import com.cloud.exception.ResourceAllocationException;
+import com.cloud.exception.ResourceInUseException;
+import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.exception.StorageUnavailableException;
+import com.cloud.host.Host;
+import com.cloud.host.HostVO;
+import com.cloud.host.Status;
+import com.cloud.host.dao.HostDao;
+import com.cloud.hypervisor.Hypervisor.HypervisorType;
+import com.cloud.hypervisor.HypervisorGuruManager;
+import com.cloud.network.NetworkManager;
+import com.cloud.offering.ServiceOffering;
+import com.cloud.org.Grouping;
+import com.cloud.org.Grouping.AllocationState;
+import com.cloud.projects.Project.ListProjectResourcesCriteria;
+import com.cloud.resource.ResourceManager;
+import com.cloud.resource.ResourceState;
+import com.cloud.server.ManagementServer;
+import com.cloud.server.ResourceTag.TaggedResourceType;
+import com.cloud.server.StatsCollector;
+import com.cloud.service.ServiceOfferingVO;
+import com.cloud.service.dao.ServiceOfferingDao;
+import com.cloud.storage.Storage.ImageFormat;
+import com.cloud.storage.Storage.StoragePoolType;
+import com.cloud.storage.Volume.Event;
+import com.cloud.storage.Volume.Type;
+import com.cloud.storage.allocator.StoragePoolAllocator;
+import com.cloud.storage.dao.DiskOfferingDao;
+import com.cloud.storage.dao.SnapshotDao;
+import com.cloud.storage.dao.SnapshotPolicyDao;
+import com.cloud.storage.dao.StoragePoolDao;
+import com.cloud.storage.dao.StoragePoolHostDao;
+import com.cloud.storage.dao.StoragePoolWorkDao;
+import com.cloud.storage.dao.VMTemplateDao;
+import com.cloud.storage.dao.VMTemplateHostDao;
+import com.cloud.storage.dao.VMTemplatePoolDao;
+import com.cloud.storage.dao.VMTemplateSwiftDao;
+import com.cloud.storage.dao.VolumeDao;
+import com.cloud.storage.dao.VolumeHostDao;
+import com.cloud.storage.download.DownloadMonitor;
+import com.cloud.storage.listener.StoragePoolMonitor;
+import com.cloud.storage.secondary.SecondaryStorageVmManager;
+import com.cloud.storage.snapshot.SnapshotManager;
+import com.cloud.storage.snapshot.SnapshotScheduler;
+import com.cloud.tags.ResourceTagVO;
+import com.cloud.tags.dao.ResourceTagDao;
+import com.cloud.template.TemplateManager;
+import com.cloud.user.Account;
+import com.cloud.user.AccountManager;
+import com.cloud.user.ResourceLimitService;
+import com.cloud.user.User;
+import com.cloud.user.UserContext;
+import com.cloud.user.dao.AccountDao;
+import com.cloud.user.dao.UserDao;
+import com.cloud.uservm.UserVm;
+import com.cloud.utils.EnumUtils;
+import com.cloud.utils.NumbersUtil;
+import com.cloud.utils.Pair;
+import com.cloud.utils.Ternary;
+import com.cloud.utils.UriUtils;
+import com.cloud.utils.component.Adapters;
+import com.cloud.utils.component.ComponentLocator;
+import com.cloud.utils.component.Inject;
+import com.cloud.utils.component.Manager;
+import com.cloud.utils.concurrency.NamedThreadFactory;
+import com.cloud.utils.db.DB;
+import com.cloud.utils.db.Filter;
+import com.cloud.utils.db.GenericSearchBuilder;
+import com.cloud.utils.db.GlobalLock;
+import com.cloud.utils.db.JoinBuilder;
+import com.cloud.utils.db.JoinBuilder.JoinType;
+import com.cloud.utils.db.SearchBuilder;
+import com.cloud.utils.db.SearchCriteria;
+import com.cloud.utils.db.SearchCriteria.Op;
+import com.cloud.utils.db.Transaction;
+import com.cloud.utils.exception.CloudRuntimeException;
+import com.cloud.utils.exception.ExecutionException;
+import com.cloud.utils.fsm.NoTransitionException;
+import com.cloud.utils.fsm.StateMachine2;
+import com.cloud.vm.ConsoleProxyVO;
+import com.cloud.vm.DiskProfile;
+import com.cloud.vm.DomainRouterVO;
+import com.cloud.vm.SecondaryStorageVmVO;
+import com.cloud.vm.UserVmManager;
+import com.cloud.vm.UserVmVO;
+import com.cloud.vm.VMInstanceVO;
+import com.cloud.vm.VirtualMachine;
+import com.cloud.vm.VirtualMachine.State;
+import com.cloud.vm.VirtualMachineManager;
+import com.cloud.vm.VirtualMachineProfile;
+import com.cloud.vm.VirtualMachineProfileImpl;
+import com.cloud.vm.dao.ConsoleProxyDao;
+import com.cloud.vm.dao.DomainRouterDao;
+import com.cloud.vm.dao.SecondaryStorageVmDao;
+import com.cloud.vm.dao.UserVmDao;
+import com.cloud.vm.dao.VMInstanceDao;
+
+@Local(value = { StorageManager.class, StorageService.class })
+public class MockStorageManagerImpl implements StorageManager, Manager, ClusterManagerListener {
+
+	@Override
+	public StoragePool createPool(CreateStoragePoolCmd cmd)
+			throws ResourceInUseException, IllegalArgumentException,
+			UnknownHostException, ResourceUnavailableException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Volume allocVolume(CreateVolumeCmd cmd)
+			throws ResourceAllocationException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Volume createVolume(CreateVolumeCmd cmd) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public boolean deleteVolume(long volumeId)
+			throws ConcurrentOperationException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public boolean deletePool(DeletePoolCmd cmd) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public StoragePool preparePrimaryStorageForMaintenance(Long primaryStorageId)
+			throws ResourceUnavailableException, InsufficientCapacityException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public StoragePool cancelPrimaryStorageForMaintenance(
+			CancelPrimaryStorageMaintenanceCmd cmd)
+			throws ResourceUnavailableException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public StoragePool updateStoragePool(UpdateStoragePoolCmd cmd)
+			throws IllegalArgumentException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public StoragePool getStoragePool(long id) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Volume migrateVolume(Long volumeId, Long storagePoolId)
+			throws ConcurrentOperationException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public List<? extends Volume> searchForVolumes(ListVolumesCmd cmd) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Volume uploadVolume(UploadVolumeCmd cmd)
+			throws ResourceAllocationException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public void onManagementNodeJoined(List<ManagementServerHostVO> nodeList,
+			long selfNodeId) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onManagementNodeLeft(List<ManagementServerHostVO> nodeList,
+			long selfNodeId) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void onManagementNodeIsolated() {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public boolean configure(String name, Map<String, Object> params)
+			throws ConfigurationException {
+		return true;
+	}
+
+	@Override
+	public boolean start() {
+		return true;
+	}
+
+	@Override
+	public boolean stop() {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public String getName() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public boolean canVmRestartOnAnotherServer(long vmId) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public Pair<String, String> getAbsoluteIsoPath(long templateId,
+			long dataCenterId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public String getSecondaryStorageURL(long zoneId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public String getStoragePoolTags(long poolId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public HostVO getSecondaryStorageHost(long zoneId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public VMTemplateHostVO findVmTemplateHost(long templateId, StoragePool pool) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public VolumeVO moveVolume(VolumeVO volume, long destPoolDcId,
+			Long destPoolPodId, Long destPoolClusterId,
+			HypervisorType dataDiskHyperType)
+			throws ConcurrentOperationException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public VolumeVO createVolume(VolumeVO volume, VMInstanceVO vm,
+			VMTemplateVO template, DataCenterVO dc, HostPodVO pod,
+			Long clusterId, ServiceOfferingVO offering,
+			DiskOfferingVO diskOffering, List<StoragePoolVO> avoids, long size,
+			HypervisorType hyperType) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public boolean destroyVolume(VolumeVO volume)
+			throws ConcurrentOperationException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public void createCapacityEntry(StoragePoolVO storagePool) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public boolean volumeOnSharedStoragePool(VolumeVO volume) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public Answer sendToPool(long poolId, Command cmd)
+			throws StorageUnavailableException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Answer sendToPool(StoragePool pool, Command cmd)
+			throws StorageUnavailableException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Answer[] sendToPool(long poolId, Commands cmd)
+			throws StorageUnavailableException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Answer[] sendToPool(StoragePool pool, Commands cmds)
+			throws StorageUnavailableException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Pair<Long, Answer[]> sendToPool(StoragePool pool,
+			long[] hostIdsToTryFirst, List<Long> hostIdsToAvoid, Commands cmds)
+			throws StorageUnavailableException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Pair<Long, Answer> sendToPool(StoragePool pool,
+			long[] hostIdsToTryFirst, List<Long> hostIdsToAvoid, Command cmd)
+			throws StorageUnavailableException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public boolean volumeInactive(VolumeVO volume) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public String getVmNameOnVolume(VolumeVO volume) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public boolean isLocalStorageActiveOnHost(Host host) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public void cleanupStorage(boolean recurring) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public String getPrimaryStorageNameLabel(VolumeVO volume) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public <T extends VMInstanceVO> DiskProfile allocateRawVolume(Type type,
+			String name, DiskOfferingVO offering, Long size, T vm, Account owner) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public <T extends VMInstanceVO> DiskProfile allocateTemplatedVolume(
+			Type type, String name, DiskOfferingVO offering,
+			VMTemplateVO template, T vm, Account owner) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public void createCapacityEntry(StoragePoolVO storagePool,
+			short capacityType, long allocated) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void prepare(VirtualMachineProfile<? extends VirtualMachine> vm,
+			DeployDestination dest) throws StorageUnavailableException,
+			InsufficientStorageCapacityException, ConcurrentOperationException {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void release(VirtualMachineProfile<? extends VMInstanceVO> profile) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void cleanupVolumes(long vmId) throws ConcurrentOperationException {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public void prepareForMigration(
+			VirtualMachineProfile<? extends VirtualMachine> vm,
+			DeployDestination dest) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public Answer sendToPool(StoragePool pool, long[] hostIdsToTryFirst,
+			Command cmd) throws StorageUnavailableException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public CapacityVO getSecondaryStorageUsedStats(Long hostId, Long zoneId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public CapacityVO getStoragePoolUsedStats(Long poolId, Long clusterId,
+			Long podId, Long zoneId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public boolean createStoragePool(long hostId, StoragePoolVO pool) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public boolean delPoolFromHost(long hostId) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public HostVO getSecondaryStorageHost(long zoneId, long tmpltId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public List<HostVO> getSecondaryStorageHosts(long zoneId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public List<StoragePoolVO> ListByDataCenterHypervisor(long datacenterId,
+			HypervisorType type) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public List<VMInstanceVO> listByStoragePool(long storagePoolId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public StoragePoolVO findLocalStorageOnHost(long hostId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public VMTemplateHostVO getTemplateHostRef(long zoneId, long tmpltId,
+			boolean readyOnly) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public boolean StorageMigration(
+			VirtualMachineProfile<? extends VirtualMachine> vm,
+			StoragePool destPool) throws ConcurrentOperationException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public boolean stateTransitTo(Volume vol, Event event)
+			throws NoTransitionException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public VolumeVO allocateDuplicateVolume(VolumeVO oldVol, Long templateId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Host updateSecondaryStorage(long secStorageId, String newUrl) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public List<Long> getUpHostsInPool(long poolId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public void cleanupSecondaryStorage(boolean recurring) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	@Override
+	public VolumeVO copyVolumeFromSecToPrimary(VolumeVO volume,
+			VMInstanceVO vm, VMTemplateVO template, DataCenterVO dc,
+			HostPodVO pod, Long clusterId, ServiceOfferingVO offering,
+			DiskOfferingVO diskOffering, List<StoragePoolVO> avoids, long size,
+			HypervisorType hyperType) throws NoTransitionException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public String getSupportedImageFormatForCluster(Long clusterId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public HypervisorType getHypervisorTypeFromFormat(ImageFormat format) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public boolean storagePoolHasEnoughSpace(List<Volume> volume,
+			StoragePool pool) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/server/test/com/cloud/user/MockAccountManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/user/MockAccountManagerImpl.java b/server/test/com/cloud/user/MockAccountManagerImpl.java
index 0d15cd7..c4c2e6b 100644
--- a/server/test/com/cloud/user/MockAccountManagerImpl.java
+++ b/server/test/com/cloud/user/MockAccountManagerImpl.java
@@ -207,12 +207,6 @@ public class MockAccountManagerImpl implements Manager, AccountManager, AccountS
     }
 
     @Override
-    public UserVO createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
     public Long checkAccessAndSpecifyAuthority(Account caller, Long zoneId) {
         // TODO Auto-generated method stub
         return null;
@@ -280,23 +274,6 @@ public class MockAccountManagerImpl implements Manager, AccountManager, AccountS
         return true;
     }
 
-
-	@Override
-	public UserAccount createUserAccount(String userName, String password,
-			String firstName, String lastName, String email, String timezone,
-			String accountName, short accountType, Long domainId,
-			String networkDomain, Map<String, String> details) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public Account createAccount(String accountName, short accountType,
-			Long domainId, String networkDomain, Map details) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
     @Override
     public List<? extends Account> searchForAccounts(ListAccountsCmd cmd) {
         // TODO Auto-generated method stub
@@ -343,4 +320,42 @@ public class MockAccountManagerImpl implements Manager, AccountManager, AccountS
         return null;
     }
 
+	@Override
+	public UserAccount createUserAccount(String userName, String password,
+			String firstName, String lastName, String email, String timezone,
+			String accountName, short accountType, Long domainId,
+			String networkDomain, Map<String, String> details,
+			String accountUUID, String userUUID, Integer regionId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public User createUser(String userName, String password, String firstName,
+			String lastName, String email, String timeZone, String accountName,
+			Long domainId, String userUUID, Integer regionId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public User findUser(String username, Long domainId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Account findAccount(Long id) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Account createAccount(String accountName, short accountType,
+			Long domainId, String networkDomain, Map details, String uuid,
+			int regionId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/server/test/com/cloud/user/MockDomainManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/user/MockDomainManagerImpl.java b/server/test/com/cloud/user/MockDomainManagerImpl.java
index e99e4d9..2927526 100644
--- a/server/test/com/cloud/user/MockDomainManagerImpl.java
+++ b/server/test/com/cloud/user/MockDomainManagerImpl.java
@@ -25,6 +25,7 @@ import javax.naming.ConfigurationException;
 
 import com.cloud.api.commands.ListDomainChildrenCmd;
 import com.cloud.api.commands.ListDomainsCmd;
+import com.cloud.api.commands.UpdateDomainCmd;
 import com.cloud.domain.Domain;
 import com.cloud.domain.DomainVO;
 import com.cloud.exception.PermissionDeniedException;
@@ -34,12 +35,6 @@ import com.cloud.utils.component.Manager;
 public class MockDomainManagerImpl implements  Manager, DomainManager {
 
     @Override
-    public Domain createDomain(String name, Long parentId, String networkDomain) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
     public Domain getDomain(long id) {
         // TODO Auto-generated method stub
         return null;
@@ -78,13 +73,6 @@ public class MockDomainManagerImpl implements  Manager, DomainManager {
     }
 
     @Override
-    public Domain createDomain(String name, Long parentId, Long ownerId,
-            String networkDomain) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
     public DomainVO findDomainByPath(String domainPath) {
         // TODO Auto-generated method stub
         return null;
@@ -138,4 +126,24 @@ public class MockDomainManagerImpl implements  Manager, DomainManager {
         return null;
     }
 
+	@Override
+	public Domain createDomain(String name, Long parentId,
+			String networkDomain, String domainUUID, Integer regionId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Domain updateDomain(UpdateDomainCmd cmd) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public Domain createDomain(String name, Long parentId, Long ownerId,
+			String networkDomain, String domainUUID, Integer regionId) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/server/test/com/cloud/vm/MockUserVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vm/MockUserVmManagerImpl.java b/server/test/com/cloud/vm/MockUserVmManagerImpl.java
index efc6916..1baf34a 100644
--- a/server/test/com/cloud/vm/MockUserVmManagerImpl.java
+++ b/server/test/com/cloud/vm/MockUserVmManagerImpl.java
@@ -16,6 +16,7 @@
 // under the License.
 package com.cloud.vm;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -194,7 +195,7 @@ public class MockUserVmManagerImpl implements UserVmManager, UserVmService, Mana
     @Override
     public List<UserVmVO> searchForUserVMs(Criteria c, Account caller, Long domainId, boolean isRecursive, List<Long> permittedAccounts, boolean listAll, ListProjectResourcesCriteria listProjectResourcesCriteria, Map<String, String> tags) {
         // TODO Auto-generated method stub
-        return null;
+        return new ArrayList<UserVmVO>();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java b/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
index 2a25886..6fa3123 100644
--- a/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
+++ b/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
@@ -321,8 +321,7 @@ public class MockConfigurationManagerImpl implements ConfigurationManager, Confi
      */
     @Override
     public Long getDefaultPageSize() {
-        // TODO Auto-generated method stub
-        return null;
+        return 500L;
     }
 
     /* (non-Javadoc)

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/setup/db/create-schema.sql
----------------------------------------------------------------------
diff --git a/setup/db/create-schema.sql b/setup/db/create-schema.sql
index bdaecb0..695dc44 100755
--- a/setup/db/create-schema.sql
+++ b/setup/db/create-schema.sql
@@ -891,7 +891,7 @@ CREATE TABLE  `cloud`.`user` (
   `timezone` varchar(30) default NULL,
   `registration_token` varchar(255) default NULL,
   `is_registered` tinyint NOT NULL DEFAULT 0 COMMENT '1: yes, 0: no',
-  `region_id` bigint unsigned,
+  `region_id` int unsigned,
   `incorrect_login_attempts` integer unsigned NOT NULL DEFAULT 0,
   PRIMARY KEY  (`id`),
   INDEX `i_user__removed`(`removed`),
@@ -1241,7 +1241,7 @@ CREATE TABLE  `cloud`.`domain` (
   `state` char(32) NOT NULL default 'Active' COMMENT 'state of the domain',
   `network_domain` varchar(255),
   `type` varchar(255) NOT NULL DEFAULT 'Normal' COMMENT 'type of the domain - can be Normal or Project',
-  `region_id` bigint unsigned,  
+  `region_id` int unsigned,  
   PRIMARY KEY  (`id`),
   UNIQUE (parent, name, removed),
   INDEX `i_domain__path`(`path`),
@@ -1260,7 +1260,7 @@ CREATE TABLE  `cloud`.`account` (
   `cleanup_needed` tinyint(1) NOT NULL default '0',
   `network_domain` varchar(255),
   `default_zone_id` bigint unsigned,
-  `region_id` bigint unsigned,  
+  `region_id` int unsigned,  
   PRIMARY KEY  (`id`),
   INDEX i_account__removed(`removed`),
   CONSTRAINT `fk_account__default_zone_id` FOREIGN KEY `fk_account__default_zone_id`(`default_zone_id`) REFERENCES `data_center`(`id`) ON DELETE CASCADE,
@@ -2214,10 +2214,11 @@ CREATE TABLE  `cloud`.`netscaler_pod_ref` (
 
 
 CREATE TABLE  `cloud`.`region` (
-  `id` bigint unsigned NOT NULL UNIQUE,
-  `name` varchar(255),
-  `end_point` varchar(255),
-  `status` varchar(32) NOT NULL,
+  `id` int unsigned NOT NULL UNIQUE,
+  `name` varchar(255) NOT NULL,
+  `end_point` varchar(255) NOT NULL,
+  `api_key` varchar(255),
+  `secret_key` varchar(255),
   `removed` datetime COMMENT 'date removed if not null',
   PRIMARY KEY  (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/utils/conf/db.properties
----------------------------------------------------------------------
diff --git a/utils/conf/db.properties b/utils/conf/db.properties
index 6bdb6d6..caf9003 100644
--- a/utils/conf/db.properties
+++ b/utils/conf/db.properties
@@ -20,6 +20,7 @@
 # in which the management server(Tomcat) is running
 cluster.node.IP=127.0.0.1
 cluster.servlet.port=9090
+region.id=1
 
 # CloudStack database settings
 db.cloud.username=cloud

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/utils/src/com/cloud/utils/db/GenericDao.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/db/GenericDao.java b/utils/src/com/cloud/utils/db/GenericDao.java
index 3ab319e..ca4c21a 100755
--- a/utils/src/com/cloud/utils/db/GenericDao.java
+++ b/utils/src/com/cloud/utils/db/GenericDao.java
@@ -260,4 +260,6 @@ public interface GenericDao<T, ID extends Serializable> {
      * @return
      */
     Class<T> getEntityBeanType();
+    
+    public int getRegionId();
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/utils/src/com/cloud/utils/db/GenericDaoBase.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/db/GenericDaoBase.java b/utils/src/com/cloud/utils/db/GenericDaoBase.java
index 3df8374..271cec5 100755
--- a/utils/src/com/cloud/utils/db/GenericDaoBase.java
+++ b/utils/src/com/cloud/utils/db/GenericDaoBase.java
@@ -1769,4 +1769,9 @@ public abstract class GenericDaoBase<T, ID extends Serializable> implements Gene
         factory.setCallback(0, sc);
         return sc;
     }
+    
+    @Override
+    public int getRegionId(){
+    	return Transaction.s_region_id;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/utils/src/com/cloud/utils/db/Transaction.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/db/Transaction.java b/utils/src/com/cloud/utils/db/Transaction.java
index bcf7ae1..f05d263 100755
--- a/utils/src/com/cloud/utils/db/Transaction.java
+++ b/utils/src/com/cloud/utils/db/Transaction.java
@@ -82,6 +82,7 @@ public class Transaction {
     public static final short AWSAPI_DB = 2;
     public static final short SIMULATOR_DB = 3;
     public static final short CONNECTED_DB = -1;
+    public static int s_region_id;
 
     private static AtomicLong s_id = new AtomicLong();
     private static final TransactionMBeanImpl s_mbean = new TransactionMBeanImpl();
@@ -1057,6 +1058,12 @@ public class Transaction {
                 System.setProperty("javax.net.ssl.trustStorePassword", dbProps.getProperty("db.cloud.trustStorePassword"));
             }
 
+            String regionId = dbProps.getProperty("region.id");
+            if(regionId == null){
+            	s_region_id = 1;
+            } else {
+            	s_region_id = Integer.parseInt(regionId);
+            }
             final GenericObjectPool cloudConnectionPool = new GenericObjectPool(null, cloudMaxActive, GenericObjectPool.DEFAULT_WHEN_EXHAUSTED_ACTION,
                     cloudMaxWait, cloudMaxIdle, cloudTestOnBorrow, false, cloudTimeBtwEvictionRunsMillis, 1, cloudMinEvcitableIdleTimeMillis, cloudTestWhileIdle);
             final ConnectionFactory cloudConnectionFactory = new DriverManagerConnectionFactory("jdbc:mysql://"+cloudHost + ":" + cloudPort + "/" + cloudDbName +