)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e5e677dcc60c1c01bc9ef8e3de2f314d2c561588","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMAX driver - consistency group remove empty values"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"For consistency group volumetypes are split based on a comma"},{"line_number":10,"context_line":"because volumetypes are represented as a single string. This"},{"line_number":11,"context_line":"creates an empty value in the list. This fix removes empty"},{"line_number":12,"context_line":"values from the list of volume types."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa31d9ce_357105a9","line":9,"range":{"start_line":9,"start_character":22,"end_line":9,"end_character":32},"updated":"2017-02-14 23:37:52.000000000","message":"Should use \u0027volume types\u0027 or \u0027volume_types\u0027 here.","commit_id":"3bc704d2a3ed7c60ef3a0845444a10f19dabbb6a"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"894796c764e51bc9e6c5c3b1707cdc0c0d808d79","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMAX driver - consistency group remove empty values"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"For consistency group volumetypes are split based on a comma"},{"line_number":10,"context_line":"because volumetypes are represented as a single string. This"},{"line_number":11,"context_line":"creates an empty value in the list. This fix removes empty"},{"line_number":12,"context_line":"values from the list of volume types."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa31d9ce_9911f906","line":9,"range":{"start_line":9,"start_character":22,"end_line":9,"end_character":32},"in_reply_to":"fa31d9ce_357105a9","updated":"2017-02-15 11:19:29.000000000","message":"Will do","commit_id":"3bc704d2a3ed7c60ef3a0845444a10f19dabbb6a"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"e5e677dcc60c1c01bc9ef8e3de2f314d2c561588","unresolved":false,"context_lines":[{"line_number":7,"context_line":"VMAX driver - consistency group remove empty values"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"For consistency group volumetypes are split based on a comma"},{"line_number":10,"context_line":"because volumetypes are represented as a single string. This"},{"line_number":11,"context_line":"creates an empty value in the list. This fix removes empty"},{"line_number":12,"context_line":"values from the list of volume types."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa31d9ce_9560f1d0","line":10,"range":{"start_line":10,"start_character":8,"end_line":10,"end_character":19},"updated":"2017-02-14 23:37:52.000000000","message":"Same comment here.","commit_id":"3bc704d2a3ed7c60ef3a0845444a10f19dabbb6a"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"894796c764e51bc9e6c5c3b1707cdc0c0d808d79","unresolved":false,"context_lines":[{"line_number":7,"context_line":"VMAX driver - consistency group remove empty values"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"For consistency group volumetypes are split based on a comma"},{"line_number":10,"context_line":"because volumetypes are represented as a single string. This"},{"line_number":11,"context_line":"creates an empty value in the list. This fix removes empty"},{"line_number":12,"context_line":"values from the list of volume types."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa31d9ce_b9fcfdb8","line":10,"range":{"start_line":10,"start_character":8,"end_line":10,"end_character":19},"in_reply_to":"fa31d9ce_9560f1d0","updated":"2017-02-15 11:19:29.000000000","message":"Sure. Thanks","commit_id":"3bc704d2a3ed7c60ef3a0845444a10f19dabbb6a"}],"cinder/volume/drivers/dell_emc/vmax/common.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"3178f9d75968fb5681324a6ca49863c909636d85","unresolved":false,"context_lines":[{"line_number":5066,"context_line":""},{"line_number":5067,"context_line":"        if isinstance(group, Group):"},{"line_number":5068,"context_line":"            for volume_type in group.volume_types:"},{"line_number":5069,"context_line":"                volumeTypeIds.append(volume_type.id)"},{"line_number":5070,"context_line":"        elif isinstance(group, ConsistencyGroup):"},{"line_number":5071,"context_line":"            volumeTypeIds \u003d group.volume_type_id.split(\",\")"},{"line_number":5072,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa31d9ce_fa375cfc","line":5069,"range":{"start_line":5069,"start_character":16,"end_line":5069,"end_character":52},"updated":"2017-02-14 23:29:54.000000000","message":"Here group.volume_types already contain volume_type objects.  volume_type.extra_specs will give you info you are looking for on line 5082.  By using volume_type.extra_specs directly, it will save an extra call to the db.","commit_id":"3bc704d2a3ed7c60ef3a0845444a10f19dabbb6a"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"894796c764e51bc9e6c5c3b1707cdc0c0d808d79","unresolved":false,"context_lines":[{"line_number":5066,"context_line":""},{"line_number":5067,"context_line":"        if isinstance(group, Group):"},{"line_number":5068,"context_line":"            for volume_type in group.volume_types:"},{"line_number":5069,"context_line":"                volumeTypeIds.append(volume_type.id)"},{"line_number":5070,"context_line":"        elif isinstance(group, ConsistencyGroup):"},{"line_number":5071,"context_line":"            volumeTypeIds \u003d group.volume_type_id.split(\",\")"},{"line_number":5072,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa31d9ce_7957e5c9","line":5069,"range":{"start_line":5069,"start_character":16,"end_line":5069,"end_character":52},"in_reply_to":"fa31d9ce_fa375cfc","updated":"2017-02-15 11:19:29.000000000","message":"I was conscious of having 2 separate code paths but if you think it is necessary I will change it.","commit_id":"3bc704d2a3ed7c60ef3a0845444a10f19dabbb6a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"2517c7d8db2364452eeeffd926acc55bc2dd4f97","unresolved":false,"context_lines":[{"line_number":4394,"context_line":""},{"line_number":4395,"context_line":"        if cgInstanceName is None:"},{"line_number":4396,"context_line":"            LOG.error(_LE(\"Cannot find CG group %(cgName)s.\"),"},{"line_number":4397,"context_line":"                      {\u0027cgName\u0027: six.text_type(cgsnapshot[\u0027id\u0027])})"},{"line_number":4398,"context_line":"            modelUpdate \u003d {\u0027status\u0027: fields.ConsistencyGroupStatus.DELETED}"},{"line_number":4399,"context_line":"            return modelUpdate, []"},{"line_number":4400,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a1ff146_36fe0b6c","line":4397,"range":{"start_line":4397,"start_character":33,"end_line":4397,"end_character":46},"updated":"2017-03-15 03:18:59.000000000","message":"six.text_type is not needed.","commit_id":"ad152018c7b700f485e0afd0f1a4ecbc6ed1e928"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"2517c7d8db2364452eeeffd926acc55bc2dd4f97","unresolved":false,"context_lines":[{"line_number":5071,"context_line":"                extraSpecsDict, storageSystems, isV3 \u003d ("},{"line_number":5072,"context_line":"                    self._update_extra_specs_list("},{"line_number":5073,"context_line":"                        volume_type.extra_specs, len(group.volume_types),"},{"line_number":5074,"context_line":"                        volume_type.id, storageSystems))"},{"line_number":5075,"context_line":"                extraSpecsDictList.append(extraSpecsDict)"},{"line_number":5076,"context_line":"        elif isinstance(group, ConsistencyGroup):"},{"line_number":5077,"context_line":"            volumeTypeIds \u003d group.volume_type_id.split(\",\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a1ff146_36444b73","line":5074,"range":{"start_line":5074,"start_character":40,"end_line":5074,"end_character":54},"updated":"2017-03-15 03:18:59.000000000","message":"storageSystems is already an empty set.  I don\u0027t see any reason why it should be an input to this function.  You can define it inside the function and return it.","commit_id":"ad152018c7b700f485e0afd0f1a4ecbc6ed1e928"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"2517c7d8db2364452eeeffd926acc55bc2dd4f97","unresolved":false,"context_lines":[{"line_number":5107,"context_line":"        return replicationService, storageSystem, extraSpecsDictList, isV3"},{"line_number":5108,"context_line":""},{"line_number":5109,"context_line":"    def _update_extra_specs_list("},{"line_number":5110,"context_line":"            self, extraSpecs, list_size, volumeTypeId, storageSystems):"},{"line_number":5111,"context_line":"        \"\"\"Update the extra specs list"},{"line_number":5112,"context_line":""},{"line_number":5113,"context_line":"        :param extraSpecs: extraSpecs"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a1ff146_363b6bed","line":5110,"range":{"start_line":5110,"start_character":55,"end_line":5110,"end_character":69},"updated":"2017-03-15 03:18:59.000000000","message":"This should not be passed in.  It is always empty any way.","commit_id":"ad152018c7b700f485e0afd0f1a4ecbc6ed1e928"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"2517c7d8db2364452eeeffd926acc55bc2dd4f97","unresolved":false,"context_lines":[{"line_number":5108,"context_line":""},{"line_number":5109,"context_line":"    def _update_extra_specs_list("},{"line_number":5110,"context_line":"            self, extraSpecs, list_size, volumeTypeId, storageSystems):"},{"line_number":5111,"context_line":"        \"\"\"Update the extra specs list"},{"line_number":5112,"context_line":""},{"line_number":5113,"context_line":"        :param extraSpecs: extraSpecs"},{"line_number":5114,"context_line":"        :param list_size: the size of volume type list"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a1ff146_16174fa4","line":5111,"updated":"2017-03-15 03:18:59.000000000","message":"Missing period","commit_id":"ad152018c7b700f485e0afd0f1a4ecbc6ed1e928"}]}
