)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a218d54d05309d07bc8930dd444f028fa7e627f2","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Common Agent loop: Catch delete_port extension failures"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Catch delete port extension failures like we do with normal port"},{"line_number":10,"context_line":"removal to avoid interupting the deletion processing for other"},{"line_number":11,"context_line":"ports."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Related-Bug: #1697937"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5f201791_aba8741f","line":10,"range":{"start_line":10,"start_character":17,"end_line":10,"end_character":28},"updated":"2017-06-26 22:01:15.000000000","message":"Nit: interrupting","commit_id":"afa5f66e991350911319ae165fc92565e82e76e0"}],"neutron/plugins/ml2/drivers/agent/_common_agent.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"0dcd3167d44799731027b90caeb06ef4b6ad0166","unresolved":false,"context_lines":[{"line_number":352,"context_line":"                                             {\u0027device\u0027: device,"},{"line_number":353,"context_line":"                                              \u0027port_id\u0027: port_id})"},{"line_number":354,"context_line":"            except Exception:"},{"line_number":355,"context_line":"                LOG.exception(_LE(\"Error occurred while processing extensions\""},{"line_number":356,"context_line":"                                  \"for port removal %s\"), device)"},{"line_number":357,"context_line":"                resync \u003d True"},{"line_number":358,"context_line":"            registry.notify(local_resources.PORT_DEVICE, events.AFTER_DELETE,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f231b9d_83e821e2","line":355,"updated":"2017-06-14 18:15:42.000000000","message":"Missing trailing space","commit_id":"ea5f7f4bd9cc43e26fafe6baf08eba1b49af601f"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2e2751953cde1ed39cb190e93c295a578cd4712c","unresolved":false,"context_lines":[{"line_number":352,"context_line":"                                             {\u0027device\u0027: device,"},{"line_number":353,"context_line":"                                              \u0027port_id\u0027: port_id})"},{"line_number":354,"context_line":"            except Exception:"},{"line_number":355,"context_line":"                LOG.exception(_LE(\"Error occurred while processing extensions \""},{"line_number":356,"context_line":"                                  \"for port removal %s\"), device)"},{"line_number":357,"context_line":"                resync \u003d True"},{"line_number":358,"context_line":"            registry.notify(local_resources.PORT_DEVICE, events.AFTER_DELETE,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_ac52c539","line":355,"range":{"start_line":355,"start_character":30,"end_line":355,"end_character":33},"updated":"2017-06-15 21:29:34.000000000","message":"hm I thought we don\u0027t translate log messages anymore","commit_id":"a12a91d18b13a66fb2bcf265da1a9753e408af6e"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2e2751953cde1ed39cb190e93c295a578cd4712c","unresolved":false,"context_lines":[{"line_number":352,"context_line":"                                             {\u0027device\u0027: device,"},{"line_number":353,"context_line":"                                              \u0027port_id\u0027: port_id})"},{"line_number":354,"context_line":"            except Exception:"},{"line_number":355,"context_line":"                LOG.exception(_LE(\"Error occurred while processing extensions \""},{"line_number":356,"context_line":"                                  \"for port removal %s\"), device)"},{"line_number":357,"context_line":"                resync \u003d True"},{"line_number":358,"context_line":"            registry.notify(local_resources.PORT_DEVICE, events.AFTER_DELETE,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_0c7e59ae","line":355,"updated":"2017-06-15 21:29:34.000000000","message":"hmmm, shouldn\u0027t we give a chance to other extensions to process the delete request? it seems like the first extension may bubble up the exception and render all others ineffective. Or are we ok with it because of resync?","commit_id":"a12a91d18b13a66fb2bcf265da1a9753e408af6e"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2573717fdec6ccf0e7b03c212313eb14ce52e0f4","unresolved":false,"context_lines":[{"line_number":352,"context_line":"                                             {\u0027device\u0027: device,"},{"line_number":353,"context_line":"                                              \u0027port_id\u0027: port_id})"},{"line_number":354,"context_line":"            except Exception:"},{"line_number":355,"context_line":"                LOG.exception(_LE(\"Error occurred while processing extensions \""},{"line_number":356,"context_line":"                                  \"for port removal %s\"), device)"},{"line_number":357,"context_line":"                resync \u003d True"},{"line_number":358,"context_line":"            registry.notify(local_resources.PORT_DEVICE, events.AFTER_DELETE,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_60a14d46","line":355,"in_reply_to":"5f201791_e6d63ef2","updated":"2017-06-27 08:26:30.000000000","message":"This sounds reasonable to me. If some transient error happens, I think resync will help us and other drivers will be called when resync.","commit_id":"a12a91d18b13a66fb2bcf265da1a9753e408af6e"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"ecabb70d983a44ad877c374a252ae021a75208b8","unresolved":false,"context_lines":[{"line_number":352,"context_line":"                                             {\u0027device\u0027: device,"},{"line_number":353,"context_line":"                                              \u0027port_id\u0027: port_id})"},{"line_number":354,"context_line":"            except Exception:"},{"line_number":355,"context_line":"                LOG.exception(_LE(\"Error occurred while processing extensions \""},{"line_number":356,"context_line":"                                  \"for port removal %s\"), device)"},{"line_number":357,"context_line":"                resync \u003d True"},{"line_number":358,"context_line":"            registry.notify(local_resources.PORT_DEVICE, events.AFTER_DELETE,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_e6d63ef2","line":355,"in_reply_to":"7f231b9d_0c7e59ae","updated":"2017-06-20 22:55:43.000000000","message":"Yeah, resync should make it try again. This is just to make transient failures a little cleaner.","commit_id":"a12a91d18b13a66fb2bcf265da1a9753e408af6e"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"ecabb70d983a44ad877c374a252ae021a75208b8","unresolved":false,"context_lines":[{"line_number":352,"context_line":"                                             {\u0027device\u0027: device,"},{"line_number":353,"context_line":"                                              \u0027port_id\u0027: port_id})"},{"line_number":354,"context_line":"            except Exception:"},{"line_number":355,"context_line":"                LOG.exception(_LE(\"Error occurred while processing extensions \""},{"line_number":356,"context_line":"                                  \"for port removal %s\"), device)"},{"line_number":357,"context_line":"                resync \u003d True"},{"line_number":358,"context_line":"            registry.notify(local_resources.PORT_DEVICE, events.AFTER_DELETE,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_c605827c","line":355,"range":{"start_line":355,"start_character":30,"end_line":355,"end_character":33},"in_reply_to":"7f231b9d_ac52c539","updated":"2017-06-20 22:55:43.000000000","message":"Done","commit_id":"a12a91d18b13a66fb2bcf265da1a9753e408af6e"}]}
