{"action":"created","issue":{"url":"https://api.github.com/repos/apache/cloudstack/issues/2636","repository_url":"https://api.github.com/repos/apache/cloudstack","labels_url":"https://api.github.com/repos/apache/cloudstack/issues/2636/labels{/name}","comments_url":"https://api.github.com/repos/apache/cloudstack/issues/2636/comments","events_url":"https://api.github.com/repos/apache/cloudstack/issues/2636/events","html_url":"https://github.com/apache/cloudstack/pull/2636","id":322100583,"node_id":"MDExOlB1bGxSZXF1ZXN0MTg3MzE4ODU3","number":2636,"title":"Fix limitation on tag matching in 'migrateVolume' with disk offering replacement","user":{"login":"rafaelweingartner","id":4129005,"node_id":"MDQ6VXNlcjQxMjkwMDU=","avatar_url":"https://avatars2.githubusercontent.com/u/4129005?v=4","gravatar_id":"","url":"https://api.github.com/users/rafaelweingartner","html_url":"https://github.com/rafaelweingartner","followers_url":"https://api.github.com/users/rafaelweingartner/followers","following_url":"https://api.github.com/users/rafaelweingartner/following{/other_user}","gists_url":"https://api.github.com/users/rafaelweingartner/gists{/gist_id}","starred_url":"https://api.github.com/users/rafaelweingartner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rafaelweingartner/subscriptions","organizations_url":"https://api.github.com/users/rafaelweingartner/orgs","repos_url":"https://api.github.com/users/rafaelweingartner/repos","events_url":"https://api.github.com/users/rafaelweingartner/events{/privacy}","received_events_url":"https://api.github.com/users/rafaelweingartner/received_events","type":"User","site_admin":false},"labels":[{"id":37843366,"node_id":"MDU6TGFiZWwzNzg0MzM2Ng==","url":"https://api.github.com/repos/apache/cloudstack/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":{"login":"rafaelweingartner","id":4129005,"node_id":"MDQ6VXNlcjQxMjkwMDU=","avatar_url":"https://avatars2.githubusercontent.com/u/4129005?v=4","gravatar_id":"","url":"https://api.github.com/users/rafaelweingartner","html_url":"https://github.com/rafaelweingartner","followers_url":"https://api.github.com/users/rafaelweingartner/followers","following_url":"https://api.github.com/users/rafaelweingartner/following{/other_user}","gists_url":"https://api.github.com/users/rafaelweingartner/gists{/gist_id}","starred_url":"https://api.github.com/users/rafaelweingartner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rafaelweingartner/subscriptions","organizations_url":"https://api.github.com/users/rafaelweingartner/orgs","repos_url":"https://api.github.com/users/rafaelweingartner/repos","events_url":"https://api.github.com/users/rafaelweingartner/events{/privacy}","received_events_url":"https://api.github.com/users/rafaelweingartner/received_events","type":"User","site_admin":false},"assignees":[{"login":"rafaelweingartner","id":4129005,"node_id":"MDQ6VXNlcjQxMjkwMDU=","avatar_url":"https://avatars2.githubusercontent.com/u/4129005?v=4","gravatar_id":"","url":"https://api.github.com/users/rafaelweingartner","html_url":"https://github.com/rafaelweingartner","followers_url":"https://api.github.com/users/rafaelweingartner/followers","following_url":"https://api.github.com/users/rafaelweingartner/following{/other_user}","gists_url":"https://api.github.com/users/rafaelweingartner/gists{/gist_id}","starred_url":"https://api.github.com/users/rafaelweingartner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rafaelweingartner/subscriptions","organizations_url":"https://api.github.com/users/rafaelweingartner/orgs","repos_url":"https://api.github.com/users/rafaelweingartner/repos","events_url":"https://api.github.com/users/rafaelweingartner/events{/privacy}","received_events_url":"https://api.github.com/users/rafaelweingartner/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/apache/cloudstack/milestones/4","html_url":"https://github.com/apache/cloudstack/milestone/4","labels_url":"https://api.github.com/repos/apache/cloudstack/milestones/4/labels","id":3009550,"node_id":"MDk6TWlsZXN0b25lMzAwOTU1MA==","number":4,"title":"4.12.0.0","description":"Milestone for PRs targetted for the next major 4.12.0.0 release. PRs should be sent for master branch.","creator":{"login":"rhtyd","id":95203,"node_id":"MDQ6VXNlcjk1MjAz","avatar_url":"https://avatars0.githubusercontent.com/u/95203?v=4","gravatar_id":"","url":"https://api.github.com/users/rhtyd","html_url":"https://github.com/rhtyd","followers_url":"https://api.github.com/users/rhtyd/followers","following_url":"https://api.github.com/users/rhtyd/following{/other_user}","gists_url":"https://api.github.com/users/rhtyd/gists{/gist_id}","starred_url":"https://api.github.com/users/rhtyd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhtyd/subscriptions","organizations_url":"https://api.github.com/users/rhtyd/orgs","repos_url":"https://api.github.com/users/rhtyd/repos","events_url":"https://api.github.com/users/rhtyd/events{/privacy}","received_events_url":"https://api.github.com/users/rhtyd/received_events","type":"User","site_admin":false},"open_issues":28,"closed_issues":74,"state":"open","created_at":"2018-01-03T08:46:42Z","updated_at":"2018-07-13T11:28:46Z","due_on":null,"closed_at":null},"comments":6,"created_at":"2018-05-10T21:59:10Z","updated_at":"2018-07-15T22:59:34Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/apache/cloudstack/pulls/2636","html_url":"https://github.com/apache/cloudstack/pull/2636","diff_url":"https://github.com/apache/cloudstack/pull/2636.diff","patch_url":"https://github.com/apache/cloudstack/pull/2636.patch"},"body":"## Description\r\n<!--- Describe your changes in detail -->\r\nWhen the feature to enable disk offering replacement during volume migration was created, we were forcing the tags of the new disk offering to exact the same as the tags of the target storage poll. However, that is not how ACS manages volumes allocation. This change modifies this validation to make it consistent with volume allocation.\r\n\r\nThe idea is to make the validation consistent with the mechanism used to select a storage pool to deploy a volume when a virtual machine is deployed or when a new data disk is allocated. The scenarios when this method returns true or false is presented in the following table.\r\n\r\n<table border=\"1\">\r\n           <tr>\r\n               <th>#</th><th>Disk offering tags</th><th>Storage tags</th><th>Does the storage support the disk offering?</th>\r\n           </tr>\r\n           <body>\r\n           <tr>\r\n               <td>1</td><td>A,B</td><td>A</td><td>NO</td>\r\n          </tr>\r\n           <tr>\r\n               <td>2</td><td>A,B,C</td><td>A,B,C,D,X</td><td>YES</td>\r\n           </tr>\r\n           <tr>\r\n               <td>3</td><td>A,B,C</td><td>X,Y,Z</td><td>NO</td>\r\n           </tr>\r\n           <tr>\r\n               <td>4</td><td>null</td><td>A,S,D</td><td>YES</td>\r\n           </tr>\r\n           <tr>\r\n               <td>5</td><td>A</td><td>null</td><td>NO</td>\r\n           </tr>\r\n           <tr>\r\n               <td>6</td><td>null</td><td>null</td><td>YES</td>\r\n           </tr>\r\n           </body>\r\n        </table>\r\n\r\n<!-- For new features, provide link to FS, dev ML discussion etc. -->\r\n<!-- In case of bug fix, the expected and actual behaviours, steps to reproduce. -->\r\n\r\n## Types of changes\r\n<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->\r\n- [ ] Breaking change (fix or feature that would cause existing functionality to change)\r\n- [ ] New feature (non-breaking change which adds functionality)\r\n- [ ] Bug fix (non-breaking change which fixes an issue)\r\n- [X] Enhancement (improves an existing feature and functionality)\r\n- [ ] Cleanup (Code refactoring and cleanup, that may add test cases)\r\n\r\n\r\n<!-- If this PR is to fix an issue or another PR on GH, uncomment the section and provide the id of issue/PR -->\r\n<!-- When \"Fixes: #<id>\" is specified, the issue/PR will automatically be closed when this PR gets merged -->\r\n<!-- For addressing multiple issues/PRs, use multiple \"Fixes: #<id>\" -->\r\n\r\n<!-- Fixes: # -->\r\n\r\n\r\n## How Has This Been Tested?\r\nLocally and via unit tests that were added for the code that has been changed.\r\n\r\n<!-- Please describe in detail how you tested your changes. -->\r\n<!-- Include details of your testing environment, and the tests you ran to -->\r\n<!-- see how your change affects other areas of the code, etc. -->\r\n\r\n## Checklist:\r\n<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->\r\n<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->\r\n- [X] I have read the [CONTRIBUTING](https://github.com/apache/cloudstack/blob/master/CONTRIBUTING.md) document.\r\n- [X] My code follows the code style of this project.\r\n- [ ] My change requires a change to the documentation.\r\n- [ ] I have updated the documentation accordingly.\r\nTesting\r\n- [X] I have added tests to cover my changes.\r\n- [X] All relevant new and existing integration tests have passed.\r\n- [ ] A full integration testsuite with all test that can run on my environment has passed."},"comment":{"url":"https://api.github.com/repos/apache/cloudstack/issues/comments/405124764","html_url":"https://github.com/apache/cloudstack/pull/2636#issuecomment-405124764","issue_url":"https://api.github.com/repos/apache/cloudstack/issues/2636","id":405124764,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNTEyNDc2NA==","user":{"login":"rafaelweingartner","id":4129005,"node_id":"MDQ6VXNlcjQxMjkwMDU=","avatar_url":"https://avatars2.githubusercontent.com/u/4129005?v=4","gravatar_id":"","url":"https://api.github.com/users/rafaelweingartner","html_url":"https://github.com/rafaelweingartner","followers_url":"https://api.github.com/users/rafaelweingartner/followers","following_url":"https://api.github.com/users/rafaelweingartner/following{/other_user}","gists_url":"https://api.github.com/users/rafaelweingartner/gists{/gist_id}","starred_url":"https://api.github.com/users/rafaelweingartner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rafaelweingartner/subscriptions","organizations_url":"https://api.github.com/users/rafaelweingartner/orgs","repos_url":"https://api.github.com/users/rafaelweingartner/repos","events_url":"https://api.github.com/users/rafaelweingartner/events{/privacy}","received_events_url":"https://api.github.com/users/rafaelweingartner/received_events","type":"User","site_admin":false},"created_at":"2018-07-15T22:59:34Z","updated_at":"2018-07-15T22:59:34Z","author_association":"MEMBER","body":"@DaanHoogland can you please run tests here?"}}
{"actor":{"display_login":"rafaelweingartner"}}