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