Updated Branches:
  refs/heads/object_store abf40435f -> f3ee8fbd7

clean up createasync


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

Branch: refs/heads/object_store
Commit: f3ee8fbd7df7da443a7e0c68f3870b1213fb9c0a
Parents: abf4043
Author: Edison Su <[email protected]>
Authored: Sun Apr 21 23:15:50 2013 -0700
Committer: Edison Su <[email protected]>
Committed: Sun Apr 21 23:15:50 2013 -0700

----------------------------------------------------------------------
 .../CloudStackPrimaryDataStoreDriverImpl.java      |  113 ++-------------
 1 files changed, 16 insertions(+), 97 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f3ee8fbd/plugins/storage/volume/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackPrimaryDataStoreDriverImpl.java
----------------------------------------------------------------------
diff --git 
a/plugins/storage/volume/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackPrimaryDataStoreDriverImpl.java
 
b/plugins/storage/volume/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackPrimaryDataStoreDriverImpl.java
index 2a9217d..ea4c561 100644
--- 
a/plugins/storage/volume/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackPrimaryDataStoreDriverImpl.java
+++ 
b/plugins/storage/volume/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackPrimaryDataStoreDriverImpl.java
@@ -49,18 +49,12 @@ import com.cloud.agent.api.storage.ResizeVolumeCommand;
 import com.cloud.agent.api.to.DataStoreTO;
 import com.cloud.agent.api.to.StorageFilerTO;
 import com.cloud.exception.StorageUnavailableException;
-import com.cloud.host.HostVO;
 import com.cloud.host.dao.HostDao;
 import com.cloud.storage.DiskOfferingVO;
 import com.cloud.storage.ResizeVolumePayload;
-import com.cloud.storage.Storage;
-import com.cloud.storage.Storage.StoragePoolType;
 import com.cloud.storage.SnapshotVO;
 import com.cloud.storage.StorageManager;
 import com.cloud.storage.StoragePool;
-import com.cloud.storage.VMTemplateHostVO;
-import com.cloud.storage.VMTemplateStoragePoolVO;
-import com.cloud.storage.VMTemplateVO;
 import com.cloud.storage.VolumeManager;
 import com.cloud.storage.VolumeVO;
 import com.cloud.storage.dao.DiskOfferingDao;
@@ -68,8 +62,6 @@ import com.cloud.storage.dao.SnapshotDao;
 import com.cloud.storage.dao.VMTemplateDao;
 import com.cloud.storage.dao.VolumeDao;
 import com.cloud.storage.snapshot.SnapshotManager;
-import com.cloud.template.TemplateManager;
-import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.vm.DiskProfile;
 import com.cloud.vm.dao.VMInstanceDao;
 
@@ -79,7 +71,6 @@ public class CloudStackPrimaryDataStoreDriverImpl implements 
PrimaryDataStoreDri
        @Inject DiskOfferingDao diskOfferingDao;
        @Inject VMTemplateDao templateDao;
        @Inject VolumeDao volumeDao;
-       @Inject TemplateManager templateMgr;
        @Inject HostDao hostDao;
        @Inject StorageManager storageMgr;
        @Inject VolumeManager volumeMgr;
@@ -127,11 +118,6 @@ public class CloudStackPrimaryDataStoreDriverImpl 
implements PrimaryDataStoreDri
                DiskProfile diskProfile = new DiskProfile(volume, offering,
                                null);
 
-               VMTemplateVO template = null;
-               if (volume.getTemplateId() != null) {
-                       template = templateDao.findById(volume.getTemplateId());
-               }
-
                StoragePool pool = (StoragePool)volume.getDataStore();
                VolumeVO vol = volumeDao.findById(volume.getId());
                if (pool != null) {
@@ -140,89 +126,22 @@ public class CloudStackPrimaryDataStoreDriverImpl 
implements PrimaryDataStoreDri
                        }
                        vol.setPoolId(pool.getId());
 
-                       CreateCommand cmd = null;
-                       VMTemplateStoragePoolVO tmpltStoredOn = null;
-
-                       for (int i = 0; i < 2; i++) {
-                               if (template != null
-                                               && template.getFormat() != 
Storage.ImageFormat.ISO) {
-                                       if (pool.getPoolType() == 
StoragePoolType.CLVM) {
-                                               // prepareISOForCreate does 
what we need, which is to
-                                               // tell us where the template is
-                                               VMTemplateHostVO tmpltHostOn = 
templateMgr
-                                                               
.prepareISOForCreate(template, pool);
-                                               if (tmpltHostOn == null) {
-                                                       s_logger.debug("cannot 
find template "
-                                                                       + 
template.getId() + " "
-                                                                       + 
template.getName());
-                                                       throw new 
CloudRuntimeException("cannot find template"
-                                                                       + 
template.getId()
-                                                                       + 
template.getName());
-                                               }
-                                               HostVO secondaryStorageHost = 
hostDao
-                                                               
.findById(tmpltHostOn.getHostId());
-                                               String tmpltHostUrl = 
secondaryStorageHost
-                                                               
.getStorageUrl();
-                                               String fullTmpltUrl = 
tmpltHostUrl + "/"
-                                                               + 
tmpltHostOn.getInstallPath();
-                                               cmd = new 
CreateCommand(diskProfile, fullTmpltUrl,
-                                                               new 
StorageFilerTO(pool));
-                                       } else {
-                                               tmpltStoredOn = 
templateMgr.prepareTemplateForCreate(
-                                                               template, pool);
-                                               if (tmpltStoredOn == null) {
-                                                       s_logger.debug("Cannot 
use this pool " + pool
-                                                                       + " 
because we can't propagate template "
-                                                                       + 
template);
-                                                       throw new 
CloudRuntimeException("Cannot use this pool " + pool
-                                                                       + " 
because we can't propagate template "
-                                                                       + 
template);
-                                               }
-                                               cmd = new 
CreateCommand(diskProfile,
-                                                               
tmpltStoredOn.getLocalDownloadPath(),
-                                                               new 
StorageFilerTO(pool));
-                                       }
-                               } else {
-                                       if (template != null
-                                                       && 
Storage.ImageFormat.ISO == template.getFormat()) {
-                                               VMTemplateHostVO tmpltHostOn = 
templateMgr
-                                                               
.prepareISOForCreate(template, pool);
-                                               if (tmpltHostOn == null) {
-                                                       throw new 
CloudRuntimeException(
-                                                                       "Did 
not find ISO in secondry storage in zone "
-                                                                               
        + pool.getDataCenterId());
-                                               }
-                                       }
-                                       cmd = new CreateCommand(diskProfile, 
new StorageFilerTO(
-                                                       pool));
-                               }
-
-                               Answer answer = storageMgr.sendToPool(pool, 
null, cmd);
-                               if (answer.getResult()) {
-                                       CreateAnswer createAnswer = 
(CreateAnswer) answer;
-                                       vol.setFolder(pool.getPath());
-                                       
vol.setPath(createAnswer.getVolume().getPath());
-                                       
vol.setSize(createAnswer.getVolume().getSize());
-                                       vol.setPoolType(pool.getPoolType());
-                                       vol.setPoolId(pool.getId());
-                                       vol.setPodId(pool.getPodId());
-                                       this.volumeDao.update(vol.getId(), vol);
-                                       return true;
-                               } else {
-                                       if (tmpltStoredOn != null
-                                                       && (answer instanceof 
CreateAnswer)
-                                                       && ((CreateAnswer) 
answer)
-                                                       
.templateReloadRequested()) {
-                                               if (!templateMgr
-                                                               
.resetTemplateDownloadStateOnPool(tmpltStoredOn
-                                                                               
.getId())) {
-                                                       break; // break out of 
template-redeploy retry loop
-                                               }
-                                       } else {
-                                               break;
-                                       }
-                               }
-                       }
+                       CreateCommand cmd = new CreateCommand(diskProfile, new 
StorageFilerTO(
+                                       pool));
+
+                       Answer answer = storageMgr.sendToPool(pool, null, cmd);
+                       if (answer.getResult()) {
+                               CreateAnswer createAnswer = (CreateAnswer) 
answer;
+                               vol.setFolder(pool.getPath());
+                               vol.setPath(createAnswer.getVolume().getPath());
+                               vol.setSize(createAnswer.getVolume().getSize());
+                               vol.setPoolType(pool.getPoolType());
+                               vol.setPoolId(pool.getId());
+                               vol.setPodId(pool.getPodId());
+                               this.volumeDao.update(vol.getId(), vol);
+                               return true;
+                       } 
+
                }
 
                if (s_logger.isDebugEnabled()) {

Reply via email to