[ https://issues.apache.org/jira/browse/CLOUDSTACK-9252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15610846#comment-15610846 ]
ASF subversion and git services commented on CLOUDSTACK-9252: ------------------------------------------------------------- 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.karut...@accelerite.com> > Support configurable NFS version for Secondary Storage mounts > ------------------------------------------------------------- > > Key: CLOUDSTACK-9252 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9252 > 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 (v6.3.4#6332)