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

ASF GitHub Bot commented on CLOUDSTACK-9438:
--------------------------------------------

Github user nvazquez commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1615#discussion_r73156809
  
    --- Diff: setup/db/db/schema-481to490.sql ---
    @@ -545,3 +545,6 @@ INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` 
(uuid,hypervisor_type, hypervis
     INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '5.0', 'centos64Guest', 228, now(), 0);
     INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '5.1', 'centos64Guest', 228, now(), 0);
     INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '5.5', 'centos64Guest', 228, now(), 0);
    +
    +ALTER TABLE `cloud`.`image_store_details` CHANGE COLUMN `value` `value` 
VARCHAR(255) NULL DEFAULT NULL COMMENT 'value of the detail', ADD COLUMN 
`display` tinyint(1) NOT 
    --- End diff --
    
    We decided to make the default value as null to not impact deployments 
which didn't specify a NFS version for their secondary storage operations, so 
they work as they were before.
    
    About *display* column, we added it to make it consistent with 
`ResourceDetail` as we made `ImageStoreDetailVO` implement `ResourceDetail`, 
which has the method `isDisplay`.


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

Reply via email to