diff --git a/engine/api/src/org/apache/cloudstack/engine/cloud/entity/api/VolumeEntity.java b/engine/api/src/org/apache/cloudstack/engine/cloud/entity/api/VolumeEntity.java index e30fdc8e05e..61736bc535a 100755 --- a/engine/api/src/org/apache/cloudstack/engine/cloud/entity/api/VolumeEntity.java +++ b/engine/api/src/org/apache/cloudstack/engine/cloud/entity/api/VolumeEntity.java @@ -22,7 +22,6 @@ import org.apache.cloudstack.engine.datacenter.entity.api.StorageEntity; import org.apache.cloudstack.engine.entity.api.CloudStackEntity; import org.apache.cloudstack.engine.subsystem.api.storage.disktype.VolumeDiskType; import org.apache.cloudstack.engine.subsystem.api.storage.type.VolumeType; -import org.apache.cloudstack.storage.datastore.PrimaryDataStore; public interface VolumeEntity extends CloudStackEntity { diff --git a/engine/storage/src/org/apache/cloudstack/storage/StorageOrchestratorImpl.java b/engine/storage/src/org/apache/cloudstack/storage/StorageOrchestratorImpl.java index 356190f0345..8d3c920b94f 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/StorageOrchestratorImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/StorageOrchestratorImpl.java @@ -348,7 +348,7 @@ public class StorageOrchestratorImpl implements StorageOrchestrator { PrimaryDataStore pd = primaryStorageMgr.getPrimaryDataStore(dataStoreId); boolean existsOnPrimaryStorage = pd.templateExists(template.getId()); if (!existsOnPrimaryStorage) { - pd.installTemplate(template); + //pd.installTemplate(template); } return false; } diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStoreImpl.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStoreImpl.java index a87b1959b45..0ca35651314 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStoreImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStoreImpl.java @@ -14,7 +14,7 @@ import org.apache.cloudstack.engine.subsystem.api.storage.disktype.VolumeDiskTyp import org.apache.cloudstack.storage.HypervisorHostEndPoint; import org.apache.cloudstack.storage.datastore.db.DataStoreVO; import org.apache.cloudstack.storage.datastore.driver.PrimaryDataStoreDriver; -import org.apache.cloudstack.storage.image.TemplateInfo; +import org.apache.cloudstack.storage.image.TemplateObject; import org.apache.cloudstack.storage.volume.VolumeEntityImpl; import org.apache.cloudstack.storage.volume.VolumeEvent; @@ -143,7 +143,7 @@ public class DefaultPrimaryDataStoreImpl implements PrimaryDataStore { } @Override - public boolean createTemplate(TemplateObject template) { + public boolean installTemplate(TemplateObject template) { // TODO Auto-generated method stub return false; } diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/manager/DefaultPrimaryDataStoreManagerImpl.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/manager/DefaultPrimaryDataStoreManagerImpl.java index 22011e40514..4949b2faf67 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/datastore/manager/DefaultPrimaryDataStoreManagerImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/manager/DefaultPrimaryDataStoreManagerImpl.java @@ -20,12 +20,12 @@ package org.apache.cloudstack.storage.datastore.manager; import javax.inject.Inject; -import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreProvider; import org.apache.cloudstack.storage.datastore.PrimaryDataStore; import org.apache.cloudstack.storage.datastore.db.DataStoreVO; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreProviderDao; import org.apache.cloudstack.storage.datastore.lifecycle.PrimaryDataStoreLifeCycle; +import org.apache.cloudstack.storage.datastore.provider.PrimaryDataStoreProvider; import org.apache.cloudstack.storage.datastore.provider.PrimaryDataStoreProviderManager; import org.springframework.stereotype.Component; diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DefaultPrimaryDatastoreProviderImpl.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DefaultPrimaryDatastoreProviderImpl.java index af10693f297..0d46c13876f 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DefaultPrimaryDatastoreProviderImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DefaultPrimaryDatastoreProviderImpl.java @@ -3,7 +3,6 @@ package org.apache.cloudstack.storage.datastore.provider; import javax.inject.Inject; import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreInfo; -import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreProvider; import org.apache.cloudstack.storage.datastore.DefaultPrimaryDataStoreImpl; import org.apache.cloudstack.storage.datastore.PrimaryDataStore; import org.apache.cloudstack.storage.datastore.db.DataStoreVO; diff --git a/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/PrimaryDataStoreProvider.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProvider.java similarity index 62% rename from engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/PrimaryDataStoreProvider.java rename to engine/storage/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProvider.java index e8fd0593847..7b076373193 100644 --- a/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/PrimaryDataStoreProvider.java +++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProvider.java @@ -1,8 +1,10 @@ -package org.apache.cloudstack.engine.subsystem.api.storage; +package org.apache.cloudstack.storage.datastore.provider; +import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreInfo; import org.apache.cloudstack.storage.datastore.PrimaryDataStore; + public interface PrimaryDataStoreProvider { public PrimaryDataStore getDataStore(long dataStoreId); public PrimaryDataStoreInfo getDataStoreInfo(long dataStoreId); diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProviderManager.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProviderManager.java index 03b67b1d169..28f92509bc7 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProviderManager.java +++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProviderManager.java @@ -1,6 +1,5 @@ package org.apache.cloudstack.storage.datastore.provider; -import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreProvider; public interface PrimaryDataStoreProviderManager { public PrimaryDataStoreProvider getDataStoreProvider(Long providerId); diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProviderManagerImpl.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProviderManagerImpl.java index 63723a486ff..08755530c11 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProviderManagerImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProviderManagerImpl.java @@ -18,7 +18,6 @@ */ package org.apache.cloudstack.storage.datastore.provider; -import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreProvider; import org.springframework.stereotype.Component; @Component diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/driver/ImageDataStoreDriver.java b/engine/storage/src/org/apache/cloudstack/storage/image/driver/ImageDataStoreDriver.java index 1a45bd9048c..07f45154eb4 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/image/driver/ImageDataStoreDriver.java +++ b/engine/storage/src/org/apache/cloudstack/storage/image/driver/ImageDataStoreDriver.java @@ -18,11 +18,11 @@ */ package org.apache.cloudstack.storage.image.driver; -import org.apache.cloudstack.storage.image.Template; +import org.apache.cloudstack.storage.image.TemplateInfo; public interface ImageDataStoreDriver { - boolean registerTemplate(Template template); + boolean registerTemplate(TemplateInfo template); String grantAccess(long templateId, long endPointId); boolean revokeAccess(long templateId, long endPointId); - boolean deleteTemplate(Template template); + boolean deleteTemplate(TemplateInfo template); } diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/driver/ImageDataStoreDriverImpl.java b/engine/storage/src/org/apache/cloudstack/storage/image/driver/ImageDataStoreDriverImpl.java index 390148a9226..714bee19eae 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/image/driver/ImageDataStoreDriverImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/image/driver/ImageDataStoreDriverImpl.java @@ -18,14 +18,14 @@ */ package org.apache.cloudstack.storage.image.driver; -import org.apache.cloudstack.storage.image.Template; +import org.apache.cloudstack.storage.image.TemplateInfo; public class ImageDataStoreDriverImpl implements ImageDataStoreDriver { public ImageDataStoreDriverImpl() { } @Override - public boolean registerTemplate(Template template) { + public boolean registerTemplate(TemplateInfo template) { //TODO: check the availability of template return true; } @@ -43,7 +43,7 @@ public class ImageDataStoreDriverImpl implements ImageDataStoreDriver { } @Override - public boolean deleteTemplate(Template template) { + public boolean deleteTemplate(TemplateInfo template) { // TODO Auto-generated method stub return false; } diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/motion/DefaultImageMotionProvider.java b/engine/storage/src/org/apache/cloudstack/storage/image/motion/DefaultImageMotionProvider.java index f645233441a..3fddd74ec2a 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/image/motion/DefaultImageMotionProvider.java +++ b/engine/storage/src/org/apache/cloudstack/storage/image/motion/DefaultImageMotionProvider.java @@ -18,6 +18,15 @@ */ package org.apache.cloudstack.storage.image.motion; +import org.apache.cloudstack.engine.cloud.entity.api.TemplateEntity; +import org.apache.cloudstack.storage.datastore.PrimaryDataStore; + public class DefaultImageMotionProvider implements ImageMotionProvider { + @Override + public boolean canHandle(TemplateEntity template, PrimaryDataStore dataStoe) { + // TODO Auto-generated method stub + return false; + } + } diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/motion/ImageMotionServiceImpl.java b/engine/storage/src/org/apache/cloudstack/storage/image/motion/ImageMotionServiceImpl.java index e5b7b255fe6..1b4db5827be 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/image/motion/ImageMotionServiceImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/image/motion/ImageMotionServiceImpl.java @@ -30,7 +30,7 @@ public class ImageMotionServiceImpl implements ImageMotionService { } @Override - public boolean copyTemplate(TemplateEntity template, PrimaryDataStore dataStore) { + public boolean copyTemplate(TemplateEntity template, PrimaryDataStoreInfo dataStore) { // TODO Auto-generated method stub return false; } diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/provider/ImageDataStoreProviderManagerImpl.java b/engine/storage/src/org/apache/cloudstack/storage/image/provider/ImageDataStoreProviderManagerImpl.java index f7206674e8d..62ef8e1bcd9 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/image/provider/ImageDataStoreProviderManagerImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/image/provider/ImageDataStoreProviderManagerImpl.java @@ -22,6 +22,7 @@ import java.util.List; import javax.inject.Inject; +import org.apache.cloudstack.storage.image.TemplateObject; import org.apache.cloudstack.storage.image.db.ImageDataDao; import org.apache.cloudstack.storage.image.db.ImageDataStoreDao; import org.apache.cloudstack.storage.image.db.ImageDataStoreProviderDao; @@ -70,4 +71,10 @@ public class ImageDataStoreProviderManagerImpl implements ImageDataStoreProvider ImageDataVO iddv = imageDataDao.findById(templateId); return getDataStore(iddv.getId()); } + + @Override + public TemplateObject getTemplate(long templateId) { + // TODO Auto-generated method stub + return null; + } } diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/store/ImageDataStoreImpl.java b/engine/storage/src/org/apache/cloudstack/storage/image/store/ImageDataStoreImpl.java index 8ab4f820ecb..dbe37d585d7 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/image/store/ImageDataStoreImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/image/store/ImageDataStoreImpl.java @@ -20,7 +20,7 @@ package org.apache.cloudstack.storage.image.store; import javax.inject.Inject; -import org.apache.cloudstack.storage.image.Template; +import org.apache.cloudstack.storage.image.TemplateInfo; import org.apache.cloudstack.storage.image.db.ImageDataDao; import org.apache.cloudstack.storage.image.db.ImageDataStoreDao; import org.apache.cloudstack.storage.image.db.ImageDataStoreVO; @@ -43,18 +43,18 @@ public class ImageDataStoreImpl implements ImageDataStore { this.downloader = downloader; this.imageDataStoreVO = dataStoreVO; } - + /* @Override - public Template registerTemplate(long templateId) { + public TemplateInfo registerTemplate(long templateId) { ImageDataVO idv = imageDao.findById(templateId); - Template template = new Template(this, idv); + TemplateInfo template = new TemplateInfo(this, idv); if (driver.registerTemplate(template)) { template.setImageDataStoreId(imageDataStoreVO.getId()); return template; } else { return null; } - } + }*/ @Override public String grantAccess(long templateId, long endPointId) { @@ -85,4 +85,16 @@ public class ImageDataStoreImpl implements ImageDataStore { return this.downloader; } + @Override + public long getImageDataStoreId() { + // TODO Auto-generated method stub + return 0; + } + + @Override + public TemplateInfo registerTemplate(long templateId) { + // TODO Auto-generated method stub + return null; + } + } diff --git a/engine/storage/test/org/apache/cloudstack/storage/test/volumeServiceTest.java b/engine/storage/test/org/apache/cloudstack/storage/test/volumeServiceTest.java index cf7f7128286..ebd41ed0e49 100644 --- a/engine/storage/test/org/apache/cloudstack/storage/test/volumeServiceTest.java +++ b/engine/storage/test/org/apache/cloudstack/storage/test/volumeServiceTest.java @@ -27,7 +27,6 @@ import java.util.concurrent.Executors; import javax.inject.Inject; -import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreProvider; import org.apache.cloudstack.engine.subsystem.api.storage.disktype.QCOW2; import org.apache.cloudstack.engine.subsystem.api.storage.disktype.VHD; import org.apache.cloudstack.engine.subsystem.api.storage.disktype.VMDK; @@ -36,6 +35,7 @@ import org.apache.cloudstack.engine.subsystem.api.storage.disktype.VolumeDiskTyp import org.apache.cloudstack.engine.subsystem.api.storage.type.VolumeTypeHelper; import org.apache.cloudstack.storage.datastore.DefaultPrimaryDataStoreImpl; import org.apache.cloudstack.storage.datastore.provider.DefaultPrimaryDatastoreProviderImpl; +import org.apache.cloudstack.storage.datastore.provider.PrimaryDataStoreProvider; import org.apache.cloudstack.storage.image.format.ISO; import org.apache.cloudstack.storage.image.format.ImageFormat; import org.apache.cloudstack.storage.image.format.ImageFormatHelper;