{"action":"created","issue":{"url":"https://api.github.com/repos/apache/cloudstack/issues/1615","repository_url":"https://api.github.com/repos/apache/cloudstack","labels_url":"https://api.github.com/repos/apache/cloudstack/issues/1615/labels{/name}","comments_url":"https://api.github.com/repos/apache/cloudstack/issues/1615/comments","events_url":"https://api.github.com/repos/apache/cloudstack/issues/1615/events","html_url":"https://github.com/apache/cloudstack/pull/1615","id":167066471,"number":1615,"title":"CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI","user":{"login":"nvazquez","id":5295080,"avatar_url":"https://avatars.githubusercontent.com/u/5295080?v=3","gravatar_id":"","url":"https://api.github.com/users/nvazquez","html_url":"https://github.com/nvazquez","followers_url":"https://api.github.com/users/nvazquez/followers","following_url":"https://api.github.com/users/nvazquez/following{/other_user}","gists_url":"https://api.github.com/users/nvazquez/gists{/gist_id}","starred_url":"https://api.github.com/users/nvazquez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nvazquez/subscriptions","organizations_url":"https://api.github.com/users/nvazquez/orgs","repos_url":"https://api.github.com/users/nvazquez/repos","events_url":"https://api.github.com/users/nvazquez/events{/privacy}","received_events_url":"https://api.github.com/users/nvazquez/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":19,"created_at":"2016-07-22T15:08:00Z","updated_at":"2016-08-10T09:16:38Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/cloudstack/pulls/1615","html_url":"https://github.com/apache/cloudstack/pull/1615","diff_url":"https://github.com/apache/cloudstack/pull/1615.diff","patch_url":"https://github.com/apache/cloudstack/pull/1615.patch"},"body":"JIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9438\r\n\r\n### Introduction\r\n\r\nFrom #1361 it was possible to configure NFS version for secondary storage mount. \r\nHowever, 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.\r\n\r\nOur improvement aims to make NFS version changeable from UI, instead of previously described workflow.\r\n\r\n### Proposed solution\r\nBasically, NFS version is defined as an image store ConfigKey, this implied:\r\n* Adding a new Config scope: **ImageStore**\r\n* Make `ImageStoreDetailsDao` class to extend `ResourceDetailsDaoBase` and `ImageStoreDetailVO` implement `ResourceDetail`\r\n* Insert `'display'` column on `image_store_details` table\r\n* Extending `ListCfgsCmd` and `UpdateCfgCmd` to support **ImageStore** scope, which implied:\r\n** Injecting `ImageStoreDetailsDao` and `ImageStoreDao` on `ConfigurationManagerImpl` class, on `cloud-server` module.\r\n\r\n### Important\r\nIt 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.\r\n\r\nWe had this maven dependencies between modules:\r\n* `cloud-server --> cloud-engine-schema`\r\n* `cloud-engine-storage --> cloud-secondary-storage --> cloud-server`\r\n\r\nAs `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"},"comment":{"url":"https://api.github.com/repos/apache/cloudstack/issues/comments/238810871","html_url":"https://github.com/apache/cloudstack/pull/1615#issuecomment-238810871","issue_url":"https://api.github.com/repos/apache/cloudstack/issues/1615","id":238810871,"user":{"login":"blueorangutan","id":16489489,"avatar_url":"https://avatars.githubusercontent.com/u/16489489?v=3","gravatar_id":"","url":"https://api.github.com/users/blueorangutan","html_url":"https://github.com/blueorangutan","followers_url":"https://api.github.com/users/blueorangutan/followers","following_url":"https://api.github.com/users/blueorangutan/following{/other_user}","gists_url":"https://api.github.com/users/blueorangutan/gists{/gist_id}","starred_url":"https://api.github.com/users/blueorangutan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blueorangutan/subscriptions","organizations_url":"https://api.github.com/users/blueorangutan/orgs","repos_url":"https://api.github.com/users/blueorangutan/repos","events_url":"https://api.github.com/users/blueorangutan/events{/privacy}","received_events_url":"https://api.github.com/users/blueorangutan/received_events","type":"User","site_admin":false},"created_at":"2016-08-10T09:16:38Z","updated_at":"2016-08-10T09:16:38Z","body":"Packaging result: ✔centos6 ✔centos7 ✔debian repo: http://packages.shapeblue.com/cloudstack/pr/1615\nJob ID-74"}}
{"actor":{"display_login":"blueorangutan"}}