)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"039ff06dee4792479f8a611c07c434ebf27e1b0e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zhangyanxian \u003czhang.yanxian@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-11 10:05:30 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Insert the description of the change."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I17351e237efc6a8147b6864250e01579b02178b8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1aa78d24_50ec0929","line":7,"updated":"2016-07-11 10:12:17.000000000","message":"Please, change commit message to describe what actually was done","commit_id":"242a9118bf2f3f66e46860d066ee299899cf599d"}],"cinder/volume/drivers/huawei/huawei_driver.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"e9d2cc498f1ed971bdd162a2d5dc5df8fa05e075","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        opts.update(opts_value)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        for key, value in specs.items():"},{"line_number":252,"context_line":"            # Get the scope, if is using scope format."},{"line_number":253,"context_line":"            scope \u003d None"},{"line_number":254,"context_line":"            key_split \u003d key.split(\u0027:\u0027)"},{"line_number":255,"context_line":"            if len(key_split) \u003e 2 and key_split[0] !\u003d \"capabilities\":"}],"source_content_type":"text/x-python","patch_set":12,"id":"3ac371cc_84ab9774","line":252,"updated":"2016-08-17 16:20:28.000000000","message":"We should fix this comment.","commit_id":"9f518ab4aedb6c94653e037add857ef3b773f6a1"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"e9d2cc498f1ed971bdd162a2d5dc5df8fa05e075","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    def _create_base_type_volume(self, opts, volume, volume_type):"},{"line_number":322,"context_line":"        \"\"\"Create volume and add some base type."},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        Base type is the services won\u0027t conflict with the other service."},{"line_number":325,"context_line":"        \"\"\""},{"line_number":326,"context_line":"        lun_params \u003d self._get_lun_params(volume, opts)"},{"line_number":327,"context_line":"        lun_info, model_update \u003d self._create_volume(volume, lun_params)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3ac371cc_44fa3f76","line":324,"updated":"2016-08-17 16:20:28.000000000","message":"Please fix this.","commit_id":"9f518ab4aedb6c94653e037add857ef3b773f6a1"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"e9d2cc498f1ed971bdd162a2d5dc5df8fa05e075","unresolved":false,"context_lines":[{"line_number":551,"context_line":"            LOG.error(_LE(\u0027Unable to rename lun %s on array.\u0027), current_name)"},{"line_number":552,"context_line":"            return {\u0027_name_id\u0027: new_volume.name_id}"},{"line_number":553,"context_line":""},{"line_number":554,"context_line":"        LOG.debug(\"Rename lun from %(current_name)s to %(original_name)s \""},{"line_number":555,"context_line":"                  \"successfully.\","},{"line_number":556,"context_line":"                  {\u0027current_name\u0027: current_name,"},{"line_number":557,"context_line":"                   \u0027original_name\u0027: original_name})"}],"source_content_type":"text/x-python","patch_set":12,"id":"3ac371cc_a47fb3de","line":554,"range":{"start_line":554,"start_character":19,"end_line":554,"end_character":25},"updated":"2016-08-17 16:20:28.000000000","message":"Renamed","commit_id":"9f518ab4aedb6c94653e037add857ef3b773f6a1"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"462fedfb580bcb8fccd76fb2024429ead9e0642b","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        opts.update(opts_value)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        for key, value in specs.items():"},{"line_number":252,"context_line":"            # Get the scope, which is using scope format."},{"line_number":253,"context_line":"            scope \u003d None"},{"line_number":254,"context_line":"            key_split \u003d key.split(\u0027:\u0027)"},{"line_number":255,"context_line":"            if len(key_split) \u003e 2 and key_split[0] !\u003d \"capabilities\":"}],"source_content_type":"text/x-python","patch_set":13,"id":"3ac371cc_2e4b765a","line":252,"range":{"start_line":252,"start_character":29,"end_line":252,"end_character":35},"updated":"2016-08-18 09:17:31.000000000","message":"-1: \"if it\"","commit_id":"78e0e6f71734bbfe388a887ffcf184c63d69919f"},{"author":{"_account_id":21517,"name":"Shashi","email":"sonawane.shashikant@hpe.com","username":"sonawane.shashikant"},"change_message_id":"6b99e344d776be3cd85d05b1e998180113ac29f7","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    def _create_base_type_volume(self, opts, volume, volume_type):"},{"line_number":322,"context_line":"        \"\"\"Create volume and add some base type."},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        Base type is the service type which isn\u0027t in conflict with the other."},{"line_number":325,"context_line":"        \"\"\""},{"line_number":326,"context_line":"        lun_params \u003d self._get_lun_params(volume, opts)"},{"line_number":327,"context_line":"        lun_info, model_update \u003d self._create_volume(volume, lun_params)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3ac371cc_470e89e5","line":324,"range":{"start_line":324,"start_character":44,"end_line":324,"end_character":52},"updated":"2016-08-18 12:17:14.000000000","message":"\"doesn’t\"","commit_id":"78e0e6f71734bbfe388a887ffcf184c63d69919f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"462fedfb580bcb8fccd76fb2024429ead9e0642b","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                                   model_update):"},{"line_number":350,"context_line":"        \"\"\"Add the extend type."},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        Extend type is the services may conflict with LUNCopy."},{"line_number":353,"context_line":"        So add it after those services."},{"line_number":354,"context_line":"        \"\"\""},{"line_number":355,"context_line":"        lun_id \u003d lun_info[\u0027ID\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"3ac371cc_0e679ab7","line":352,"range":{"start_line":352,"start_character":8,"end_line":352,"end_character":62},"updated":"2016-08-18 09:17:31.000000000","message":"I don\u0027t know what this means is it?\n\n Extend type is the services\u0027, and may conflict with LUNCopy.\n\nOr is it?\n\n Extend type in the services may conflict with LUNCopy.","commit_id":"78e0e6f71734bbfe388a887ffcf184c63d69919f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"462fedfb580bcb8fccd76fb2024429ead9e0642b","unresolved":false,"context_lines":[{"line_number":754,"context_line":"                self.delete_snapshot(snapshot)"},{"line_number":755,"context_line":"            except exception.VolumeBackendAPIException:"},{"line_number":756,"context_line":"                LOG.warning(_LW("},{"line_number":757,"context_line":"                    \u0027Failed to delete the snapshot %(snapshot_id)s \u0027"},{"line_number":758,"context_line":"                    \u0027of volume %(volume_id)s.\u0027),"},{"line_number":759,"context_line":"                    {\u0027snapshot_id\u0027: snapshot.id,"},{"line_number":760,"context_line":"                     \u0027volume_id\u0027: src_vref.id},)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3ac371cc_2ef1b6cd","line":757,"updated":"2016-08-18 09:17:31.000000000","message":"-1: Why is it necessary to change this?  I don\u0027t think it adds much value since the original one was gramaticaly correct and this just adds more work for the translation team.","commit_id":"78e0e6f71734bbfe388a887ffcf184c63d69919f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"462fedfb580bcb8fccd76fb2024429ead9e0642b","unresolved":false,"context_lines":[{"line_number":1870,"context_line":"            properties[\u0027auth_username\u0027] \u003d chap_username"},{"line_number":1871,"context_line":"            properties[\u0027auth_password\u0027] \u003d chap_password"},{"line_number":1872,"context_line":""},{"line_number":1873,"context_line":"        LOG.info(_LI(\"initialize_connection success. Returned data: %s.\"),"},{"line_number":1874,"context_line":"                 properties)"},{"line_number":1875,"context_line":"        return {\u0027driver_volume_type\u0027: \u0027iscsi\u0027, \u0027data\u0027: properties}"},{"line_number":1876,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3ac371cc_cecf4254","line":1873,"updated":"2016-08-18 09:17:31.000000000","message":"nit: I don\u0027t think it\u0027s returned data, because it\u0027s the data we are going to return via RPC, not the one we have returned.","commit_id":"78e0e6f71734bbfe388a887ffcf184c63d69919f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"462fedfb580bcb8fccd76fb2024429ead9e0642b","unresolved":false,"context_lines":[{"line_number":2115,"context_line":"            fc_info[\u0027data\u0027][\u0027target_lun\u0027] \u003d same_host_id"},{"line_number":2116,"context_line":"            hyperm.rmt_client.logout()"},{"line_number":2117,"context_line":""},{"line_number":2118,"context_line":"        LOG.info(_LI(\"Returned FC info is: %s.\"), fc_info)"},{"line_number":2119,"context_line":"        return fc_info"},{"line_number":2120,"context_line":""},{"line_number":2121,"context_line":"    def _get_same_hostid(self, loc_fc_info, rmt_fc_info):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3ac371cc_eefb1e77","line":2118,"updated":"2016-08-18 09:17:31.000000000","message":"ditto","commit_id":"78e0e6f71734bbfe388a887ffcf184c63d69919f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"462fedfb580bcb8fccd76fb2024429ead9e0642b","unresolved":false,"context_lines":[{"line_number":2228,"context_line":"                                                 self.configuration)"},{"line_number":2229,"context_line":"            hyperm.disconnect_volume_fc(volume, connector)"},{"line_number":2230,"context_line":""},{"line_number":2231,"context_line":"        LOG.info(_LI(\"terminate_connection, returned data is: %s.\"),"},{"line_number":2232,"context_line":"                 fc_info)"},{"line_number":2233,"context_line":""},{"line_number":2234,"context_line":"        return fc_info"}],"source_content_type":"text/x-python","patch_set":13,"id":"3ac371cc_2ef2569a","line":2231,"updated":"2016-08-18 09:17:31.000000000","message":"ditto","commit_id":"78e0e6f71734bbfe388a887ffcf184c63d69919f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"23bbd3f4a697ad1cc220cfec2a317b7922c70501","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    def _create_base_type_volume(self, opts, volume, volume_type):"},{"line_number":322,"context_line":"        \"\"\"Create volume and add some base type."},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        Base type is the service type which doesn\u0027t in conflict with the other."},{"line_number":325,"context_line":"        \"\"\""},{"line_number":326,"context_line":"        lun_params \u003d self._get_lun_params(volume, opts)"},{"line_number":327,"context_line":"        lun_info, model_update \u003d self._create_volume(volume, lun_params)"}],"source_content_type":"text/x-python","patch_set":14,"id":"3ac371cc_5cd2a135","line":324,"range":{"start_line":324,"start_character":52,"end_line":324,"end_character":54},"updated":"2016-08-19 08:28:46.000000000","message":"-1: \"in\" should not be there","commit_id":"573e10772d5aed259d45a0b4ab9a681924e14bf5"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"23bbd3f4a697ad1cc220cfec2a317b7922c70501","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                                   model_update):"},{"line_number":350,"context_line":"        \"\"\"Add the extend type."},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        Extend type is the service type which may in conflict with the other."},{"line_number":353,"context_line":"        So add it after those services."},{"line_number":354,"context_line":"        \"\"\""},{"line_number":355,"context_line":"        lun_id \u003d lun_info[\u0027ID\u0027]"}],"source_content_type":"text/x-python","patch_set":14,"id":"3ac371cc_1cc82974","line":352,"range":{"start_line":352,"start_character":50,"end_line":352,"end_character":61},"updated":"2016-08-19 08:28:46.000000000","message":"-1: \"be in conflict\" or just \"conflict\"","commit_id":"573e10772d5aed259d45a0b4ab9a681924e14bf5"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"24794db0df97314d6c9dbead98cdfd9ef1a66459","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                                   model_update):"},{"line_number":350,"context_line":"        \"\"\"Add the extend type."},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        Extend type is the service type which conflict with the other."},{"line_number":353,"context_line":"        So add it after those services."},{"line_number":354,"context_line":"        \"\"\""},{"line_number":355,"context_line":"        lun_id \u003d lun_info[\u0027ID\u0027]"}],"source_content_type":"text/x-python","patch_set":15,"id":"1ac06dbe_a9d29932","line":352,"range":{"start_line":352,"start_character":46,"end_line":352,"end_character":55},"updated":"2016-08-19 10:38:26.000000000","message":"-1: You removed the \"may\" which needs to be there:\n\n Extend type is the service type which may conflict with the other.","commit_id":"facffb8c2647ce63216765f5e6fe13c8250bc73b"}]}
