)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6ae3853a3dcca471c9b78d91072328cf85109423","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"create consistency group mishandles types"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the xiv portion of the ibm_storage driver, create_consistencygroup fails"},{"line_number":10,"context_line":"when it receives a Group object instead of a ConsistencyGroup object."},{"line_number":11,"context_line":"Need to handle both objects, and handle multiple group ids."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a461143_25c59d5a","line":9,"updated":"2017-01-27 12:17:43.000000000","message":"nit: this should be wrapped to the next line","commit_id":"61e422cdd27486e272af28e50019339c66fd3021"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"5d0a3317952fcd55540173cd4be0c0314f718ea7","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"create consistency group mishandles types"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the xiv portion of the ibm_storage driver, create_consistencygroup fails"},{"line_number":10,"context_line":"when it receives a Group object instead of a ConsistencyGroup object."},{"line_number":11,"context_line":"Need to handle both objects, and handle multiple group ids."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a461143_a30d0592","line":9,"in_reply_to":"3a461143_25c59d5a","updated":"2017-01-27 19:58:39.000000000","message":"Done","commit_id":"61e422cdd27486e272af28e50019339c66fd3021"}],"cinder/volume/drivers/ibm/ibm_storage/xiv_proxy.py":[{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a757d59a954a73d7710aaedf209706026643f67d","unresolved":false,"context_lines":[{"line_number":1644,"context_line":"                   {\u0027group\u0027: cgname})"},{"line_number":1645,"context_line":"            LOG.error(msg)"},{"line_number":1646,"context_line":"            raise self.meta[\u0027exception\u0027].VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1647,"context_line":"        for volume_type_id in volume_type_ids:"},{"line_number":1648,"context_line":"            specs \u003d self._get_extra_specs(volume_type_id)"},{"line_number":1649,"context_line":"            replication_info \u003d self._get_replication_info(specs)"},{"line_number":1650,"context_line":""},{"line_number":1651,"context_line":"            if replication_info.get(\u0027enabled\u0027):"},{"line_number":1652,"context_line":"                # An unsupported illegal configuration"},{"line_number":1653,"context_line":"                msg \u003d _(\"Unable to create consistency group: \""},{"line_number":1654,"context_line":"                        \"Replication of consistency group is not supported\")"},{"line_number":1655,"context_line":"                LOG.error(msg)"},{"line_number":1656,"context_line":"                raise self.meta[\u0027exception\u0027].VolumeBackendAPIException("},{"line_number":1657,"context_line":"                    data\u003dmsg)"},{"line_number":1658,"context_line":""},{"line_number":1659,"context_line":"        # call XCLI"},{"line_number":1660,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a3905b3_a901d606","line":1657,"range":{"start_line":1647,"start_character":0,"end_line":1657,"end_character":29},"updated":"2017-01-24 16:05:36.000000000","message":"Is this correct? You can\u0027t make a group of replicated volumes?","commit_id":"d25c0d8df21e5df43523022a4c983f38eed5b5ad"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"e460351f9f94d809f47778b1812bf5541b4c6277","unresolved":false,"context_lines":[{"line_number":1644,"context_line":"                   {\u0027group\u0027: cgname})"},{"line_number":1645,"context_line":"            LOG.error(msg)"},{"line_number":1646,"context_line":"            raise self.meta[\u0027exception\u0027].VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1647,"context_line":"        for volume_type_id in volume_type_ids:"},{"line_number":1648,"context_line":"            specs \u003d self._get_extra_specs(volume_type_id)"},{"line_number":1649,"context_line":"            replication_info \u003d self._get_replication_info(specs)"},{"line_number":1650,"context_line":""},{"line_number":1651,"context_line":"            if replication_info.get(\u0027enabled\u0027):"},{"line_number":1652,"context_line":"                # An unsupported illegal configuration"},{"line_number":1653,"context_line":"                msg \u003d _(\"Unable to create consistency group: \""},{"line_number":1654,"context_line":"                        \"Replication of consistency group is not supported\")"},{"line_number":1655,"context_line":"                LOG.error(msg)"},{"line_number":1656,"context_line":"                raise self.meta[\u0027exception\u0027].VolumeBackendAPIException("},{"line_number":1657,"context_line":"                    data\u003dmsg)"},{"line_number":1658,"context_line":""},{"line_number":1659,"context_line":"        # call XCLI"},{"line_number":1660,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a3905b3_bd6e4694","line":1657,"range":{"start_line":1647,"start_character":0,"end_line":1657,"end_character":29},"in_reply_to":"5a3905b3_a901d606","updated":"2017-01-26 13:10:38.000000000","message":"Currently this is a limitation of the driver.","commit_id":"d25c0d8df21e5df43523022a4c983f38eed5b5ad"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6ae3853a3dcca471c9b78d91072328cf85109423","unresolved":false,"context_lines":[{"line_number":1634,"context_line":"        cgname \u003d self._cg_name_from_group(group)"},{"line_number":1635,"context_line":"        LOG.info(_LI(\"Creating consistency group %(name)s.\"),"},{"line_number":1636,"context_line":"                 {\u0027name\u0027: cgname})"},{"line_number":1637,"context_line":"        volume_type_ids \u003d None"},{"line_number":1638,"context_line":"        if group.get(\u0027volume_type_id\u0027):"},{"line_number":1639,"context_line":"            volume_type_ids \u003d [group.get(\u0027volume_type_id\u0027)]"},{"line_number":1640,"context_line":"        elif group.get(\u0027volume_type_ids\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a461143_057981f6","line":1637,"updated":"2017-01-27 12:17:43.000000000","message":"nit: This is unnecessary","commit_id":"61e422cdd27486e272af28e50019339c66fd3021"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"5d0a3317952fcd55540173cd4be0c0314f718ea7","unresolved":false,"context_lines":[{"line_number":1634,"context_line":"        cgname \u003d self._cg_name_from_group(group)"},{"line_number":1635,"context_line":"        LOG.info(_LI(\"Creating consistency group %(name)s.\"),"},{"line_number":1636,"context_line":"                 {\u0027name\u0027: cgname})"},{"line_number":1637,"context_line":"        volume_type_ids \u003d None"},{"line_number":1638,"context_line":"        if group.get(\u0027volume_type_id\u0027):"},{"line_number":1639,"context_line":"            volume_type_ids \u003d [group.get(\u0027volume_type_id\u0027)]"},{"line_number":1640,"context_line":"        elif group.get(\u0027volume_type_ids\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a461143_7e081292","line":1637,"in_reply_to":"3a461143_057981f6","updated":"2017-01-27 19:58:39.000000000","message":"Done","commit_id":"61e422cdd27486e272af28e50019339c66fd3021"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6ae3853a3dcca471c9b78d91072328cf85109423","unresolved":false,"context_lines":[{"line_number":1635,"context_line":"        LOG.info(_LI(\"Creating consistency group %(name)s.\"),"},{"line_number":1636,"context_line":"                 {\u0027name\u0027: cgname})"},{"line_number":1637,"context_line":"        volume_type_ids \u003d None"},{"line_number":1638,"context_line":"        if group.get(\u0027volume_type_id\u0027):"},{"line_number":1639,"context_line":"            volume_type_ids \u003d [group.get(\u0027volume_type_id\u0027)]"},{"line_number":1640,"context_line":"        elif group.get(\u0027volume_type_ids\u0027):"},{"line_number":1641,"context_line":"            volume_type_ids \u003d group.get(\u0027volume_type_ids\u0027)"},{"line_number":1642,"context_line":"        else:"},{"line_number":1643,"context_line":"            msg \u003d (_(\"Consistency group %(group)s has no volume_type_ids\") %"},{"line_number":1644,"context_line":"                   {\u0027group\u0027: cgname})"},{"line_number":1645,"context_line":"            LOG.error(msg)"},{"line_number":1646,"context_line":"            raise self.meta[\u0027exception\u0027].VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1647,"context_line":"        for volume_type_id in volume_type_ids:"},{"line_number":1648,"context_line":"            specs \u003d self._get_extra_specs(volume_type_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a461143_e521d5b5","line":1645,"range":{"start_line":1638,"start_character":1,"end_line":1645,"end_character":1},"updated":"2017-01-27 12:17:43.000000000","message":"-1: No new code should be using OVO instances as dictionaries, so could check it like this:\n\n if isinstance(group, objects.Group):\n     volume_type_ids \u003d group.volume_type_ids\n elif isinstance(group, objects.ConsistencyGroup):\n     volume_type_ids \u003d [group.volume_type_id]\n else:\n     raise error","commit_id":"61e422cdd27486e272af28e50019339c66fd3021"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"5d0a3317952fcd55540173cd4be0c0314f718ea7","unresolved":false,"context_lines":[{"line_number":1635,"context_line":"        LOG.info(_LI(\"Creating consistency group %(name)s.\"),"},{"line_number":1636,"context_line":"                 {\u0027name\u0027: cgname})"},{"line_number":1637,"context_line":"        volume_type_ids \u003d None"},{"line_number":1638,"context_line":"        if group.get(\u0027volume_type_id\u0027):"},{"line_number":1639,"context_line":"            volume_type_ids \u003d [group.get(\u0027volume_type_id\u0027)]"},{"line_number":1640,"context_line":"        elif group.get(\u0027volume_type_ids\u0027):"},{"line_number":1641,"context_line":"            volume_type_ids \u003d group.get(\u0027volume_type_ids\u0027)"},{"line_number":1642,"context_line":"        else:"},{"line_number":1643,"context_line":"            msg \u003d (_(\"Consistency group %(group)s has no volume_type_ids\") %"},{"line_number":1644,"context_line":"                   {\u0027group\u0027: cgname})"},{"line_number":1645,"context_line":"            LOG.error(msg)"},{"line_number":1646,"context_line":"            raise self.meta[\u0027exception\u0027].VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1647,"context_line":"        for volume_type_id in volume_type_ids:"},{"line_number":1648,"context_line":"            specs \u003d self._get_extra_specs(volume_type_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a461143_898743d6","line":1645,"range":{"start_line":1638,"start_character":1,"end_line":1645,"end_character":1},"in_reply_to":"3a461143_e521d5b5","updated":"2017-01-27 19:58:39.000000000","message":"Done","commit_id":"61e422cdd27486e272af28e50019339c66fd3021"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"b67a71b4e4040a9277bc4667b615443466e3f102","unresolved":false,"context_lines":[{"line_number":1639,"context_line":"        elif isinstance(group, objects.ConsistencyGroup):"},{"line_number":1640,"context_line":"            volume_type_ids \u003d [group.volume_type_id]"},{"line_number":1641,"context_line":"        else:"},{"line_number":1642,"context_line":"            msg \u003d (_(\"Consistency group %(group)s has no volume_type_ids\") %"},{"line_number":1643,"context_line":"                   {\u0027group\u0027: cgname})"},{"line_number":1644,"context_line":"            LOG.error(msg)"},{"line_number":1645,"context_line":"            raise self.meta[\u0027exception\u0027].VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a461143_ba8ecdcd","line":1642,"range":{"start_line":1642,"start_character":22,"end_line":1642,"end_character":33},"updated":"2017-01-30 12:54:12.000000000","message":"nit: If this is supporting CGs as well as generic groups this message would be wrong for generic groups. We could use a keyword parameter instead of \"Consistency group\" using group.obj_name().","commit_id":"1df882d7004e3bb3f8d33ce907504fb9f260704c"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"b67a71b4e4040a9277bc4667b615443466e3f102","unresolved":false,"context_lines":[{"line_number":1649,"context_line":""},{"line_number":1650,"context_line":"            if replication_info.get(\u0027enabled\u0027):"},{"line_number":1651,"context_line":"                # An unsupported illegal configuration"},{"line_number":1652,"context_line":"                msg \u003d _(\"Unable to create consistency group: \""},{"line_number":1653,"context_line":"                        \"Replication of consistency group is not supported\")"},{"line_number":1654,"context_line":"                LOG.error(msg)"},{"line_number":1655,"context_line":"                raise self.meta[\u0027exception\u0027].VolumeBackendAPIException("}],"source_content_type":"text/x-python","patch_set":4,"id":"3a461143_1ab44180","line":1652,"range":{"start_line":1652,"start_character":42,"end_line":1652,"end_character":59},"updated":"2017-01-30 12:54:12.000000000","message":"ditto","commit_id":"1df882d7004e3bb3f8d33ce907504fb9f260704c"}]}
