This commit is contained in:
Edison Su 2012-08-15 17:44:30 -07:00
parent fe3786341f
commit 5ba4913f63
195 changed files with 2776 additions and 2293 deletions

View File

@ -85,9 +85,9 @@ import com.cloud.simulator.dao.MockStoragePoolDao;
import com.cloud.simulator.dao.MockVMDao;
import com.cloud.simulator.dao.MockVolumeDao;
import com.cloud.storage.VMTemplateStorageResourceAssoc;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.StoragePoolType;
import com.cloud.storage.template.TemplateInfo;
import com.cloud.utils.component.Inject;
import com.cloud.vm.DiskProfile;

View File

@ -54,7 +54,7 @@ import com.cloud.host.Host.Type;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.network.Networks.RouterPrivateIpStrategy;
import com.cloud.simulator.MockVMVO;
import com.cloud.storage.Storage.StorageResourceType;
import com.cloud.storage.pool.Storage.StorageResourceType;
import com.cloud.storage.template.TemplateInfo;
import com.cloud.utils.Pair;
import com.cloud.vm.VirtualMachine.State;

View File

@ -25,7 +25,7 @@ import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.pool.Storage.StoragePoolType;
@Entity
@Table(name="mockstoragepool")

View File

@ -19,7 +19,7 @@ package com.cloud.simulator.dao;
import javax.ejb.Local;
import com.cloud.simulator.MockStoragePoolVO;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.pool.Storage.StoragePoolType;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;

View File

@ -40,8 +40,8 @@ import com.cloud.host.Host.Type;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.network.Networks.RouterPrivateIpStrategy;
import com.cloud.resource.ServerResource;
import com.cloud.storage.Storage;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.pool.Storage;
import com.cloud.storage.pool.Storage.StoragePoolType;
@Local(value = { ServerResource.class })
public class DummyResource implements ServerResource {

View File

@ -16,7 +16,7 @@
// under the License.
package com.cloud.agent.api;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.pool.Storage.StoragePoolType;
public class AttachVolumeCommand extends Command {

View File

@ -19,7 +19,7 @@ package com.cloud.agent.api;
import com.cloud.agent.api.LogLevel.Log4jLevel;
import com.cloud.agent.api.to.StorageFilerTO;
import com.cloud.agent.api.to.SwiftTO;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
/**
* This currently assumes that both primary and secondary storage are mounted on the XenServer.

View File

@ -16,7 +16,7 @@
// under the License.
package com.cloud.agent.api;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
public class CreateStoragePoolCommand extends ModifyStoragePoolCommand {

View File

@ -20,7 +20,7 @@ import java.io.File;
import java.util.UUID;
import com.cloud.agent.api.to.StorageFilerTO;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
public class DeleteStoragePoolCommand extends Command {

View File

@ -17,7 +17,7 @@
package com.cloud.agent.api;
import com.cloud.agent.api.LogLevel.Log4jLevel;
import com.cloud.storage.VolumeStats;
import com.cloud.storage.volume.VolumeStats;
@LogLevel(Log4jLevel.Trace)
public class GetFileStatsAnswer extends Answer implements VolumeStats {

View File

@ -17,7 +17,7 @@
package com.cloud.agent.api;
import com.cloud.agent.api.LogLevel.Log4jLevel;
import com.cloud.storage.Volume;
import com.cloud.storage.volume.Volume;
@LogLevel(Log4jLevel.Trace)
public class GetFileStatsCommand extends Command {

View File

@ -17,7 +17,7 @@
package com.cloud.agent.api;
import com.cloud.agent.api.LogLevel.Log4jLevel;
import com.cloud.storage.StorageStats;
import com.cloud.storage.pool.StorageStats;
@LogLevel(Log4jLevel.Trace)
public class GetStorageStatsAnswer extends Answer implements StorageStats {

View File

@ -17,7 +17,7 @@
package com.cloud.agent.api;
import com.cloud.agent.api.LogLevel.Log4jLevel;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.pool.Storage.StoragePoolType;
@LogLevel(Log4jLevel.Trace)
public class GetStorageStatsCommand extends Command {

View File

@ -17,7 +17,7 @@
package com.cloud.agent.api;
import com.cloud.agent.api.to.StorageFilerTO;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
public class ManageSnapshotCommand extends Command {

View File

@ -20,7 +20,7 @@ import java.io.File;
import java.util.UUID;
import com.cloud.agent.api.to.StorageFilerTO;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
public class ModifyStoragePoolCommand extends Command {

View File

@ -20,8 +20,8 @@ import java.util.HashMap;
import java.util.Map;
import com.cloud.host.Host;
import com.cloud.storage.Storage;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.pool.Storage;
import com.cloud.storage.pool.Storage.StoragePoolType;
import com.cloud.storage.template.TemplateInfo;

View File

@ -18,7 +18,7 @@ package com.cloud.agent.api;
import java.util.Map;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.pool.Storage.StoragePoolType;
public class StoragePoolInfo {
String uuid;

View File

@ -16,7 +16,7 @@
// under the License.
package com.cloud.agent.api.storage;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
public abstract class AbstractDownloadCommand extends ssCommand {

View File

@ -16,7 +16,7 @@
// under the License.
package com.cloud.agent.api.storage;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
public class AbstractUploadCommand extends StorageCommand{

View File

@ -18,7 +18,7 @@ package com.cloud.agent.api.storage;
import com.cloud.agent.api.Command;
import com.cloud.agent.api.to.StorageFilerTO;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
public class CopyVolumeCommand extends Command {

View File

@ -18,7 +18,7 @@ package com.cloud.agent.api.storage;
import com.cloud.agent.api.Command;
import com.cloud.agent.api.to.StorageFilerTO;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
import com.cloud.vm.DiskProfile;
public class CreateCommand extends Command {

View File

@ -18,7 +18,7 @@ package com.cloud.agent.api.storage;
import com.cloud.agent.api.Answer;
import com.cloud.agent.api.Command;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
public class CreatePrivateTemplateAnswer extends Answer {
private String _path;

View File

@ -17,9 +17,9 @@
package com.cloud.agent.api.storage;
import com.cloud.agent.api.to.VolumeTO;
import com.cloud.storage.StoragePool;
import com.cloud.storage.VMTemplateStorageResourceAssoc;
import com.cloud.storage.Volume;
import com.cloud.storage.pool.StoragePool;
import com.cloud.storage.volume.Volume;
public class DestroyCommand extends StorageCommand {
// in VMware, things are designed around VM instead of volume, we need it the volume VM context if the volume is attached

View File

@ -18,8 +18,8 @@ package com.cloud.agent.api.storage;
import java.net.URI;
import com.cloud.storage.Volume;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.storage.volume.Volume;
import com.cloud.template.VirtualMachineTemplate;

View File

@ -16,7 +16,7 @@
// under the License.
package com.cloud.agent.api.storage;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
/**

View File

@ -16,8 +16,8 @@
// under the License.
package com.cloud.agent.api.to;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
import com.cloud.storage.pool.Storage.StoragePoolType;
public class StorageFilerTO {
long id;

View File

@ -16,7 +16,7 @@
// under the License.
package com.cloud.agent.api.to;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.template.VirtualMachineTemplate;
public class TemplateTO {

View File

@ -16,9 +16,9 @@
// under the License.
package com.cloud.agent.api.to;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.StoragePool;
import com.cloud.storage.Volume;
import com.cloud.storage.pool.StoragePool;
import com.cloud.storage.pool.Storage.StoragePoolType;
import com.cloud.storage.volume.Volume;
public class VolumeTO {
protected VolumeTO() {

View File

@ -55,7 +55,7 @@ import com.cloud.projects.ProjectService;
import com.cloud.resource.ResourceService;
import com.cloud.server.ManagementService;
import com.cloud.server.TaggedResourceService;
import com.cloud.storage.StorageService;
import com.cloud.storage.pool.StoragePoolService;
import com.cloud.storage.snapshot.SnapshotService;
import com.cloud.template.TemplateService;
import com.cloud.user.Account;
@ -114,7 +114,7 @@ public abstract class BaseCmd {
public static AccountService _accountService;
public static UserVmService _userVmService;
public static ManagementService _mgr;
public static StorageService _storageService;
public static StoragePoolService _storageService;
public static ResourceService _resourceService;
public static NetworkService _networkService;
public static TemplateService _templateService;
@ -145,7 +145,7 @@ public abstract class BaseCmd {
_accountService = locator.getManager(AccountService.class);
_configService = locator.getManager(ConfigurationService.class);
_userVmService = locator.getManager(UserVmService.class);
_storageService = locator.getManager(StorageService.class);
_storageService = locator.getManager(StoragePoolService.class);
_resourceService = locator.getManager(ResourceService.class);
_networkService = locator.getManager(NetworkService.class);
_templateService = locator.getManager(TemplateService.class);

View File

@ -131,11 +131,11 @@ import com.cloud.projects.Project;
import com.cloud.projects.ProjectAccount;
import com.cloud.projects.ProjectInvitation;
import com.cloud.server.ResourceTag;
import com.cloud.storage.Snapshot;
import com.cloud.storage.StoragePool;
import com.cloud.storage.Swift;
import com.cloud.storage.Volume;
import com.cloud.storage.pool.StoragePool;
import com.cloud.storage.snapshot.Snapshot;
import com.cloud.storage.snapshot.SnapshotPolicy;
import com.cloud.storage.volume.Volume;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.user.Account;
import com.cloud.user.User;

View File

@ -28,7 +28,7 @@ import com.cloud.api.ServerApiException;
import com.cloud.api.response.VolumeResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.storage.Volume;
import com.cloud.storage.volume.Volume;
import com.cloud.user.Account;
import com.cloud.user.UserContext;

View File

@ -29,7 +29,7 @@ import com.cloud.api.response.StoragePoolResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@ -102,7 +102,7 @@ public class CancelPrimaryStorageMaintenanceCmd extends BaseAsyncCmd {
@Override
public void execute() throws ResourceUnavailableException{
StoragePool result = _storageService.cancelPrimaryStorageForMaintenance(this);
StoragePool result = _storageService.cancelStorageForMaintenance(this);
if (result != null) {
StoragePoolResponse response = _responseGenerator.createStoragePoolResponse(result);
response.setResponseName(getCommandName());

View File

@ -32,8 +32,8 @@ import com.cloud.exception.InvalidParameterValueException;
import com.cloud.exception.PermissionDeniedException;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.projects.Project;
import com.cloud.storage.Snapshot;
import com.cloud.storage.Volume;
import com.cloud.storage.snapshot.Snapshot;
import com.cloud.storage.volume.Volume;
import com.cloud.user.Account;
import com.cloud.user.UserContext;

View File

@ -28,8 +28,8 @@ import com.cloud.api.response.SnapshotPolicyResponse;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.exception.PermissionDeniedException;
import com.cloud.projects.Project;
import com.cloud.storage.Volume;
import com.cloud.storage.snapshot.SnapshotPolicy;
import com.cloud.storage.volume.Volume;
import com.cloud.user.Account;
@Implementation(description="Creates a snapshot policy for the account.", responseObject=SnapshotPolicyResponse.class)

View File

@ -30,7 +30,7 @@ import com.cloud.api.ServerApiException;
import com.cloud.api.response.StoragePoolResponse;
import com.cloud.exception.ResourceInUseException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
import com.cloud.user.Account;
@SuppressWarnings("rawtypes")

View File

@ -37,8 +37,8 @@ import com.cloud.exception.InvalidParameterValueException;
import com.cloud.exception.PermissionDeniedException;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.projects.Project;
import com.cloud.storage.Snapshot;
import com.cloud.storage.Volume;
import com.cloud.storage.snapshot.Snapshot;
import com.cloud.storage.volume.Volume;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.user.Account;
import com.cloud.user.UserContext;

View File

@ -29,7 +29,7 @@ import com.cloud.api.response.VolumeResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.storage.Volume;
import com.cloud.storage.volume.Volume;
import com.cloud.user.UserContext;
@Implementation(responseObject=VolumeResponse.class, description="Creates a disk volume from a disk offering. This disk volume must still be attached to a virtual machine to make use of it.")

View File

@ -25,8 +25,8 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SuccessResponse;
import com.cloud.storage.StoragePool;
import com.cloud.storage.StoragePoolStatus;
import com.cloud.storage.pool.StoragePool;
import com.cloud.storage.pool.StoragePoolStatus;
import com.cloud.user.Account;
@Implementation(description = "Deletes a storage pool.", responseObject = SuccessResponse.class)

View File

@ -28,7 +28,7 @@ import com.cloud.api.ServerApiException;
import com.cloud.api.response.SuccessResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.storage.Snapshot;
import com.cloud.storage.snapshot.Snapshot;
import com.cloud.user.Account;
import com.cloud.user.UserContext;

View File

@ -26,7 +26,7 @@ import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SuccessResponse;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.storage.Volume;
import com.cloud.storage.volume.Volume;
import com.cloud.user.Account;
import com.cloud.user.UserContext;

View File

@ -28,7 +28,7 @@ import com.cloud.api.ServerApiException;
import com.cloud.api.response.VolumeResponse;
import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.storage.Volume;
import com.cloud.storage.volume.Volume;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
import com.cloud.uservm.UserVm;

View File

@ -32,7 +32,7 @@ import com.cloud.async.AsyncJob;
import com.cloud.dc.DataCenter;
import com.cloud.event.EventTypes;
import com.cloud.storage.Upload;
import com.cloud.storage.Volume;
import com.cloud.storage.volume.Volume;
import com.cloud.user.Account;
import com.cloud.user.UserContext;

View File

@ -28,7 +28,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.GuestOSCategoryResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.storage.GuestOsCategory;
import com.cloud.storage.volume.GuestOsCategory;
@Implementation(description="Lists all supported OS categories for this cloud.", responseObject=GuestOSCategoryResponse.class)
public class ListGuestOsCategoriesCmd extends BaseListCmd {

View File

@ -28,7 +28,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.response.GuestOSResponse;
import com.cloud.api.response.ListResponse;
import com.cloud.storage.GuestOS;
import com.cloud.storage.volume.GuestOS;
@Implementation(description="Lists all supported OS types for this cloud.", responseObject=GuestOSResponse.class)
public class ListGuestOsCmd extends BaseListCmd {

View File

@ -18,7 +18,7 @@ package com.cloud.api.commands;
import org.apache.log4j.Logger;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.template.VirtualMachineTemplate;
public class ListIsoPermissionsCmd extends ListTemplateOrIsoPermissionsCmd {

View File

@ -29,7 +29,7 @@ import com.cloud.api.Parameter;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.SnapshotResponse;
import com.cloud.async.AsyncJob;
import com.cloud.storage.Snapshot;
import com.cloud.storage.snapshot.Snapshot;
@Implementation(description="Lists all available snapshots for the account.", responseObject=SnapshotResponse.class)

View File

@ -30,7 +30,7 @@ import com.cloud.api.BaseCmd.CommandType;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.StoragePoolResponse;
import com.cloud.async.AsyncJob;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
@Implementation(description="Lists storage pools.", responseObject=StoragePoolResponse.class)
public class ListStoragePoolsCmd extends BaseListCmd {

View File

@ -18,7 +18,7 @@ package com.cloud.api.commands;
import org.apache.log4j.Logger;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.template.VirtualMachineTemplate;
public class ListTemplatePermissionsCmd extends ListTemplateOrIsoPermissionsCmd {

View File

@ -29,7 +29,7 @@ import com.cloud.api.Parameter;
import com.cloud.api.response.ListResponse;
import com.cloud.api.response.VolumeResponse;
import com.cloud.async.AsyncJob;
import com.cloud.storage.Volume;
import com.cloud.storage.volume.Volume;
@Implementation(description="Lists all volumes.", responseObject=VolumeResponse.class)

View File

@ -33,7 +33,7 @@ import com.cloud.exception.ManagementServerException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.exception.VirtualMachineMigrationException;
import com.cloud.host.Host;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
import com.cloud.uservm.UserVm;

View File

@ -26,7 +26,7 @@ import com.cloud.api.ServerApiException;
import com.cloud.api.response.VolumeResponse;
import com.cloud.event.EventTypes;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.storage.Volume;
import com.cloud.storage.volume.Volume;
import com.cloud.user.Account;

View File

@ -30,7 +30,7 @@ import com.cloud.async.AsyncJob;
import com.cloud.event.EventTypes;
import com.cloud.exception.InsufficientCapacityException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@ -100,7 +100,7 @@ public class PreparePrimaryStorageForMaintenanceCmd extends BaseAsyncCmd {
@Override
public void execute() throws ResourceUnavailableException, InsufficientCapacityException{
StoragePool result = _storageService.preparePrimaryStorageForMaintenance(getId());
StoragePool result = _storageService.prepareStorageForMaintenance(getId());
if (result != null){
StoragePoolResponse response = _responseGenerator.createStoragePoolResponse(result);
response.setResponseName("storagepool");

View File

@ -27,7 +27,7 @@ import com.cloud.api.Implementation;
import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.StoragePoolResponse;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
import com.cloud.user.Account;
@Implementation(description="Updates a storage pool.", responseObject=StoragePoolResponse.class, since="3.0.0")

View File

@ -32,7 +32,7 @@ import com.cloud.exception.InsufficientCapacityException;
import com.cloud.exception.NetworkRuleConflictException;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.storage.Volume;
import com.cloud.storage.volume.Volume;
import com.cloud.user.UserContext;
@Implementation(description="Uploads a data disk.", responseObject=VolumeResponse.class)
@ -109,7 +109,7 @@ public class UploadVolumeCmd extends BaseAsyncCmd {
ConcurrentOperationException, ResourceAllocationException,
NetworkRuleConflictException {
Volume volume = _storageService.uploadVolume(this);
Volume volume = _templateService.uploadVolume(this);
if (volume != null){
VolumeResponse response = _responseGenerator.createVolumeResponse(volume);
response.setResponseName(getCommandName());

View File

@ -21,7 +21,7 @@ import java.util.List;
import com.cloud.api.ApiConstants;
import com.cloud.serializer.Param;
import com.cloud.storage.Snapshot;
import com.cloud.storage.snapshot.Snapshot;
import com.cloud.utils.IdentityProxy;
import com.google.gson.annotations.SerializedName;

View File

@ -21,7 +21,7 @@ import java.util.Date;
import com.cloud.api.ApiConstants;
import com.cloud.utils.IdentityProxy;
import com.cloud.serializer.Param;
import com.cloud.storage.StoragePoolStatus;
import com.cloud.storage.pool.StoragePoolStatus;
import com.google.gson.annotations.SerializedName;
public class StoragePoolResponse extends BaseResponse {

View File

@ -22,7 +22,7 @@ import java.util.Map;
import com.cloud.api.ApiConstants;
import com.cloud.serializer.Param;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.utils.IdentityProxy;
import com.google.gson.annotations.SerializedName;

View File

@ -22,8 +22,8 @@ import com.cloud.dc.DataCenter;
import com.cloud.dc.Pod;
import com.cloud.host.Host;
import com.cloud.org.Cluster;
import com.cloud.storage.StoragePool;
import com.cloud.storage.Volume;
import com.cloud.storage.pool.StoragePool;
import com.cloud.storage.volume.Volume;
import com.cloud.utils.NumbersUtil;
public class DeployDestination {

View File

@ -27,7 +27,7 @@ import com.cloud.exception.InsufficientServerCapacityException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.host.Host;
import com.cloud.org.Cluster;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
import com.cloud.utils.component.Adapter;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachineProfile;

View File

@ -16,7 +16,7 @@
// under the License.
package com.cloud.exception;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
import com.cloud.utils.SerialVersionUID;
/**

View File

@ -16,7 +16,7 @@
// under the License.
package com.cloud.exception;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
import com.cloud.utils.SerialVersionUID;
/**

View File

@ -82,9 +82,9 @@ import com.cloud.network.router.VirtualRouter;
import com.cloud.offering.DiskOffering;
import com.cloud.offering.ServiceOffering;
import com.cloud.org.Cluster;
import com.cloud.storage.GuestOS;
import com.cloud.storage.GuestOsCategory;
import com.cloud.storage.StoragePool;
import com.cloud.storage.pool.StoragePool;
import com.cloud.storage.volume.GuestOS;
import com.cloud.storage.volume.GuestOsCategory;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.user.SSHKeyPair;
import com.cloud.utils.Pair;

View File

@ -0,0 +1,10 @@
package com.cloud.storage.orchestra;
import com.cloud.storage.pool.StoragePoolService;
import com.cloud.storage.snapshot.SnapshotService;
import com.cloud.storage.volume.VolumeService;
import com.cloud.template.TemplateService;
public interface StorageOrchestraEngine extends StoragePoolService, VolumeService, SnapshotService, TemplateService {
}

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.storage;
package com.cloud.storage.pool;
import java.util.ArrayList;
import java.util.List;

View File

@ -14,11 +14,11 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.storage;
package com.cloud.storage.pool;
import java.util.Date;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.pool.Storage.StoragePoolType;
public interface StoragePool {

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.storage;
package com.cloud.storage.pool;
import java.net.UnknownHostException;
import java.util.List;
@ -32,8 +32,9 @@ import com.cloud.exception.PermissionDeniedException;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.exception.ResourceInUseException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.storage.volume.Volume;
public interface StorageService{
public interface StoragePoolService {
/**
* Create StoragePool based on uri
*
@ -45,34 +46,10 @@ public interface StorageService{
* @throws IllegalArgumentException
* @throws UnknownHostException
* @throws ResourceUnavailableException
* TODO
*/
StoragePool createPool(CreateStoragePoolCmd cmd) throws ResourceInUseException, IllegalArgumentException,
UnknownHostException, ResourceUnavailableException;
/**
* Creates the database object for a volume based on the given criteria
*
* @param cmd
* the API command wrapping the criteria (account/domainId [admin only], zone, diskOffering, snapshot,
* name)
* @return the volume object
* @throws PermissionDeniedException
*/
Volume allocVolume(CreateVolumeCmd cmd) throws ResourceAllocationException;
/**
* Creates the volume based on the given criteria
*
* @param cmd
* the API command wrapping the criteria (account/domainId [admin only], zone, diskOffering, snapshot,
* name)
* @return the volume object
*/
Volume createVolume(CreateVolumeCmd cmd);
boolean deleteVolume(long volumeId) throws ConcurrentOperationException;
/**
* Delete the storage pool
*
@ -83,17 +60,15 @@ public interface StorageService{
boolean deletePool(DeletePoolCmd cmd);
/**
* Enable maintenance for primary storage
* Enable maintenance for storage
*
* @param cmd
* - the command specifying primaryStorageId
* @return the primary storage pool
* @throws ResourceUnavailableException
* TODO
* @throws InsufficientCapacityException
* TODO
*/
public StoragePool preparePrimaryStorageForMaintenance(Long primaryStorageId) throws ResourceUnavailableException,
public StoragePool prepareStorageForMaintenance(Long primaryStorageId) throws ResourceUnavailableException,
InsufficientCapacityException;
/**
@ -103,26 +78,14 @@ public interface StorageService{
* - the command specifying primaryStorageId
* @return the primary storage pool
* @throws ResourceUnavailableException
* TODO
*/
public StoragePool cancelPrimaryStorageForMaintenance(CancelPrimaryStorageMaintenanceCmd cmd)
public StoragePool cancelStorageForMaintenance(CancelPrimaryStorageMaintenanceCmd cmd)
throws ResourceUnavailableException;
//TODO: Need to move around for this following APIs
public StoragePool updateStoragePool(UpdateStoragePoolCmd cmd) throws IllegalArgumentException;
public StoragePool getStoragePool(long id);
Volume migrateVolume(Long volumeId, Long storagePoolId) throws ConcurrentOperationException;
List<? extends Volume> searchForVolumes(ListVolumesCmd cmd);
/**
* Uploads the volume to secondary storage
*
* @param UploadVolumeCmd cmd
*
* @return Volume object
*/
Volume uploadVolume(UploadVolumeCmd cmd) throws ResourceAllocationException;
}

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.storage;
package com.cloud.storage.pool;
public enum StoragePoolStatus {
Up,

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.storage;
package com.cloud.storage.pool;
public interface StorageStats {
/**

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.storage;
package com.cloud.storage.snapshot;
import java.util.Date;

View File

@ -25,7 +25,6 @@ import com.cloud.api.commands.ListSnapshotPoliciesCmd;
import com.cloud.api.commands.ListSnapshotsCmd;
import com.cloud.exception.PermissionDeniedException;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.storage.Snapshot;
import com.cloud.user.Account;
public interface SnapshotService {

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.storage;
package com.cloud.storage.volume;
public interface GuestOS {

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.storage;
package com.cloud.storage.volume;
public interface GuestOsCategory {
long getId();

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.storage;
package com.cloud.storage.volume;
import com.cloud.utils.component.Adapter;

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.storage;
package com.cloud.storage.volume;
import java.util.Date;

View File

@ -0,0 +1,59 @@
package com.cloud.storage.volume;
import java.util.List;
import com.cloud.api.commands.CreateVolumeCmd;
import com.cloud.api.commands.ListVolumesCmd;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.exception.PermissionDeniedException;
import com.cloud.exception.ResourceAllocationException;
public interface VolumeService {
/**
* Creates the database object for a volume based on the given criteria
*
* @param cmd
* the API command wrapping the criteria (account/domainId [admin only], zone, diskOffering, snapshot,
* name)
* @return the volume object
* @throws PermissionDeniedException
*/
Volume allocVolume(CreateVolumeCmd cmd) throws ResourceAllocationException;
/**
* Creates the volume based on the given criteria
*
* @param cmd
* the API command wrapping the criteria (account/domainId [admin only], zone, diskOffering, snapshot,
* name)
* @return the volume object
*/
Volume createVolume(CreateVolumeCmd cmd);
/**
* Delete volume
* @param volumeId
* @return
* @throws ConcurrentOperationException
*/
boolean deleteVolume(long volumeId) throws ConcurrentOperationException;
/**
* Migrate volume to another storage pool
* @param volumeId
* @param storagePoolId
* @return
* @throws ConcurrentOperationException
*/
Volume migrateVolume(Long volumeId, Long storagePoolId) throws ConcurrentOperationException;
/**
* Copy volume another storage pool, a new volume will be created on destination storage pool
* @param volumeId
* @param destStoragePoolId
* @return
*/
Volume copyVolume(Long volumeId, Long destStoragePoolId);
List<? extends Volume> searchForVolumes(ListVolumesCmd cmd);
}

View File

@ -14,7 +14,7 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.storage;
package com.cloud.storage.volume;
public interface VolumeStats {
/**

View File

@ -28,9 +28,11 @@ import com.cloud.api.commands.ListTemplateOrIsoPermissionsCmd;
import com.cloud.api.commands.RegisterIsoCmd;
import com.cloud.api.commands.RegisterTemplateCmd;
import com.cloud.api.commands.UpdateTemplateOrIsoPermissionsCmd;
import com.cloud.api.commands.UploadVolumeCmd;
import com.cloud.exception.InternalErrorException;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.exception.StorageUnavailableException;
import com.cloud.storage.volume.Volume;
public interface TemplateService {
@ -86,4 +88,7 @@ public interface TemplateService {
List<String> listTemplatePermissions(ListTemplateOrIsoPermissionsCmd cmd);
boolean updateTemplateOrIsoPermissions(UpdateTemplateOrIsoPermissionsCmd cmd);
Volume uploadVolume(UploadVolumeCmd cmd)
throws ResourceAllocationException;
}

View File

@ -21,8 +21,8 @@ import java.util.Map;
import com.cloud.acl.ControlledEntity;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.Storage.TemplateType;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.TemplateType;
public interface VirtualMachineTemplate extends ControlledEntity {

View File

@ -18,7 +18,7 @@ package com.cloud.vm;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.offering.DiskOffering;
import com.cloud.storage.Volume;
import com.cloud.storage.volume.Volume;
/**
* DiskProfile describes a disk and what functionality is required from it.

View File

@ -48,8 +48,8 @@ import com.cloud.exception.VirtualMachineMigrationException;
import com.cloud.host.Host;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.offering.ServiceOffering;
import com.cloud.storage.StoragePool;
import com.cloud.storage.Volume;
import com.cloud.storage.pool.StoragePool;
import com.cloud.storage.volume.Volume;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.user.Account;
import com.cloud.uservm.UserVm;

View File

@ -40,7 +40,7 @@ import javax.persistence.Transient;
import com.cloud.api.Identity;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.resource.ResourceState;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.pool.Storage.StoragePoolType;
import com.cloud.utils.NumbersUtil;
import com.cloud.utils.db.GenericDao;

View File

@ -104,8 +104,8 @@ import com.cloud.utils.ssh.SshHelper;
import com.cloud.resource.ServerResource;
import com.cloud.resource.ServerResourceBase;
import com.cloud.serializer.GsonHelper;
import com.cloud.storage.Volume;
import com.cloud.storage.template.TemplateInfo;
import com.cloud.storage.volume.Volume;
import com.cloud.utils.Pair;
import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.vm.DiskProfile;

View File

@ -26,6 +26,7 @@ import javax.persistence.Id;
import javax.persistence.Table;
import com.cloud.api.Identity;
import com.cloud.storage.volume.GuestOsCategory;
@Entity
@Table(name="guest_os_category")

View File

@ -26,6 +26,7 @@ import javax.persistence.Id;
import javax.persistence.Table;
import com.cloud.api.Identity;
import com.cloud.storage.volume.GuestOS;
@Entity
@Table(name="guest_os")

View File

@ -18,7 +18,7 @@ package com.cloud.storage;
import java.net.URI;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.utils.component.Adapter;
public interface SecondaryStorageLayer extends Adapter {

View File

@ -30,6 +30,7 @@ import javax.persistence.Table;
import com.cloud.api.Identity;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.storage.snapshot.Snapshot;
import com.cloud.utils.db.GenericDao;
import com.google.gson.annotations.Expose;

View File

@ -31,7 +31,9 @@ import javax.persistence.TemporalType;
import javax.persistence.Transient;
import com.cloud.api.Identity;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.pool.StoragePool;
import com.cloud.storage.pool.StoragePoolStatus;
import com.cloud.storage.pool.Storage.StoragePoolType;
import com.cloud.utils.db.GenericDao;
@Entity

View File

@ -33,8 +33,9 @@ import javax.persistence.Transient;
import com.cloud.api.Identity;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.Storage.TemplateType;
import com.cloud.storage.pool.Storage;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.TemplateType;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.utils.db.GenericDao;

View File

@ -30,8 +30,9 @@ import javax.persistence.Temporal;
import javax.persistence.TemporalType;
//import com.cloud.storage.VMVolumeStorageResourceAssoc.Status;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
import com.cloud.storage.pool.Storage;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.utils.db.GenericDaoBase;
/**

View File

@ -32,7 +32,8 @@ import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import com.cloud.api.Identity;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.pool.Storage.StoragePoolType;
import com.cloud.storage.volume.Volume;
import com.cloud.utils.NumbersUtil;
import com.cloud.utils.db.GenericDao;

View File

@ -56,9 +56,9 @@ import com.cloud.host.Host;
import com.cloud.host.Host.Type;
import com.cloud.resource.ServerResource;
import com.cloud.resource.ServerResourceBase;
import com.cloud.storage.Storage;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.StorageLayer;
import com.cloud.storage.pool.Storage;
import com.cloud.storage.pool.Storage.StoragePoolType;
import com.cloud.storage.template.DownloadManager;
import com.cloud.storage.template.DownloadManagerImpl;
import com.cloud.storage.template.TemplateInfo;

View File

@ -44,9 +44,9 @@ import com.cloud.agent.api.storage.DownloadProgressCommand;
import com.cloud.host.Host;
import com.cloud.host.Host.Type;
import com.cloud.resource.ServerResourceBase;
import com.cloud.storage.Storage;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.StorageLayer;
import com.cloud.storage.pool.Storage;
import com.cloud.storage.pool.Storage.StoragePoolType;
import com.cloud.storage.template.DownloadManager;
import com.cloud.storage.template.DownloadManagerImpl;
import com.cloud.storage.template.TemplateInfo;

View File

@ -24,7 +24,7 @@ import com.cloud.agent.api.storage.DownloadCommand;
import com.cloud.agent.api.storage.DownloadCommand.Proxy;
import com.cloud.agent.api.storage.DownloadCommand.ResourceType;
import com.cloud.storage.VMTemplateHostVO;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.storage.resource.SecondaryStorageResource;
import com.cloud.utils.component.Manager;

View File

@ -51,10 +51,10 @@ import com.cloud.agent.api.storage.DownloadCommand.ResourceType;
import com.cloud.agent.api.storage.DownloadProgressCommand;
import com.cloud.agent.api.storage.DownloadProgressCommand.RequestType;
import com.cloud.exception.InternalErrorException;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.StorageLayer;
import com.cloud.storage.VMTemplateHostVO;
import com.cloud.storage.VMTemplateStorageResourceAssoc;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.storage.resource.SecondaryStorageResource;
import com.cloud.storage.template.Processor.FormatInfo;
import com.cloud.storage.template.TemplateDownloader.DownloadCompleteCallback;

View File

@ -25,7 +25,7 @@ import javax.naming.ConfigurationException;
import org.apache.log4j.Logger;
import com.cloud.storage.StorageLayer;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
@Local(value=Processor.class)
public class IsoProcessor implements Processor {

View File

@ -17,7 +17,7 @@
package com.cloud.storage.template;
import com.cloud.exception.InternalErrorException;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.utils.component.Adapter;
/**

View File

@ -26,7 +26,7 @@ import javax.naming.ConfigurationException;
import org.apache.log4j.Logger;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.storage.StorageLayer;
import com.cloud.utils.NumbersUtil;

View File

@ -26,7 +26,7 @@ import org.apache.log4j.Logger;
import com.cloud.exception.InternalErrorException;
import com.cloud.storage.StorageLayer;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.storage.template.Processor.FormatInfo;
@Local(value=Processor.class)

View File

@ -27,8 +27,8 @@ import java.util.Properties;
import org.apache.log4j.Logger;
import com.cloud.agent.api.storage.DownloadCommand.ResourceType;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.StorageLayer;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.storage.template.Processor.FormatInfo;
import com.cloud.utils.NumbersUtil;

View File

@ -22,8 +22,8 @@ import com.cloud.agent.api.storage.DeleteEntityDownloadURLAnswer;
import com.cloud.agent.api.storage.DeleteEntityDownloadURLCommand;
import com.cloud.agent.api.storage.UploadAnswer;
import com.cloud.agent.api.storage.UploadCommand;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.Upload.Status;
import com.cloud.storage.pool.Storage.ImageFormat;
import com.cloud.storage.resource.SecondaryStorageResource;
import com.cloud.utils.component.Manager;

Some files were not shown because too many files have changed in this diff Show More