)]}'
{"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c1270b486da6c7e95a6089d19a48d4b2aa427fbc","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        service_ref.disabled \u003d True"},{"line_number":433,"context_line":"    try:"},{"line_number":434,"context_line":"        service_ref.save()"},{"line_number":435,"context_line":"    except db_exc.DBDuplicateEntry:"},{"line_number":436,"context_line":"        raise exception.ServiceExists(host\u003dvalues.get(\u0027host\u0027),"},{"line_number":437,"context_line":"                        binary\u003dvalues.get(\u0027binary\u0027), topic\u003dvalues.get(\u0027topic\u0027))"},{"line_number":438,"context_line":"    return service_ref"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2Fejk%3D","line":435,"updated":"2013-07-01 03:29:11.000000000","message":"you are able to get in which columns was unique constraint violation. so you could raise more graceful exception.","commit_id":"1b6171fbf18017c901bc36416ae1a78bcf9a690a"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"107ae14f97c1fd8842bd65db9025e7350ab70c16","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        service_ref.disabled \u003d True"},{"line_number":433,"context_line":"    try:"},{"line_number":434,"context_line":"        service_ref.save()"},{"line_number":435,"context_line":"    except db_exc.DBDuplicateEntry:"},{"line_number":436,"context_line":"        raise exception.ServiceExists(host\u003dvalues.get(\u0027host\u0027),"},{"line_number":437,"context_line":"                        binary\u003dvalues.get(\u0027binary\u0027), topic\u003dvalues.get(\u0027topic\u0027))"},{"line_number":438,"context_line":"    return service_ref"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2Fd2I%3D","line":435,"in_reply_to":"AAAAPn%2F%2Fejk%3D","updated":"2013-07-01 12:02:47.000000000","message":"Done","commit_id":"1b6171fbf18017c901bc36416ae1a78bcf9a690a"}],"nova/tests/compute/test_compute.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c1270b486da6c7e95a6089d19a48d4b2aa427fbc","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        self.stubs.Set(rpc_common, \u0027catch_client_exception\u0027, passthru)"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def _create_fake_instance(self, params\u003dNone, type_name\u003d\u0027m1.tiny\u0027,"},{"line_number":231,"context_line":"                              services\u003dFalse):"},{"line_number":232,"context_line":"        \"\"\"Create a test instance.\"\"\""},{"line_number":233,"context_line":"        if not params:"},{"line_number":234,"context_line":"            params \u003d {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FejQ%3D","line":231,"updated":"2013-07-01 03:29:11.000000000","message":"could you explain why is this required?","commit_id":"1b6171fbf18017c901bc36416ae1a78bcf9a690a"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"107ae14f97c1fd8842bd65db9025e7350ab70c16","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        self.stubs.Set(rpc_common, \u0027catch_client_exception\u0027, passthru)"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def _create_fake_instance(self, params\u003dNone, type_name\u003d\u0027m1.tiny\u0027,"},{"line_number":231,"context_line":"                              services\u003dFalse):"},{"line_number":232,"context_line":"        \"\"\"Create a test instance.\"\"\""},{"line_number":233,"context_line":"        if not params:"},{"line_number":234,"context_line":"            params \u003d {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2Fd2Y%3D","line":231,"in_reply_to":"AAAAPn%2F%2FejQ%3D","updated":"2013-07-01 12:02:47.000000000","message":"This file contains a lot of code like\n\ninstance1 \u003d self._create_fake_instance(\ninstance2 \u003d self._create_fake_instance(\ninstance3 \u003d self._create_fake_instance(\n\nwhich create identical service records and violate UC.\nBut services creation is necessary only for few tests (they not violate UC).","commit_id":"1b6171fbf18017c901bc36416ae1a78bcf9a690a"}]}
