You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Nicolas Vazquez (JIRA)" <ji...@apache.org> on 2017/03/02 20:16:45 UTC
[jira] [Closed] (CLOUDSTACK-9438) Fix for CLOUDSTACK-9252 - Make
NFS version changeable in UI
[ https://issues.apache.org/jira/browse/CLOUDSTACK-9438?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nicolas Vazquez closed CLOUDSTACK-9438.
---------------------------------------
Resolution: Fixed
> Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI
> -----------------------------------------------------------
>
> Key: CLOUDSTACK-9438
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9438
> Project: CloudStack
> Issue Type: Improvement
> Security Level: Public(Anyone can view this level - this is the default.)
> Reporter: Nicolas Vazquez
> Assignee: Nicolas Vazquez
>
> h3. Introduction
> From [9252|https://issues.apache.org/jira/browse/CLOUDSTACK-9252] it was possible to configure NFS version for secondary storage mount.
> However, changing NFS version requires inserting an new detail on {{image_store_details}} table, with {{name = 'nfs.version'}} and {{value = X}} where X is desired NFS version, and then restarting management server for changes to take effect.
> Our improvement aims to make NFS version changeable from UI, instead of previously described workflow.
> h3. Proposed solution
> Basically, NFS version is defined as an image store ConfigKey, this implied:
> * Adding a new Config scope: *ImageStore*
> * Make {{ImageStoreDetailsDao}} class to extend {{ResourceDetailsDaoBase}} and {{ImageStoreDetailVO}} implement {{ResourceDetail}}
> * Insert {{'display'}} column on {{image_store_details}} table
> * Extending {{ListCfgsCmd}} and {{UpdateCfgCmd}} to support *ImageStore* scope, which implied:
> ** Injecting {{ImageStoreDetailsDao}} and {{ImageStoreDao}} on {{ConfigurationManagerImpl}} class, on {{cloud-server}} module.
> h4. Important
> It is important to mention that {{ImageStoreDaoImpl}} and {{ImageStoreDetailsDaoImpl}} classes were moved from {{cloud-engine-storage}} to {{cloud-engine-schema}} module in order to Spring find those beans to inject on {{ConfigurationManagerImpl}} in {{cloud-server}} module.
> We had this maven dependencies between modules:
> * {{cloud-server --> cloud-engine-schema}}
> * {{cloud-engine-storage --> cloud-secondary-storage --> cloud-server}}
> As {{ImageStoreDaoImpl}} and {{ImageStoreDetailsDaoImpl}} were defined in {{cloud-engine-storage}}, and they needed in {{cloud-server}} module, to be injected on {{ConfigurationManagerImpl}}, if we added dependency from {{cloud-server}} to {{cloud-engine-storage}} we would introduce a dependency cycle. To avoid this cycle, we moved those classes to {{cloud-engine-schema}} module
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)