)]}'
{"cinder/api/v3/group_snapshots.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d7cf4937aa4c7bb33dfe19fe3402b05fa5ac8fa1","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            # Not found exception will be handled at the wsgi level"},{"line_number":74,"context_line":"            raise"},{"line_number":75,"context_line":"        except Exception:"},{"line_number":76,"context_line":"            msg \u003d _(\"Failed group_snapshot\")"},{"line_number":77,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        return webob.Response(status_int\u003d202)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_5bf02ac9","line":76,"range":{"start_line":76,"start_character":21,"end_line":76,"end_character":42},"updated":"2016-08-30 20:39:20.000000000","message":"This doesn\u0027t make sense.  Should this be \u0027group_snapshot doesn\u0027t exist\u0027 or something like that?","commit_id":"5a817e8b94d08317a2707df3136f0bfa07be63e1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"cfaba7305f1a3edf8fc0fa7d69687cba07c52b75","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            # Not found exception will be handled at the wsgi level"},{"line_number":74,"context_line":"            raise"},{"line_number":75,"context_line":"        except Exception:"},{"line_number":76,"context_line":"            msg \u003d _(\"Failed group_snapshot\")"},{"line_number":77,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        return webob.Response(status_int\u003d202)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_b404e314","line":76,"range":{"start_line":76,"start_character":21,"end_line":76,"end_character":42},"in_reply_to":"fa7ab95a_5bf02ac9","updated":"2016-08-30 21:13:55.000000000","message":"group_snapshot does not exist will be handled by the wigs level, so I just raise on line 74.\n\nChanged this message to: \"Error occurred when deleting group snapshot \u003cid\u003e\".  Also added a LOG.exception here.","commit_id":"5a817e8b94d08317a2707df3136f0bfa07be63e1"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c3a7c3a6b5da88e4feb90fa75a86c79663c0bdda","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from cinder.api.openstack import wsgi"},{"line_number":25,"context_line":"from cinder.api.v3.views import group_snapshots as group_snapshot_views"},{"line_number":26,"context_line":"from cinder import exception"},{"line_number":27,"context_line":"from cinder import group as groupAPI"},{"line_number":28,"context_line":"from cinder.i18n import _, _LI"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_3fec158f","line":27,"updated":"2016-08-31 09:32:37.000000000","message":"nit: to make it more pythonic groupAPI \u003d\u003e group_api","commit_id":"1f426721d078741187b961f7b8e92a34bc308232"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e49b2181ebb04a309c9f6685b29699fc1c6f6500","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from cinder.api.openstack import wsgi"},{"line_number":25,"context_line":"from cinder.api.v3.views import group_snapshots as group_snapshot_views"},{"line_number":26,"context_line":"from cinder import exception"},{"line_number":27,"context_line":"from cinder import group as groupAPI"},{"line_number":28,"context_line":"from cinder.i18n import _, _LI"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_72ede424","line":27,"in_reply_to":"fa7ab95a_3fec158f","updated":"2016-08-31 12:35:54.000000000","message":"Done","commit_id":"1f426721d078741187b961f7b8e92a34bc308232"}],"cinder/api/v3/groups.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6ed81d1f2bb3c11f766af398579d8a0b4d98e6bf","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"},{"line_number":181,"context_line":"        group \u003d body[\u0027create-from-src\u0027]"},{"line_number":182,"context_line":"        self.validate_name_and_description(group)"},{"line_number":183,"context_line":"        name \u003d group.get(\u0027name\u0027, None)"},{"line_number":184,"context_line":"        description \u003d group.get(\u0027description\u0027, None)"},{"line_number":185,"context_line":"        group_snapshot_id \u003d group.get(\u0027group_snapshot_id\u0027, None)"},{"line_number":186,"context_line":"        source_group_id \u003d group.get(\u0027source_group_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa7ab95a_ef02df6e","line":183,"range":{"start_line":183,"start_character":31,"end_line":183,"end_character":38},"updated":"2016-08-31 15:22:11.000000000","message":"This is redundant and can be removed.","commit_id":"708b9be9c0f7ee291461580a0fce92bebbc79d51"}],"cinder/api/v3/snapshots.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c3a7c3a6b5da88e4feb90fa75a86c79663c0bdda","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    _view_builder_class \u003d snapshot_views.ViewBuilder"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def __init__(self, ext_mgr\u003dNone):"},{"line_number":30,"context_line":"        self.volume_api \u003d volume.API()"},{"line_number":31,"context_line":"        self.ext_mgr \u003d ext_mgr"},{"line_number":32,"context_line":"        super(SnapshotsController, self).__init__()"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_4ace75b5","line":29,"updated":"2016-08-31 09:32:37.000000000","message":"Please, remove this method. It\u0027s the same as in a base class","commit_id":"1f426721d078741187b961f7b8e92a34bc308232"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e49b2181ebb04a309c9f6685b29699fc1c6f6500","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    _view_builder_class \u003d snapshot_views.ViewBuilder"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def __init__(self, ext_mgr\u003dNone):"},{"line_number":30,"context_line":"        self.volume_api \u003d volume.API()"},{"line_number":31,"context_line":"        self.ext_mgr \u003d ext_mgr"},{"line_number":32,"context_line":"        super(SnapshotsController, self).__init__()"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_c7afd029","line":29,"in_reply_to":"fa7ab95a_4ace75b5","updated":"2016-08-31 12:35:54.000000000","message":"Done","commit_id":"1f426721d078741187b961f7b8e92a34bc308232"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c3a7c3a6b5da88e4feb90fa75a86c79663c0bdda","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        self.ext_mgr \u003d ext_mgr"},{"line_number":32,"context_line":"        super(SnapshotsController, self).__init__()"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def show(self, req, id):"},{"line_number":35,"context_line":"        \"\"\"Return data about the given snapshot.\"\"\""},{"line_number":36,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_0a62adad","line":34,"updated":"2016-08-31 09:32:37.000000000","message":"The same as above.","commit_id":"1f426721d078741187b961f7b8e92a34bc308232"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e49b2181ebb04a309c9f6685b29699fc1c6f6500","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        self.ext_mgr \u003d ext_mgr"},{"line_number":32,"context_line":"        super(SnapshotsController, self).__init__()"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def show(self, req, id):"},{"line_number":35,"context_line":"        \"\"\"Return data about the given snapshot.\"\"\""},{"line_number":36,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_e7acd437","line":34,"in_reply_to":"fa7ab95a_0a62adad","updated":"2016-08-31 12:35:54.000000000","message":"Done","commit_id":"1f426721d078741187b961f7b8e92a34bc308232"}],"cinder/group/api.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d7cf4937aa4c7bb33dfe19fe3402b05fa5ac8fa1","unresolved":false,"context_lines":[{"line_number":260,"context_line":"                    try:"},{"line_number":261,"context_line":"                        db.group_volume_type_mapping_create(context, group.id,"},{"line_number":262,"context_line":"                                                            volume_type_id)"},{"line_number":263,"context_line":"                    except exception.GroupVolumeTypeMappingExists:"},{"line_number":264,"context_line":"                        # Only need to create one group volume_type mapping"},{"line_number":265,"context_line":"                        # entry for the same combination, skipping."},{"line_number":266,"context_line":"                        pass"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_5e80188b","line":263,"range":{"start_line":263,"start_character":20,"end_line":263,"end_character":66},"updated":"2016-08-30 20:39:20.000000000","message":"Seems like we should at least print an Info message here that the mapping already exists so no action was necessary.","commit_id":"5a817e8b94d08317a2707df3136f0bfa07be63e1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"cfaba7305f1a3edf8fc0fa7d69687cba07c52b75","unresolved":false,"context_lines":[{"line_number":260,"context_line":"                    try:"},{"line_number":261,"context_line":"                        db.group_volume_type_mapping_create(context, group.id,"},{"line_number":262,"context_line":"                                                            volume_type_id)"},{"line_number":263,"context_line":"                    except exception.GroupVolumeTypeMappingExists:"},{"line_number":264,"context_line":"                        # Only need to create one group volume_type mapping"},{"line_number":265,"context_line":"                        # entry for the same combination, skipping."},{"line_number":266,"context_line":"                        pass"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_9407dfc8","line":263,"range":{"start_line":263,"start_character":20,"end_line":263,"end_character":66},"in_reply_to":"fa7ab95a_5e80188b","updated":"2016-08-30 21:13:55.000000000","message":"Done","commit_id":"5a817e8b94d08317a2707df3136f0bfa07be63e1"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d7cf4937aa4c7bb33dfe19fe3402b05fa5ac8fa1","unresolved":false,"context_lines":[{"line_number":332,"context_line":"                    try:"},{"line_number":333,"context_line":"                        db.group_volume_type_mapping_create(context, group.id,"},{"line_number":334,"context_line":"                                                            volume_type_id)"},{"line_number":335,"context_line":"                    except exception.GroupVolumeTypeMappingExists:"},{"line_number":336,"context_line":"                        # Only need to create one group volume_type mapping"},{"line_number":337,"context_line":"                        # entry for the same combination, skipping."},{"line_number":338,"context_line":"                        pass"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_f10afd1e","line":335,"range":{"start_line":335,"start_character":27,"end_line":335,"end_character":65},"updated":"2016-08-30 20:39:20.000000000","message":"Same comment here as above.","commit_id":"5a817e8b94d08317a2707df3136f0bfa07be63e1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"cfaba7305f1a3edf8fc0fa7d69687cba07c52b75","unresolved":false,"context_lines":[{"line_number":332,"context_line":"                    try:"},{"line_number":333,"context_line":"                        db.group_volume_type_mapping_create(context, group.id,"},{"line_number":334,"context_line":"                                                            volume_type_id)"},{"line_number":335,"context_line":"                    except exception.GroupVolumeTypeMappingExists:"},{"line_number":336,"context_line":"                        # Only need to create one group volume_type mapping"},{"line_number":337,"context_line":"                        # entry for the same combination, skipping."},{"line_number":338,"context_line":"                        pass"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_b43143a4","line":335,"range":{"start_line":335,"start_character":27,"end_line":335,"end_character":65},"in_reply_to":"fa7ab95a_f10afd1e","updated":"2016-08-30 21:13:55.000000000","message":"Done","commit_id":"5a817e8b94d08317a2707df3136f0bfa07be63e1"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a9a95bcc8ac748548866c848b76d82011aab0a58","unresolved":false,"context_lines":[{"line_number":776,"context_line":""},{"line_number":777,"context_line":"        return group_snapshot"},{"line_number":778,"context_line":""},{"line_number":779,"context_line":"    def delete_group_snapshot(self, context, group_snapshot, force\u003dFalse):"},{"line_number":780,"context_line":"        check_policy(context, \u0027delete_group_snapshot\u0027)"},{"line_number":781,"context_line":"        values \u003d {\u0027status\u0027: \u0027deleting\u0027}"},{"line_number":782,"context_line":"        expected \u003d {\u0027status\u0027: (\u0027available\u0027, \u0027error\u0027)}"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_035c7a7b","line":779,"updated":"2016-08-30 19:19:40.000000000","message":"Please, set volume snapshots statuses to \u0027deleting\u0027 here like we do while volume groups deleting","commit_id":"5a817e8b94d08317a2707df3136f0bfa07be63e1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"a3f0d98b7bd8011b8e706be127a1d9fdbed4db4d","unresolved":false,"context_lines":[{"line_number":776,"context_line":""},{"line_number":777,"context_line":"        return group_snapshot"},{"line_number":778,"context_line":""},{"line_number":779,"context_line":"    def delete_group_snapshot(self, context, group_snapshot, force\u003dFalse):"},{"line_number":780,"context_line":"        check_policy(context, \u0027delete_group_snapshot\u0027)"},{"line_number":781,"context_line":"        values \u003d {\u0027status\u0027: \u0027deleting\u0027}"},{"line_number":782,"context_line":"        expected \u003d {\u0027status\u0027: (\u0027available\u0027, \u0027error\u0027)}"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_09ad7b9a","line":779,"in_reply_to":"fa7ab95a_035c7a7b","updated":"2016-08-30 19:49:33.000000000","message":"Done","commit_id":"5a817e8b94d08317a2707df3136f0bfa07be63e1"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6ed81d1f2bb3c11f766af398579d8a0b4d98e6bf","unresolved":false,"context_lines":[{"line_number":268,"context_line":"                                     \"Do not need to create again.\"),"},{"line_number":269,"context_line":"                                 {\u0027grp\u0027: group.id,"},{"line_number":270,"context_line":"                                  \u0027vol_type\u0027: volume_type_id})"},{"line_number":271,"context_line":"                        pass"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"                # Since group snapshot is passed in, the following call will"},{"line_number":274,"context_line":"                # create a db entry for the volume, but will not call the"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa7ab95a_efec9f91","line":271,"updated":"2016-08-31 15:22:11.000000000","message":"pass not needed.","commit_id":"708b9be9c0f7ee291461580a0fce92bebbc79d51"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6ed81d1f2bb3c11f766af398579d8a0b4d98e6bf","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                                     \"Do not need to create again.\"),"},{"line_number":346,"context_line":"                                 {\u0027grp\u0027: group.id,"},{"line_number":347,"context_line":"                                  \u0027vol_type\u0027: volume_type_id})"},{"line_number":348,"context_line":"                        pass"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"                # Since source_group is passed in, the following call will"},{"line_number":351,"context_line":"                # create a db entry for the volume, but will not call the"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa7ab95a_4faaeb1a","line":348,"updated":"2016-08-31 15:22:11.000000000","message":"Same.","commit_id":"708b9be9c0f7ee291461580a0fce92bebbc79d51"}]}
