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

[49/50] [abbrv] git commit: updated refs/heads/vmsync to 049dd72

merge is complete


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

Branch: refs/heads/vmsync
Commit: 7b7db0560ca40f2f76c25fadb1aaf5677a0ceb6b
Parents: a49109a f7b1d3d
Author: Alex Huang <al...@gmail.com>
Authored: Mon Jun 24 16:50:31 2013 -0700
Committer: Alex Huang <al...@gmail.com>
Committed: Mon Jun 24 16:50:31 2013 -0700

----------------------------------------------------------------------
 agent/src/com/cloud/agent/AgentShell.java       |    1 +
 api/src/com/cloud/agent/api/Answer.java         |    1 +
 .../CopyTemplateToPrimaryStorageAnswer.java     |   17 +
 .../cloud/agent/api/storage/PasswordAuth.java   |   39 +
 api/src/com/cloud/agent/api/storage/Proxy.java  |   72 +
 .../com/cloud/agent/api/to/DataObjectType.java  |   25 +
 api/src/com/cloud/agent/api/to/DataStoreTO.java |   26 +
 api/src/com/cloud/agent/api/to/DataTO.java      |   30 +
 api/src/com/cloud/agent/api/to/DiskTO.java      |   60 +
 .../com/cloud/agent/api/to/FirewallRuleTO.java  |   19 +-
 api/src/com/cloud/agent/api/to/NfsTO.java       |   60 +
 api/src/com/cloud/agent/api/to/S3TO.java        |   27 +-
 api/src/com/cloud/agent/api/to/SwiftTO.java     |   10 +-
 .../cloud/agent/api/to/VirtualMachineTO.java    |    6 +-
 api/src/com/cloud/agent/api/to/VolumeTO.java    |   37 +
 api/src/com/cloud/network/NetworkModel.java     |    2 +
 api/src/com/cloud/offering/DiskOffering.java    |   16 +
 api/src/com/cloud/offering/NetworkOffering.java |    1 +
 api/src/com/cloud/server/ManagementService.java |   45 -
 api/src/com/cloud/storage/DataStoreRole.java    |   54 +
 .../com/cloud/storage/GuestOSHypervisor.java    |   28 +
 api/src/com/cloud/storage/ImageStore.java       |   47 +
 api/src/com/cloud/storage/ScopeType.java        |   27 +
 api/src/com/cloud/storage/Snapshot.java         |    7 +-
 api/src/com/cloud/storage/Storage.java          |   17 +-
 api/src/com/cloud/storage/StoragePool.java      |    2 +-
 api/src/com/cloud/storage/StorageService.java   |   12 +
 api/src/com/cloud/storage/Upload.java           |    2 +-
 api/src/com/cloud/storage/Volume.java           |   10 +-
 api/src/com/cloud/storage/VolumeApiService.java |   28 +-
 .../storage/snapshot/SnapshotApiService.java    |  109 +
 .../cloud/storage/snapshot/SnapshotService.java |  109 -
 .../cloud/storage/template/TemplateInfo.java    |   81 -
 .../cloud/storage/template/TemplateProp.java    |   81 +
 .../com/cloud/template/TemplateApiService.java  |  106 +
 api/src/com/cloud/template/TemplateService.java |  100 -
 .../cloud/template/VirtualMachineTemplate.java  |    2 +
 api/src/com/cloud/vm/DiskProfile.java           |   36 +
 api/src/com/cloud/vm/VirtualMachine.java        |    2 +
 api/src/com/cloud/vm/VirtualMachineProfile.java |    8 +-
 .../org/apache/cloudstack/api/ApiConstants.java |    9 +-
 api/src/org/apache/cloudstack/api/BaseCmd.java  |    8 +-
 .../api/BaseUpdateTemplateOrIsoCmd.java         |    7 +
 .../cloudstack/api/ResponseGenerator.java       |   22 +-
 .../admin/host/AddSecondaryStorageCmd.java      |   36 +-
 .../admin/host/FindHostsForMigrationCmd.java    |    3 +-
 .../api/command/admin/host/ListHostsCmd.java    |    3 +-
 .../admin/internallb/ListInternalLBVMsCmd.java  |    6 -
 .../api/command/admin/ldap/LDAPConfigCmd.java   |   21 +-
 .../admin/network/CreateNetworkOfferingCmd.java |   10 +
 .../admin/offering/CreateDiskOfferingCmd.java   |   28 +
 .../offering/CreateServiceOfferingCmd.java      |   28 +
 .../admin/region/ListPortableIpRangesCmd.java   |    3 +-
 .../command/admin/router/ListRoutersCmd.java    |    7 -
 .../command/admin/storage/AddImageStoreCmd.java |  154 +
 .../api/command/admin/storage/AddS3Cmd.java     |   55 +-
 .../admin/storage/CreateCacheStoreCmd.java      |  123 +
 .../admin/storage/DeleteImageStoreCmd.java      |   80 +
 .../admin/storage/ListCacheStoresCmd.java       |  104 +
 .../admin/storage/ListImageStoresCmd.java       |  104 +
 .../api/command/admin/storage/ListS3sCmd.java   |   34 +-
 .../admin/storage/ListStoragePoolsCmd.java      |    8 +
 .../api/command/admin/swift/AddSwiftCmd.java    |   43 +-
 .../api/command/admin/swift/ListSwiftsCmd.java  |   28 +-
 .../admin/template/PrepareTemplateCmd.java      |    2 +-
 .../api/command/user/iso/ExtractIsoCmd.java     |   10 +-
 .../api/command/user/iso/ListIsosCmd.java       |   11 +-
 .../api/command/user/iso/RegisterIsoCmd.java    |    9 +-
 .../api/command/user/iso/UpdateIsoCmd.java      |    4 +-
 .../RevokeSecurityGroupEgressCmd.java           |    2 +-
 .../RevokeSecurityGroupIngressCmd.java          |    2 +-
 .../user/snapshot/CreateSnapshotCmd.java        |   26 +-
 .../command/user/template/CopyTemplateCmd.java  |    2 +-
 .../user/template/ExtractTemplateCmd.java       |   10 +-
 .../command/user/template/ListTemplatesCmd.java |   14 +-
 .../user/template/RegisterTemplateCmd.java      |   16 +-
 .../user/template/UpdateTemplateCmd.java        |    4 +-
 .../api/command/user/vm/UpdateVMCmd.java        |    7 +
 .../command/user/volume/CreateVolumeCmd.java    |    2 +-
 .../command/user/volume/ExtractVolumeCmd.java   |   23 +-
 .../command/user/volume/MigrateVolumeCmd.java   |   21 +-
 .../api/command/user/zone/ListZonesByCmd.java   |    8 +-
 .../api/response/ClusterResponse.java           |    7 -
 .../api/response/DiskOfferingResponse.java      |   28 +
 .../api/response/DomainRouterResponse.java      |   11 -
 .../cloudstack/api/response/HostResponse.java   |    7 -
 .../api/response/ImageStoreDetailResponse.java  |   86 +
 .../api/response/ImageStoreResponse.java        |  149 +
 .../api/response/NetworkOfferingResponse.java   |    7 +
 .../api/response/NetworkResponse.java           |    7 -
 .../cloudstack/api/response/PodResponse.java    |    7 -
 .../api/response/ServiceOfferingResponse.java   |   28 +
 .../api/response/SnapshotResponse.java          |   15 -
 .../api/response/StoragePoolResponse.java       |   10 -
 .../api/response/SystemVmResponse.java          |   11 -
 .../api/response/TemplateResponse.java          |   48 +-
 .../api/response/TemplateZoneResponse.java      |   90 +
 .../cloudstack/api/response/UserVmResponse.java |   14 +-
 .../cloudstack/api/response/VolumeResponse.java |   52 +-
 .../apache/cloudstack/query/QueryService.java   |   11 +
 .../test/AddSecondaryStorageCmdTest.java        |   67 +-
 .../api/command/test/AddSwiftCmdTest.java       |   97 -
 .../model/CloudStackServiceOfferingVO.java      |    9 +-
 .../dao/CloudStackConfigurationDaoImpl.java     |    3 +-
 .../dao/CloudStackSvcOfferingDaoImpl.java       |    6 +-
 .../persist/dao/CloudStackUserDaoImpl.java      |    1 +
 .../cloud/bridge/persist/dao/MHostDaoImpl.java  |    8 +-
 .../bridge/persist/dao/OfferingDaoImpl.java     |    8 +-
 .../cloud/bridge/persist/dao/SHostDaoImpl.java  |    8 +-
 .../persist/dao/UserCredentialsDaoImpl.java     |    1 +
 .../bridge/service/core/ec2/EC2Engine.java      |    2 +-
 .../classes/resources/messages.properties       |    6 +-
 .../classes/resources/messages_ja.properties    |  525 ++-
 .../classes/resources/messages_zh_CN.properties |  418 +-
 client/pom.xml                                  |   26 +-
 client/tomcatconf/applicationContext.xml.in     |   41 +-
 client/tomcatconf/commands.properties.in        |   10 +
 client/tomcatconf/componentContext.xml.in       |   10 -
 client/tomcatconf/log4j-cloud.xml.in            |    8 +
 client/tomcatconf/nonossComponentContext.xml.in |    8 -
 .../cloud/agent/api/AttachVolumeCommand.java    |   36 +
 .../agent/api/CleanupSnapshotBackupCommand.java |   75 -
 .../cloud/agent/api/ComputeChecksumCommand.java |   16 +-
 .../agent/api/DeleteObjectFromSwiftCommand.java |   61 -
 .../agent/api/DeleteSnapshotBackupAnswer.java   |   32 -
 .../agent/api/DeleteSnapshotBackupCommand.java  |   96 -
 .../agent/api/DeleteSnapshotsDirCommand.java    |   34 +-
 .../agent/api/DeleteTemplateFromS3Command.java  |  106 -
 .../agent/api/MigrateWithStorageAnswer.java     |   10 +-
 .../api/MigrateWithStorageCompleteAnswer.java   |    9 +-
 .../agent/api/ModifyStoragePoolAnswer.java      |   10 +-
 .../src/com/cloud/agent/api/ScaleVmCommand.java |    3 +-
 .../cloud/agent/api/SecStorageSetupCommand.java |   15 +-
 .../com/cloud/agent/api/SnapshotCommand.java    |    4 +-
 core/src/com/cloud/agent/api/StartCommand.java  |   10 +-
 .../cloud/agent/api/StartupStorageCommand.java  |   12 +-
 core/src/com/cloud/agent/api/StopCommand.java   |   14 +-
 .../agent/api/routing/DhcpEntryCommand.java     |   10 +-
 .../api/routing/NetworkElementCommand.java      |    1 +
 .../agent/api/routing/SavePasswordCommand.java  |    6 +-
 .../agent/api/routing/UserDataCommand.java      |    6 +-
 .../cloud/agent/api/routing/VmDataCommand.java  |   10 +-
 .../api/storage/AbstractDownloadCommand.java    |    2 +-
 .../agent/api/storage/CopyVolumeAnswer.java     |    1 +
 .../agent/api/storage/CopyVolumeCommand.java    |    6 +-
 .../cloud/agent/api/storage/CreateAnswer.java   |    1 +
 .../cloud/agent/api/storage/CreateCommand.java  |   32 +-
 .../storage/CreatePrivateTemplateAnswer.java    |    4 +-
 .../api/storage/DeleteTemplateCommand.java      |   40 -
 .../agent/api/storage/DeleteVolumeCommand.java  |   38 -
 .../agent/api/storage/DownloadCommand.java      |  219 -
 .../api/storage/DownloadProgressCommand.java    |   48 -
 .../agent/api/storage/ListTemplateAnswer.java   |   12 +-
 .../agent/api/storage/ListTemplateCommand.java  |   31 +-
 .../agent/api/storage/ListVolumeAnswer.java     |   12 +-
 .../agent/api/storage/ListVolumeCommand.java    |    9 +-
 .../storage/ManageVolumeAvailabilityAnswer.java |    1 +
 .../storage/PrimaryStorageDownloadAnswer.java   |    1 +
 .../storage/PrimaryStorageDownloadCommand.java  |    9 +
 .../agent/api/storage/ResizeVolumeAnswer.java   |    2 +-
 .../agent/api/storage/UpgradeDiskAnswer.java    |    4 +-
 .../cloud/agent/api/storage/UploadCommand.java  |    1 -
 .../virtualnetwork/VirtualRoutingResource.java  |    8 +
 .../cloud/agent/transport/ArrayTypeAdaptor.java |    6 +-
 .../agent/transport/InterfaceTypeAdaptor.java   |   66 +
 .../hyperv/resource/HypervResource.java         |    4 +-
 core/src/com/cloud/serializer/GsonHelper.java   |    9 +
 .../com/cloud/storage/GuestOSHypervisorVO.java  |   73 +
 .../storage/resource/StorageProcessor.java      |   45 +
 .../StorageSubsystemCommandHandler.java         |   27 +
 .../StorageSubsystemCommandHandlerBase.java     |  139 +
 .../template/HttpTemplateDownloader.java        |   94 +-
 .../storage/template/S3TemplateDownloader.java  |  418 ++
 .../storage/template/TemplateConstants.java     |   11 +-
 .../storage/template/TemplateLocation.java      |   76 +-
 .../storage/command/DownloadCommand.java        |  184 +
 .../command/DownloadProgressCommand.java        |   49 +
 .../com/cloud/agent/transport/RequestTest.java  |   58 +-
 .../agent/test/BackupSnapshotCommandTest.java   |   38 +-
 .../api/agent/test/CheckNetworkAnswerTest.java  |  205 +
 .../api/agent/test/SnapshotCommandTest.java     |    8 +-
 .../agent/api/test/ResizeVolumeCommandTest.java |  229 -
 developer/pom.xml                               |    3 +-
 docs/en-US/Release_Notes.xml                    |    9 +-
 docs/en-US/about-password-encryption.xml        |    2 +-
 docs/en-US/add-gateway-vpc.xml                  |   17 +-
 docs/en-US/building-devcloud.xml                |    2 +-
 docs/en-US/citrix-xenserver-installation.xml    |    5 +-
 docs/en-US/database-replication.xml             |   12 +-
 docs/en-US/management-server-install-client.xml |    4 +-
 .../management-server-install-db-external.xml   |    2 +-
 .../management-server-install-db-local.xml      |    4 +-
 .../management-server-install-multi-node.xml    |    4 +-
 docs/en-US/region-add.xml                       |    6 +-
 docs/en-US/source-build.xml                     |    4 +-
 .../subsystem/api/storage/ClusterScope.java     |   10 +-
 .../subsystem/api/storage/CommandResult.java    |   52 -
 .../api/storage/CopyCommandResult.java          |    9 +-
 .../subsystem/api/storage/CreateCmdResult.java  |   24 +-
 .../api/storage/DataMigrationSubSystem.java     |   29 -
 .../api/storage/DataMotionService.java          |   34 +
 .../api/storage/DataMotionStrategy.java         |   38 +
 .../subsystem/api/storage/DataObject.java       |   37 +-
 .../api/storage/DataObjectInStore.java          |   12 +-
 .../subsystem/api/storage/DataObjectType.java   |   25 -
 .../engine/subsystem/api/storage/DataStore.java |   14 +
 .../subsystem/api/storage/DataStoreDriver.java  |   26 +-
 .../api/storage/DataStoreLifeCycle.java         |   17 +-
 .../subsystem/api/storage/DataStoreManager.java |   19 +-
 .../api/storage/DataStoreProvider.java          |   33 +-
 .../api/storage/DataStoreProviderManager.java   |    9 +-
 .../subsystem/api/storage/DataStoreRole.java    |   54 -
 .../engine/subsystem/api/storage/EndPoint.java  |   12 +-
 .../subsystem/api/storage/EndPointSelector.java |   31 +
 .../engine/subsystem/api/storage/HostScope.java |   16 +-
 .../api/storage/HypervisorHostListener.java     |    1 +
 .../subsystem/api/storage/ImageDataFactory.java |   26 -
 .../api/storage/ImageDataStoreProvider.java     |   24 -
 .../subsystem/api/storage/ImageService.java     |   29 -
 .../api/storage/ImageStoreProvider.java         |   28 +
 .../storage/ObjectInDataStoreStateMachine.java  |   29 +-
 .../api/storage/PrimaryDataStoreDriver.java     |    6 +-
 .../api/storage/PrimaryDataStoreInfo.java       |   16 +-
 .../api/storage/PrimaryDataStoreLifeCycle.java  |    1 -
 .../api/storage/PrimaryDataStoreParameters.java |   40 +-
 .../engine/subsystem/api/storage/Scope.java     |   10 +-
 .../engine/subsystem/api/storage/ScopeType.java |   27 -
 .../api/storage/SnapshotDataFactory.java        |    9 +-
 .../subsystem/api/storage/SnapshotInfo.java     |   17 +-
 .../subsystem/api/storage/SnapshotProfile.java  |    9 +-
 .../subsystem/api/storage/SnapshotResult.java   |   48 +
 .../subsystem/api/storage/SnapshotService.java  |   28 +
 .../subsystem/api/storage/SnapshotStrategy.java |   16 +-
 .../api/storage/StorageCacheManager.java        |   40 +
 .../subsystem/api/storage/StorageEvent.java     |    4 +-
 .../api/storage/StorageOrchestrator.java        |   68 -
 .../api/storage/StoragePoolAllocator.java       |   27 +-
 .../subsystem/api/storage/StorageSubSystem.java |   29 -
 .../api/storage/TemplateDataFactory.java        |   31 +
 .../subsystem/api/storage/TemplateEvent.java    |    5 +-
 .../subsystem/api/storage/TemplateInfo.java     |    7 +-
 .../subsystem/api/storage/TemplateProfile.java  |  287 --
 .../subsystem/api/storage/TemplateService.java  |   64 +
 .../subsystem/api/storage/TemplateState.java    |    6 +-
 .../api/storage/VolumeDataFactory.java          |    3 +-
 .../subsystem/api/storage/VolumeInfo.java       |   28 +-
 .../subsystem/api/storage/VolumeProfile.java    |   34 -
 .../subsystem/api/storage/VolumeService.java    |   32 +-
 .../engine/subsystem/api/storage/ZoneScope.java |    6 +-
 .../api/storage/disktype/DiskFormat.java        |    5 +-
 .../subsystem/api/storage/type/BaseImage.java   |    6 +-
 .../subsystem/api/storage/type/DataDisk.java    |    6 +-
 .../engine/subsystem/api/storage/type/Iso.java  |    6 +-
 .../subsystem/api/storage/type/RootDisk.java    |    6 +-
 .../subsystem/api/storage/type/Unknown.java     |    6 +-
 .../api/storage/type/VolumeTypeBase.java        |   54 +-
 .../api/storage/type/VolumeTypeHelper.java      |   34 +-
 .../storage/command/AttachAnswer.java           |   47 +
 .../storage/command/AttachCommand.java          |   55 +
 .../command/AttachPrimaryDataStoreAnswer.java   |   56 +
 .../command/AttachPrimaryDataStoreCmd.java      |   39 +
 .../storage/command/CommandResult.java          |   52 +
 .../storage/command/CopyCmdAnswer.java          |   37 +
 .../cloudstack/storage/command/CopyCommand.java |   55 +
 .../storage/command/CreateObjectAnswer.java     |   43 +
 .../storage/command/CreateObjectCommand.java    |   45 +
 .../command/CreatePrimaryDataStoreCmd.java      |   38 +
 .../storage/command/DeleteCommand.java          |   45 +
 .../storage/command/DettachAnswer.java          |   47 +
 .../storage/command/DettachCommand.java         |   55 +
 .../command/DownloadSystemTemplateCommand.java  |  129 +
 .../command/StorageSubSystemCommand.java        |   23 +
 .../datastore/db/DataStoreProviderDao.java      |   25 -
 .../datastore/db/DataStoreProviderDaoImpl.java  |   38 -
 .../datastore/db/DataStoreProviderVO.java       |   60 -
 .../storage/datastore/db/ImageStoreDao.java     |   37 +
 .../datastore/db/ImageStoreDetailVO.java        |   82 +
 .../datastore/db/ImageStoreDetailsDao.java      |   30 +
 .../storage/datastore/db/ImageStoreVO.java      |  193 +
 .../datastore/db/PrimaryDataStoreDao.java       |  112 +-
 .../datastore/db/PrimaryDataStoreDaoImpl.java   |  554 ++-
 .../datastore/db/PrimaryDataStoreDetailVO.java  |   22 +-
 .../db/PrimaryDataStoreDetailsDao.java          |    3 +-
 .../db/PrimaryDataStoreDetailsDaoImpl.java      |   71 -
 .../datastore/db/SnapshotDataStoreDao.java      |   40 +
 .../datastore/db/SnapshotDataStoreVO.java       |  260 ++
 .../datastore/db/StoragePoolDetailVO.java       |   22 +-
 .../datastore/db/StoragePoolDetailsDao.java     |    5 +-
 .../storage/datastore/db/StoragePoolVO.java     |   40 +-
 .../datastore/db/TemplateDataStoreDao.java      |   63 +
 .../datastore/db/TemplateDataStoreVO.java       |  372 ++
 .../datastore/db/VolumeDataStoreDao.java        |   41 +
 .../storage/datastore/db/VolumeDataStoreVO.java |  348 ++
 .../image/datastore/ImageStoreEntity.java       |   46 +
 .../storage/image/datastore/ImageStoreInfo.java |   27 +
 .../cloudstack/storage/to/ImageStoreTO.java     |   79 +
 .../storage/to/PrimaryDataStoreTO.java          |  103 +
 .../cloudstack/storage/to/SnapshotObjectTO.java |  126 +
 .../cloudstack/storage/to/TemplateObjectTO.java |  199 +
 .../cloudstack/storage/to/VolumeObjectTO.java   |  215 +
 .../engine/subsystem/api/storage/ScopeTest.java |   18 +-
 .../src/com/cloud/agent/AgentManager.java       |    3 -
 .../src/com/cloud/agent/Listener.java           |   38 +-
 .../src/com/cloud/network/NetworkManager.java   |    1 +
 .../src/com/cloud/storage/VolumeManager.java    |    1 +
 .../com/cloud/vm/VirtualMachineManagerImpl.java |   14 +-
 .../cloud/vm/VirtualMachineManagerImplTest.java |   16 +-
 engine/pom.xml                                  |   18 +-
 .../com/cloud/network/rules/FirewallRuleVO.java |    7 +
 .../cloud/network/vpc/dao/VpcGatewayDao.java    |    2 +
 .../network/vpc/dao/VpcGatewayDaoImpl.java      |    8 +
 .../com/cloud/offerings/NetworkOfferingVO.java  |   10 +-
 .../src/com/cloud/storage/DiskOfferingVO.java   |  152 +-
 .../com/cloud/storage/GuestOSCategoryVO.java    |   23 +-
 .../schema/src/com/cloud/storage/GuestOSVO.java |   35 +-
 .../com/cloud/storage/LaunchPermissionVO.java   |   11 +-
 engine/schema/src/com/cloud/storage/S3VO.java   |   24 +-
 .../src/com/cloud/storage/SnapshotPolicyVO.java |   40 +-
 .../com/cloud/storage/SnapshotScheduleVO.java   |   80 +-
 .../src/com/cloud/storage/SnapshotVO.java       |  129 +-
 .../com/cloud/storage/StoragePoolHostAssoc.java |   16 +-
 .../com/cloud/storage/StoragePoolHostVO.java    |   94 +-
 .../com/cloud/storage/StoragePoolWorkVO.java    |   38 +-
 .../schema/src/com/cloud/storage/SwiftVO.java   |   31 +-
 .../schema/src/com/cloud/storage/UploadVO.java  |  288 +-
 .../com/cloud/storage/VMTemplateDetailVO.java   |   79 +-
 .../src/com/cloud/storage/VMTemplateHostVO.java |  393 +-
 .../src/com/cloud/storage/VMTemplateS3VO.java   |   34 +-
 .../cloud/storage/VMTemplateStoragePoolVO.java  |  379 +-
 .../com/cloud/storage/VMTemplateSwiftVO.java    |    3 +-
 .../src/com/cloud/storage/VMTemplateVO.java     |  273 +-
 .../src/com/cloud/storage/VMTemplateZoneVO.java |  128 +-
 .../src/com/cloud/storage/VolumeHostVO.java     |  415 +-
 .../schema/src/com/cloud/storage/VolumeVO.java  |   80 +-
 .../com/cloud/storage/dao/DiskOfferingDao.java  |    8 +-
 .../cloud/storage/dao/DiskOfferingDaoImpl.java  |   57 +-
 .../cloud/storage/dao/GuestOSCategoryDao.java   |    2 +-
 .../storage/dao/GuestOSCategoryDaoImpl.java     |   10 +-
 .../src/com/cloud/storage/dao/GuestOSDao.java   |    2 +-
 .../com/cloud/storage/dao/GuestOSDaoImpl.java   |   18 +-
 .../cloud/storage/dao/LaunchPermissionDao.java  |   28 +-
 .../storage/dao/LaunchPermissionDaoImpl.java    |   31 +-
 .../src/com/cloud/storage/dao/S3DaoImpl.java    |    3 +-
 .../src/com/cloud/storage/dao/SnapshotDao.java  |   31 +-
 .../com/cloud/storage/dao/SnapshotDaoImpl.java  |  152 +-
 .../cloud/storage/dao/SnapshotPolicyDao.java    |   12 +-
 .../storage/dao/SnapshotPolicyDaoImpl.java      |   45 +-
 .../cloud/storage/dao/SnapshotScheduleDao.java  |    5 +-
 .../storage/dao/SnapshotScheduleDaoImpl.java    |   87 +-
 .../storage/dao/StoragePoolDetailsDaoImpl.java  |   35 +-
 .../storage/dao/StoragePoolHostDaoImpl.java     |   18 +-
 .../cloud/storage/dao/StoragePoolWorkDao.java   |    3 +-
 .../storage/dao/StoragePoolWorkDaoImpl.java     |   62 +-
 .../src/com/cloud/storage/dao/SwiftDaoImpl.java |    2 +-
 .../src/com/cloud/storage/dao/UploadDao.java    |   11 +-
 .../com/cloud/storage/dao/UploadDaoImpl.java    |  111 +-
 .../com/cloud/storage/dao/VMTemplateDao.java    |   79 +-
 .../cloud/storage/dao/VMTemplateDaoImpl.java    | 1493 +++----
 .../cloud/storage/dao/VMTemplateDetailsDao.java |   10 +-
 .../storage/dao/VMTemplateDetailsDaoImpl.java   |   60 +-
 .../cloud/storage/dao/VMTemplateHostDao.java    |   15 +-
 .../storage/dao/VMTemplateHostDaoImpl.java      |  550 +--
 .../cloud/storage/dao/VMTemplatePoolDao.java    |   36 +-
 .../storage/dao/VMTemplatePoolDaoImpl.java      |  433 +-
 .../cloud/storage/dao/VMTemplateS3DaoImpl.java  |   25 +-
 .../cloud/storage/dao/VMTemplateZoneDao.java    |   14 +-
 .../storage/dao/VMTemplateZoneDaoImpl.java      |  112 +-
 .../src/com/cloud/storage/dao/VolumeDao.java    |    9 +-
 .../com/cloud/storage/dao/VolumeDaoImpl.java    |  358 +-
 .../com/cloud/storage/dao/VolumeHostDao.java    |   13 +-
 .../cloud/storage/dao/VolumeHostDaoImpl.java    |   37 +-
 .../src/com/cloud/upgrade/DatabaseCreator.java  |    7 +
 .../com/cloud/upgrade/dao/Upgrade410to420.java  |  326 +-
 .../schema/src/com/cloud/vm/VMInstanceVO.java   |   42 +-
 .../com/cloud/vm/VirtualMachineProfileImpl.java |   12 +-
 .../com/cloud/vm/dao/DomainRouterDaoImpl.java   |   18 +-
 .../lb/dao/ApplicationLoadBalancerRuleDao.java  |    1 +
 .../dao/ApplicationLoadBalancerRuleDaoImpl.java |   18 +
 engine/storage/backup/pom.xml                   |   50 -
 .../storage/backup/BackupMotionService.java     |   23 -
 .../storage/backup/BackupService.java           |   26 -
 engine/storage/cache/pom.xml                    |   50 +
 .../cache/allocator/StorageCacheAllocator.java  |   26 +
 .../allocator/StorageCacheRandomAllocator.java  |   56 +
 .../cache/manager/StorageCacheManagerImpl.java  |  254 ++
 .../StorageCacheReplacementAlgorithm.java       |   26 +
 .../StorageCacheReplacementAlgorithmLRU.java    |  106 +
 engine/storage/datamotion/pom.xml               |   62 +
 .../motion/AncientDataMotionStrategy.java       |  414 ++
 .../storage/motion/DataMotionServiceImpl.java   |   75 +
 .../storage/image/ImageDataFactoryImpl.java     |   93 -
 .../storage/image/ImageOrchestrator.java        |   29 -
 .../storage/image/ImageServiceImpl.java         |  235 -
 .../storage/image/TemplateDataFactoryImpl.java  |  105 +
 .../storage/image/TemplateServiceImpl.java      |  610 +++
 .../image/downloader/ImageDownloader.java       |   25 -
 .../driver/AncientImageDataStoreDriverImpl.java |  254 --
 .../driver/DefaultImageDataStoreDriverImpl.java |  126 -
 .../storage/image/manager/ImageDataManager.java |   30 -
 .../image/manager/ImageDataManagerImpl.java     |   50 -
 .../manager/ImageDataStoreManagerImpl.java      |   94 -
 .../manager/ImageStoreProviderManagerImpl.java  |  130 +
 .../store/AncientImageDataStoreProvider.java    |  101 -
 .../image/store/DefaultImageDataStoreImpl.java  |  145 -
 .../store/DefaultImageDataStoreProvider.java    |   82 -
 .../storage/image/store/ImageStoreImpl.java     |  198 +
 .../storage/image/store/TemplateObject.java     |  400 +-
 .../DefaultImageDataStoreLifeCycle.java         |  108 -
 .../lifecycle/ImageDataStoreLifeCycle.java      |   24 -
 .../store/lifecycle/ImageStoreLifeCycle.java    |   24 +
 engine/storage/imagemotion/pom.xml              |   62 -
 .../motion/DefaultImageMotionStrategy.java      |  158 -
 .../image/motion/ImageMotionServiceImpl.java    |   70 -
 .../image/motion/ImageMotionStrategy.java       |   24 -
 engine/storage/integration-test/pom.xml         |   50 +-
 .../MockLocalNfsSecondaryStorageResource.java   |  135 +
 .../storage/allocator/StorageAllocatorTest.java |  737 ++--
 .../StorageAllocatorTestConfiguration.java      |   47 +-
 ...StorageCacheReplacementAlgorithmLRUTest.java |  226 +
 .../apache/cloudstack/storage/test/AopTest.java |    2 +-
 .../cloudstack/storage/test/AopTestAdvice.java  |   20 +-
 .../storage/test/ChildTestConfiguration.java    |  157 +-
 .../storage/test/CloudStackTestNGBase.java      |  132 +-
 .../test/DirectAgentManagerSimpleImpl.java      |   88 +-
 .../storage/test/DirectAgentTest.java           |   66 +-
 ...HostEndpointRpcServerDirectCallResource.java |   70 -
 .../MockHypervisorHostEndPointRpcServer.java    |   72 -
 .../storage/test/MockLocalHostEndPoint.java     |   39 +
 .../storage/test/MockRpcCallBack.java           |   12 +-
 .../storage/test/MockStorageMotionStrategy.java |    5 +-
 .../cloudstack/storage/test/S3TemplateTest.java |  180 +
 .../cloudstack/storage/test/SnapshotTest.java   |  500 +++
 .../storage/test/StorageFactoryBean.java        |   11 +-
 .../cloudstack/storage/test/StorageTest.java    |   11 +-
 .../cloudstack/storage/test/TemplateTest.java   |  167 +
 .../cloudstack/storage/test/TestHttp.java       |   17 +-
 .../apache/cloudstack/storage/test/TestNG.java  |    5 +-
 .../cloudstack/storage/test/TestNGAop.java      |    6 +-
 .../cloudstack/storage/test/VolumeTest.java     |  433 ++
 .../storage/test/VolumeTestVmware.java          |  444 ++
 .../storage/test/volumeServiceTest.java         |  618 +--
 .../test/resource/s3_testng.xml                 |   47 +
 .../test/resource/storageContext.xml            |   77 +-
 .../integration-test/test/resource/testng.xml   |   19 +-
 engine/storage/pom.xml                          |    7 +-
 engine/storage/snapshot/pom.xml                 |    5 +
 .../snapshot/SnapshotDataFactoryImpl.java       |   51 +-
 .../storage/snapshot/SnapshotObject.java        |  353 +-
 .../storage/snapshot/SnapshotServiceImpl.java   |  390 +-
 .../snapshot/SnapshotStateMachineManager.java   |    2 +-
 .../SnapshotStateMachineManagerImpl.java        |   47 +-
 .../storage/snapshot/SnapshotStrategyBase.java  |   38 +
 .../snapshot/XenserverSnapshotStrategy.java     |  204 +
 .../storage/snapshot/db/SnapshotDao2.java       |   25 -
 .../storage/snapshot/db/SnapshotDao2Impl.java   |   28 -
 .../storage/snapshot/db/SnapshotVO.java         |  296 --
 .../strategy/AncientSnapshotStrategy.java       |  613 ---
 .../test/src/SnapshotDataFactoryTest.java       |   23 +-
 .../org/apache/cloudstack/storage/BaseType.java |    1 +
 .../storage/HostEndpointRpcServer.java          |   29 -
 .../storage/HypervisorHostEndPoint.java         |   75 -
 .../HypervisorHostEndPointRpcServer.java        |  119 -
 .../cloudstack/storage/LocalHostEndpoint.java   |  101 +
 .../cloudstack/storage/RemoteHostEndPoint.java  |  178 +
 .../allocator/AbstractStoragePoolAllocator.java |   87 +-
 .../ClusterScopeStoragePoolAllocator.java       |   26 +-
 .../GarbageCollectingStoragePoolAllocator.java  |   18 +-
 .../allocator/LocalStoragePoolAllocator.java    |   15 +-
 .../allocator/UseLocalForRootAllocator.java     |    7 +-
 .../allocator/ZoneWideStoragePoolAllocator.java |   20 +-
 .../backup/SnapshotOnBackupStoreInfo.java       |    5 +-
 .../backup/datastore/BackupStoreInfo.java       |    5 +-
 .../command/AttachPrimaryDataStoreAnswer.java   |   55 -
 .../command/AttachPrimaryDataStoreCmd.java      |   38 -
 .../cloudstack/storage/command/CopyCmd.java     |   45 -
 .../storage/command/CopyCmdAnswer.java          |   33 -
 .../CopyTemplateToPrimaryStorageAnswer.java     |   16 -
 .../storage/command/CreateObjectAnswer.java     |   48 -
 .../storage/command/CreateObjectCommand.java    |   45 -
 .../command/CreatePrimaryDataStoreCmd.java      |   37 -
 .../CreateVolumeFromBaseImageCommand.java       |   49 -
 .../storage/command/DeleteCommand.java          |   44 -
 .../command/StorageSubSystemCommand.java        |   23 -
 .../storage/datastore/DataObjectManager.java    |   11 +-
 .../datastore/DataObjectManagerImpl.java        |  174 +-
 .../storage/datastore/DataStoreManagerImpl.java |   47 +-
 .../datastore/ObjectInDataStoreManager.java     |   18 +-
 .../datastore/ObjectInDataStoreManagerImpl.java |  334 +-
 .../storage/datastore/PrimaryDataStore.java     |    3 +-
 .../datastore/PrimaryDataStoreEntityImpl.java   |   22 +-
 .../PrimaryDataStoreProviderManager.java        |    3 +-
 .../datastore/protocol/DataStoreProtocol.java   |    8 +-
 .../provider/DataStoreProviderManagerImpl.java  |   75 +-
 .../storage/db/ObjectInDataStoreDao.java        |    3 +-
 .../storage/db/ObjectInDataStoreDaoImpl.java    |   29 +-
 .../storage/db/ObjectInDataStoreVO.java         |  100 +-
 .../endpoint/DefaultEndPointSelector.java       |  128 +-
 .../storage/endpoint/EndPointSelector.java      |   40 -
 .../storage/image/BaseImageStoreDriverImpl.java |  216 +
 .../storage/image/ImageDataStoreDriver.java     |   24 -
 .../storage/image/ImageStoreDriver.java         |   28 +
 .../storage/image/TemplateEntityImpl.java       |   14 +-
 .../storage/image/datastore/ImageDataStore.java |   35 -
 .../image/datastore/ImageDataStoreHelper.java   |   60 -
 .../image/datastore/ImageDataStoreInfo.java     |   26 -
 .../image/datastore/ImageDataStoreManager.java  |   31 -
 .../image/datastore/ImageStoreHelper.java       |  118 +
 .../datastore/ImageStoreProviderManager.java    |   42 +
 .../storage/image/db/ImageDaoStoreDaoImpl.java  |   38 -
 .../storage/image/db/ImageDataStoreDao.java     |   25 -
 .../image/db/ImageDataStoreProviderDao.java     |   25 -
 .../image/db/ImageDataStoreProviderDaoImpl.java |   40 -
 .../image/db/ImageDataStoreProviderVO.java      |   49 -
 .../storage/image/db/ImageDataStoreVO.java      |  110 -
 .../storage/image/db/ImageStoreDaoImpl.java     |  107 +
 .../image/db/ImageStoreDetailsDaoImpl.java      |   88 +
 .../image/db/SnapshotDataStoreDaoImpl.java      |  168 +
 .../image/db/TemplateDataStoreDaoImpl.java      |  325 ++
 .../image/db/VolumeDataStoreDaoImpl.java        |  172 +
 .../image/motion/ImageMotionService.java        |    8 +-
 .../motion/AncientDataMotionStrategy.java       |  806 ----
 .../storage/motion/DataMotionDriver.java        |   25 -
 .../storage/motion/DataMotionService.java       |   37 -
 .../storage/motion/DataMotionServiceImpl.java   |   77 -
 .../storage/motion/DataMotionStrategy.java      |   40 -
 .../storage/snapshot/SnapshotEntityImpl.java    |  316 +-
 .../storage/snapshot/SnapshotService.java       |   27 -
 .../cloudstack/storage/to/ImageDataStoreTO.java |   36 -
 .../storage/to/ImageOnPrimaryDataStoreTO.java   |   44 -
 .../storage/to/NfsPrimaryDataStoreTO.java       |   44 -
 .../storage/to/PrimaryDataStoreTO.java          |   48 -
 .../cloudstack/storage/to/TemplateTO.java       |   51 -
 .../apache/cloudstack/storage/to/VolumeTO.java  |   77 -
 .../datastore/PrimaryDataStoreHelper.java       |   32 +-
 .../db/PrimaryDataStoreDetailsDaoImpl.java      |   74 +
 .../volume/db/TemplatePrimaryDataStoreDao.java  |    4 +-
 .../db/TemplatePrimaryDataStoreDaoImpl.java     |   43 +-
 .../volume/db/TemplatePrimaryDataStoreVO.java   |   18 +-
 .../storage/volume/db/VolumeDao2.java           |   82 -
 .../storage/volume/db/VolumeDao2Impl.java       |  440 --
 .../cloudstack/storage/volume/db/VolumeVO.java  |  418 --
 .../datastore/DefaultPrimaryDataStore.java      |  343 --
 .../storage/datastore/PrimaryDataStoreImpl.java |  349 ++
 .../DefaultPrimaryDataStoreDriverImpl.java      |  249 --
 .../driver/PrimaryDataStoreDriver.java          |   16 -
 .../DefaultPrimaryDataStoreLifeCycleImpl.java   |  147 -
 ...aultPrimaryDataStoreProviderManagerImpl.java |   85 -
 .../PrimaryDataStoreProviderManagerImpl.java    |   84 +
 .../datastore/provider/DefaultHostListener.java |   36 +-
 .../DefaultPrimaryDatastoreProviderImpl.java    |   83 -
 .../PrimaryDataStoreProviderManager.java        |   16 -
 .../storage/volume/TemplateInstallStrategy.java |   28 -
 .../volume/TemplateInstallStrategyImpl.java     |  289 --
 .../storage/volume/VolumeDataFactoryImpl.java   |   25 +-
 .../storage/volume/VolumeEntityImpl.java        |  204 -
 .../storage/volume/VolumeMotionService.java     |   23 -
 .../cloudstack/storage/volume/VolumeObject.java |  361 +-
 .../storage/volume/VolumeServiceImpl.java       |  613 ++-
 .../storage/volume/test/ConfiguratorTest.java   |   64 +-
 .../cloudstack/storage/volume/test/Server.java  |   17 +-
 .../storage/volume/test/TestConfiguration.java  |    2 +-
 .../storage/volume/test/TestInProcessAsync.java |    7 +-
 .../async/AsyncCallbackDispatcher.java          |   30 +-
 patches/systemvm/debian/buildsystemvm.sh        |   37 +-
 .../debian/config/etc/init.d/cloud-early-config |    7 +-
 .../debian/config/root/createIpAlias.sh         |    5 +-
 .../systemvm/debian/config/root/edithosts.sh    |    4 +-
 .../debian/config/root/firewallRule_egress.sh   |   26 +-
 .../systemvm/debian/config/root/savepassword.sh |    4 +-
 patches/systemvm/debian/config/root/userdata.sh |    4 +-
 .../baremetal/manager/AddBaremetalHostCmd.java  |   48 -
 .../baremetal/manager/BareMetalDiscoverer.java  |    3 +-
 .../manager/BareMetalTemplateAdapter.java       |  128 +-
 .../baremetal/manager/BaremetalManagerImpl.java |    1 +
 .../networkservice/AddBaremetalDhcpCmd.java     |  154 -
 .../AddBaremetalKickStartPxeCmd.java            |   37 -
 .../networkservice/AddBaremetalPxeCmd.java      |  148 -
 .../AddBaremetalPxePingServerCmd.java           |   82 -
 .../BareMetalPingServiceImpl.java               |    2 +
 .../networkservice/BareMetalResourceBase.java   |   28 +-
 .../networkservice/BaremetalDhcpElement.java    |    6 +-
 .../networkservice/BaremetalDhcpManager.java    |    2 +
 .../BaremetalDhcpManagerImpl.java               |    6 +-
 .../BaremetalKickStartServiceImpl.java          |    2 +
 .../networkservice/BaremetalPxeManager.java     |    4 +-
 .../networkservice/BaremetalPxeManagerImpl.java |    7 +-
 .../networkservice/BaremetalPxeService.java     |    2 +
 .../cloudstack/api/AddBaremetalDhcpCmd.java     |  156 +
 .../cloudstack/api/AddBaremetalHostCmd.java     |   50 +
 .../api/AddBaremetalKickStartPxeCmd.java        |   39 +
 .../cloudstack/api/AddBaremetalPxeCmd.java      |  149 +
 .../api/AddBaremetalPxePingServerCmd.java       |   84 +
 .../kvm/resource/BridgeVifDriver.java           |   14 +-
 .../kvm/resource/DirectVifDriver.java           |    8 +-
 .../kvm/resource/LibvirtComputingResource.java  |  256 +-
 .../kvm/resource/LibvirtConnection.java         |   23 +-
 .../kvm/resource/LibvirtDomainXMLParser.java    |   40 +-
 .../hypervisor/kvm/resource/LibvirtVMDef.java   |   82 +-
 .../hypervisor/kvm/resource/OvsVifDriver.java   |   16 +-
 .../kvm/storage/KVMStorageProcessor.java        |  862 ++++
 .../kvm/storage/KVMStorageResource.java         |   87 +
 .../cloud/ovm/hypervisor/OvmResourceBase.java   |   31 +-
 .../cloud/agent/manager/MockStorageManager.java |   13 +-
 .../agent/manager/MockStorageManagerImpl.java   |   69 +-
 .../agent/manager/SimulatorManagerImpl.java     |   34 +-
 .../com/cloud/resource/AgentResourceBase.java   |   29 +-
 .../cloud/resource/AgentRoutingResource.java    |    4 +-
 .../cloud/resource/AgentStorageResource.java    |    2 +-
 .../com/cloud/resource/SimulatorDiscoverer.java |    6 +-
 .../resource/SimulatorSecondaryDiscoverer.java  |   15 +-
 .../resource/SimulatorStorageProcessor.java     |  187 +
 .../com/cloud/hypervisor/guru/VMwareGuru.java   |   25 +-
 .../vmware/VmwareServerDiscoverer.java          |    2 +-
 .../vmware/manager/VmwareManagerImpl.java       |   19 +-
 .../manager/VmwareStorageManagerImpl.java       |   38 +-
 .../vmware/resource/VmwareResource.java         |  344 +-
 .../VmwareSecondaryStorageResourceHandler.java  |  126 +-
 .../resource/VmwareStorageProcessor.java        | 1283 ++++++
 .../motion/VmwareStorageMotionStrategy.java     |    9 +-
 .../vmware/VmwareDatacenterApiUnitTest.java     |   23 +-
 .../motion/VmwareStorageMotionStrategyTest.java |    2 +-
 .../src/com/cloud/hypervisor/XenServerGuru.java |    1 +
 .../xen/discoverer/XcpServerDiscoverer.java     |  156 +-
 .../hypervisor/xen/resource/CitrixHelper.java   |    4 +
 .../xen/resource/CitrixResourceBase.java        |  144 +-
 .../hypervisor/xen/resource/XcpOssResource.java |   42 +-
 .../xen/resource/XenServer56FP1Resource.java    |   59 +-
 .../xen/resource/XenServer610Resource.java      |   23 +-
 .../xen/resource/XenServerStorageProcessor.java | 1516 +++++++
 .../xen/resource/XenServerStorageResource.java  |  662 ---
 .../motion/XenServerStorageMotionStrategy.java  |   11 +-
 .../resources/components-example.xml            |    8 -
 .../element/InternalLoadBalancerElement.java    |   42 +-
 .../lb/InternalLoadBalancerVMManagerImpl.java   |   27 +-
 .../network/resource/JuniperSrxResource.java    |   86 +-
 plugins/pom.xml                                 |    4 +
 .../allocator/RandomStoragePoolAllocator.java   |   21 +-
 plugins/storage/image/default/pom.xml           |   71 +
 .../driver/CloudStackImageStoreDriverImpl.java  |   95 +
 .../CloudStackImageStoreLifeCycleImpl.java      |  155 +
 .../CloudStackImageStoreProviderImpl.java       |  103 +
 plugins/storage/image/s3/pom.xml                |   15 +
 .../driver/S3ImageStoreDriverImpl.java          |   92 +
 .../lifecycle/S3ImageStoreLifeCycleImpl.java    |  135 +
 .../provider/S3ImageStoreProviderImpl.java      |  100 +
 plugins/storage/image/sample/pom.xml            |   71 +
 .../driver/SampleImageStoreDriverImpl.java      |   53 +
 .../SampleImageStoreLifeCycleImpl.java          |   82 +
 .../provider/SampleImageStoreProviderImpl.java  |   96 +
 plugins/storage/image/swift/pom.xml             |   71 +
 .../driver/SwiftImageStoreDriverImpl.java       |   55 +
 .../lifecycle/SwiftImageStoreLifeCycleImpl.java |  116 +
 .../provider/SwiftImageStoreProviderImpl.java   |  102 +
 .../CloudStackPrimaryDataStoreDriverImpl.java   |  485 +--
 ...CloudStackPrimaryDataStoreLifeCycleImpl.java |  152 +-
 .../CloudStackPrimaryDataStoreProviderImpl.java |   14 +-
 plugins/storage/volume/sample/pom.xml           |   56 +
 .../SamplePrimaryDataStoreDriverImpl.java       |  181 +
 .../SamplePrimaryDataStoreLifeCycleImpl.java    |  122 +
 .../SamplePrimaryDatastoreProviderImpl.java     |   79 +
 .../driver/SolidfirePrimaryDataStoreDriver.java |   54 +-
 .../SolidfirePrimaryDataStoreProvider.java      |   57 +-
 .../cloudstack/storage/test/AopTestAdvice.java  |   20 +-
 .../storage/test/ChildTestConfiguration.java    |   47 +-
 .../storage/test/TestConfiguration.java         |   17 +-
 .../cloudstack/storage/test/VolumeTest.java     |  169 +-
 python/lib/cloudutils/networkConfig.py          |    2 +-
 scripts/network/juniper/security-policy-add.xml |    3 +-
 scripts/storage/qcow2/createtmplt.sh            |    4 +-
 scripts/storage/qcow2/managesnapshot.sh         |    2 +-
 .../create_privatetemplate_from_snapshot_xen.sh |   98 +
 .../cloud/agent/manager/AgentManagerImpl.java   |   24 -
 .../com/cloud/agent/manager/AgentMonitor.java   |    2 +-
 .../manager/ClusteredAgentManagerImpl.java      |    4 +-
 .../agent/manager/SynchronousListener.java      |    4 +-
 .../impl/UserConcentratedAllocator.java         |   58 +-
 server/src/com/cloud/api/ApiDBUtils.java        |   90 +-
 server/src/com/cloud/api/ApiResponseHelper.java |  678 ++-
 .../com/cloud/api/query/QueryManagerImpl.java   | 1078 +++--
 .../com/cloud/api/query/ViewResponseHelper.java |   74 +
 .../api/query/dao/DiskOfferingJoinDaoImpl.java  |    5 +
 .../api/query/dao/DomainRouterJoinDaoImpl.java  |    1 -
 .../cloud/api/query/dao/HostJoinDaoImpl.java    |    1 -
 .../cloud/api/query/dao/ImageStoreJoinDao.java  |   36 +
 .../api/query/dao/ImageStoreJoinDaoImpl.java    |  162 +
 .../query/dao/ServiceOfferingJoinDaoImpl.java   |    4 +
 .../api/query/dao/StoragePoolJoinDaoImpl.java   |   56 +-
 .../cloud/api/query/dao/TemplateJoinDao.java    |   44 +
 .../api/query/dao/TemplateJoinDaoImpl.java      |  463 ++
 .../com/cloud/api/query/dao/UserVmJoinDao.java  |    2 +
 .../cloud/api/query/dao/UserVmJoinDaoImpl.java  |   26 +-
 .../cloud/api/query/dao/VolumeJoinDaoImpl.java  |    6 +-
 .../cloud/api/query/vo/DiskOfferingJoinVO.java  |   42 +
 .../cloud/api/query/vo/DomainRouterJoinVO.java  |   12 -
 .../src/com/cloud/api/query/vo/HostJoinVO.java  |   11 -
 .../cloud/api/query/vo/ImageStoreJoinVO.java    |  207 +
 .../api/query/vo/ServiceOfferingJoinVO.java     |   41 +
 .../cloud/api/query/vo/StoragePoolJoinVO.java   |   22 +-
 .../com/cloud/api/query/vo/TemplateJoinVO.java  | 1030 +++++
 .../com/cloud/api/query/vo/UserVmJoinVO.java    |   24 +-
 .../com/cloud/api/query/vo/VolumeJoinVO.java    |   58 +-
 .../src/com/cloud/capacity/CapacityManager.java |    2 +-
 .../com/cloud/capacity/CapacityManagerImpl.java |    4 +-
 .../cloud/capacity/ComputeCapacityListener.java |    4 +-
 .../cloud/capacity/StorageCapacityListener.java |    4 +-
 server/src/com/cloud/configuration/Config.java  |   19 +-
 .../configuration/ConfigurationManager.java     |   16 +-
 .../configuration/ConfigurationManagerImpl.java | 1284 ++++--
 .../src/com/cloud/consoleproxy/AgentHook.java   |    9 +-
 .../com/cloud/consoleproxy/AgentHookBase.java   |   21 +-
 .../consoleproxy/ConsoleProxyListener.java      |    4 +-
 .../cloud/consoleproxy/ConsoleProxyManager.java |    1 -
 .../consoleproxy/ConsoleProxyManagerImpl.java   |   33 +-
 .../deploy/DeploymentPlanningManagerImpl.java   |    2 +-
 .../com/cloud/ha/UserVmDomRInvestigator.java    |    3 +-
 .../cloud/hypervisor/HypervisorGuruBase.java    |   17 +-
 .../kvm/discoverer/LibvirtServerDiscoverer.java |   99 +-
 .../ExternalFirewallDeviceManagerImpl.java      |   24 +-
 .../com/cloud/network/NetworkManagerImpl.java   |   41 +-
 .../src/com/cloud/network/NetworkModelImpl.java |   11 +
 .../com/cloud/network/NetworkServiceImpl.java   |   81 +-
 .../cloud/network/NetworkUsageManagerImpl.java  |    2 +-
 .../com/cloud/network/SshKeysDistriMonitor.java |    4 +-
 .../element/CloudZonesNetworkElement.java       |    5 +-
 .../network/firewall/FirewallManagerImpl.java   |   31 +
 .../VirtualNetworkApplianceManagerImpl.java     |   53 +-
 .../cloud/network/rules/FirewallManager.java    |    1 +
 .../network/security/SecurityGroupListener.java |    4 +-
 .../cloud/network/vpc/NetworkACLManager.java    |    2 +-
 .../network/vpc/NetworkACLManagerImpl.java      |   28 +-
 .../network/vpc/NetworkACLServiceImpl.java      |   51 +-
 .../com/cloud/network/vpc/VpcManagerImpl.java   |    7 +-
 .../com/cloud/resource/ResourceManagerImpl.java | 1042 ++---
 .../resourcelimit/ResourceLimitManagerImpl.java |   19 +-
 .../cloud/server/ConfigurationServerImpl.java   |   17 +-
 .../src/com/cloud/server/ManagementServer.java  |    2 +
 .../com/cloud/server/ManagementServerImpl.java  |  385 +-
 server/src/com/cloud/server/StatsCollector.java |  204 +-
 .../cloud/storage/CreateSnapshotPayload.java    |   50 +
 .../cloud/storage/LocalStoragePoolListener.java |    4 +-
 .../src/com/cloud/storage/StorageManager.java   |   10 +
 .../com/cloud/storage/StorageManagerImpl.java   | 1234 +++---
 .../src/com/cloud/storage/TemplateProfile.java  |   79 +-
 .../com/cloud/storage/VolumeManagerImpl.java    |  435 +-
 .../cloud/storage/dao/GuestOSHypervisorDao.java |   27 +
 .../storage/dao/GuestOSHypervisorDaoImpl.java   |   49 +
 .../download/DownloadAbandonedState.java        |    7 +-
 .../storage/download/DownloadActiveState.java   |    4 +-
 .../storage/download/DownloadCompleteState.java |    3 +-
 .../storage/download/DownloadErrorState.java    |    8 +-
 .../storage/download/DownloadListener.java      |  430 +-
 .../cloud/storage/download/DownloadMonitor.java |   29 +-
 .../storage/download/DownloadMonitorImpl.java   | 1132 +----
 .../cloud/storage/download/DownloadState.java   |    2 +-
 .../storage/download/NotDownloadedState.java    |    3 +-
 .../storage/listener/StoragePoolMonitor.java    |    6 +-
 .../storage/listener/StorageSyncListener.java   |    4 +-
 .../resource/DummySecondaryStorageResource.java |   14 +-
 server/src/com/cloud/storage/s3/S3Manager.java  |    5 +-
 .../src/com/cloud/storage/s3/S3ManagerImpl.java |  106 +-
 .../secondary/SecondaryStorageListener.java     |    4 +-
 .../secondary/SecondaryStorageManagerImpl.java  |  183 +-
 .../secondary/SecondaryStorageVmManager.java    |   14 +-
 .../cloud/storage/snapshot/SnapshotManager.java |   18 +-
 .../storage/snapshot/SnapshotManagerImpl.java   |  420 +-
 .../cloud/storage/swift/SwiftManagerImpl.java   |   15 +-
 .../cloud/storage/upload/UploadListener.java    |  123 +-
 .../com/cloud/storage/upload/UploadMonitor.java |   13 +-
 .../cloud/storage/upload/UploadMonitorImpl.java |  133 +-
 .../template/HypervisorTemplateAdapter.java     |  458 +-
 .../src/com/cloud/template/TemplateAdapter.java |   15 +-
 .../com/cloud/template/TemplateAdapterBase.java |   43 +-
 .../src/com/cloud/template/TemplateManager.java |   41 +-
 .../com/cloud/template/TemplateManagerImpl.java | 1498 +++----
 server/src/com/cloud/test/DatabaseConfig.java   |   28 +
 server/src/com/cloud/vm/UserVmManagerImpl.java  |   88 +-
 server/src/com/cloud/vm/dao/NicIpAliasDao.java  |    1 -
 .../src/com/cloud/vm/dao/NicIpAliasDaoImpl.java |    9 -
 .../com/cloud/agent/MockAgentManagerImpl.java   |   10 +-
 .../com/cloud/async/TestAsyncJobManager.java    |    2 +-
 .../network/DedicateGuestVlanRangesTest.java    |    4 +-
 .../cloud/network/MockFirewallManagerImpl.java  |    5 +
 .../com/cloud/network/MockNetworkModelImpl.java |    6 +
 .../cloud/resource/MockResourceManagerImpl.java |    1 +
 .../vm/VmWorkMockVirtualMachineManagerImpl.java |    6 +-
 .../cloud/vpc/MockConfigurationManagerImpl.java |    8 +-
 .../com/cloud/vpc/MockNetworkModelImpl.java     |    6 +
 .../networkoffering/ChildTestConfiguration.java |    6 +-
 .../CreateNetworkOfferingTest.java              |   20 +-
 .../resource/CifsSecondaryStorageResource.java  |  755 ----
 .../LocalNfsSecondaryStorageResource.java       |  233 +
 .../resource/LocalSecondaryStorageResource.java |   24 +-
 .../resource/NfsSecondaryStorageResource.java   | 1632 ++++---
 .../resource/SecondaryStorageDiscoverer.java    |   79 +-
 .../resource/SecondaryStorageResource.java      |    3 +-
 .../storage/template/DownloadManager.java       |   37 +-
 .../storage/template/DownloadManagerImpl.java   |  287 +-
 setup/bindir/cloud-set-guest-sshkey.in          |   44 +-
 setup/db/db/schema-410to420.sql                 |  345 +-
 setup/db/templates.simulator.sql                |    8 +-
 setup/db/templates.sql                          |    5 +
 setup/dev/advanced.cfg                          |    3 +-
 setup/dev/advancedsg.cfg                        |    3 +-
 setup/dev/basic.cfg                             |    3 +-
 test/integration/component/test_accounts.py     |   21 +-
 test/integration/component/test_baremetal.py    |  123 +
 test/integration/component/test_blocker_bugs.py |  303 --
 .../component/test_explicit_dedication.py       |    3 -
 .../component/test_implicit_planner.py          |    3 -
 .../component/test_netscaler_configs.py         |    2 +-
 test/integration/component/test_netscaler_lb.py |    4 +-
 .../component/test_netscaler_nw_off.py          |    5 +-
 .../component/test_recurring_snapshots.py       |  405 ++
 .../component/test_redundant_router.py          | 4096 +-----------------
 .../component/test_redundant_router_cleanups.py |  675 +++
 ...test_redundant_router_deployment_planning.py | 1006 +++++
 .../test_redundant_router_network_rules.py      | 1416 ++++++
 .../component/test_redundant_router_services.py |  376 ++
 .../component/test_redundant_router_upgrades.py |  486 +++
 .../component/test_shared_networks.py           |    1 +
 test/integration/component/test_snapshot_gc.py  |  474 ++
 .../component/test_snapshot_limits.py           |  384 ++
 test/integration/component/test_snapshots.py    | 2171 +++-------
 .../component/test_storage_motion.py            |    3 -
 test/integration/component/test_volumes.py      |   68 +-
 test/integration/component/test_vpc.py          |   44 +-
 test/integration/component/test_vpc_network.py  |   80 +-
 .../component/test_vpc_network_lbrules.py       |    3 -
 .../component/test_vpc_network_pfrules.py       |    3 -
 .../component/test_vpc_network_staticnatrule.py |    3 -
 .../integration/component/test_vpc_offerings.py |   52 +-
 test/integration/smoke/test_network.py          |    2 +-
 test/integration/smoke/test_nic.py              |    3 -
 test/integration/smoke/test_resource_detail.py  |    3 -
 test/integration/smoke/test_scale_vm.py         |   16 +-
 test/integration/smoke/test_snapshots.py        |  345 ++
 test/integration/smoke/test_ssvm.py             |   42 +-
 test/integration/smoke/test_vm_life_cycle.py    |   38 +-
 test/integration/smoke/test_volumes.py          |    4 +-
 test/pom.xml                                    |    2 +-
 tools/apidoc/gen_toc.py                         |    8 +-
 .../definitions/devcloud/definition.rb          |    6 +-
 .../definitions/systemvmtemplate/definition.rb  |    2 +-
 .../definitions/systemvmtemplate/postinstall.sh |    5 +
 .../systemvmtemplate64/definition.rb            |    2 +-
 tools/devcloud/devcloud.cfg                     |    4 +-
 tools/devcloud/devcloud_s3.cfg                  |  141 +
 tools/marvin/marvin/TestCaseExecuteEngine.py    |   43 +-
 tools/marvin/marvin/__init__.py                 |    4 +-
 tools/marvin/marvin/asyncJobMgr.py              |   46 +-
 tools/marvin/marvin/cloudstackConnection.py     |    2 +-
 tools/marvin/marvin/cloudstackException.py      |   22 +-
 tools/marvin/marvin/cloudstackTestCase.py       |   11 +-
 tools/marvin/marvin/cloudstackTestClient.py     |   69 +-
 tools/marvin/marvin/codegenerator.py            |  143 +-
 tools/marvin/marvin/configGenerator.py          |  351 +-
 tools/marvin/marvin/dbConnection.py             |   41 +-
 tools/marvin/marvin/deployAndRun.py             |   53 +-
 tools/marvin/marvin/deployDataCenter.py         |  219 +-
 tools/marvin/marvin/integration/lib/utils.py    |    2 +-
 tools/marvin/marvin/jsonHelper.py               |  279 +-
 tools/marvin/marvin/marvinPlugin.py             |   79 +-
 tools/marvin/marvin/remoteSSHClient.py          |   58 +-
 .../marvin/sandbox/advanced/advanced_env.py     |    1 +
 .../marvin/sandbox/advancedsg/advancedsg_env.py |    1 +
 tools/marvin/marvin/sandbox/basic/basic_env.py  |    1 +
 tools/marvin/marvin/settings.py                 |   10 +-
 tools/marvin/marvin/testSetupSuccess.py         |   40 +-
 ui/css/cloudstack3.css                          |   71 +-
 ui/dictionary.jsp                               |    4 +
 ui/scripts/cloudStack.js                        |   32 +-
 ui/scripts/configuration.js                     |  158 +-
 ui/scripts/docs.js                              |    6 +-
 ui/scripts/globalSettings.js                    |    2 +-
 ui/scripts/instances.js                         |  132 +-
 ui/scripts/network.js                           |   65 +-
 ui/scripts/sharedFunctions.js                   |    6 +-
 ui/scripts/system.js                            | 2321 +++++++---
 ui/scripts/ui-custom/physicalResources.js       |    7 +-
 ui/scripts/ui-custom/zoneChart.js               |    9 +-
 ui/scripts/ui/dialog.js                         |    4 +-
 ui/scripts/ui/widgets/listView.js               |    4 +
 ui/scripts/ui/widgets/multiEdit.js              |    2 +-
 ui/scripts/zoneWizard.js                        |  396 +-
 utils/src/com/cloud/utils/S3Utils.java          |  102 +-
 utils/src/com/cloud/utils/UriUtils.java         |   82 +
 utils/src/com/cloud/utils/script/Script.java    |   10 +-
 .../test/com/cloud/utils/testcase/NioTest.java  |   14 +-
 .../hypervisor/vmware/util/VmwareClient.java    |    7 +-
 889 files changed, 51206 insertions(+), 35863 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/com/cloud/agent/api/to/FirewallRuleTO.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/com/cloud/server/ManagementService.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/com/cloud/vm/VirtualMachine.java
----------------------------------------------------------------------
diff --cc api/src/com/cloud/vm/VirtualMachine.java
index fe0ea76,c172fbf..ce2d90e
--- a/api/src/com/cloud/vm/VirtualMachine.java
+++ b/api/src/com/cloud/vm/VirtualMachine.java
@@@ -161,7 -158,10 +161,9 @@@ public interface VirtualMachine extend
          }
      }
  
+     public static final String IsDynamicScalingEnabled = "enable.dynamic.scaling";
+ 
      public enum Event {
 -        CreateRequested,
          StartRequested,
          StopRequested,
          DestroyRequested,

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/com/cloud/vm/VirtualMachineProfile.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/BaseCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/ResponseGenerator.java
----------------------------------------------------------------------
diff --cc api/src/org/apache/cloudstack/api/ResponseGenerator.java
index 386b16c,d8d07cb..dca26fb
--- a/api/src/org/apache/cloudstack/api/ResponseGenerator.java
+++ b/api/src/org/apache/cloudstack/api/ResponseGenerator.java
@@@ -117,79 -188,11 +118,80 @@@ import org.apache.cloudstack.region.Por
  import org.apache.cloudstack.region.Region;
  import org.apache.cloudstack.usage.Usage;
  
 +import com.cloud.capacity.Capacity;
 +import com.cloud.configuration.ResourceCount;
 +import com.cloud.configuration.ResourceLimit;
 +import com.cloud.dc.DataCenter;
 +import com.cloud.dc.Pod;
 +import com.cloud.dc.StorageNetworkIpRange;
 +import com.cloud.dc.Vlan;
 +import com.cloud.domain.Domain;
 +import com.cloud.event.Event;
 +import com.cloud.host.Host;
 +import com.cloud.hypervisor.HypervisorCapabilities;
 +import com.cloud.network.GuestVlan;
 +import com.cloud.network.IpAddress;
 +import com.cloud.network.Network;
 +import com.cloud.network.Network.Service;
 +import com.cloud.network.Networks.IsolationType;
 +import com.cloud.network.PhysicalNetwork;
 +import com.cloud.network.PhysicalNetworkServiceProvider;
 +import com.cloud.network.PhysicalNetworkTrafficType;
 +import com.cloud.network.RemoteAccessVpn;
 +import com.cloud.network.Site2SiteCustomerGateway;
 +import com.cloud.network.Site2SiteVpnConnection;
 +import com.cloud.network.Site2SiteVpnGateway;
 +import com.cloud.network.VirtualRouterProvider;
 +import com.cloud.network.VpnUser;
 +import com.cloud.network.as.AutoScalePolicy;
 +import com.cloud.network.as.AutoScaleVmGroup;
 +import com.cloud.network.as.AutoScaleVmProfile;
 +import com.cloud.network.as.Condition;
 +import com.cloud.network.as.Counter;
 +import com.cloud.network.router.VirtualRouter;
 +import com.cloud.network.rules.FirewallRule;
 +import com.cloud.network.rules.HealthCheckPolicy;
 +import com.cloud.network.rules.LoadBalancer;
 +import com.cloud.network.rules.PortForwardingRule;
 +import com.cloud.network.rules.StaticNatRule;
 +import com.cloud.network.rules.StickinessPolicy;
 +import com.cloud.network.security.SecurityGroup;
 +import com.cloud.network.security.SecurityRule;
 +import com.cloud.network.vpc.NetworkACL;
 +import com.cloud.network.vpc.NetworkACLItem;
 +import com.cloud.network.vpc.PrivateGateway;
 +import com.cloud.network.vpc.StaticRoute;
 +import com.cloud.network.vpc.Vpc;
 +import com.cloud.network.vpc.VpcOffering;
 +import com.cloud.offering.DiskOffering;
 +import com.cloud.offering.NetworkOffering;
 +import com.cloud.offering.ServiceOffering;
 +import com.cloud.org.Cluster;
 +import com.cloud.projects.Project;
 +import com.cloud.projects.ProjectAccount;
 +import com.cloud.projects.ProjectInvitation;
 +import com.cloud.region.ha.GlobalLoadBalancerRule;
 +import com.cloud.server.ResourceTag;
 +import com.cloud.storage.GuestOS;
+ import com.cloud.storage.ImageStore;
 -import java.text.DecimalFormat;
 -import java.util.EnumSet;
 -import java.util.List;
 -import java.util.Map;
 +import com.cloud.storage.S3;
 +import com.cloud.storage.Snapshot;
 +import com.cloud.storage.StoragePool;
 +import com.cloud.storage.Swift;
 +import com.cloud.storage.Volume;
 +import com.cloud.storage.snapshot.SnapshotPolicy;
 +import com.cloud.storage.snapshot.SnapshotSchedule;
 +import com.cloud.template.VirtualMachineTemplate;
 +import com.cloud.user.Account;
 +import com.cloud.user.User;
 +import com.cloud.user.UserAccount;
 +import com.cloud.uservm.UserVm;
 +import com.cloud.utils.net.Ip;
 +import com.cloud.vm.InstanceGroup;
 +import com.cloud.vm.Nic;
 +import com.cloud.vm.NicSecondaryIp;
 +import com.cloud.vm.VirtualMachine;
 +import com.cloud.vm.snapshot.VMSnapshot;
  
  public interface ResponseGenerator {
      UserResponse createUserResponse(UserAccount user);
@@@ -293,8 -296,14 +295,10 @@@
  
      SecurityGroupResponse createSecurityGroupResponse(SecurityGroup group);
  
-     ExtractResponse createExtractResponse(Long uploadId, Long id, Long zoneId, Long accountId, String mode);
+     ExtractResponse createExtractResponse(Long uploadId, Long id, Long zoneId, Long accountId, String mode, String url);
+ 
+     ExtractResponse createExtractResponse(Long id, Long zoneId, Long accountId, String mode, String url);
  
 -    String toSerializedString(CreateCmdResponse response, String responseType);
 -
 -    AsyncJobResponse createAsyncJobResponse(AsyncJob job);
 -
      EventResponse createEventResponse(Event event);
  
      //List<EventResponse> createEventResponse(EventJoinVO... events);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/admin/host/AddSecondaryStorageCmd.java
----------------------------------------------------------------------
diff --cc api/src/org/apache/cloudstack/api/command/admin/host/AddSecondaryStorageCmd.java
index d876bae,14725d3..e29e794
--- a/api/src/org/apache/cloudstack/api/command/admin/host/AddSecondaryStorageCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/host/AddSecondaryStorageCmd.java
@@@ -16,24 -16,22 +16,23 @@@
  // under the License.
  package org.apache.cloudstack.api.command.admin.host;
  
- import java.util.List;
- 
 +import org.apache.log4j.Logger;
 +
  import org.apache.cloudstack.api.APICommand;
  import org.apache.cloudstack.api.ApiConstants;
  import org.apache.cloudstack.api.ApiErrorCode;
  import org.apache.cloudstack.api.BaseCmd;
  import org.apache.cloudstack.api.Parameter;
  import org.apache.cloudstack.api.ServerApiException;
- import org.apache.cloudstack.api.response.HostResponse;
+ import org.apache.cloudstack.api.command.admin.storage.AddImageStoreCmd;
+ import org.apache.cloudstack.api.response.ImageStoreResponse;
  import org.apache.cloudstack.api.response.ZoneResponse;
 -import org.apache.log4j.Logger;
  
  import com.cloud.exception.DiscoveryException;
- import com.cloud.host.Host;
+ import com.cloud.storage.ImageStore;
  import com.cloud.user.Account;
  
- @APICommand(name = "addSecondaryStorage", description="Adds secondary storage.", responseObject=HostResponse.class)
+ @APICommand(name = "addSecondaryStorage", description="Adds secondary storage.", responseObject=ImageStoreResponse.class)
  public class AddSecondaryStorageCmd extends BaseCmd {
      public static final Logger s_logger = Logger.getLogger(AddSecondaryStorageCmd.class.getName());
      private static final String s_name = "addsecondarystorageresponse";
@@@ -77,17 -78,19 +79,19 @@@
  
      @Override
      public void execute(){
-         try {
-             List<? extends Host> result = _resourceService.discoverHosts(this);
-             HostResponse hostResponse = null;
-             if (result != null && result.size() > 0) {
-                 for (Host host : result) {
-                     // There should only be one secondary storage host per add
-                     hostResponse = _responseGenerator.createHostResponse(host);
-                     hostResponse.setResponseName(getCommandName());
-                     hostResponse.setObjectName("secondarystorage");
-                     this.setResponseObject(hostResponse);
-                 }
+         AddImageStoreCmd cmd = new AddImageStoreCmd();
 -        cmd.setUrl(this.getUrl());
 -        cmd.setZoneId(this.getZoneId());
++        cmd.setUrl(getUrl());
++        cmd.setZoneId(getZoneId());
+         cmd.setProviderName("NFS");
+ 
+         try{
+             ImageStore result = _storageService.discoverImageStore(cmd);
+             ImageStoreResponse storeResponse = null;
+             if (result != null ) {
+                     storeResponse = _responseGenerator.createImageStoreResponse(result);
+                     storeResponse.setResponseName(getCommandName());
+                     storeResponse.setObjectName("secondarystorage");
 -                    this.setResponseObject(storeResponse);
++                    setResponseObject(storeResponse);
              } else {
                  throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to add secondary storage");
              }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/admin/host/FindHostsForMigrationCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/admin/host/ListHostsCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/admin/internallb/ListInternalLBVMsCmd.java
----------------------------------------------------------------------
diff --cc api/src/org/apache/cloudstack/api/command/admin/internallb/ListInternalLBVMsCmd.java
index fd1ad57,68370e8..106d561
--- a/api/src/org/apache/cloudstack/api/command/admin/internallb/ListInternalLBVMsCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/internallb/ListInternalLBVMsCmd.java
@@@ -76,10 -75,7 +76,7 @@@ public class ListInternalLBVMsCmd exten
  
      @Parameter(name=ApiConstants.FOR_VPC, type=CommandType.BOOLEAN, description="if true is passed for this parameter, list only VPC Internal LB VMs")
      private Boolean forVpc;
 -     
 +    
-     @Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
-     private String zoneType;
-     
  
      /////////////////////////////////////////////////////
      /////////////////// Accessors ///////////////////////
@@@ -124,10 -120,7 +121,7 @@@
      public String getRole() {
          return Role.INTERNAL_LB_VM.toString();
      }
 -  
 +    
-     public String getZoneType() {
-         return zoneType;
-     }
  
      /////////////////////////////////////////////////////
      /////////////// API Implementation///////////////////

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/admin/ldap/LDAPConfigCmd.java
----------------------------------------------------------------------
diff --cc api/src/org/apache/cloudstack/api/command/admin/ldap/LDAPConfigCmd.java
index 7f31800,38f58ec..d2163b8
--- a/api/src/org/apache/cloudstack/api/command/admin/ldap/LDAPConfigCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/ldap/LDAPConfigCmd.java
@@@ -17,16 -17,19 +17,20 @@@
  package org.apache.cloudstack.api.command.admin.ldap;
  
  
+ import java.util.ArrayList;
+ import java.util.List;
+ 
  import javax.naming.NamingException;
  
 +import org.apache.log4j.Logger;
 +
  import org.apache.cloudstack.api.APICommand;
  import org.apache.cloudstack.api.ApiConstants;
  import org.apache.cloudstack.api.BaseCmd;
  import org.apache.cloudstack.api.Parameter;
  import org.apache.cloudstack.api.ServerApiException;
  import org.apache.cloudstack.api.response.LDAPConfigResponse;
+ import org.apache.cloudstack.api.response.ListResponse;
 -import org.apache.log4j.Logger;
  
  import com.cloud.exception.ConcurrentOperationException;
  import com.cloud.exception.InsufficientCapacityException;
@@@ -91,7 -94,7 +95,7 @@@ public class LDAPConfigCmd extends Base
      }
  
      public void setBindDN(String bdn) {
--        this.bindDN=bdn;
++        bindDN=bdn;
      }
  
      public String getQueryFilter() {
@@@ -159,9 -162,16 +163,16 @@@
                if (getListAll()){
                    // return the existing conf
                    LDAPConfigCmd cmd = _configService.listLDAPConfig(this);
-                   LDAPConfigResponse lr = _responseGenerator.createLDAPConfigResponse(cmd.getHostname(), cmd.getPort(), cmd.getUseSSL(), cmd.getQueryFilter(), cmd.getSearchBase(), cmd.getBindDN());
-                   lr.setResponseName(getCommandName());
-                   this.setResponseObject(lr);
+                   ListResponse<LDAPConfigResponse> response = new ListResponse<LDAPConfigResponse>();
+                   List<LDAPConfigResponse> responses = new ArrayList<LDAPConfigResponse>();
+ 
+                   if(!cmd.getHostname().equals("")) {
+                   	responses.add(_responseGenerator.createLDAPConfigResponse(cmd.getHostname(), cmd.getPort(), cmd.getUseSSL(), cmd.getQueryFilter(), cmd.getSearchBase(), cmd.getBindDN()));
+                   }
+                   
+                   response.setResponses(responses);
+                   response.setResponseName(getCommandName());
 -                  this.setResponseObject(response);
++                  setResponseObject(response);
                }
                else if (getHostname()==null || getSearchBase() == null || getQueryFilter() == null) {
                    throw new InvalidParameterValueException("You need to provide hostname, searchbase and queryfilter to configure your LDAP server");
@@@ -171,7 -181,7 +182,7 @@@
                    if (result){
                        LDAPConfigResponse lr = _responseGenerator.createLDAPConfigResponse(getHostname(), getPort(), getUseSSL(), getQueryFilter(), getSearchBase(), getBindDN());
                        lr.setResponseName(getCommandName());
--                      this.setResponseObject(lr);
++                      setResponseObject(lr);
                    }
                }
            }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/admin/offering/CreateDiskOfferingCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/admin/offering/CreateServiceOfferingCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/admin/router/ListRoutersCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/admin/storage/ListStoragePoolsCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/admin/swift/AddSwiftCmd.java
----------------------------------------------------------------------
diff --cc api/src/org/apache/cloudstack/api/command/admin/swift/AddSwiftCmd.java
index 3d330a5,462b529..9f18a27
--- a/api/src/org/apache/cloudstack/api/command/admin/swift/AddSwiftCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/swift/AddSwiftCmd.java
@@@ -16,22 -16,24 +16,25 @@@
  // under the License.
  package org.apache.cloudstack.api.command.admin.swift;
  
+ import java.util.HashMap;
+ import java.util.Map;
+ 
 +import org.apache.log4j.Logger;
 +
  import org.apache.cloudstack.api.APICommand;
  import org.apache.cloudstack.api.ApiConstants;
  import org.apache.cloudstack.api.ApiErrorCode;
  import org.apache.cloudstack.api.BaseCmd;
  import org.apache.cloudstack.api.Parameter;
  import org.apache.cloudstack.api.ServerApiException;
- import org.apache.cloudstack.api.response.HostResponse;
- import org.apache.cloudstack.api.response.SwiftResponse;
+ import org.apache.cloudstack.api.command.admin.storage.AddImageStoreCmd;
+ import org.apache.cloudstack.api.response.ImageStoreResponse;
 -import org.apache.log4j.Logger;
  
  import com.cloud.exception.DiscoveryException;
- import com.cloud.storage.Swift;
+ import com.cloud.storage.ImageStore;
  import com.cloud.user.Account;
  
- @APICommand(name = "addSwift", description = "Adds Swift.", responseObject = HostResponse.class, since="3.0.0")
+ @APICommand(name = "addSwift", description = "Adds Swift.", responseObject = ImageStoreResponse.class, since="3.0.0")
  public class AddSwiftCmd extends BaseCmd {
      public static final Logger s_logger = Logger.getLogger(AddSwiftCmd.class.getName());
      private static final String s_name = "addswiftresponse";
@@@ -88,21 -90,29 +91,29 @@@
  
      @Override
      public void execute(){
-         try {
-             Swift result = _resourceService.discoverSwift(this);
-             SwiftResponse swiftResponse = null;
-             if (result != null) {
-                 swiftResponse = _responseGenerator.createSwiftResponse(result);
-                 swiftResponse.setResponseName(getCommandName());
-                 swiftResponse.setObjectName("swift");
-                 this.setResponseObject(swiftResponse);
+         AddImageStoreCmd cmd = new AddImageStoreCmd();
+         cmd.setProviderName("Swift");
 -        cmd.setUrl(this.getUrl());
++        cmd.setUrl(getUrl());
+         Map<String, String> details = new HashMap<String, String>();
 -        details.put(ApiConstants.ACCOUNT, this.getAccount());
 -        details.put(ApiConstants.USERNAME, this.getUsername());
 -        details.put(ApiConstants.KEY, this.getKey());
++        details.put(ApiConstants.ACCOUNT, getAccount());
++        details.put(ApiConstants.USERNAME, getUsername());
++        details.put(ApiConstants.KEY, getKey());
+ 
+ 
+         try{
+             ImageStore result = _storageService.discoverImageStore(cmd);
+             ImageStoreResponse storeResponse = null;
+             if (result != null ) {
+                     storeResponse = _responseGenerator.createImageStoreResponse(result);
+                     storeResponse.setResponseName(getCommandName());
+                     storeResponse.setObjectName("secondarystorage");
 -                    this.setResponseObject(storeResponse);
++                    setResponseObject(storeResponse);
              } else {
-                 throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to add Swift");
+                 throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to add secondary storage");
              }
          } catch (DiscoveryException ex) {
-             String errMsg = "Failed to add Swift due to " + ex.toString();
-             s_logger.warn(errMsg, ex);
-             throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, errMsg);
+             s_logger.warn("Exception: ", ex);
+             throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, ex.getMessage());
          }
      }
  }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/admin/swift/ListSwiftsCmd.java
----------------------------------------------------------------------
diff --cc api/src/org/apache/cloudstack/api/command/admin/swift/ListSwiftsCmd.java
index 9e923d0,b0408f4..448cfd4
--- a/api/src/org/apache/cloudstack/api/command/admin/swift/ListSwiftsCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/swift/ListSwiftsCmd.java
@@@ -16,24 -16,18 +16,19 @@@
  // under the License.
  package org.apache.cloudstack.api.command.admin.swift;
  
- import java.util.ArrayList;
- import java.util.List;
- 
 +import org.apache.log4j.Logger;
 +
  import org.apache.cloudstack.api.APICommand;
  import org.apache.cloudstack.api.ApiConstants;
  import org.apache.cloudstack.api.BaseListCmd;
  import org.apache.cloudstack.api.Parameter;
- import org.apache.cloudstack.api.response.HostResponse;
+ import org.apache.cloudstack.api.command.admin.storage.ListImageStoresCmd;
+ import org.apache.cloudstack.api.response.ImageStoreResponse;
  import org.apache.cloudstack.api.response.ListResponse;
- import org.apache.cloudstack.api.response.SwiftResponse;
 -import org.apache.log4j.Logger;
  
- import com.cloud.storage.Swift;
  import com.cloud.user.Account;
- import com.cloud.utils.Pair;
  
- @APICommand(name = "listSwifts", description = "List Swift.", responseObject = HostResponse.class, since="3.0.0")
+ @APICommand(name = "listSwifts", description = "List Swift.", responseObject = ImageStoreResponse.class, since="3.0.0")
  public class ListSwiftsCmd extends BaseListCmd {
      public static final Logger s_logger = Logger.getLogger(ListSwiftsCmd.class.getName());
      private static final String s_name = "listswiftsresponse";
@@@ -66,20 -60,11 +61,11 @@@
  
      @Override
      public void execute(){
-         Pair<List<? extends Swift>, Integer> result = _resourceService.listSwifts(this);
-         ListResponse<SwiftResponse> response = new ListResponse<SwiftResponse>();
-         List<SwiftResponse> swiftResponses = new ArrayList<SwiftResponse>();
  
-         if (result != null) {
-             for (Swift swift : result.first()) {
-                 SwiftResponse swiftResponse = _responseGenerator.createSwiftResponse(swift);
-                 swiftResponse.setResponseName(getCommandName());
-                 swiftResponse.setObjectName("swift");
-                 swiftResponses.add(swiftResponse);
-             }
-         }
-         response.setResponses(swiftResponses, result.second());
+         ListImageStoresCmd cmd = new ListImageStoresCmd();
+         cmd.setProvider("Swift");
+         ListResponse<ImageStoreResponse> response = _queryService.searchForImageStores(cmd);
          response.setResponseName(getCommandName());
--        this.setResponseObject(response);
++        setResponseObject(response);
      }
  }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/admin/template/PrepareTemplateCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/iso/ExtractIsoCmd.java
----------------------------------------------------------------------
diff --cc api/src/org/apache/cloudstack/api/command/user/iso/ExtractIsoCmd.java
index 5dfa41c,dd0fc36..4d51e63
--- a/api/src/org/apache/cloudstack/api/command/user/iso/ExtractIsoCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/iso/ExtractIsoCmd.java
@@@ -112,10 -112,10 +112,12 @@@ public class ExtractIsoCmd extends Base
          return s_name;
      }
  
 -    public AsyncJob.Type getInstanceType() {
 -        return AsyncJob.Type.Iso;
++    @Override
 +    public ApiCommandJobType getInstanceType() {
 +        return ApiCommandJobType.Iso;
      }
  
++    @Override
      public Long getInstanceId() {
          return getId();
      }
@@@ -123,13 -123,13 +125,13 @@@
      @Override
      public void execute(){
          try {
 -            UserContext.current().setEventDetails(getEventDescription());
 +            CallContext.current().setEventDetails(getEventDescription());
-             Long uploadId = _templateService.extract(this);
-             if (uploadId != null){
-                 ExtractResponse response = _responseGenerator.createExtractResponse(uploadId, id, zoneId, getEntityOwnerId(), mode);
+             String uploadUrl = _templateService.extract(this);
+             if (uploadUrl != null) {
+                 ExtractResponse response = _responseGenerator.createExtractResponse(id, zoneId, getEntityOwnerId(), mode, uploadUrl);
                  response.setResponseName(getCommandName());
                  response.setObjectName("iso");
--                this.setResponseObject(response);
++                setResponseObject(response);
              } else {
                  throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to extract iso");
              }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/iso/ListIsosCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/iso/RegisterIsoCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/iso/UpdateIsoCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/securitygroup/RevokeSecurityGroupEgressCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/securitygroup/RevokeSecurityGroupIngressCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotCmd.java
----------------------------------------------------------------------
diff --cc api/src/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotCmd.java
index 4b5a26a,73a7fc4..b1b9e0c
--- a/api/src/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotCmd.java
@@@ -65,7 -64,7 +65,7 @@@ public class CreateSnapshotCmd extends 
              description = "policy id of the snapshot, if this is null, then use MANUAL_POLICY.")
      private Long policyId;
  
--    private String syncObjectType = BaseAsyncCmd.snapshotHostSyncObject;
++    private final String syncObjectType = BaseAsyncCmd.snapshotHostSyncObject;
  
      // ///////////////////////////////////////////////////
      // ///////////////// Accessors ///////////////////////
@@@ -153,10 -152,10 +153,10 @@@
  
      @Override
      public void create() throws ResourceAllocationException {
-         Snapshot snapshot = _snapshotService.allocSnapshot(getVolumeId(), getPolicyId());
 -        Snapshot snapshot = this._volumeService.allocSnapshot(getVolumeId(), getPolicyId());
++        Snapshot snapshot = _volumeService.allocSnapshot(getVolumeId(), getPolicyId());
          if (snapshot != null) {
--            this.setEntityId(snapshot.getId());
--            this.setEntityUuid(snapshot.getUuid());
++            setEntityId(snapshot.getId());
++            setEntityUuid(snapshot.getUuid());
          } else {
              throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to create snapshot");
          }
@@@ -165,16 -164,20 +165,20 @@@
      @Override
      public void execute() {
          s_logger.info("VOLSS: createSnapshotCmd starts:" + System.currentTimeMillis());
 -        UserContext.current().setEventDetails("Volume Id: "+getVolumeId());
 +        CallContext.current().setEventDetails("Volume Id: "+getVolumeId());
-         Snapshot snapshot = _snapshotService.createSnapshot(getVolumeId(), getPolicyId(), getEntityId(), _accountService.getAccount(getEntityOwnerId()));
-         if (snapshot != null) {
-             SnapshotResponse response = _responseGenerator.createSnapshotResponse(snapshot);
-             response.setResponseName(getCommandName());
-             this.setResponseObject(response);
-         } else {
+         Snapshot snapshot;
+         try {
 -            snapshot = _volumeService.takeSnapshot(this.getVolumeId(), this.getPolicyId(), this.getEntityId(), _accountService.getAccount(getEntityOwnerId()));
++            snapshot = _volumeService.takeSnapshot(getVolumeId(), getPolicyId(), getEntityId(), _accountService.getAccount(getEntityOwnerId()));
+             if (snapshot != null) {
+                 SnapshotResponse response = _responseGenerator.createSnapshotResponse(snapshot);
+                 response.setResponseName(getCommandName());
 -                this.setResponseObject(response);
++                setResponseObject(response);
+             } else {
+                 throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to create snapshot due to an internal error creating snapshot for volume " + volumeId);
+             }
+         } catch (Exception e) {
              throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to create snapshot due to an internal error creating snapshot for volume " + volumeId);
          }
-         s_logger.info("VOLSS:  backupSnapshotCmd finishes:" + System.currentTimeMillis());
      }
  
  

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/template/CopyTemplateCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java
----------------------------------------------------------------------
diff --cc api/src/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java
index 15cc053,f2dc595..fbaacdc
--- a/api/src/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java
@@@ -113,10 -114,10 +113,12 @@@ public class ExtractTemplateCmd extend
          return  "extracting template: " + getId() + " from zone: " + getZoneId();
      }
  
 -    public AsyncJob.Type getInstanceType() {
 -        return AsyncJob.Type.Template;
++    @Override
 +    public ApiCommandJobType getInstanceType() {
 +        return ApiCommandJobType.Template;
      }
  
++    @Override
      public Long getInstanceId() {
          return getId();
      }
@@@ -124,12 -125,12 +126,12 @@@
      @Override
      public void execute(){
          try {
 -            UserContext.current().setEventDetails(getEventDescription());
 +            CallContext.current().setEventDetails(getEventDescription());
-             Long uploadId = _templateService.extract(this);
-             if (uploadId != null){
-                 ExtractResponse response = _responseGenerator.createExtractResponse(uploadId, id, zoneId, getEntityOwnerId(), mode);
+             String uploadUrl = _templateService.extract(this);
+             if (uploadUrl != null) {
+                 ExtractResponse response = _responseGenerator.createExtractResponse(id, zoneId, getEntityOwnerId(), mode, uploadUrl);
                  response.setResponseName(getCommandName());
--                this.setResponseObject(response);
++                setResponseObject(response);
              } else {
                  throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to extract template");
              }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/template/ListTemplatesCmd.java
----------------------------------------------------------------------
diff --cc api/src/org/apache/cloudstack/api/command/user/template/ListTemplatesCmd.java
index b764b6d,0b937be..264b9d5
--- a/api/src/org/apache/cloudstack/api/command/user/template/ListTemplatesCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/template/ListTemplatesCmd.java
@@@ -29,11 -26,14 +29,12 @@@ import org.apache.cloudstack.api.BaseLi
  import org.apache.cloudstack.api.Parameter;
  import org.apache.cloudstack.api.response.ListResponse;
  import org.apache.cloudstack.api.response.TemplateResponse;
+ import org.apache.cloudstack.api.response.VolumeResponse;
  import org.apache.cloudstack.api.response.ZoneResponse;
 -import org.apache.log4j.Logger;
 +import org.apache.cloudstack.context.CallContext;
  
 -import com.cloud.async.AsyncJob;
  import com.cloud.template.VirtualMachineTemplate.TemplateFilter;
  import com.cloud.user.Account;
 -import com.cloud.user.UserContext;
  import com.cloud.utils.Pair;
  
  @APICommand(name = "listTemplates", description="List all public, private, and privileged templates.", responseObject=TemplateResponse.class)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java
----------------------------------------------------------------------
diff --cc api/src/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java
index 9905bb1,6a8e555..698b0c4
--- a/api/src/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java
@@@ -111,11 -110,7 +111,7 @@@ public class RegisterTemplateCmd extend
      @Parameter(name=ApiConstants.PROJECT_ID, type=CommandType.UUID, entityType = ProjectResponse.class,
              description="Register template for the project")
      private Long projectId;
 -
 +    
-     @Parameter(name=ApiConstants.IMAGE_STORE_UUID, type=CommandType.STRING,
-             description="Image store uuid")
-     private String imageStoreUuid;
-     
      @Parameter(name=ApiConstants.DETAILS, type=CommandType.MAP, description="Template details in key/value pairs.")
      protected Map details;
  
@@@ -194,10 -192,7 +193,7 @@@
      public String getTemplateTag() {
          return templateTag;
      }
 -
 +    
-     public String getImageStoreUuid() {
-         return this.imageStoreUuid;
-     }
  
      public Map getDetails() {
          if (details == null || details.isEmpty()) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/template/UpdateTemplateCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b7db056/api/src/org/apache/cloudstack/api/command/user/volume/CreateVolumeCmd.java
----------------------------------------------------------------------