)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4214eedfd9ea60cecb3c8f23191b0db15e387d65","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Refactor NEC volume driver."},{"line_number":10,"context_line":" * delete unused codes."},{"line_number":11,"context_line":" * change inheritance relationships to delete redundant codes for setting configuration options."},{"line_number":12,"context_line":" * use mock object in test codes properly and delete unnecessary test codes."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I2df44753e014b6ecc0006a004b474689862d0b31"},{"line_number":15,"context_line":"Closes-bug:#1678842"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"ff0f0b1f_a4f26499","line":12,"range":{"start_line":11,"start_character":3,"end_line":12,"end_character":75},"updated":"2017-05-26 21:55:18.000000000","message":"Please wrap at 72 chars.","commit_id":"98a274886302f7fdcef439d20e61c4adb1a316c1"}],"cinder/volume/drivers/nec/volume_helper.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4214eedfd9ea60cecb3c8f23191b0db15e387d65","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    \"\"\"M-Series Storage helper class.\"\"\""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def _convert_id2name(self, volume):"},{"line_number":39,"context_line":"        ldname \u003d (self.get_ldname(volume[\u0027id\u0027],"},{"line_number":40,"context_line":"                                  self._properties[\u0027ld_name_format\u0027]))"},{"line_number":41,"context_line":"        return ldname"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_84f9a04e","line":39,"range":{"start_line":39,"start_character":34,"end_line":39,"end_character":46},"updated":"2017-05-26 21:55:18.000000000","message":"I think \"volume\"  is an object there.  Please use volume.id.","commit_id":"98a274886302f7fdcef439d20e61c4adb1a316c1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4214eedfd9ea60cecb3c8f23191b0db15e387d65","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        return ldname"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def _convert_id2snapname(self, volume):"},{"line_number":44,"context_line":"        ldname \u003d (self.get_ldname(volume[\u0027id\u0027],"},{"line_number":45,"context_line":"                                  self._properties[\u0027ld_backupname_format\u0027]))"},{"line_number":46,"context_line":"        return ldname"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_848e40ce","line":44,"range":{"start_line":44,"start_character":34,"end_line":44,"end_character":46},"updated":"2017-05-26 21:55:18.000000000","message":"Same","commit_id":"98a274886302f7fdcef439d20e61c4adb1a316c1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4214eedfd9ea60cecb3c8f23191b0db15e387d65","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        \"\"\"Pick up migration target pool.\"\"\""},{"line_number":108,"context_line":"        tmpPools, lds, ldsets, used_ldns, hostports, max_ld_count \u003d ("},{"line_number":109,"context_line":"            self.configs(xml))"},{"line_number":110,"context_line":"        ldname \u003d self.get_ldname(volume[\u0027id\u0027],"},{"line_number":111,"context_line":"                                 self._properties[\u0027ld_name_format\u0027])"},{"line_number":112,"context_line":"        ld \u003d lds[ldname]"},{"line_number":113,"context_line":"        temp_conf_properties \u003d self.get_conf_properties(option)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_64bd6c67","line":110,"range":{"start_line":110,"start_character":33,"end_line":110,"end_character":45},"updated":"2017-05-26 21:55:18.000000000","message":"Same","commit_id":"98a274886302f7fdcef439d20e61c4adb1a316c1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4214eedfd9ea60cecb3c8f23191b0db15e387d65","unresolved":false,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        # check MV existence and get MV info."},{"line_number":382,"context_line":"        source_name \u003d ("},{"line_number":383,"context_line":"            self.get_ldname(src_vref[\u0027id\u0027],"},{"line_number":384,"context_line":"                            self._properties[\u0027ld_name_format\u0027]))"},{"line_number":385,"context_line":"        if source_name not in lds:"},{"line_number":386,"context_line":"            msg \u003d (_(\u0027Logical Disk `%(name)s` has unbound already. \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_04bc7067","line":383,"range":{"start_line":383,"start_character":28,"end_line":383,"end_character":42},"updated":"2017-05-26 21:55:18.000000000","message":"src_vref should be an Volume object.  Please use src_vref.id.","commit_id":"98a274886302f7fdcef439d20e61c4adb1a316c1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4214eedfd9ea60cecb3c8f23191b0db15e387d65","unresolved":false,"context_lines":[{"line_number":455,"context_line":"        \"\"\"Validate source volume information.\"\"\""},{"line_number":456,"context_line":"        pools, lds, ldsets, used_ldns, hostports, max_ld_count \u003d ("},{"line_number":457,"context_line":"            self.configs(xml))"},{"line_number":458,"context_line":"        ldname \u003d self.get_ldname(volume[\u0027id\u0027],"},{"line_number":459,"context_line":"                                 self._properties[\u0027ld_name_format\u0027])"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"        # check volume status."}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_c4ad5832","line":458,"range":{"start_line":458,"start_character":33,"end_line":458,"end_character":46},"updated":"2017-05-26 21:55:18.000000000","message":"Same","commit_id":"98a274886302f7fdcef439d20e61c4adb1a316c1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4214eedfd9ea60cecb3c8f23191b0db15e387d65","unresolved":false,"context_lines":[{"line_number":1254,"context_line":"            self.configs(xml))"},{"line_number":1255,"context_line":""},{"line_number":1256,"context_line":"        ldname \u003d ("},{"line_number":1257,"context_line":"            self.get_ldname(volume[\u0027id\u0027],"},{"line_number":1258,"context_line":"                            self._properties[\u0027ld_name_format\u0027]))"},{"line_number":1259,"context_line":"        if ldname not in lds:"},{"line_number":1260,"context_line":"            LOG.debug(\u0027LD `%s` already unbound?\u0027, ldname)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_44670827","line":1257,"range":{"start_line":1257,"start_character":28,"end_line":1257,"end_character":40},"updated":"2017-05-26 21:55:18.000000000","message":"Same","commit_id":"98a274886302f7fdcef439d20e61c4adb1a316c1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4214eedfd9ea60cecb3c8f23191b0db15e387d65","unresolved":false,"context_lines":[{"line_number":1344,"context_line":"            raise exception.ParameterNotFound(param\u003d\u0027backup_pools\u0027)"},{"line_number":1345,"context_line":""},{"line_number":1346,"context_line":"        # get BV name."},{"line_number":1347,"context_line":"        ldname \u003d self.get_ldname(snapshot[\u0027volume_id\u0027],"},{"line_number":1348,"context_line":"                                 self._properties[\u0027ld_name_format\u0027])"},{"line_number":1349,"context_line":"        if ldname not in lds:"},{"line_number":1350,"context_line":"            msg \u003d _(\u0027Logical Disk `%s` has unbound already.\u0027) % ldname"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_c472f8e3","line":1347,"range":{"start_line":1347,"start_character":33,"end_line":1347,"end_character":54},"updated":"2017-05-26 21:55:18.000000000","message":"\"snapshot\" is an object here.  Please use snapshot.volume_id.","commit_id":"98a274886302f7fdcef439d20e61c4adb1a316c1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4214eedfd9ea60cecb3c8f23191b0db15e387d65","unresolved":false,"context_lines":[{"line_number":1382,"context_line":"            self.configs(xml))"},{"line_number":1383,"context_line":""},{"line_number":1384,"context_line":"        # get BV name."},{"line_number":1385,"context_line":"        ldname \u003d self.get_ldname(snapshot[\u0027volume_id\u0027],"},{"line_number":1386,"context_line":"                                 self._properties[\u0027ld_name_format\u0027])"},{"line_number":1387,"context_line":"        if ldname not in lds:"},{"line_number":1388,"context_line":"            LOG.debug(\u0027LD(MV) `%s` already unbound?\u0027, ldname)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_44502833","line":1385,"range":{"start_line":1385,"start_character":33,"end_line":1385,"end_character":54},"updated":"2017-05-26 21:55:18.000000000","message":"same","commit_id":"98a274886302f7fdcef439d20e61c4adb1a316c1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4214eedfd9ea60cecb3c8f23191b0db15e387d65","unresolved":false,"context_lines":[{"line_number":1390,"context_line":""},{"line_number":1391,"context_line":"        # get SV name."},{"line_number":1392,"context_line":"        snapshotname \u003d ("},{"line_number":1393,"context_line":"            self.get_ldname(snapshot[\u0027id\u0027],"},{"line_number":1394,"context_line":"                            self._properties[\u0027ld_backupname_format\u0027]))"},{"line_number":1395,"context_line":"        if snapshotname not in lds:"},{"line_number":1396,"context_line":"            LOG.debug(\u0027LD(SV) `%s` already unbound?\u0027, snapshotname)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_24453471","line":1393,"range":{"start_line":1393,"start_character":28,"end_line":1393,"end_character":42},"updated":"2017-05-26 21:55:18.000000000","message":"same","commit_id":"98a274886302f7fdcef439d20e61c4adb1a316c1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4214eedfd9ea60cecb3c8f23191b0db15e387d65","unresolved":false,"context_lines":[{"line_number":1429,"context_line":""},{"line_number":1430,"context_line":"        # get BV name."},{"line_number":1431,"context_line":"        mvname \u003d ("},{"line_number":1432,"context_line":"            self.get_ldname(snapshot[\u0027volume_id\u0027],"},{"line_number":1433,"context_line":"                            self._properties[\u0027ld_name_format\u0027]))"},{"line_number":1434,"context_line":""},{"line_number":1435,"context_line":"        # get SV name."}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_044a307f","line":1432,"range":{"start_line":1432,"start_character":28,"end_line":1432,"end_character":49},"updated":"2017-05-26 21:55:18.000000000","message":"same","commit_id":"98a274886302f7fdcef439d20e61c4adb1a316c1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4214eedfd9ea60cecb3c8f23191b0db15e387d65","unresolved":false,"context_lines":[{"line_number":1434,"context_line":""},{"line_number":1435,"context_line":"        # get SV name."},{"line_number":1436,"context_line":"        rvname \u003d ("},{"line_number":1437,"context_line":"            self.get_ldname(snapshot[\u0027id\u0027],"},{"line_number":1438,"context_line":"                            self._properties[\u0027ld_backupname_format\u0027]))"},{"line_number":1439,"context_line":""},{"line_number":1440,"context_line":"        if rvname not in lds:"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_c45b1852","line":1437,"range":{"start_line":1437,"start_character":28,"end_line":1437,"end_character":42},"updated":"2017-05-26 21:55:18.000000000","message":"same","commit_id":"98a274886302f7fdcef439d20e61c4adb1a316c1"}]}
