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