You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ts...@apache.org on 2013/07/28 06:51:54 UTC

git commit: updated refs/heads/master to 2c660cd

Updated Branches:
  refs/heads/master abfc351b7 -> 2c660cdbc


Fix simulator and marvin

- Remove additional parantheses in marvin VirtualMachine.create(
- Implement createEntityExtractUrl command for simulator

Signed-off-by: Prasanna Santhanam <ts...@apache.org>
(cherry picked from commit 908df7aabdd7bfca1d0a3c1b39a83111b61ee692)


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

Branch: refs/heads/master
Commit: 2c660cdbc215b4fd6de28fcab5fe2cf870c5c7bc
Parents: abfc351
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Sun Jul 28 10:18:39 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Sun Jul 28 10:21:34 2013 +0530

----------------------------------------------------------------------
 .../driver/SimulatorImageStoreDriverImpl.java   | 36 ++++++++++++--------
 1 file changed, 22 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2c660cdb/plugins/hypervisors/simulator/src/org/apache/cloudstack/storage/datastore/driver/SimulatorImageStoreDriverImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/org/apache/cloudstack/storage/datastore/driver/SimulatorImageStoreDriverImpl.java b/plugins/hypervisors/simulator/src/org/apache/cloudstack/storage/datastore/driver/SimulatorImageStoreDriverImpl.java
index b230194..e18f8e5 100644
--- a/plugins/hypervisors/simulator/src/org/apache/cloudstack/storage/datastore/driver/SimulatorImageStoreDriverImpl.java
+++ b/plugins/hypervisors/simulator/src/org/apache/cloudstack/storage/datastore/driver/SimulatorImageStoreDriverImpl.java
@@ -26,31 +26,26 @@ import com.cloud.agent.api.to.DataStoreTO;
 import com.cloud.agent.api.to.NfsTO;
 import com.cloud.storage.Storage;
 import com.cloud.storage.VMTemplateStorageResourceAssoc;
-import com.cloud.storage.VMTemplateVO;
-import com.cloud.storage.VolumeVO;
 import com.cloud.storage.dao.VMTemplateDao;
 import com.cloud.storage.dao.VolumeDao;
 import org.apache.cloudstack.engine.subsystem.api.storage.CreateCmdResult;
 import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
 import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
-import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
+import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint;
+import org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector;
 import org.apache.cloudstack.framework.async.AsyncCallbackDispatcher;
 import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
-import org.apache.cloudstack.framework.async.AsyncRpcContext;
 import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao;
-import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO;
 import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreDao;
-import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO;
 import org.apache.cloudstack.storage.image.BaseImageStoreDriverImpl;
 import org.apache.cloudstack.storage.image.store.ImageStoreImpl;
-import org.apache.cloudstack.storage.to.TemplateObjectTO;
-import org.apache.cloudstack.storage.to.VolumeObjectTO;
+import org.apache.log4j.Logger;
 
 import javax.inject.Inject;
-import java.util.Date;
 import java.util.UUID;
 
 public class SimulatorImageStoreDriverImpl extends BaseImageStoreDriverImpl {
+    private static final Logger s_logger = Logger.getLogger(SimulatorImageStoreDriverImpl.class);
 
     @Inject
     TemplateDataStoreDao _templateStoreDao;
@@ -60,6 +55,8 @@ public class SimulatorImageStoreDriverImpl extends BaseImageStoreDriverImpl {
     VolumeDao _volumeDao;
     @Inject
     VolumeDataStoreDao _volumeStoreDao;
+    @Inject
+    EndPointSelector _epSelector;
 
     @Override
     public DataStoreTO getStoreTO(DataStore store) {
@@ -71,11 +68,6 @@ public class SimulatorImageStoreDriverImpl extends BaseImageStoreDriverImpl {
     }
 
 
-
-    public String createEntityExtractUrl(DataStore store, String installPath, Storage.ImageFormat format) {
-        return null;
-    }
-
     @Override
     public void createAsync(DataStore dataStore, DataObject data, AsyncCompletionCallback<CreateCmdResult> callback) {
         if (data.getType() == DataObjectType.TEMPLATE) {
@@ -112,4 +104,20 @@ public class SimulatorImageStoreDriverImpl extends BaseImageStoreDriverImpl {
         caller.complete(answer);
         return;
     }
+
+    @Override
+    public String createEntityExtractUrl(DataStore store, String installPath, Storage.ImageFormat format, DataObject dataObject) {
+        EndPoint ep = _epSelector.select(store);
+        // Create Symlink at ssvm
+        String path = installPath;
+        String uuid = UUID.randomUUID().toString() + "." + format.getFileExtension();
+        // Construct actual URL locally now that the symlink exists at SSVM
+        return generateCopyUrl(ep.getPublicAddr(), uuid);
+    }
+
+    private String generateCopyUrl(String ipAddress, String uuid){
+        String hostname = ipAddress;
+        String scheme = "http";
+        return scheme + "://" + hostname + "/userdata/" + uuid;
+    }
 }
\ No newline at end of file