cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-9438) Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI
Date Thu, 27 Oct 2016 06:21:00 GMT

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-9438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15610847#comment-15610847
] 

ASF subversion and git services commented on CLOUDSTACK-9438:
-------------------------------------------------------------

Commit c9e7ccf46e8e52bf4f6ffb45431cad42524f1ee7 in cloudstack's branch refs/heads/master from
[~rajanik]
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c9e7ccf ]

Merge pull request #1615 from nvazquez/nfsConfigKey

CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UIJIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9438

### Introduction

>From #1361 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.

### 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.

### 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 `ImageStoreDetailsDao` 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

* pr/1615:
  CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>


> 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.4#6332)

Mime
View raw message