rafaelweingartner commented on a change in pull request #2146: CLOUDSTACK-4757: 
Support OVA files with multiple disks for templates
URL: https://github.com/apache/cloudstack/pull/2146#discussion_r158581902
 
 

 ##########
 File path: 
engine/storage/src/org/apache/cloudstack/storage/image/BaseImageStoreDriverImpl.java
 ##########
 @@ -288,6 +309,62 @@ public void resize(DataObject data, 
AsyncCompletionCallback<CreateCmdResult> cal
     }
 
     @Override
-    public void deleteEntityExtractUrl(DataStore store, String installPath, 
String url, Upload.Type entityType){
+    public void deleteEntityExtractUrl(DataStore store, String installPath, 
String url, Upload.Type entityType) {
+    }
+
+    @Override
+    public List<DatadiskTO> getDataDiskTemplates(DataObject obj) {
+        List<DatadiskTO> dataDiskDetails = new ArrayList<DatadiskTO>();
+        if (s_logger.isDebugEnabled()) {
+            s_logger.debug("Get the data disks present in the OVA template");
+        }
+        DataStore store = obj.getDataStore();
+        GetDatadisksCommand cmd = new GetDatadisksCommand(obj.getTO());
+        //EndPoint ep = 
_defaultEpSelector.selectHypervisorHostByType(store.getScope(), 
HypervisorType.VMware);
+        EndPoint ep = _defaultEpSelector.select(store);
+        Answer answer = null;
+        if (ep == null) {
+            String errMsg = "No remote endpoint to send command, check if host 
or ssvm is down?";
+            s_logger.error(errMsg);
+            answer = new Answer(cmd, false, errMsg);
+        } else {
+            answer = ep.sendMessage(cmd);
+        }
+        if (answer != null && answer.getResult()) {
+            GetDatadisksAnswer getDatadisksAnswer = (GetDatadisksAnswer)answer;
+            dataDiskDetails = getDatadisksAnswer.getDataDiskDetails(); // 
Details - Disk path, virtual size
+        }
+        else {
+            s_logger.debug("MDOVA getDataDiskTemplates Data disk command 
failed ");
+            throw new CloudRuntimeException("Get Data disk command failed " + 
answer.getDetails());
+        }
+        s_logger.debug("MDOVA getDataDiskTemplates dataDiskDetails " + 
dataDiskDetails.toString());
+        return dataDiskDetails;
+    }
+
+    @Override
+    public Void createDataDiskTemplateAsync(TemplateInfo dataDiskTemplate, 
String path, String diskId, boolean bootable, long fileSize, 
AsyncCompletionCallback<CreateCmdResult> callback) {
+        Answer answer = null;
+        String errMsg = null;
+        if (s_logger.isDebugEnabled()) {
+            s_logger.debug("Create Datadisk template: " + 
dataDiskTemplate.getId());
+        }
+        CreateDatadiskTemplateCommand cmd = new 
CreateDatadiskTemplateCommand(dataDiskTemplate.getTO(), path, diskId, fileSize, 
bootable);
+        //EndPoint ep = 
_defaultEpSelector.selectHypervisorHostByType(dataDiskTemplate.getDataStore().getScope(),
 HypervisorType.VMware);
 
 Review comment:
   Commented code

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to