)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7bab96a1f522a789801a15f42f63231d03217280","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     dingd \u003cdong.ding@dell.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-04-29 18:46:30 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[Unity] Retype volume support"},{"line_number":8,"context_line":"To support change volume type after its creation in Unity driver"},{"line_number":9,"context_line":"Change-Id: I0885c83a2bdfffd3bbba23310665e5dff74fe5dd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ffb9cba7_32ae5f98","line":7,"updated":"2019-04-29 13:27:08.000000000","message":"When you push up the fixes for the pep8 errors, please also reformat the commit message to add a blank line after the summary line.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"75043ed49f60aa38942ed8d37c9ca0e7275a96ac"}],"cinder/tests/unit/volume/drivers/dell_emc/unity/test_adapter.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7bab96a1f522a789801a15f42f63231d03217280","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    @staticmethod"},{"line_number":96,"context_line":"    def create_io_limit_policy(lun):"},{"line_number":97,"context_line":"        if lun.name \u003d\u003d \u0027volume_has_snapshot\u0027:"},{"line_number":98,"context_line":"            return True"},{"line_number":99,"context_line":"        return False"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ffb9cba7_12a9db8e","line":97,"range":{"start_line":97,"start_character":24,"end_line":97,"end_character":43},"updated":"2019-04-29 13:27:08.000000000","message":"Is this a copy/paste error?\n\nThese could both also just be:\n\nreturn lun.name \u003d\u003d \u0027volume_has_snapshot\u0027","commit_id":"75043ed49f60aa38942ed8d37c9ca0e7275a96ac"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"113d03d64d549dcab467d9f90dd9cb2e7d00b1b9","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    @staticmethod"},{"line_number":96,"context_line":"    def create_io_limit_policy(lun):"},{"line_number":97,"context_line":"        if lun.name \u003d\u003d \u0027volume_has_snapshot\u0027:"},{"line_number":98,"context_line":"            return True"},{"line_number":99,"context_line":"        return False"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ffb9cba7_ff95e740","line":97,"range":{"start_line":97,"start_character":24,"end_line":97,"end_character":43},"in_reply_to":"ffb9cba7_12a9db8e","updated":"2019-04-30 09:05:44.000000000","message":"the create_io_limit_policy should be removed.","commit_id":"75043ed49f60aa38942ed8d37c9ca0e7275a96ac"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"d2253b37a3afc881f75f0c71f8634be0002b19aa","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    @staticmethod"},{"line_number":188,"context_line":"    def get_io_limit_policy(specs):"},{"line_number":189,"context_line":"        mock_io_policy \u003d test_client.MockResource(name\u003dspecs.get(\u0027id\u0027)) \\"},{"line_number":190,"context_line":"            if specs else None"},{"line_number":191,"context_line":"        return mock_io_policy"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_ffb7a3d7","line":190,"range":{"start_line":189,"start_character":0,"end_line":190,"end_character":30},"updated":"2019-05-05 12:23:08.000000000","message":"this can be rewritten using brackets\nmock_io_policy \u003d test_client.MockResource(\n    name\u003dspecs.get(\u0027id\u0027)) if specs else None\nor\nmock_io_policy \u003d (\n    test_client.MockResource(name\u003dspecs.get(\u0027id\u0027)) if specs else None)","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"379760d8a5478b855766ff4308bc8c1564cb4242","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    @staticmethod"},{"line_number":188,"context_line":"    def get_io_limit_policy(specs):"},{"line_number":189,"context_line":"        mock_io_policy \u003d test_client.MockResource(name\u003dspecs.get(\u0027id\u0027)) \\"},{"line_number":190,"context_line":"            if specs else None"},{"line_number":191,"context_line":"        return mock_io_policy"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_7d3df6b9","line":190,"range":{"start_line":189,"start_character":0,"end_line":190,"end_character":30},"in_reply_to":"dfbec78f_ffb7a3d7","updated":"2019-05-10 08:31:02.000000000","message":"Done","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"}],"cinder/tests/unit/volume/drivers/dell_emc/unity/test_client.py":[{"author":{"_account_id":18742,"name":"Ryan Liang","email":"ryan.liang@emc.com","username":"RyanLiang"},"change_message_id":"691c1521bd0425705e4136efa8b28b1b5ff19629","unresolved":false,"context_lines":[{"line_number":581,"context_line":"    def test_migrate_lun_compressed(self):"},{"line_number":582,"context_line":"        ret \u003d self.client.migrate_lun(\u0027lun_compressed\u0027, \u0027pool_2\u0027, \u0027compressed\u0027)"},{"line_number":583,"context_line":"        self.assertTrue(ret)"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"    def test_get_pool_id_by_name(self):"},{"line_number":586,"context_line":"        self.assertEqual(\u0027pool_3\u0027, self.client.get_pool_id_by_name(\u0027Pool 3\u0027))"},{"line_number":587,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_e793954e","line":584,"updated":"2019-05-06 07:05:25.000000000","message":"Add case(s) for lun_has_snapshot.","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"379760d8a5478b855766ff4308bc8c1564cb4242","unresolved":false,"context_lines":[{"line_number":581,"context_line":"    def test_migrate_lun_compressed(self):"},{"line_number":582,"context_line":"        ret \u003d self.client.migrate_lun(\u0027lun_compressed\u0027, \u0027pool_2\u0027, \u0027compressed\u0027)"},{"line_number":583,"context_line":"        self.assertTrue(ret)"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"    def test_get_pool_id_by_name(self):"},{"line_number":586,"context_line":"        self.assertEqual(\u0027pool_3\u0027, self.client.get_pool_id_by_name(\u0027Pool 3\u0027))"},{"line_number":587,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_5de6f218","line":584,"in_reply_to":"dfbec78f_e793954e","updated":"2019-05-10 08:31:02.000000000","message":"added in test_adapter.py","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"}],"cinder/tests/unit/volume/drivers/dell_emc/unity/test_utils.py":[{"author":{"_account_id":18742,"name":"Ryan Liang","email":"ryan.liang@emc.com","username":"RyanLiang"},"change_message_id":"691c1521bd0425705e4136efa8b28b1b5ff19629","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        new_provision \u003d \u0027thick\u0027"},{"line_number":343,"context_line":"        ret \u003d utils.retype_need_migration(volume, old_provision,"},{"line_number":344,"context_line":"                                          new_provision, new_host)"},{"line_number":345,"context_line":"        self.assertTrue(ret)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_07b82928","line":345,"updated":"2019-05-06 07:05:25.000000000","message":"Add cases for retype_need_change_compression and _qos.","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"379760d8a5478b855766ff4308bc8c1564cb4242","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        new_provision \u003d \u0027thick\u0027"},{"line_number":343,"context_line":"        ret \u003d utils.retype_need_migration(volume, old_provision,"},{"line_number":344,"context_line":"                                          new_provision, new_host)"},{"line_number":345,"context_line":"        self.assertTrue(ret)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_1df07ac9","line":345,"in_reply_to":"dfbec78f_07b82928","updated":"2019-05-10 08:31:02.000000000","message":"added in test_adapter.py","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"}],"cinder/volume/drivers/dell_emc/unity/adapter.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7bab96a1f522a789801a15f42f63231d03217280","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                                             utils.PROVISIONING_TYPE)"},{"line_number":129,"context_line":"            compression \u003d utils.get_extra_spec(self._volume,"},{"line_number":130,"context_line":"                                               \u0027compression_support\u0027)"},{"line_number":131,"context_line":"            if provision \u003d\u003d utils.PROVISIONING_COMPRESSED \\"},{"line_number":132,"context_line":"                    and compression \u003d\u003d \u0027\u003cis\u003e True\u0027:"},{"line_number":133,"context_line":"                self._is_compressed \u003d True"},{"line_number":134,"context_line":"        return self._is_compressed"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffb9cba7_f293e759","line":131,"range":{"start_line":131,"start_character":58,"end_line":131,"end_character":59},"updated":"2019-04-29 13:27:08.000000000","message":"Please avoid using \\ for multiline statements. Put the conditional in () to allow spanning lines instead.","commit_id":"75043ed49f60aa38942ed8d37c9ca0e7275a96ac"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"113d03d64d549dcab467d9f90dd9cb2e7d00b1b9","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                                             utils.PROVISIONING_TYPE)"},{"line_number":129,"context_line":"            compression \u003d utils.get_extra_spec(self._volume,"},{"line_number":130,"context_line":"                                               \u0027compression_support\u0027)"},{"line_number":131,"context_line":"            if provision \u003d\u003d utils.PROVISIONING_COMPRESSED \\"},{"line_number":132,"context_line":"                    and compression \u003d\u003d \u0027\u003cis\u003e True\u0027:"},{"line_number":133,"context_line":"                self._is_compressed \u003d True"},{"line_number":134,"context_line":"        return self._is_compressed"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffb9cba7_3f813ffc","line":131,"range":{"start_line":131,"start_character":58,"end_line":131,"end_character":59},"in_reply_to":"ffb9cba7_f293e759","updated":"2019-04-30 09:05:44.000000000","message":"Done","commit_id":"75043ed49f60aa38942ed8d37c9ca0e7275a96ac"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"d2253b37a3afc881f75f0c71f8634be0002b19aa","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                                             utils.PROVISIONING_TYPE)"},{"line_number":129,"context_line":"            compression \u003d utils.get_extra_spec(self._volume,"},{"line_number":130,"context_line":"                                               \u0027compression_support\u0027)"},{"line_number":131,"context_line":"            if provision \u003d\u003d (utils.PROVISIONING_COMPRESSED and"},{"line_number":132,"context_line":"                             compression \u003d\u003d \u0027\u003cis\u003e True\u0027):"},{"line_number":133,"context_line":"                self._is_compressed \u003d True"},{"line_number":134,"context_line":"        return self._is_compressed"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_7f55f34f","line":132,"range":{"start_line":131,"start_character":29,"end_line":132,"end_character":55},"updated":"2019-05-05 12:23:08.000000000","message":"This seems wrong,\nif\n\u0027\u0027\u0027\ncompression \u003d \u0027\u003cis\u003e True\u0027\nthen the final comparison will be provision \u003d\u003d True\nrather than comparing \u0027provision\u0027 with utils.PROVISIONING_COMPRESSED \n\u0027\u0027\u0027\ni think this should be\nif (provision \u003d\u003d utils.PROVISIONING_COMPRESSED and\n    compression \u003d\u003d \u0027\u003cis\u003e True\u0027):","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":26114,"name":"Yong Huang","email":"yong.huang@emc.com","username":"yong.huang"},"change_message_id":"8001cd3f2ed8d4a68c6bf20552860f0ceddc2174","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                                             utils.PROVISIONING_TYPE)"},{"line_number":129,"context_line":"            compression \u003d utils.get_extra_spec(self._volume,"},{"line_number":130,"context_line":"                                               \u0027compression_support\u0027)"},{"line_number":131,"context_line":"            if provision \u003d\u003d (utils.PROVISIONING_COMPRESSED and"},{"line_number":132,"context_line":"                             compression \u003d\u003d \u0027\u003cis\u003e True\u0027):"},{"line_number":133,"context_line":"                self._is_compressed \u003d True"},{"line_number":134,"context_line":"        return self._is_compressed"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_043587da","line":132,"range":{"start_line":131,"start_character":29,"end_line":132,"end_character":55},"in_reply_to":"dfbec78f_7f55f34f","updated":"2019-05-06 03:40:38.000000000","message":"Agree, it is a bug.","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":18742,"name":"Ryan Liang","email":"ryan.liang@emc.com","username":"RyanLiang"},"change_message_id":"691c1521bd0425705e4136efa8b28b1b5ff19629","unresolved":false,"context_lines":[{"line_number":333,"context_line":"            self.client.delete_lun(lun_id)"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"    def retype(self, ctxt, volume, new_type, diff, host):"},{"line_number":336,"context_line":"        \"\"\"Changes volume from one type to another.\"\"\""},{"line_number":337,"context_line":"        old_qos_specs \u003d {utils.QOS_SPECS: None}"},{"line_number":338,"context_line":"        old_provision \u003d None"},{"line_number":339,"context_line":"        new_specs \u003d volume_types.get_volume_type_extra_specs("}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_a7f7ddf5","line":336,"updated":"2019-05-06 07:05:25.000000000","message":"What if retype from a type without provisioning:type to one with provisioning:type\u003dthin? Should it return directly?","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"d2253b37a3afc881f75f0c71f8634be0002b19aa","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        old_qos_specs \u003d {utils.QOS_SPECS: None}"},{"line_number":338,"context_line":"        old_provision \u003d None"},{"line_number":339,"context_line":"        new_specs \u003d volume_types.get_volume_type_extra_specs("},{"line_number":340,"context_line":"            new_type.get(\u0027id\u0027))"},{"line_number":341,"context_line":"        new_qos_specs \u003d volume_types.get_volume_type_qos_specs("},{"line_number":342,"context_line":"            new_type.get(\u0027id\u0027))"},{"line_number":343,"context_line":"        lun \u003d self.client.get_lun(name\u003dvolume.name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_9fd787c0","line":340,"range":{"start_line":340,"start_character":25,"end_line":340,"end_character":29},"updated":"2019-05-05 12:23:08.000000000","message":"i\u0027m not sure why we are complicating things using CONSTANTS instead of simple strings\nbut since we\u0027re going down that path i would like to know\nwhy QOS_ID \u003d \u0027id\u0027 is declared why are we using string for fetching volumetype id","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"379760d8a5478b855766ff4308bc8c1564cb4242","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        old_qos_specs \u003d {utils.QOS_SPECS: None}"},{"line_number":338,"context_line":"        old_provision \u003d None"},{"line_number":339,"context_line":"        new_specs \u003d volume_types.get_volume_type_extra_specs("},{"line_number":340,"context_line":"            new_type.get(\u0027id\u0027))"},{"line_number":341,"context_line":"        new_qos_specs \u003d volume_types.get_volume_type_qos_specs("},{"line_number":342,"context_line":"            new_type.get(\u0027id\u0027))"},{"line_number":343,"context_line":"        lun \u003d self.client.get_lun(name\u003dvolume.name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_1de63a46","line":340,"range":{"start_line":340,"start_character":25,"end_line":340,"end_character":29},"in_reply_to":"dfbec78f_9fd787c0","updated":"2019-05-10 08:31:02.000000000","message":"Done","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"d2253b37a3afc881f75f0c71f8634be0002b19aa","unresolved":false,"context_lines":[{"line_number":359,"context_line":"        if need_migration or need_change_compress[0] or need_change_qos:"},{"line_number":360,"context_line":"            if self.client.lun_has_snapshot(lun):"},{"line_number":361,"context_line":"                LOG.warning(\u0027Driver is not able to do retype because \u0027"},{"line_number":362,"context_line":"                            \u0027the volume %s has a snapshot.\u0027,"},{"line_number":363,"context_line":"                            volume.id)"},{"line_number":364,"context_line":"                return False"},{"line_number":365,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_7f03b343","line":362,"range":{"start_line":362,"start_character":47,"end_line":362,"end_character":58},"updated":"2019-05-05 12:23:08.000000000","message":"a volume might have multiple snapshots,\ncan we rewrite it as\n... has snapshot(s).","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"379760d8a5478b855766ff4308bc8c1564cb4242","unresolved":false,"context_lines":[{"line_number":359,"context_line":"        if need_migration or need_change_compress[0] or need_change_qos:"},{"line_number":360,"context_line":"            if self.client.lun_has_snapshot(lun):"},{"line_number":361,"context_line":"                LOG.warning(\u0027Driver is not able to do retype because \u0027"},{"line_number":362,"context_line":"                            \u0027the volume %s has a snapshot.\u0027,"},{"line_number":363,"context_line":"                            volume.id)"},{"line_number":364,"context_line":"                return False"},{"line_number":365,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_ddd18259","line":362,"range":{"start_line":362,"start_character":47,"end_line":362,"end_character":58},"in_reply_to":"dfbec78f_7f03b343","updated":"2019-05-10 08:31:02.000000000","message":"Done","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"d2253b37a3afc881f75f0c71f8634be0002b19aa","unresolved":false,"context_lines":[{"line_number":364,"context_line":"                return False"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"        new_qos_dict \u003d new_qos_specs.get(utils.QOS_SPECS)"},{"line_number":367,"context_line":"        new_io_policy \u003d self.client.get_io_limit_policy(new_qos_dict) \\"},{"line_number":368,"context_line":"            if need_change_qos else None"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"        if need_change_qos:"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_1f9ab713","line":367,"range":{"start_line":367,"start_character":70,"end_line":367,"end_character":71},"updated":"2019-05-05 12:23:08.000000000","message":"use paranthesis instead","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"379760d8a5478b855766ff4308bc8c1564cb4242","unresolved":false,"context_lines":[{"line_number":364,"context_line":"                return False"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"        new_qos_dict \u003d new_qos_specs.get(utils.QOS_SPECS)"},{"line_number":367,"context_line":"        new_io_policy \u003d self.client.get_io_limit_policy(new_qos_dict) \\"},{"line_number":368,"context_line":"            if need_change_qos else None"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"        if need_change_qos:"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_bdd04e52","line":367,"range":{"start_line":367,"start_character":70,"end_line":367,"end_character":71},"in_reply_to":"dfbec78f_0454a7c9","updated":"2019-05-10 08:31:02.000000000","message":"Done","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":26114,"name":"Yong Huang","email":"yong.huang@emc.com","username":"yong.huang"},"change_message_id":"8001cd3f2ed8d4a68c6bf20552860f0ceddc2174","unresolved":false,"context_lines":[{"line_number":364,"context_line":"                return False"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"        new_qos_dict \u003d new_qos_specs.get(utils.QOS_SPECS)"},{"line_number":367,"context_line":"        new_io_policy \u003d self.client.get_io_limit_policy(new_qos_dict) \\"},{"line_number":368,"context_line":"            if need_change_qos else None"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"        if need_change_qos:"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_0454a7c9","line":367,"range":{"start_line":367,"start_character":70,"end_line":367,"end_character":71},"in_reply_to":"dfbec78f_1f9ab713","updated":"2019-05-06 03:40:38.000000000","message":"Why not move this sentence into \"if need_change_qos:\" branch.","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":26114,"name":"Yong Huang","email":"yong.huang@emc.com","username":"yong.huang"},"change_message_id":"8001cd3f2ed8d4a68c6bf20552860f0ceddc2174","unresolved":false,"context_lines":[{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        if need_change_compress[0]:"},{"line_number":386,"context_line":"            # Modify lun to change compression"},{"line_number":387,"context_line":"            lun.modify(is_compression\u003dneed_change_compress[1])"},{"line_number":388,"context_line":"        return True"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"    def _create_host_and_attach(self, host_name, lun_or_snap):"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_a42cbb47","line":387,"updated":"2019-05-06 03:40:38.000000000","message":"If both of need_change_qos and need_change_compress[0] are True, lun.modify will be invoked twice, can we combine them? Too many Rest calls will impact Unity performance.","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"379760d8a5478b855766ff4308bc8c1564cb4242","unresolved":false,"context_lines":[{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        if need_change_compress[0]:"},{"line_number":386,"context_line":"            # Modify lun to change compression"},{"line_number":387,"context_line":"            lun.modify(is_compression\u003dneed_change_compress[1])"},{"line_number":388,"context_line":"        return True"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"    def _create_host_and_attach(self, host_name, lun_or_snap):"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_bd5e0ee4","line":387,"in_reply_to":"dfbec78f_a42cbb47","updated":"2019-05-10 08:31:02.000000000","message":"Modify doesn\u0027t support to remove or set an empty qos settings.\nSo I split qos and compressed to each part.","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"}],"cinder/volume/drivers/dell_emc/unity/driver.py":[{"author":{"_account_id":26114,"name":"Yong Huang","email":"yong.huang@emc.com","username":"yong.huang"},"change_message_id":"8001cd3f2ed8d4a68c6bf20552860f0ceddc2174","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        3.1.0 - Support revert to snapshot API"},{"line_number":62,"context_line":"        4.0.0 - Support remove empty host"},{"line_number":63,"context_line":"        4.2.0 - Support compressed volume"},{"line_number":64,"context_line":"        5.0.0 - Support storage assisted volume migration"},{"line_number":65,"context_line":"    \"\"\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    VERSION \u003d \u002705.00.00\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_443b7fd0","line":64,"updated":"2019-05-06 03:40:38.000000000","message":"Please add a new version.","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"379760d8a5478b855766ff4308bc8c1564cb4242","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        3.1.0 - Support revert to snapshot API"},{"line_number":62,"context_line":"        4.0.0 - Support remove empty host"},{"line_number":63,"context_line":"        4.2.0 - Support compressed volume"},{"line_number":64,"context_line":"        5.0.0 - Support storage assisted volume migration"},{"line_number":65,"context_line":"    \"\"\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    VERSION \u003d \u002705.00.00\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_7d709673","line":64,"in_reply_to":"dfbec78f_443b7fd0","updated":"2019-05-10 08:31:02.000000000","message":"Done","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":26114,"name":"Yong Huang","email":"yong.huang@emc.com","username":"yong.huang"},"change_message_id":"8001cd3f2ed8d4a68c6bf20552860f0ceddc2174","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        5.0.0 - Support storage assisted volume migration"},{"line_number":65,"context_line":"    \"\"\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    VERSION \u003d \u002705.00.00\u0027"},{"line_number":68,"context_line":"    VENDOR \u003d \u0027Dell EMC\u0027"},{"line_number":69,"context_line":"    # ThirdPartySystems wiki page"},{"line_number":70,"context_line":"    CI_WIKI_NAME \u003d \"EMC_UNITY_CI\""}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_643803d3","line":67,"updated":"2019-05-06 03:40:38.000000000","message":"Update to the new version.","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"379760d8a5478b855766ff4308bc8c1564cb4242","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        5.0.0 - Support storage assisted volume migration"},{"line_number":65,"context_line":"    \"\"\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    VERSION \u003d \u002705.00.00\u0027"},{"line_number":68,"context_line":"    VENDOR \u003d \u0027Dell EMC\u0027"},{"line_number":69,"context_line":"    # ThirdPartySystems wiki page"},{"line_number":70,"context_line":"    CI_WIKI_NAME \u003d \"EMC_UNITY_CI\""}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_1d6dda97","line":67,"in_reply_to":"dfbec78f_643803d3","updated":"2019-05-10 08:31:02.000000000","message":"Done","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"}],"cinder/volume/drivers/dell_emc/unity/utils.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7bab96a1f522a789801a15f42f63231d03217280","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"def retype_need_change_compression(old_provision, new_provision):"},{"line_number":131,"context_line":"    \"\"\":return: whether need change compression and the new value"},{"line_number":132,"context_line":"    \"\"\""},{"line_number":133,"context_line":"    if (not old_provision) and new_provision \u003d\u003d PROVISIONING_COMPRESSED:"},{"line_number":134,"context_line":"        return True, True"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffb9cba7_d27fc312","line":131,"range":{"start_line":131,"start_character":7,"end_line":131,"end_character":15},"updated":"2019-04-29 13:27:08.000000000","message":"Single line docstrings should just be one line of:\n\n\"\"\"Summary message for docstring.\"\"\"\n\nIf you want to document params and return values then it needs to be single line summary, blank line, then the rest of the details.","commit_id":"75043ed49f60aa38942ed8d37c9ca0e7275a96ac"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"113d03d64d549dcab467d9f90dd9cb2e7d00b1b9","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"def retype_need_change_compression(old_provision, new_provision):"},{"line_number":131,"context_line":"    \"\"\":return: whether need change compression and the new value"},{"line_number":132,"context_line":"    \"\"\""},{"line_number":133,"context_line":"    if (not old_provision) and new_provision \u003d\u003d PROVISIONING_COMPRESSED:"},{"line_number":134,"context_line":"        return True, True"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffb9cba7_ff7e4717","line":131,"range":{"start_line":131,"start_character":7,"end_line":131,"end_character":15},"in_reply_to":"ffb9cba7_d27fc312","updated":"2019-04-30 09:05:44.000000000","message":"Done","commit_id":"75043ed49f60aa38942ed8d37c9ca0e7275a96ac"},{"author":{"_account_id":18742,"name":"Ryan Liang","email":"ryan.liang@emc.com","username":"RyanLiang"},"change_message_id":"691c1521bd0425705e4136efa8b28b1b5ff19629","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"def retype_need_change_compression(old_provision, new_provision):"},{"line_number":131,"context_line":"    \"\"\":return: whether need change compression and the new value\"\"\""},{"line_number":132,"context_line":"    if (not old_provision) and new_provision \u003d\u003d PROVISIONING_COMPRESSED:"},{"line_number":133,"context_line":"        return True, True"},{"line_number":134,"context_line":"    elif old_provision \u003d\u003d PROVISIONING_COMPRESSED and (not new_provision):"},{"line_number":135,"context_line":"        return True, False"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_e703950c","line":132,"updated":"2019-05-06 07:05:25.000000000","message":"Take old_provision \u003d thin into consideration.\n`old_provision` and `new_provision` could have four possible values, `None`, `thin`, `thick` and `compressed`. Changing compression is enough in the retype between `None` and `compressed`, `thin` and `compressed`.","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"379760d8a5478b855766ff4308bc8c1564cb4242","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"def retype_need_change_compression(old_provision, new_provision):"},{"line_number":131,"context_line":"    \"\"\":return: whether need change compression and the new value\"\"\""},{"line_number":132,"context_line":"    if (not old_provision) and new_provision \u003d\u003d PROVISIONING_COMPRESSED:"},{"line_number":133,"context_line":"        return True, True"},{"line_number":134,"context_line":"    elif old_provision \u003d\u003d PROVISIONING_COMPRESSED and (not new_provision):"},{"line_number":135,"context_line":"        return True, False"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_7d1e560d","line":132,"in_reply_to":"dfbec78f_e703950c","updated":"2019-05-10 08:31:02.000000000","message":"Done","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":26114,"name":"Yong Huang","email":"yong.huang@emc.com","username":"yong.huang"},"change_message_id":"8001cd3f2ed8d4a68c6bf20552860f0ceddc2174","unresolved":false,"context_lines":[{"line_number":140,"context_line":"def retype_need_change_qos(old_qos\u003dNone, new_qos\u003dNone):"},{"line_number":141,"context_line":"    old \u003d old_qos.get(QOS_SPECS).get(QOS_ID) if old_qos.get(QOS_SPECS) else \u0027\u0027"},{"line_number":142,"context_line":"    new \u003d new_qos.get(QOS_SPECS).get(QOS_ID) if new_qos.get(QOS_SPECS) else \u0027\u0027"},{"line_number":143,"context_line":"    if old !\u003d new:"},{"line_number":144,"context_line":"        return True"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_64f563cb","line":143,"updated":"2019-05-06 03:40:38.000000000","message":"To keep return value consistency with other retype_new_xxx methods, it\u0027s better to use \"return old !\u003d new\" instead of only return True when old !\u003d new.","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"379760d8a5478b855766ff4308bc8c1564cb4242","unresolved":false,"context_lines":[{"line_number":140,"context_line":"def retype_need_change_qos(old_qos\u003dNone, new_qos\u003dNone):"},{"line_number":141,"context_line":"    old \u003d old_qos.get(QOS_SPECS).get(QOS_ID) if old_qos.get(QOS_SPECS) else \u0027\u0027"},{"line_number":142,"context_line":"    new \u003d new_qos.get(QOS_SPECS).get(QOS_ID) if new_qos.get(QOS_SPECS) else \u0027\u0027"},{"line_number":143,"context_line":"    if old !\u003d new:"},{"line_number":144,"context_line":"        return True"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_9d0eaae3","line":143,"in_reply_to":"dfbec78f_64f563cb","updated":"2019-05-10 08:31:02.000000000","message":"Done","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"32657b58a5f120fe352dd59fb429a4822aa8049e","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"def retype_need_change_compression(old_provision, new_provision):"},{"line_number":133,"context_line":"    \"\"\":return: whether need change compression and the new value\"\"\""},{"line_number":134,"context_line":"    if ((not old_provision or old_provision \u003d\u003d \u0027thin\u0027) and"},{"line_number":135,"context_line":"            new_provision \u003d\u003d PROVISIONING_COMPRESSED):"},{"line_number":136,"context_line":"        return True, True"}],"source_content_type":"text/x-python","patch_set":13,"id":"df33271e_4ba2d64c","line":133,"range":{"start_line":133,"start_character":8,"end_line":133,"end_character":14},"updated":"2020-03-30 19:41:27.000000000","message":"returns\n\nIf you are adding some docstring info, it would be good to add the whole documentation.","commit_id":"3a469cda3447b4871e11575c60b2454c289cc682"},{"author":{"_account_id":18742,"name":"Ryan Liang","email":"ryan.liang@emc.com","username":"RyanLiang"},"change_message_id":"d6f586485b51a76dc0e913ee999749ef91acc468","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"def retype_need_change_compression(old_provision, new_provision):"},{"line_number":133,"context_line":"    \"\"\":return: whether need change compression and the new value\"\"\""},{"line_number":134,"context_line":"    if ((not old_provision or old_provision \u003d\u003d \u0027thin\u0027) and"},{"line_number":135,"context_line":"            new_provision \u003d\u003d PROVISIONING_COMPRESSED):"},{"line_number":136,"context_line":"        return True, True"}],"source_content_type":"text/x-python","patch_set":13,"id":"df33271e_10f11696","line":133,"range":{"start_line":133,"start_character":8,"end_line":133,"end_character":14},"in_reply_to":"df33271e_4ba2d64c","updated":"2020-03-31 04:27:45.000000000","message":"Hi Sean, the docstring for `return` could be either `returns` or `return` according to the sphinx document, http://www.sphinx-doc.org/en/master/usage/restructuredtext/domains.html:\n\n    returns, return: Description of the return value.\n\nCould you give some guidelines about when to use `returns` and when to use `return`? And the default behavior in pycharm for generating rst docstring is using `return`. I didn\u0027t find a way to change it. Do you know any tips about configuring pycharm to use `returns`?\n\nThank you!","commit_id":"3a469cda3447b4871e11575c60b2454c289cc682"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"0ce0c89c2e51450b0ad75e9950752e00ad89008d","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"def retype_need_change_compression(old_provision, new_provision):"},{"line_number":133,"context_line":"    \"\"\":return: whether need change compression and the new value\"\"\""},{"line_number":134,"context_line":"    if ((not old_provision or old_provision \u003d\u003d \u0027thin\u0027) and"},{"line_number":135,"context_line":"            new_provision \u003d\u003d PROVISIONING_COMPRESSED):"},{"line_number":136,"context_line":"        return True, True"}],"source_content_type":"text/x-python","patch_set":13,"id":"df33271e_0d48dd59","line":133,"range":{"start_line":133,"start_character":8,"end_line":133,"end_character":14},"in_reply_to":"df33271e_4ba2d64c","updated":"2020-03-31 02:21:01.000000000","message":"got it, will notice such thing in the future.","commit_id":"3a469cda3447b4871e11575c60b2454c289cc682"}],"doc/source/configuration/block-storage/drivers/dell-emc-unity-driver.rst":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7bab96a1f522a789801a15f42f63231d03217280","unresolved":false,"context_lines":[{"line_number":291,"context_line":""},{"line_number":292,"context_line":"   $ cinder retype [--migration-policy \u003cnever|on-demand\u003e] \u003cvolume\u003e \u003cvolume-type\u003e"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"Some of the retype will involve migration based on back-end support."},{"line_number":295,"context_line":"The --migration-policy is never by default."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ffb9cba7_52919346","line":294,"range":{"start_line":294,"start_character":0,"end_line":294,"end_character":31},"updated":"2019-04-29 13:27:08.000000000","message":"This sounds a bit odd. Maybe something like \"Some retype operations will require migration...\"?","commit_id":"75043ed49f60aa38942ed8d37c9ca0e7275a96ac"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"113d03d64d549dcab467d9f90dd9cb2e7d00b1b9","unresolved":false,"context_lines":[{"line_number":291,"context_line":""},{"line_number":292,"context_line":"   $ cinder retype [--migration-policy \u003cnever|on-demand\u003e] \u003cvolume\u003e \u003cvolume-type\u003e"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"Some of the retype will involve migration based on back-end support."},{"line_number":295,"context_line":"The --migration-policy is never by default."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ffb9cba7_bf744f37","line":294,"range":{"start_line":294,"start_character":0,"end_line":294,"end_character":31},"in_reply_to":"ffb9cba7_52919346","updated":"2019-04-30 09:05:44.000000000","message":"Done","commit_id":"75043ed49f60aa38942ed8d37c9ca0e7275a96ac"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7bab96a1f522a789801a15f42f63231d03217280","unresolved":false,"context_lines":[{"line_number":292,"context_line":"   $ cinder retype [--migration-policy \u003cnever|on-demand\u003e] \u003cvolume\u003e \u003cvolume-type\u003e"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"Some of the retype will involve migration based on back-end support."},{"line_number":295,"context_line":"The --migration-policy is never by default."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"QoS support"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ffb9cba7_72961742","line":295,"range":{"start_line":295,"start_character":23,"end_line":295,"end_character":42},"updated":"2019-04-29 13:27:08.000000000","message":"\"is not enabled by default.","commit_id":"75043ed49f60aa38942ed8d37c9ca0e7275a96ac"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"113d03d64d549dcab467d9f90dd9cb2e7d00b1b9","unresolved":false,"context_lines":[{"line_number":292,"context_line":"   $ cinder retype [--migration-policy \u003cnever|on-demand\u003e] \u003cvolume\u003e \u003cvolume-type\u003e"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"Some of the retype will involve migration based on back-end support."},{"line_number":295,"context_line":"The --migration-policy is never by default."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"QoS support"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ffb9cba7_df710346","line":295,"range":{"start_line":295,"start_character":23,"end_line":295,"end_character":42},"in_reply_to":"ffb9cba7_72961742","updated":"2019-04-30 09:05:44.000000000","message":"Done","commit_id":"75043ed49f60aa38942ed8d37c9ca0e7275a96ac"},{"author":{"_account_id":18742,"name":"Ryan Liang","email":"ryan.liang@emc.com","username":"RyanLiang"},"change_message_id":"691c1521bd0425705e4136efa8b28b1b5ff19629","unresolved":false,"context_lines":[{"line_number":293,"context_line":""},{"line_number":294,"context_line":"Some retype operations will require migration based on back-end support."},{"line_number":295,"context_line":"The --migration-policy is not enabled by default."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"QoS support"},{"line_number":299,"context_line":"~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dfbec78f_477dc11a","line":296,"updated":"2019-05-06 07:05:25.000000000","message":"Add descriptions for the cases which will trigger array-assisted migration inside the driver implemention of retype no matter what value is set to migration-policy. For example, retype between `thin` and `thick`.","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"6fed818a9f64759a845ee85c8d138f7fe5dd75d2","unresolved":false,"context_lines":[{"line_number":305,"context_line":""},{"line_number":306,"context_line":"The --migration-policy is not enabled by default."},{"line_number":307,"context_line":"Some retype operations will require migration based on back-end support."},{"line_number":308,"context_line":"In these cases, the storage-assisted migration will be triggered regardless"},{"line_number":309,"context_line":"the --migration-policy. For examples: retype between \u0027thin\u0027 and \u0027thick\u0027, retype"},{"line_number":310,"context_line":"between \u0027thick\u0027 and \u0027compressed\u0027, retype to type(s) current host doesn\u0027t"},{"line_number":311,"context_line":"support."},{"line_number":312,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"df33271e_173e4cb7","line":309,"range":{"start_line":308,"start_character":65,"end_line":309,"end_character":3},"updated":"2020-04-08 20:06:36.000000000","message":"regardless of the","commit_id":"3a469cda3447b4871e11575c60b2454c289cc682"}],"releasenotes/notes/unity-retype-volume-support-773ae17b8811fb3f.yaml":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7bab96a1f522a789801a15f42f63231d03217280","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Dell EMC Unity driver: Add retype volume support."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ffb9cba7_d2a4a3a8","line":4,"updated":"2019-04-29 13:27:08.000000000","message":"All drivers support retype, it\u0027s just a matter if the backend can support it without cinder needing to copy all of the data off of the original volume to a new volume. Maybe change this to something like:\n\nDell EMC Unity: Support for efficient retype support when new type uses the same Unity device\n\n\nSomething along those lines at least.","commit_id":"75043ed49f60aa38942ed8d37c9ca0e7275a96ac"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"113d03d64d549dcab467d9f90dd9cb2e7d00b1b9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Dell EMC Unity driver: Add retype volume support."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ffb9cba7_7f901744","line":4,"in_reply_to":"ffb9cba7_d2a4a3a8","updated":"2019-04-30 09:05:44.000000000","message":"Done","commit_id":"75043ed49f60aa38942ed8d37c9ca0e7275a96ac"},{"author":{"_account_id":18742,"name":"Ryan Liang","email":"ryan.liang@emc.com","username":"RyanLiang"},"change_message_id":"691c1521bd0425705e4136efa8b28b1b5ff19629","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Dell EMC Unity driver: Support for efficient retype support when new type uses the same Unity device."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"dfbec78f_a704bd7c","line":4,"range":{"start_line":4,"start_character":27,"end_line":4,"end_character":38},"updated":"2019-05-06 07:05:25.000000000","message":"s/Support for/Add","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"},{"author":{"_account_id":29291,"name":"DingDong","email":"dong.ding@emc.com","username":"DingDong"},"change_message_id":"379760d8a5478b855766ff4308bc8c1564cb4242","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Dell EMC Unity driver: Support for efficient retype support when new type uses the same Unity device."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"dfbec78f_7dcdf65b","line":4,"range":{"start_line":4,"start_character":27,"end_line":4,"end_character":38},"in_reply_to":"dfbec78f_a704bd7c","updated":"2019-05-10 08:31:02.000000000","message":"Done","commit_id":"7a3dc1b3d280d33d6949e7cd1407f52cb51df83d"}]}
