merge from latest pull
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/395de6f2 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/395de6f2 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/395de6f2 Branch: refs/heads/javelin Commit: 395de6f2b30e7d55d6a6091f28bb6b8b4ede2497 Parents: f40e7b7 a03d83b Author: Alex Huang <[email protected]> Authored: Thu Jan 10 11:07:11 2013 -0800 Committer: Alex Huang <[email protected]> Committed: Thu Jan 10 11:07:11 2013 -0800 ---------------------------------------------------------------------- client/tomcatconf/applicationContext.xml.in | 3 - .../cloudstack/storage/image/TemplateObject.java | 2 +- .../storage/image/driver/ImageDataStoreDriver.java | 4 +- .../image/driver/ImageDataStoreDriverImpl.java | 7 +- .../storage/image/store/ImageDataStore.java | 6 +- .../storage/image/store/ImageDataStoreImpl.java | 61 +++++++-- .../image/motion/DefaultImageMotionStrategy.java | 31 ++--- .../image/motion/ImageMotionServiceImpl.java | 36 +---- .../storage/image/motion/ImageMotionStrategy.java | 12 +- .../apache/cloudstack/storage/command/CopyCmd.java | 30 ++++ .../command/CopyTemplateToPrimaryStorageCmd.java | 30 ---- .../command/CreateVolumeFromBaseImageCommand.java | 4 +- .../cloudstack/storage/datastore/DataStore.java | 17 +++ .../datastore/ObjectInDataStoreManager.java | 17 +++ .../datastore/ObjectInDataStoreManagerImpl.java | 65 +++++++++ .../storage/datastore/PrimaryDataStore.java | 4 +- .../storage/datastore/TemplateInDataStore.java | 42 ++++++ .../storage/db/ObjectInDataStoreDao.java | 9 ++ .../storage/db/ObjectInDataStoreDaoImpl.java | 20 +++ .../cloudstack/storage/db/ObjectInDataStoreVO.java | 108 +++++++++++++++ .../storage/image/TemplateEntityImpl.java | 2 +- .../cloudstack/storage/image/TemplateInfo.java | 4 +- .../storage/image/motion/ImageMotionService.java | 6 +- .../storage/image/store/ImageDataStoreInfo.java | 4 +- .../apache/cloudstack/storage/to/TemplateTO.java | 3 +- .../volume/ObjectInDataStoreStateMachine.java | 48 +++++++ .../TemplateOnPrimaryDataStoreStateMachine.java | 48 ------- .../volume/db/TemplatePrimaryDataStoreDao.java | 4 +- .../volume/db/TemplatePrimaryDataStoreDaoImpl.java | 8 +- .../volume/db/TemplatePrimaryDataStoreVO.java | 10 +- .../storage/datastore/DefaultPrimaryDataStore.java | 49 ++++++- .../driver/DefaultPrimaryDataStoreDriverImpl.java | 7 +- .../datastore/driver/PrimaryDataStoreDriver.java | 2 +- .../volume/TemplateOnPrimaryDataStoreObject.java | 6 +- .../volume/TemplatePrimaryDataStoreManager.java | 4 +- .../TemplatePrimaryDataStoreManagerImpl.java | 22 ++-- .../storage/volume/VolumeServiceImpl.java | 33 +++-- .../xen/resource/XenServerStorageResource.java | 10 +- .../network/dao/NiciraNvpRouterMappingDaoImpl.java | 3 + .../network/guru/NiciraNvpGuestNetworkGuru.java | 2 + server/src/com/cloud/acl/DomainChecker.java | 1 + .../cloud/api/query/dao/AccountJoinDaoImpl.java | 4 +- .../cloud/api/query/dao/AsyncJobJoinDaoImpl.java | 4 +- .../api/query/dao/DomainRouterJoinDaoImpl.java | 4 +- .../com/cloud/api/query/dao/HostJoinDaoImpl.java | 4 +- .../api/query/dao/InstanceGroupJoinDaoImpl.java | 2 + .../api/query/dao/ProjectAccountJoinDaoImpl.java | 2 + .../query/dao/ProjectInvitationJoinDaoImpl.java | 2 + .../cloud/api/query/dao/ProjectJoinDaoImpl.java | 3 + .../api/query/dao/ResourceTagJoinDaoImpl.java | 4 +- .../api/query/dao/SecurityGroupJoinDaoImpl.java | 3 + .../api/query/dao/StoragePoolJoinDaoImpl.java | 2 + .../api/query/dao/UserAccountJoinDaoImpl.java | 2 + .../com/cloud/api/query/dao/UserVmJoinDaoImpl.java | 4 +- .../com/cloud/api/query/dao/VolumeJoinDaoImpl.java | 2 + .../src/com/cloud/async/SyncQueueManagerImpl.java | 2 +- .../cloud/ha/HighAvailabilityManagerExtImpl.java | 2 - .../com/cloud/ha/HighAvailabilityManagerImpl.java | 3 - .../src/com/cloud/network/NetworkManagerImpl.java | 3 +- .../com/cloud/network/as/AutoScaleManagerImpl.java | 3 + .../as/dao/AutoScalePolicyConditionMapDaoImpl.java | 5 +- .../network/as/dao/AutoScalePolicyDaoImpl.java | 5 +- .../network/as/dao/AutoScaleVmGroupDaoImpl.java | 5 +- .../as/dao/AutoScaleVmGroupPolicyMapDaoImpl.java | 5 +- .../network/as/dao/AutoScaleVmProfileDaoImpl.java | 5 +- .../com/cloud/network/as/dao/ConditionDaoImpl.java | 3 + .../com/cloud/network/as/dao/CounterDaoImpl.java | 3 + .../src/com/cloud/network/dao/NetworkDaoImpl.java | 13 +- .../com/cloud/server/ManagementServerExtImpl.java | 6 +- .../src/com/cloud/server/ManagementServerImpl.java | 51 +++---- server/src/com/cloud/storage/dao/S3DaoImpl.java | 3 + .../com/cloud/storage/dao/VMTemplateS3DaoImpl.java | 4 + server/src/com/cloud/storage/s3/S3ManagerImpl.java | 3 + .../secondary/SecondaryStorageManagerImpl.java | 13 +- server/src/com/cloud/vm/UserVmManagerImpl.java | 2 + .../cloud/utils/component/ComponentContext.java | 26 +++- 76 files changed, 697 insertions(+), 294 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/395de6f2/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java ---------------------------------------------------------------------- diff --cc engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java index ddcb365,7cca8bc..a4bcdf3 --- a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java +++ b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java @@@ -217,15 -220,15 +218,15 @@@ public class DefaultPrimaryDataStore im //this.driver.createVolumeFromBaseImage(vo, template); return volume; } - + @Override - public void createVoluemFromBaseImageAsync(VolumeInfo volume, TemplateOnPrimaryDataStoreInfo templateStore, AsyncCompletionCallback<CommandResult> callback) { + public void createVoluemFromBaseImageAsync(VolumeInfo volume, TemplateInfo templateStore, AsyncCompletionCallback<CommandResult> callback) { VolumeObject vo = (VolumeObject) volume; - vo.setVolumeDiskType(templateStore.getTemplate().getDiskType()); - - this.driver.createVolumeFromBaseImageAsync(vo, templateStore, callback); + vo.setVolumeDiskType(templateStore.getDiskType()); + String templateUri = templateStore.getDataStore().grantAccess(templateStore, this.getEndPoints().get(0)); + this.driver.createVolumeFromBaseImageAsync(vo, templateUri, callback); } - + @Override public boolean installTemplate(TemplateOnPrimaryDataStoreInfo template) { // TODO Auto-generated method stub @@@ -262,5 -265,46 +263,45 @@@ return this.provider; } + @Override + public String grantAccess(VolumeInfo volume, EndPoint ep) { + return this.driver.grantAccess((VolumeObject)volume, ep); + } + + @Override + public boolean revokeAccess(VolumeInfo volume, EndPoint ep) { + // TODO Auto-generated method stub + return false; + } + + @Override + public String grantAccess(TemplateInfo template, EndPoint ep) { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean revokeAccess(TemplateInfo template, EndPoint ep) { + // TODO Auto-generated method stub + return false; + } + + @Override + public String grantAccess(SnapshotInfo snapshot, EndPoint ep) { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean revokeAccess(SnapshotInfo snapshot, EndPoint ep) { + // TODO Auto-generated method stub + return false; + } + + @Override + public String getRole() { + // TODO Auto-generated method stub + return "volumeStore"; + } - } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/395de6f2/server/src/com/cloud/network/NetworkManagerImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/395de6f2/utils/src/com/cloud/utils/component/ComponentContext.java ----------------------------------------------------------------------
