)]}'
{"nova/network/security_group/neutron_driver.py":[{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"38e5b8dcd83cd82da19bd9c5fc4f5e93959b4027","unresolved":false,"context_lines":[{"line_number":431,"context_line":"            return self._do_add_to_instance(context, instance,"},{"line_number":432,"context_line":"                                            security_group_name)"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"        return _add_to_instance()"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"    @oslo_db_api.wrap_db_retry(max_retries\u003d5, retry_on_deadlock\u003dTrue,"},{"line_number":437,"context_line":"                               retry_on_request\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_4f537d6b","line":434,"updated":"2016-07-20 16:43:37.000000000","message":"Why not just call\n\n    return self._do_add_to_instance(context, instance, security_group_name)","commit_id":"ae222de594082021da9e6bdb91e97e07b289ae23"},{"author":{"_account_id":12712,"name":"Gleb Stepanov","email":"gstepanov@mirantis.com","username":"stgleb"},"change_message_id":"c01010cf4ab9205411f0167140f0e04b5095b755","unresolved":false,"context_lines":[{"line_number":431,"context_line":"            return self._do_add_to_instance(context, instance,"},{"line_number":432,"context_line":"                                            security_group_name)"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"        return _add_to_instance()"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"    @oslo_db_api.wrap_db_retry(max_retries\u003d5, retry_on_deadlock\u003dTrue,"},{"line_number":437,"context_line":"                               retry_on_request\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_43668c2a","line":434,"in_reply_to":"dada55a8_4f537d6b","updated":"2016-07-21 12:44:14.000000000","message":"Yes, i think that makes sense. Thanks.","commit_id":"ae222de594082021da9e6bdb91e97e07b289ae23"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"38e5b8dcd83cd82da19bd9c5fc4f5e93959b4027","unresolved":false,"context_lines":[{"line_number":497,"context_line":"            return self._do_remove_from_instance(context, instance,"},{"line_number":498,"context_line":"                                                 security_group_name)"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"        return _remove_from_instance()"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"    @oslo_db_api.wrap_db_retry(max_retries\u003d5, retry_on_deadlock\u003dTrue,"},{"line_number":503,"context_line":"                               retry_on_request\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_0fd4e5ba","line":500,"updated":"2016-07-20 16:43:37.000000000","message":"ditto","commit_id":"ae222de594082021da9e6bdb91e97e07b289ae23"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"cd30a817380be9723c5d1285b4916342fe6aa976","unresolved":false,"context_lines":[{"line_number":494,"context_line":"            return self._do_remove_from_instance(context, instance,"},{"line_number":495,"context_line":"                                                 security_group_name)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"        return _remove_from_instance()"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"    @oslo_db_api.wrap_db_retry(max_retries\u003d5, retry_on_deadlock\u003dTrue,"},{"line_number":500,"context_line":"                               retry_on_request\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_f26bfa82","line":497,"updated":"2016-07-21 17:29:43.000000000","message":"Why not just use\n\n    return _remove_from_instance(context, instance, security_group_name)","commit_id":"bd2f84557918e5701b65dd14fc24c685b5cdc1e1"},{"author":{"_account_id":12712,"name":"Gleb Stepanov","email":"gstepanov@mirantis.com","username":"stgleb"},"change_message_id":"aa017de10c32f56c36c35bc58e681566a1819b31","unresolved":false,"context_lines":[{"line_number":494,"context_line":"            return self._do_remove_from_instance(context, instance,"},{"line_number":495,"context_line":"                                                 security_group_name)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"        return _remove_from_instance()"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"    @oslo_db_api.wrap_db_retry(max_retries\u003d5, retry_on_deadlock\u003dTrue,"},{"line_number":500,"context_line":"                               retry_on_request\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_e3eb0e77","line":497,"in_reply_to":"dada55a8_f26bfa82","updated":"2016-07-22 09:02:33.000000000","message":"Sure, i\u0027ve forgot it","commit_id":"bd2f84557918e5701b65dd14fc24c685b5cdc1e1"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"b8aec45e19e4b46249e32d0ab14f06adae9d4d89","unresolved":false,"context_lines":[{"line_number":433,"context_line":"    @oslo_db_api.wrap_db_retry(max_retries\u003d5, retry_on_deadlock\u003dTrue,"},{"line_number":434,"context_line":"                               retry_on_request\u003dTrue)"},{"line_number":435,"context_line":"    @main_context_manager.writer"},{"line_number":436,"context_line":"    def _add_to_instance(self, context, instance, security_group_name):"},{"line_number":437,"context_line":"        neutron \u003d neutronapi.get_client(context)"},{"line_number":438,"context_line":"        try:"},{"line_number":439,"context_line":"            security_group_id \u003d neutronv20.find_resourceid_by_name_or_id("}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_ec5c8df2","line":436,"updated":"2016-07-22 14:03:47.000000000","message":"I don\u0027t think it\u0027s necessary to define a new method -- just decorate the original add_to_instance method.","commit_id":"46aacdd50905e4311f192e1874c95ed3c28df59e"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"b8aec45e19e4b46249e32d0ab14f06adae9d4d89","unresolved":false,"context_lines":[{"line_number":496,"context_line":"    @oslo_db_api.wrap_db_retry(max_retries\u003d5, retry_on_deadlock\u003dTrue,"},{"line_number":497,"context_line":"                               retry_on_request\u003dTrue)"},{"line_number":498,"context_line":"    @main_context_manager.writer"},{"line_number":499,"context_line":"    def _do_remove_from_instance(self, context, instance, security_group_name):"},{"line_number":500,"context_line":"        neutron \u003d neutronapi.get_client(context)"},{"line_number":501,"context_line":"        try:"},{"line_number":502,"context_line":"            security_group_id \u003d neutronv20.find_resourceid_by_name_or_id("}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_cc61c9aa","line":499,"updated":"2016-07-22 14:03:47.000000000","message":"Ditto","commit_id":"46aacdd50905e4311f192e1874c95ed3c28df59e"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"c83c51151f1489b425ea26a2133ab01a93195667","unresolved":false,"context_lines":[{"line_number":427,"context_line":"        return False"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"    @oslo_db_api.wrap_db_retry(max_retries\u003d5, retry_on_deadlock\u003dTrue,"},{"line_number":430,"context_line":"                               retry_on_request\u003dTrue)"},{"line_number":431,"context_line":"    @main_context_manager.writer"},{"line_number":432,"context_line":"    def add_to_instance(self, context, instance, security_group_name):"},{"line_number":433,"context_line":"        \"\"\"Add security group to the instance.\"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad45d7e_8fc4bd5f","line":430,"updated":"2016-08-09 09:43:36.000000000","message":"I believe, you are missing something here: the code below does not touch the nova DB, but goes to Neutron API instead. Using enginefacade here won\u0027t help.\n\nSide note: the enginefacade decorator are not synchronization primitives, these are transactional markers only - you would still need to use locks in the DB itself (either SELECT FOR UPDATE or some sort of compare-and-swap technique).","commit_id":"63be010c73f4d6621b967dce8675859244cddffb"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"c83c51151f1489b425ea26a2133ab01a93195667","unresolved":false,"context_lines":[{"line_number":485,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":486,"context_line":"                    LOG.exception(_LE(\"Neutron Error:\"))"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"    @oslo_db_api.wrap_db_retry(max_retries\u003d5, retry_on_deadlock\u003dTrue,"},{"line_number":489,"context_line":"                               retry_on_request\u003dTrue)"},{"line_number":490,"context_line":"    @main_context_manager.writer"},{"line_number":491,"context_line":"    def remove_from_instance(self, context, instance, security_group_name):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad45d7e_efa1f9aa","line":488,"updated":"2016-08-09 09:43:36.000000000","message":"ditto","commit_id":"63be010c73f4d6621b967dce8675859244cddffb"}]}
