)]}'
{"quantum/db/db_base_plugin_v2.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"88770b473aa0f98b927e17c846aeb3a65f2f2953","unresolved":false,"context_lines":[{"line_number":961,"context_line":"            context.session.commit()"},{"line_number":962,"context_line":"        except Exception:"},{"line_number":963,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":964,"context_line":"                LOG.exception(_(\"An exception occured while creating \""},{"line_number":965,"context_line":"                                \"the %(resource)s:%(item)s\"),"},{"line_number":966,"context_line":"                              {\u0027resource\u0027: resource, \u0027item\u0027: item})"},{"line_number":967,"context_line":"                context.session.rollback()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F7Fo%3D","line":964,"updated":"2013-06-18 06:34:15.000000000","message":"save_and_reraise_exception() saves the whole exception context so it may be an overkill to LOG.exception() here as it prints the exception traceback which may result in two same tracebacks in logs. Please consider LOG.error()","commit_id":"1cf58ae37b512db634911b95ce0c2f963d4ad481"},{"author":{"_account_id":7708,"name":"Sergey Vilgelm","username":"svilgelm","inactive":true},"change_message_id":"35904661d4386035a43b16394be9d44a1b126a7d","unresolved":false,"context_lines":[{"line_number":961,"context_line":"            context.session.commit()"},{"line_number":962,"context_line":"        except Exception:"},{"line_number":963,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":964,"context_line":"                LOG.exception(_(\"An exception occured while creating \""},{"line_number":965,"context_line":"                                \"the %(resource)s:%(item)s\"),"},{"line_number":966,"context_line":"                              {\u0027resource\u0027: resource, \u0027item\u0027: item})"},{"line_number":967,"context_line":"                context.session.rollback()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F7E4%3D","line":964,"in_reply_to":"AAAAPn%2F%2F7Fo%3D","updated":"2013-06-18 06:57:43.000000000","message":"Done","commit_id":"1cf58ae37b512db634911b95ce0c2f963d4ad481"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":964,"context_line":"                LOG.error(_(\"An exception occured while creating \""},{"line_number":965,"context_line":"                            \"the %(resource)s:%(item)s\"),"},{"line_number":966,"context_line":"                          {\u0027resource\u0027: resource, \u0027item\u0027: item})"},{"line_number":967,"context_line":"                context.session.rollback()"},{"line_number":968,"context_line":"        return objects"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":"    def _get_marker_obj(self, context, resource, limit, marker):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2F03M%3D","line":967,"updated":"2013-06-20 10:27:53.000000000","message":"This is, in my opinion, a perfect case for the use of save and reraise","commit_id":"abf542d0fa8e88a34f25c406327b73d6ae83e6a0"}],"quantum/plugins/cisco/nexus/cisco_nexus_network_driver_v2.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":116,"context_line":"                                      \"Command is only allowed on VLAN\"])"},{"line_number":117,"context_line":"            except cexc.NexusConfigFailed:"},{"line_number":118,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":119,"context_line":"                    self.disable_vlan(mgr, vlanid)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def disable_vlan(self, mgr, vlanid):"},{"line_number":122,"context_line":"        \"\"\"Delete a VLAN on Nexus Switch given the VLAN ID.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPn%2F%2F7A4%3D","line":119,"updated":"2013-06-18 07:19:02.000000000","message":"what if this method has an exception?","commit_id":"37a0b1f4356695c6d87f591ed9bf6f97bd17b34f"},{"author":{"_account_id":7708,"name":"Sergey Vilgelm","username":"svilgelm","inactive":true},"change_message_id":"35904661d4386035a43b16394be9d44a1b126a7d","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                                      \"Command is only allowed on VLAN\"])"},{"line_number":117,"context_line":"            except cexc.NexusConfigFailed:"},{"line_number":118,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":119,"context_line":"                    self.disable_vlan(mgr, vlanid)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def disable_vlan(self, mgr, vlanid):"},{"line_number":122,"context_line":"        \"\"\"Delete a VLAN on Nexus Switch given the VLAN ID.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPn%2F%2F680%3D","line":119,"in_reply_to":"AAAAPn%2F%2F7A4%3D","updated":"2013-06-18 08:11:19.000000000","message":"Done","commit_id":"37a0b1f4356695c6d87f591ed9bf6f97bd17b34f"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":115,"context_line":"                    allowed_exc_strs\u003d[\"Can\u0027t modify state for extended\","},{"line_number":116,"context_line":"                                      \"Command is only allowed on VLAN\"])"},{"line_number":117,"context_line":"            except cexc.NexusConfigFailed:"},{"line_number":118,"context_line":"                exc_info \u003d sys.exc_info()"},{"line_number":119,"context_line":"                try:"},{"line_number":120,"context_line":"                    # Rollback VLAN creation"},{"line_number":121,"context_line":"                    self.disable_vlan(mgr, vlanid)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPn%2F%2FuPQ%3D","line":118,"updated":"2013-06-24 13:38:22.000000000","message":"Why are you not using executils here?","commit_id":"efe3018e782318f2c81a2d4e85ec8ff9116bb153"},{"author":{"_account_id":7708,"name":"Sergey Vilgelm","username":"svilgelm","inactive":true},"change_message_id":"35904661d4386035a43b16394be9d44a1b126a7d","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                    allowed_exc_strs\u003d[\"Can\u0027t modify state for extended\","},{"line_number":116,"context_line":"                                      \"Command is only allowed on VLAN\"])"},{"line_number":117,"context_line":"            except cexc.NexusConfigFailed:"},{"line_number":118,"context_line":"                exc_info \u003d sys.exc_info()"},{"line_number":119,"context_line":"                try:"},{"line_number":120,"context_line":"                    # Rollback VLAN creation"},{"line_number":121,"context_line":"                    self.disable_vlan(mgr, vlanid)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPn%2F%2FsE8%3D","line":118,"in_reply_to":"AAAAPn%2F%2FtTU%3D","updated":"2013-06-25 08:31:40.000000000","message":"I agree. Done.","commit_id":"efe3018e782318f2c81a2d4e85ec8ff9116bb153"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":115,"context_line":"                    allowed_exc_strs\u003d[\"Can\u0027t modify state for extended\","},{"line_number":116,"context_line":"                                      \"Command is only allowed on VLAN\"])"},{"line_number":117,"context_line":"            except cexc.NexusConfigFailed:"},{"line_number":118,"context_line":"                exc_info \u003d sys.exc_info()"},{"line_number":119,"context_line":"                try:"},{"line_number":120,"context_line":"                    # Rollback VLAN creation"},{"line_number":121,"context_line":"                    self.disable_vlan(mgr, vlanid)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPn%2F%2FtTU%3D","line":118,"in_reply_to":"AAAAPn%2F%2FuN4%3D","updated":"2013-06-24 20:33:40.000000000","message":"Closer... no need to have try/except within the reraise context.  Executils will still log the original exception if another is raised within the context.  I\u0027d use this:\n\nexcept cexc.NexusConfigFailed:\n    with excutils.save_and_reraise_exception():\n        self.disable_vlan(mgr, vlanid)","commit_id":"efe3018e782318f2c81a2d4e85ec8ff9116bb153"},{"author":{"_account_id":7708,"name":"Sergey Vilgelm","username":"svilgelm","inactive":true},"change_message_id":"35904661d4386035a43b16394be9d44a1b126a7d","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                    allowed_exc_strs\u003d[\"Can\u0027t modify state for extended\","},{"line_number":116,"context_line":"                                      \"Command is only allowed on VLAN\"])"},{"line_number":117,"context_line":"            except cexc.NexusConfigFailed:"},{"line_number":118,"context_line":"                exc_info \u003d sys.exc_info()"},{"line_number":119,"context_line":"                try:"},{"line_number":120,"context_line":"                    # Rollback VLAN creation"},{"line_number":121,"context_line":"                    self.disable_vlan(mgr, vlanid)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPn%2F%2FuN4%3D","line":118,"in_reply_to":"AAAAPn%2F%2FuPQ%3D","updated":"2013-06-24 13:47:32.000000000","message":"except cexc.NexusConfigFailed:\n    with excutils.save_and_reraise_exception():\n        try:\n            self.disable_vlan(mgr, vlanid)\n        except Exception:\n            pass\n\nSo it will be better?","commit_id":"efe3018e782318f2c81a2d4e85ec8ff9116bb153"}],"quantum/plugins/cisco/nexus/cisco_nexus_plugin_v2.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":128,"context_line":"                                          switch_ip, instance)"},{"line_number":129,"context_line":"        except Exception:"},{"line_number":130,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":131,"context_line":"                # Add binding failed, roll back any vlan creation/enabling"},{"line_number":132,"context_line":"                if vlan_created:"},{"line_number":133,"context_line":"                    self._client.delete_vlan("},{"line_number":134,"context_line":"                        str(vlan_id), _nexus_ip,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPn%2F%2F7A0%3D","line":131,"updated":"2013-06-18 07:19:02.000000000","message":"ditto","commit_id":"37a0b1f4356695c6d87f591ed9bf6f97bd17b34f"},{"author":{"_account_id":7708,"name":"Sergey Vilgelm","username":"svilgelm","inactive":true},"change_message_id":"35904661d4386035a43b16394be9d44a1b126a7d","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                                          switch_ip, instance)"},{"line_number":129,"context_line":"        except Exception:"},{"line_number":130,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":131,"context_line":"                # Add binding failed, roll back any vlan creation/enabling"},{"line_number":132,"context_line":"                if vlan_created:"},{"line_number":133,"context_line":"                    self._client.delete_vlan("},{"line_number":134,"context_line":"                        str(vlan_id), _nexus_ip,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPn%2F%2F684%3D","line":131,"in_reply_to":"AAAAPn%2F%2F7A0%3D","updated":"2013-06-18 08:11:19.000000000","message":"Done","commit_id":"37a0b1f4356695c6d87f591ed9bf6f97bd17b34f"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":140,"context_line":"                                                           port_id,"},{"line_number":141,"context_line":"                                                           vlan_id)"},{"line_number":142,"context_line":"            finally:"},{"line_number":143,"context_line":"                raise exc_info[0], exc_info[1], exc_info[2]"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        new_net_dict \u003d {const.NET_ID: net_id,"},{"line_number":146,"context_line":"                        const.NET_NAME: net_name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2F03g%3D","line":143,"updated":"2013-06-20 10:27:53.000000000","message":"This is instead a case where I would see save_and_reraise more fit.\nWhat do you reckon?","commit_id":"abf542d0fa8e88a34f25c406327b73d6ae83e6a0"},{"author":{"_account_id":7708,"name":"Sergey Vilgelm","username":"svilgelm","inactive":true},"change_message_id":"35904661d4386035a43b16394be9d44a1b126a7d","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                                                           port_id,"},{"line_number":141,"context_line":"                                                           vlan_id)"},{"line_number":142,"context_line":"            finally:"},{"line_number":143,"context_line":"                raise exc_info[0], exc_info[1], exc_info[2]"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        new_net_dict \u003d {const.NET_ID: net_id,"},{"line_number":146,"context_line":"                        const.NET_NAME: net_name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2F0ag%3D","line":143,"in_reply_to":"AAAAPn%2F%2F03g%3D","updated":"2013-06-20 14:34:00.000000000","message":"I do not want to change the logic of the code, so I left raise of the original exception.\n\nCan be added:\n\nexcept Exception:\n    LOG.error(_(\u0027Rollback any vlan creation or enabling\u0027))\nfinally:\n...","commit_id":"abf542d0fa8e88a34f25c406327b73d6ae83e6a0"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":316,"context_line":"                                                  row[\u0027switch_ip\u0027],"},{"line_number":317,"context_line":"                                                  row[\u0027instance_id\u0027])"},{"line_number":318,"context_line":"                finally:"},{"line_number":319,"context_line":"                    raise exc_info[0], exc_info[1], exc_info[2]"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"        return row[\u0027instance_id\u0027]"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2F03Q%3D","line":319,"updated":"2013-06-20 10:27:53.000000000","message":"same here","commit_id":"abf542d0fa8e88a34f25c406327b73d6ae83e6a0"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":128,"context_line":"                                          switch_ip, instance)"},{"line_number":129,"context_line":"        except Exception:"},{"line_number":130,"context_line":"            exc_info \u003d sys.exc_info()"},{"line_number":131,"context_line":"            try:"},{"line_number":132,"context_line":"                # Add binding failed, roll back any vlan creation/enabling"},{"line_number":133,"context_line":"                if vlan_created:"},{"line_number":134,"context_line":"                    self._client.delete_vlan("}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPn%2F%2FtTM%3D","line":131,"updated":"2013-06-24 20:33:40.000000000","message":"Forgot to note earlier that this should executils too.","commit_id":"efe3018e782318f2c81a2d4e85ec8ff9116bb153"},{"author":{"_account_id":7708,"name":"Sergey Vilgelm","username":"svilgelm","inactive":true},"change_message_id":"35904661d4386035a43b16394be9d44a1b126a7d","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                                          switch_ip, instance)"},{"line_number":129,"context_line":"        except Exception:"},{"line_number":130,"context_line":"            exc_info \u003d sys.exc_info()"},{"line_number":131,"context_line":"            try:"},{"line_number":132,"context_line":"                # Add binding failed, roll back any vlan creation/enabling"},{"line_number":133,"context_line":"                if vlan_created:"},{"line_number":134,"context_line":"                    self._client.delete_vlan("}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPn%2F%2FsE0%3D","line":131,"in_reply_to":"AAAAPn%2F%2FtTM%3D","updated":"2013-06-25 08:31:40.000000000","message":"Done","commit_id":"efe3018e782318f2c81a2d4e85ec8ff9116bb153"}],"quantum/plugins/nicira/QuantumPlugin.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"88770b473aa0f98b927e17c846aeb3a65f2f2953","unresolved":false,"context_lines":[{"line_number":1222,"context_line":"                    # port in nvp."},{"line_number":1223,"context_line":"                    err_msg \u003d _(\"Unable to create port or set port \""},{"line_number":1224,"context_line":"                                \"attachment in NVP.\")"},{"line_number":1225,"context_line":"                    LOG.exception(err_msg)"},{"line_number":1226,"context_line":""},{"line_number":1227,"context_line":"            LOG.debug(_(\"create_port completed on NVP for tenant \""},{"line_number":1228,"context_line":"                        \"%(tenant_id)s: (%(id)s)\"), port_data)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F7Fk%3D","line":1225,"updated":"2013-06-18 06:34:15.000000000","message":"please consider LOG.error()","commit_id":"1cf58ae37b512db634911b95ce0c2f963d4ad481"},{"author":{"_account_id":7708,"name":"Sergey Vilgelm","username":"svilgelm","inactive":true},"change_message_id":"35904661d4386035a43b16394be9d44a1b126a7d","unresolved":false,"context_lines":[{"line_number":1222,"context_line":"                    # port in nvp."},{"line_number":1223,"context_line":"                    err_msg \u003d _(\"Unable to create port or set port \""},{"line_number":1224,"context_line":"                                \"attachment in NVP.\")"},{"line_number":1225,"context_line":"                    LOG.exception(err_msg)"},{"line_number":1226,"context_line":""},{"line_number":1227,"context_line":"            LOG.debug(_(\"create_port completed on NVP for tenant \""},{"line_number":1228,"context_line":"                        \"%(tenant_id)s: (%(id)s)\"), port_data)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F7Ew%3D","line":1225,"in_reply_to":"AAAAPn%2F%2F7Fk%3D","updated":"2013-06-18 06:57:43.000000000","message":"Done","commit_id":"1cf58ae37b512db634911b95ce0c2f963d4ad481"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":45,"context_line":"from quantum.db import l3_db"},{"line_number":46,"context_line":"from quantum.db import models_v2"},{"line_number":47,"context_line":"from quantum.db import portsecurity_db"},{"line_number":48,"context_line":"from quantum.db import quota_db  # noqa"},{"line_number":49,"context_line":"from quantum.db import securitygroups_db"},{"line_number":50,"context_line":"from quantum.extensions import l3"},{"line_number":51,"context_line":"from quantum.extensions import portsecurity as psec"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPn%2F%2F7Aw%3D","side":"PARENT","line":48,"updated":"2013-06-18 07:19:02.000000000","message":"why was this import removed? it does not look related to the patch set","commit_id":"a0f8d5a35454a54766af3494fcd16233434364e7"},{"author":{"_account_id":7708,"name":"Sergey Vilgelm","username":"svilgelm","inactive":true},"change_message_id":"35904661d4386035a43b16394be9d44a1b126a7d","unresolved":false,"context_lines":[{"line_number":45,"context_line":"from quantum.db import l3_db"},{"line_number":46,"context_line":"from quantum.db import models_v2"},{"line_number":47,"context_line":"from quantum.db import portsecurity_db"},{"line_number":48,"context_line":"from quantum.db import quota_db  # noqa"},{"line_number":49,"context_line":"from quantum.db import securitygroups_db"},{"line_number":50,"context_line":"from quantum.extensions import l3"},{"line_number":51,"context_line":"from quantum.extensions import portsecurity as psec"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPn%2F%2F6%2Fc%3D","side":"PARENT","line":48,"in_reply_to":"AAAAPn%2F%2F7Aw%3D","updated":"2013-06-18 08:11:19.000000000","message":"not used","commit_id":"a0f8d5a35454a54766af3494fcd16233434364e7"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":1216,"context_line":"                            port_data[\u0027network_id\u0027])"},{"line_number":1217,"context_line":"                port_data[\u0027status\u0027] \u003d constants.PORT_STATUS_ERROR"},{"line_number":1218,"context_line":"            except Exception:"},{"line_number":1219,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1220,"context_line":"                    # FIXME (arosen) or the plugin_interface call failed in"},{"line_number":1221,"context_line":"                    # which case we need to garbage collect the left over"},{"line_number":1222,"context_line":"                    # port in nvp."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2F03o%3D","line":1219,"updated":"2013-06-20 10:27:53.000000000","message":"It is my understanding that save_and_reraise should be used when the handler performs operations which might throw other exceptions or cancel the exc context because of context switches: https://github.com/openstack/quantum/blob/master/quantum/openstack/common/excutils.py#L34\n\nPerhaps doing just \u0027raise\u0027 might be better here.\nsave_and_reraise triggers a yield which is not necessary in this context.","commit_id":"abf542d0fa8e88a34f25c406327b73d6ae83e6a0"},{"author":{"_account_id":7708,"name":"Sergey Vilgelm","username":"svilgelm","inactive":true},"change_message_id":"35904661d4386035a43b16394be9d44a1b126a7d","unresolved":false,"context_lines":[{"line_number":1216,"context_line":"                            port_data[\u0027network_id\u0027])"},{"line_number":1217,"context_line":"                port_data[\u0027status\u0027] \u003d constants.PORT_STATUS_ERROR"},{"line_number":1218,"context_line":"            except Exception:"},{"line_number":1219,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1220,"context_line":"                    # FIXME (arosen) or the plugin_interface call failed in"},{"line_number":1221,"context_line":"                    # which case we need to garbage collect the left over"},{"line_number":1222,"context_line":"                    # port in nvp."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2F0ZE%3D","line":1219,"in_reply_to":"AAAAPn%2F%2F03o%3D","updated":"2013-06-20 14:34:00.000000000","message":"Exception context could be lost if LOG methods call.\n\n\ndef save_and_reraise_exception():\n\n...\nIn some cases the exception context can be cleared, resulting in None being attempted to be re-raised after an exception handler is run. This can happen when eventlet switches greenthreads or when running an exception handler, code raises and catches an exception. In both cases the exception context will be cleared.\n...","commit_id":"abf542d0fa8e88a34f25c406327b73d6ae83e6a0"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":45,"context_line":"from quantum.db import l3_db"},{"line_number":46,"context_line":"from quantum.db import models_v2"},{"line_number":47,"context_line":"from quantum.db import portsecurity_db"},{"line_number":48,"context_line":"from quantum.db import quota_db  # noqa"},{"line_number":49,"context_line":"from quantum.db import securitygroups_db"},{"line_number":50,"context_line":"from quantum.extensions import l3"},{"line_number":51,"context_line":"from quantum.extensions import portsecurity as psec"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2FubU%3D","side":"PARENT","line":48,"updated":"2013-06-24 12:09:37.000000000","message":"can you please clarify why you removed this?","commit_id":"f287194b9513a6c7851e9fa44c70c94b1067867b"},{"author":{"_account_id":7708,"name":"Sergey Vilgelm","username":"svilgelm","inactive":true},"change_message_id":"35904661d4386035a43b16394be9d44a1b126a7d","unresolved":false,"context_lines":[{"line_number":45,"context_line":"from quantum.db import l3_db"},{"line_number":46,"context_line":"from quantum.db import models_v2"},{"line_number":47,"context_line":"from quantum.db import portsecurity_db"},{"line_number":48,"context_line":"from quantum.db import quota_db  # noqa"},{"line_number":49,"context_line":"from quantum.db import securitygroups_db"},{"line_number":50,"context_line":"from quantum.extensions import l3"},{"line_number":51,"context_line":"from quantum.extensions import portsecurity as psec"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2Fuak%3D","side":"PARENT","line":48,"in_reply_to":"AAAAPn%2F%2FubU%3D","updated":"2013-06-24 12:17:58.000000000","message":"Sorry, fail merge.","commit_id":"f287194b9513a6c7851e9fa44c70c94b1067867b"}],"quantum/plugins/nicira/api_client/request.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"88770b473aa0f98b927e17c846aeb3a65f2f2953","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                                \"request header: \u0027%s\u0027\"), gen)"},{"line_number":124,"context_line":"                try:"},{"line_number":125,"context_line":"                    conn.request(self._method, url, self._body, headers)"},{"line_number":126,"context_line":"                except Exception as e:"},{"line_number":127,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":128,"context_line":"                        LOG.warn(_(\"[%(rid)d] Exception issuing request: \""},{"line_number":129,"context_line":"                                   \"%(e)s\"),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F7GQ%3D","line":126,"updated":"2013-06-18 06:34:15.000000000","message":"except Exception:","commit_id":"1cf58ae37b512db634911b95ce0c2f963d4ad481"},{"author":{"_account_id":7708,"name":"Sergey Vilgelm","username":"svilgelm","inactive":true},"change_message_id":"35904661d4386035a43b16394be9d44a1b126a7d","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                                \"request header: \u0027%s\u0027\"), gen)"},{"line_number":124,"context_line":"                try:"},{"line_number":125,"context_line":"                    conn.request(self._method, url, self._body, headers)"},{"line_number":126,"context_line":"                except Exception as e:"},{"line_number":127,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":128,"context_line":"                        LOG.warn(_(\"[%(rid)d] Exception issuing request: \""},{"line_number":129,"context_line":"                                   \"%(e)s\"),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2F7FI%3D","line":126,"in_reply_to":"AAAAPn%2F%2F7GQ%3D","updated":"2013-06-18 06:57:43.000000000","message":"\"e\" is used: {\u0027rid\u0027: self._rid(), \u0027e\u0027: e}","commit_id":"1cf58ae37b512db634911b95ce0c2f963d4ad481"}]}
