)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"51ea3648efbbedf927b50a8d5018658fd1bc2041","unresolved":false,"context_lines":[{"line_number":12,"context_line":"instead of a 500 on garbage input."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"It does not break string freeze because this uses the same string as"},{"line_number":15,"context_line":"the validator for jsonschema. We aren\u0027t nearly as helpful about what\u0027s"},{"line_number":16,"context_line":"wrong with the secgroup format, that comes with v2.1."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Test case is added for both v2 and v2.1 on the v2 endpoint (which"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a6ced46_cce7313f","line":15,"updated":"2015-03-24 14:19:27.000000000","message":"confirmed: http://git.openstack.org/cgit/openstack/nova/tree/nova/api/validation/validators.py#n107","commit_id":"88916162c764c06ec1945c95c4eeb431f5874c35"}],"nova/api/openstack/compute/servers.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c18c30f42ca4bb201fe2af3cab143adb4e98626c","unresolved":false,"context_lines":[{"line_number":525,"context_line":"                           \" Value: %(value)s. %(message)s\") % {"},{"line_number":526,"context_line":"                               \u0027path\u0027: \u0027security_groups\u0027,"},{"line_number":527,"context_line":"                               \u0027value\u0027: security_groups,"},{"line_number":528,"context_line":"                               \u0027message\u0027: \u0027\u0027"},{"line_number":529,"context_line":"                           }"},{"line_number":530,"context_line":"                    raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":531,"context_line":"        if not sg_names:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6ced46_5184bad3","line":528,"updated":"2015-03-24 14:09:45.000000000","message":"Is there any value in putting the formatted exception message in here?","commit_id":"88916162c764c06ec1945c95c4eeb431f5874c35"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"339fd8db1b110a7207fdf001d9e82509d6b370e5","unresolved":false,"context_lines":[{"line_number":525,"context_line":"                           \" Value: %(value)s. %(message)s\") % {"},{"line_number":526,"context_line":"                               \u0027path\u0027: \u0027security_groups\u0027,"},{"line_number":527,"context_line":"                               \u0027value\u0027: security_groups,"},{"line_number":528,"context_line":"                               \u0027message\u0027: \u0027\u0027"},{"line_number":529,"context_line":"                           }"},{"line_number":530,"context_line":"                    raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":531,"context_line":"        if not sg_names:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6ced46_b1724ee1","line":528,"in_reply_to":"1a6ced46_5184bad3","updated":"2015-03-24 14:12:42.000000000","message":"typically we don\u0027t want to leak that all the way back to the caller, which is why I just nulled that part out.","commit_id":"88916162c764c06ec1945c95c4eeb431f5874c35"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"6c54930463da5d62b19d885c0c177d0a3bb5a11e","unresolved":false,"context_lines":[{"line_number":525,"context_line":"                           \" Value: %(value)s. %(message)s\") % {"},{"line_number":526,"context_line":"                               \u0027path\u0027: \u0027security_groups\u0027,"},{"line_number":527,"context_line":"                               \u0027value\u0027: security_groups,"},{"line_number":528,"context_line":"                               \u0027message\u0027: \u0027\u0027"},{"line_number":529,"context_line":"                           }"},{"line_number":530,"context_line":"                    raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":531,"context_line":"        if not sg_names:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6ced46_52f4b8f1","line":528,"in_reply_to":"1a6ced46_b1724ee1","updated":"2015-03-24 14:46:49.000000000","message":"If this was derived from NovaException it\u0027s usually nice to get the exception message, but for an AttributeError I agree that it shouldn\u0027t bubble up.","commit_id":"88916162c764c06ec1945c95c4eeb431f5874c35"}],"nova/tests/functional/wsgi/test_secgroup.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"51ea3648efbbedf927b50a8d5018658fd1bc2041","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    TODO: define scope"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    \"\"\""},{"line_number":40,"context_line":"    REQUIRES_LOCKING \u003d True"},{"line_number":41,"context_line":"    _image_ref_parameter \u003d \u0027imageRef\u0027"},{"line_number":42,"context_line":"    _flavor_ref_parameter \u003d \u0027flavorRef\u0027"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6ced46_ccbe51ff","line":40,"updated":"2015-03-24 14:19:27.000000000","message":"I thought we weren\u0027t supposed to be using this in new tests?","commit_id":"88916162c764c06ec1945c95c4eeb431f5874c35"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"51ea3648efbbedf927b50a8d5018658fd1bc2041","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            self.useFixture(api_paste_fixture.ApiPasteFixture())"},{"line_number":57,"context_line":"        api_fixture \u003d self.useFixture(nova_fixtures.OSAPIFixture())"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        self.admin_api \u003d api_fixture.admin_api"},{"line_number":60,"context_line":"        self.api \u003d api_fixture.api"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        # the image fake backend needed for image discovery"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6ced46_4c27c164","line":59,"updated":"2015-03-24 14:19:27.000000000","message":"I don\u0027t see admin_api used.","commit_id":"88916162c764c06ec1945c95c4eeb431f5874c35"}]}
