Return-Path: X-Original-To: apmail-cloudstack-commits-archive@www.apache.org Delivered-To: apmail-cloudstack-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CBC8118FC7 for ; Wed, 24 Feb 2016 20:24:45 +0000 (UTC) Received: (qmail 31329 invoked by uid 500); 24 Feb 2016 20:24:32 -0000 Delivered-To: apmail-cloudstack-commits-archive@cloudstack.apache.org Received: (qmail 31216 invoked by uid 500); 24 Feb 2016 20:24:32 -0000 Mailing-List: contact commits-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list commits@cloudstack.apache.org Received: (qmail 31120 invoked by uid 99); 24 Feb 2016 20:24:32 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 Feb 2016 20:24:32 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 586D6E8ECA; Wed, 24 Feb 2016 20:24:32 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: rafael@apache.org To: commits@cloudstack.apache.org Date: Wed, 24 Feb 2016 20:24:34 -0000 Message-Id: In-Reply-To: <319bb6789039493c805e19d6aea7e2b3@git.apache.org> References: <319bb6789039493c805e19d6aea7e2b3@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [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 Authored: Fri Jan 22 16:39:47 2016 -0200 Committer: nvazquez 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 extends AsyncRpcContext { final TemplateObject template; @@ -564,7 +567,7 @@ public class TemplateServiceImpl implements TemplateService { } private Map 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 storeDetails = _imageStoreDetailsDao.getDetails(storeId); + if (storeDetails != null && storeDetails.containsKey("nfs.version")){ + nfsVersion = storeDetails.get("nfs.version"); + } + } + return nfsVersion; + } + protected Void createTemplateCallback(AsyncCallbackDispatcher callback, TemplateOpContext context) { TemplateObject template = context.getTemplate(); AsyncCompletionCallback 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 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);