[ https://issues.apache.org/jira/browse/CLOUDSTACK-9438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15745158#comment-15745158 ]
ASF GitHub Bot commented on CLOUDSTACK-9438: -------------------------------------------- Github user serg38 commented on the issue: https://github.com/apache/cloudstack/pull/1615 @milamberspace Column details is supposed to be added during 4.8 to 4.9 schema upgrade. Most likely when you upgraded to 4.9 this PR hadn't been merged yet. You can simply apply this statement before starting the 4.9 to 4.10 upgrade: 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 NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user' AFTER `value`; > 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)