cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <>
Subject [jira] [Commented] (CLOUDSTACK-9252) Support configurable NFS version for Secondary Storage mounts
Date Thu, 27 Oct 2016 06:21:00 GMT


ASF subversion and git services commented on CLOUDSTACK-9252:

Commit c9e7ccf46e8e52bf4f6ffb45431cad42524f1ee7 in cloudstack's branch refs/heads/master from
[;h=c9e7ccf ]

Merge pull request #1615 from nvazquez/nfsConfigKey

CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UIJIRA TICKET:

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

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

> Support configurable NFS version for Secondary Storage mounts
> -------------------------------------------------------------
>                 Key: CLOUDSTACK-9252
>                 URL:
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: VMware
>            Reporter: Nicolas Vazquez
>             Fix For: 4.9.0
> After starting secondary storage VM, secondary storage tries to be mounted but fails
with error: {{Protocol family not supported}}
> It was found out that adding {{-o vers=X}} to mount command it would work, where {{X}}
is the desired NFS version to use. 
> If it is desired to mount a store with a specific NFS version, it has passed in {{image_store_details}}
table for a store with id {{Y}} as a property:
> ||store_id||||name||value||
> |Y|nfs.version|X|
> Where X stands for NFS version

This message was sent by Atlassian JIRA

View raw message