)]}'
{"quantum/plugins/cisco/models/virt_phy_sw_v2.py":[{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"5634adf4fe5aab98acae79adca63f94f0e962e67","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        args \u003d [context, id, network]"},{"line_number":219,"context_line":"        ovs_output \u003d self._invoke_plugin_per_device(const.VSWITCH_PLUGIN,"},{"line_number":220,"context_line":"                                                    self._func_name(),"},{"line_number":221,"context_line":"                                                    args)"},{"line_number":222,"context_line":"        return ovs_output[0]"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"    def delete_network(self, context, id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2F9Vs%3D","line":221,"updated":"2013-05-17 19:00:58.000000000","message":"No update_network call to the switch at all?\nI would like to understand the logic here, please add a comment explaining why this is not implemented.","commit_id":"f92b0f9b854e485178943eb232981dad866c831e"},{"author":{"_account_id":6695,"name":"Dane LeBlanc","email":"leblancd@cisco.com","username":"leblancd"},"change_message_id":"80ede74145c870faf7f8dcc9cf4c3572157e25dd","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        args \u003d [context, id, network]"},{"line_number":219,"context_line":"        ovs_output \u003d self._invoke_plugin_per_device(const.VSWITCH_PLUGIN,"},{"line_number":220,"context_line":"                                                    self._func_name(),"},{"line_number":221,"context_line":"                                                    args)"},{"line_number":222,"context_line":"        return ovs_output[0]"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"    def delete_network(self, context, id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2F9Fo%3D","line":221,"in_reply_to":"AAAAPH%2F%2F9Vs%3D","updated":"2013-05-17 20:46:56.000000000","message":"Good question. Here is what I\u0027ll add to the doc string for this method:\n        Note that the Nexus sub-plugin does not need to be notified\n        (and the Nexus switch does not need to be [re]configured)\n        for an update network operation because the Nexus sub-plugin\n        is agnostic of all network-level attributes except the\n        segmentation ID. Furthermore, updating of the segmentation ID\n        is not supported by the OVS plugin since it is considered a\n        provider attribute, so it is not supported by this method.\nI\u0027m basing this statement on the OVSQuantumPluginV2._check_provider_update method, and the fact that in my testing, I see the segmentation ID being cached as a \u0027provider:segmentation_id\u0027 attribute within the network object.\nPlease let me know if I\u0027m missing anything in my logic. (An alternative would be to leave the call to the Nexus sub-plugin in place for future enhancements, but my preference would be to keep the code minimized.)","commit_id":"f92b0f9b854e485178943eb232981dad866c831e"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"unresolved":false,"context_lines":[{"line_number":342,"context_line":"                    context, tenant_id, net_id, instance_id)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"            return ovs_output[0]"},{"line_number":345,"context_line":"        except Exception as e:"},{"line_number":346,"context_line":"            LOG.exception(_(\"Unable to update port \u0027%s\u0027 on Nexus switch\"),"},{"line_number":347,"context_line":"                          old_port[\u0027name\u0027])"},{"line_number":348,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPH%2F%2F068%3D","line":345,"updated":"2013-05-22 06:10:14.000000000","message":"nit: I don\u0027t believe you need to add as e","commit_id":"8b358e53db7e95cdc5e9407f04def6c7fe0f8bee"},{"author":{"_account_id":6695,"name":"Dane LeBlanc","email":"leblancd@cisco.com","username":"leblancd"},"change_message_id":"80ede74145c870faf7f8dcc9cf4c3572157e25dd","unresolved":false,"context_lines":[{"line_number":342,"context_line":"                    context, tenant_id, net_id, instance_id)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"            return ovs_output[0]"},{"line_number":345,"context_line":"        except Exception as e:"},{"line_number":346,"context_line":"            LOG.exception(_(\"Unable to update port \u0027%s\u0027 on Nexus switch\"),"},{"line_number":347,"context_line":"                          old_port[\u0027name\u0027])"},{"line_number":348,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPH%2F%2FfwE%3D","line":345,"in_reply_to":"AAAAPH%2F%2F068%3D","updated":"2013-05-31 20:50:57.000000000","message":"Done","commit_id":"8b358e53db7e95cdc5e9407f04def6c7fe0f8bee"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"unresolved":false,"context_lines":[{"line_number":354,"context_line":"                    args)"},{"line_number":355,"context_line":"            finally:"},{"line_number":356,"context_line":"                # Re-raise the original exception"},{"line_number":357,"context_line":"                raise e"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"    def delete_port(self, context, id):"},{"line_number":360,"context_line":"        \"\"\"Delete port."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPH%2F%2F064%3D","line":357,"updated":"2013-05-22 06:10:14.000000000","message":"raise","commit_id":"8b358e53db7e95cdc5e9407f04def6c7fe0f8bee"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"unresolved":false,"context_lines":[{"line_number":354,"context_line":"                    args)"},{"line_number":355,"context_line":"            finally:"},{"line_number":356,"context_line":"                # Re-raise the original exception"},{"line_number":357,"context_line":"                raise e"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"    def delete_port(self, context, id):"},{"line_number":360,"context_line":"        \"\"\"Delete port."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPH%2F%2Fv84%3D","line":357,"in_reply_to":"AAAAPH%2F%2F064%3D","updated":"2013-05-23 22:01:11.000000000","message":"So this will raise an error with a totally separate traceback which will probably be unrelated to the actual frame that the exception was found in. openstack.common.executils.save_and_reraise_exception will preserve the original traceback but since the LOG statement is there its gonna have the possibility of switching as well, so we should just do something similar:\n\n    except Exception:\n        exc_info  \u003d sys.exc_info()\n        LOG.error(_(\"Unable to update port \u0027%s\u0027 on Nexus switch\"),\n                        old_port[\u0027name\u0027], exc_info\u003dexc_info)\n        try:\n            # Roll back vSwitch plugin to original port attributes.\n            args \u003d [context, id, {\u0027port\u0027: old_port}]\n            ovs_output \u003d self._invoke_plugin_per_device(\n                const.VSWITCH_PLUGIN,\n                self._func_name(),\n                args)\n       finally:\n            raise exc_info[0], exc_info[1], exc_info[2]","commit_id":"8b358e53db7e95cdc5e9407f04def6c7fe0f8bee"},{"author":{"_account_id":6695,"name":"Dane LeBlanc","email":"leblancd@cisco.com","username":"leblancd"},"change_message_id":"80ede74145c870faf7f8dcc9cf4c3572157e25dd","unresolved":false,"context_lines":[{"line_number":354,"context_line":"                    args)"},{"line_number":355,"context_line":"            finally:"},{"line_number":356,"context_line":"                # Re-raise the original exception"},{"line_number":357,"context_line":"                raise e"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"    def delete_port(self, context, id):"},{"line_number":360,"context_line":"        \"\"\"Delete port."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPH%2F%2FfvE%3D","line":357,"in_reply_to":"AAAAPH%2F%2F064%3D","updated":"2013-05-31 20:50:57.000000000","message":"Using Jason K.\u0027s suggestion for this re-raise.","commit_id":"8b358e53db7e95cdc5e9407f04def6c7fe0f8bee"},{"author":{"_account_id":6695,"name":"Dane LeBlanc","email":"leblancd@cisco.com","username":"leblancd"},"change_message_id":"80ede74145c870faf7f8dcc9cf4c3572157e25dd","unresolved":false,"context_lines":[{"line_number":354,"context_line":"                    args)"},{"line_number":355,"context_line":"            finally:"},{"line_number":356,"context_line":"                # Re-raise the original exception"},{"line_number":357,"context_line":"                raise e"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"    def delete_port(self, context, id):"},{"line_number":360,"context_line":"        \"\"\"Delete port."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPH%2F%2FfvQ%3D","line":357,"in_reply_to":"AAAAPH%2F%2Fv84%3D","updated":"2013-05-31 20:50:57.000000000","message":"I\u0027ve fixed this for line 357 and for 2 other places in this file where exceptions are being re-raised.","commit_id":"8b358e53db7e95cdc5e9407f04def6c7fe0f8bee"}]}
