You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ra...@apache.org on 2016/02/24 21:24:34 UTC

[03/11] git commit: updated refs/heads/master to d705d85

CLOUDSTACK-9252: Add nfs version to commands


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

Branch: refs/heads/master
Commit: 0bc1b2727ae80f60518d091410f7538a67161233
Parents: 476e9f0
Author: nvazquez <ni...@gmail.com>
Authored: Fri Jan 22 16:39:47 2016 -0200
Committer: nvazquez <ni...@gmail.com>
Committed: Mon Feb 1 12:50:58 2016 -0800

----------------------------------------------------------------------
 .../com/cloud/agent/api/GetStorageStatsCommand.java | 14 ++++++++++++++
 .../com/cloud/agent/api/SecStorageSetupCommand.java |  9 +++++++++
 .../agent/api/storage/ListTemplateCommand.java      | 10 ++++++++++
 .../storage/image/TemplateServiceImpl.java          | 16 +++++++++++++++-
 .../SecondaryStorageManagerImpl.java                | 16 ++++++++++++++++
 5 files changed, 64 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0bc1b272/core/src/com/cloud/agent/api/GetStorageStatsCommand.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/agent/api/GetStorageStatsCommand.java b/core/src/com/cloud/agent/api/GetStorageStatsCommand.java
index 23e8f9e..84b5426 100644
--- a/core/src/com/cloud/agent/api/GetStorageStatsCommand.java
+++ b/core/src/com/cloud/agent/api/GetStorageStatsCommand.java
@@ -30,6 +30,7 @@ public class GetStorageStatsCommand extends Command {
     private StoragePoolType pooltype;
     private String secUrl;
     private DataStoreTO store;
+    private String nfsVersion;
 
     public String getSecUrl() {
         return secUrl;
@@ -54,6 +55,11 @@ public class GetStorageStatsCommand extends Command {
         this.store = store;
     }
 
+    public GetStorageStatsCommand(DataStoreTO store, String nfsVersion) {
+        this.store = store;
+        this.nfsVersion = nfsVersion;
+    }
+
     public GetStorageStatsCommand(String secUrl) {
         this.secUrl = secUrl;
     }
@@ -81,6 +87,14 @@ public class GetStorageStatsCommand extends Command {
         return this.store;
     }
 
+    public String getNfsVersion() {
+        return nfsVersion;
+    }
+
+    public void setNfsVersion(String nfsVersion) {
+        this.nfsVersion = nfsVersion;
+    }
+
     @Override
     public boolean executeInSequence() {
         return false;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0bc1b272/core/src/com/cloud/agent/api/SecStorageSetupCommand.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/agent/api/SecStorageSetupCommand.java b/core/src/com/cloud/agent/api/SecStorageSetupCommand.java
index 28e55c2..316e469 100644
--- a/core/src/com/cloud/agent/api/SecStorageSetupCommand.java
+++ b/core/src/com/cloud/agent/api/SecStorageSetupCommand.java
@@ -28,6 +28,7 @@ public class SecStorageSetupCommand extends Command {
     private String secUrl;
     private KeystoreManager.Certificates certs;
     private String postUploadKey;
+    private String nfsVersion;
 
 
     public SecStorageSetupCommand() {
@@ -74,4 +75,12 @@ public class SecStorageSetupCommand extends Command {
     public void setPostUploadKey(String postUploadKey) {
         this.postUploadKey = postUploadKey;
     }
+
+    public String getNfsVersion() {
+        return nfsVersion;
+    }
+
+    public void setNfsVersion(String nfsVersion) {
+        this.nfsVersion = nfsVersion;
+    }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0bc1b272/core/src/com/cloud/agent/api/storage/ListTemplateCommand.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/agent/api/storage/ListTemplateCommand.java b/core/src/com/cloud/agent/api/storage/ListTemplateCommand.java
index 8550952..bacc83a 100644
--- a/core/src/com/cloud/agent/api/storage/ListTemplateCommand.java
+++ b/core/src/com/cloud/agent/api/storage/ListTemplateCommand.java
@@ -23,6 +23,7 @@ import com.cloud.agent.api.to.DataStoreTO;
 
 public class ListTemplateCommand extends StorageCommand {
     private DataStoreTO store;
+    private String nfsVersion;
 
     //private String secUrl;
 
@@ -34,6 +35,11 @@ public class ListTemplateCommand extends StorageCommand {
 //        this.secUrl = url;
     }
 
+    public ListTemplateCommand(DataStoreTO store, String nfsVersion) {
+        this.store = store;
+        this.nfsVersion = nfsVersion;
+    }
+
     @Override
     public boolean executeInSequence() {
         return true;
@@ -43,6 +49,10 @@ public class ListTemplateCommand extends StorageCommand {
         return store;
     }
 
+    public String getNfsVersion() {
+        return nfsVersion;
+    }
+
     //   public String getSecUrl() {
     //       return secUrl;
     //   }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0bc1b272/engine/storage/image/src/org/apache/cloudstack/storage/image/TemplateServiceImpl.java
----------------------------------------------------------------------
diff --git a/engine/storage/image/src/org/apache/cloudstack/storage/image/TemplateServiceImpl.java b/engine/storage/image/src/org/apache/cloudstack/storage/image/TemplateServiceImpl.java
index 9ab3595..cbfcb42 100644
--- a/engine/storage/image/src/org/apache/cloudstack/storage/image/TemplateServiceImpl.java
+++ b/engine/storage/image/src/org/apache/cloudstack/storage/image/TemplateServiceImpl.java
@@ -56,6 +56,7 @@ import org.apache.cloudstack.storage.command.CommandResult;
 import org.apache.cloudstack.storage.command.DeleteCommand;
 import org.apache.cloudstack.storage.datastore.DataObjectManager;
 import org.apache.cloudstack.storage.datastore.ObjectInDataStoreManager;
+import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao;
 import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao;
 import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO;
 import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity;
@@ -135,6 +136,8 @@ public class TemplateServiceImpl implements TemplateService {
     ConfigurationDao _configDao;
     @Inject
     StorageCacheManager _cacheMgr;
+    @Inject
+    ImageStoreDetailsDao _imageStoreDetailsDao;
 
     class TemplateOpContext<T> extends AsyncRpcContext<T> {
         final TemplateObject template;
@@ -564,7 +567,7 @@ public class TemplateServiceImpl implements TemplateService {
     }
 
     private Map<String, TemplateProp> listTemplate(DataStore ssStore) {
-        ListTemplateCommand cmd = new ListTemplateCommand(ssStore.getTO());
+        ListTemplateCommand cmd = new ListTemplateCommand(ssStore.getTO(), getNfsVersion(ssStore.getId()));
         EndPoint ep = _epSelector.select(ssStore);
         Answer answer = null;
         if (ep == null) {
@@ -586,6 +589,17 @@ public class TemplateServiceImpl implements TemplateService {
         return null;
     }
 
+    private String getNfsVersion(long storeId) {
+        String nfsVersion = null;
+        if (_imageStoreDetailsDao.getDetails(storeId) != null){
+            Map<String, String> storeDetails = _imageStoreDetailsDao.getDetails(storeId);
+            if (storeDetails != null && storeDetails.containsKey("nfs.version")){
+                nfsVersion = storeDetails.get("nfs.version");
+            }
+        }
+        return nfsVersion;
+    }
+
     protected Void createTemplateCallback(AsyncCallbackDispatcher<TemplateServiceImpl, CreateCmdResult> callback, TemplateOpContext<TemplateApiResult> context) {
         TemplateObject template = context.getTemplate();
         AsyncCompletionCallback<TemplateApiResult> parentCallback = context.getParentCallback();

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0bc1b272/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java
----------------------------------------------------------------------
diff --git a/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java b/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java
index 4891b71..1ae5d5b 100644
--- a/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java
+++ b/services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java
@@ -39,6 +39,7 @@ import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
 import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
 import org.apache.cloudstack.framework.security.keystore.KeystoreManager;
 import org.apache.cloudstack.storage.datastore.db.ImageStoreDao;
+import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao;
 import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
 import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao;
 import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreDao;
@@ -236,6 +237,8 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
     @Inject
     ImageStoreDao _imageStoreDao;
     @Inject
+    ImageStoreDetailsDao _imageStoreDetailsDao;
+    @Inject
     TemplateDataStoreDao _tmplStoreDao;
     @Inject
     VolumeDataStoreDao _volumeStoreDao;
@@ -310,6 +313,8 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
                     setupCmd = new SecStorageSetupCommand(ssStore.getTO(), secUrl, certs);
                 }
 
+                setupCmd.setNfsVersion(getNfsVersion(ssStore.getId()));
+
                 //template/volume file upload key
                 String postUploadKey = _configDao.getValue(Config.SSVMPSK.key());
                 setupCmd.setPostUploadKey(postUploadKey);
@@ -358,6 +363,17 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
         return true;
     }
 
+    private String getNfsVersion(long storeId) {
+        String nfsVersion = null;
+        if (_imageStoreDetailsDao.getDetails(storeId) != null){
+            Map<String, String> storeDetails = _imageStoreDetailsDao.getDetails(storeId);
+            if (storeDetails != null && storeDetails.containsKey("nfs.version")){
+                nfsVersion = storeDetails.get("nfs.version");
+            }
+        }
+        return nfsVersion;
+    }
+
     @Override
     public boolean generateVMSetupCommand(Long ssAHostId) {
         HostVO ssAHost = _hostDao.findById(ssAHostId);