[ https://issues.apache.org/jira/browse/CLOUDSTACK-9438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15601622#comment-15601622 ]
ASF GitHub Bot commented on CLOUDSTACK-9438: -------------------------------------------- Github user cloudmonger commented on the issue: https://github.com/apache/cloudstack/pull/1615 ### ACS CI BVT Run **Sumarry:** Build Number 117 Hypervisor xenserver NetworkType Advanced Passed=18 Failed=3 Skipped=2 _Link to logs Folder (search by build_no):_ https://www.dropbox.com/sh/yj3wnzbceo9uef2/AAB6u-Iap-xztdm6jHX9SjPja?dl=0 **Failed tests:** * test_service_offerings.py * ContextSuite context=TestServiceOfferings>:setup Failing since 16 runs * test_vm_life_cycle.py * test_10_attachAndDetach_iso Failing since 5 runs * ContextSuite context=TestVMLifeCycle>:teardown Failed **Skipped tests:** test_vm_nic_adapter_vmxnet3 test_static_role_account_acls **Passed test suits:** test_over_provisioning.py test_deploy_vms_with_varied_deploymentplanners.py test_router_dns.py test_resource_detail.py > 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)