)]}'
{"neutron/plugins/vmware/plugins/base.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"0aa8e72b7ba63c59670bacdbbd61585ac4447426","unresolved":false,"context_lines":[{"line_number":1121,"context_line":"            try:"},{"line_number":1122,"context_line":"                nvplib.update_lswitch(self.cluster, id, net[\u0027name\u0027],"},{"line_number":1123,"context_line":"                                      net[\u0027tenant_id\u0027])"},{"line_number":1124,"context_line":"            except q_exc.NetworkNotFound:"},{"line_number":1125,"context_line":"                LOG.exception(_(\"Network: %s could not be found in NSX \""},{"line_number":1126,"context_line":"                                \"backend\"), id)"},{"line_number":1127,"context_line":"        return net"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2FluI%3D","line":1124,"updated":"2014-03-05 07:08:57.000000000","message":"q_exc is not defined.","commit_id":"3ad4784bce43f5349312c2c9a8da60b6a2b7b3fb"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"1ea8754a1b3b84083efcb8bb10a51b4aee9724b6","unresolved":false,"context_lines":[{"line_number":1121,"context_line":"            try:"},{"line_number":1122,"context_line":"                nvplib.update_lswitch(self.cluster, id, net[\u0027name\u0027],"},{"line_number":1123,"context_line":"                                      net[\u0027tenant_id\u0027])"},{"line_number":1124,"context_line":"            except q_exc.NetworkNotFound:"},{"line_number":1125,"context_line":"                LOG.exception(_(\"Network: %s could not be found in NSX \""},{"line_number":1126,"context_line":"                                \"backend\"), id)"},{"line_number":1127,"context_line":"        return net"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2Fhjs%3D","line":1124,"in_reply_to":"AAAAVn%2F%2FluI%3D","updated":"2014-03-05 16:03:38.000000000","message":"i know :) that\u0027s why i set this to a work in progess. There also isn\u0027t a nvplib anymore","commit_id":"3ad4784bce43f5349312c2c9a8da60b6a2b7b3fb"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"7f4e3b3524a6a8f99f8fd9957782ee91e90b48b5","unresolved":false,"context_lines":[{"line_number":1116,"context_line":"            self._process_l3_update(context, net, network[\u0027network\u0027])"},{"line_number":1117,"context_line":"            self._extend_network_dict_provider(context, net)"},{"line_number":1118,"context_line":""},{"line_number":1119,"context_line":"        if \u0027name\u0027 in network[\u0027network\u0027]:"},{"line_number":1120,"context_line":"            # If name is changed propagate changed name to backend as well."},{"line_number":1121,"context_line":"            try:"},{"line_number":1122,"context_line":"                switchlib.update_lswitch(self.cluster, id, net[\u0027name\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2Fbg4%3D","line":1119,"updated":"2014-03-06 05:06:38.000000000","message":"Shouldnt this be part of with statement at 1107?\nAlso, unit test?","commit_id":"e8a27bd6785205b745babf80dfcfc84ff20627fe"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"1f59ee6a20cf706392410c15ec34592d85e83a6d","unresolved":false,"context_lines":[{"line_number":1116,"context_line":"            self._process_l3_update(context, net, network[\u0027network\u0027])"},{"line_number":1117,"context_line":"            self._extend_network_dict_provider(context, net)"},{"line_number":1118,"context_line":""},{"line_number":1119,"context_line":"        if \u0027name\u0027 in network[\u0027network\u0027]:"},{"line_number":1120,"context_line":"            # If name is changed propagate changed name to backend as well."},{"line_number":1121,"context_line":"            try:"},{"line_number":1122,"context_line":"                switchlib.update_lswitch(self.cluster, id, net[\u0027name\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2FVbc%3D","line":1119,"in_reply_to":"AAAAVn%2F%2Fbg4%3D","updated":"2014-03-06 19:10:19.000000000","message":"I dont think this should be a part of with statement. Looks more like a REST call to the switch and not part of any database access.","commit_id":"e8a27bd6785205b745babf80dfcfc84ff20627fe"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"af013646dac1105a45e7723068ba33dd49f83437","unresolved":false,"context_lines":[{"line_number":1113,"context_line":"                                         net[\u0027tenant_id\u0027])"},{"line_number":1114,"context_line":"            except n_exc.NetworkNotFound:"},{"line_number":1115,"context_line":"                LOG.exception(_(\"Network: %s could not be found in NSX \""},{"line_number":1116,"context_line":"                                \"backend\"), id)"},{"line_number":1117,"context_line":"        return net"},{"line_number":1118,"context_line":""},{"line_number":1119,"context_line":"    def create_port(self, context, port):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9wjo%3D","line":1116,"updated":"2014-04-02 10:17:09.000000000","message":"Just for pedantry I would catch NsxApiException as well to return an error message to the user saying the backend was not updated. This will let the user know the operation needs to be repeated in order to ensure backend is in sync with db","commit_id":"0d14e01b70ce19911cde498d789c2c9b44226a86"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"c97ed3f7fb84eb0ff4666d3ca545f3c55f44bc98","unresolved":false,"context_lines":[{"line_number":1113,"context_line":"                                         net[\u0027tenant_id\u0027])"},{"line_number":1114,"context_line":"            except n_exc.NetworkNotFound:"},{"line_number":1115,"context_line":"                LOG.exception(_(\"Network: %s could not be found in NSX \""},{"line_number":1116,"context_line":"                                \"backend\"), id)"},{"line_number":1117,"context_line":"        return net"},{"line_number":1118,"context_line":""},{"line_number":1119,"context_line":"    def create_port(self, context, port):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9OjY%3D","line":1116,"in_reply_to":"AAAAWH%2F9W10%3D","updated":"2014-04-07 20:13:19.000000000","message":"Can there be a state where update of neutron database was successful but backend failed? In that case, per this code, neutron and backend would be in out of sync, no? Cant we avoid that by doing update_lswitch within the transaction block?","commit_id":"0d14e01b70ce19911cde498d789c2c9b44226a86"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"190dff89953d6caa494d248d0d467934a69a449a","unresolved":false,"context_lines":[{"line_number":1113,"context_line":"                                         net[\u0027tenant_id\u0027])"},{"line_number":1114,"context_line":"            except n_exc.NetworkNotFound:"},{"line_number":1115,"context_line":"                LOG.exception(_(\"Network: %s could not be found in NSX \""},{"line_number":1116,"context_line":"                                \"backend\"), id)"},{"line_number":1117,"context_line":"        return net"},{"line_number":1118,"context_line":""},{"line_number":1119,"context_line":"    def create_port(self, context, port):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9W10%3D","line":1116,"in_reply_to":"AAAAWH%2F9wjo%3D","updated":"2014-04-05 17:12:35.000000000","message":"i don\u0027t think we need to be exposing those kind of details. In the case you are talking about a 500 error will be raised if we cannot update it.","commit_id":"0d14e01b70ce19911cde498d789c2c9b44226a86"}]}
