)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"b67ce03233fc257936695b27c029f515507cda7c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Perry Zou \u003cpanxia6679@sina.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-09-30 09:07:57 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix \"failed unplugining ha interface\" error when deleting router"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #1629159"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa6399be_17bbcb73","line":7,"range":{"start_line":7,"start_character":12,"end_line":7,"end_character":23},"updated":"2016-10-11 01:30:37.000000000","message":"typo: unplugging?","commit_id":"970038dfdf6040bcb04025a755c9cba79c52e579"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"fbb467e385642dbd3bf04d879cec86abd7a7a8e3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix \"failed unplugining ha interface\" error when deleting router"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #1629159"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Deleting router namespaces happens before deleting router ha interface."},{"line_number":12,"context_line":"Then it will fail with ERROR when deleting router ha interface. The change"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a98d1f4_ac941343","line":9,"updated":"2016-09-30 10:38:10.000000000","message":"This line should be under description.","commit_id":"970038dfdf6040bcb04025a755c9cba79c52e579"},{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"b67ce03233fc257936695b27c029f515507cda7c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix \"failed unplugining ha interface\" error when deleting router"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #1629159"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Deleting router namespaces happens before deleting router ha interface."},{"line_number":12,"context_line":"Then it will fail with ERROR when deleting router ha interface. The change"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa6399be_97a7db4e","line":9,"in_reply_to":"3a98d1f4_ac941343","updated":"2016-10-11 01:30:37.000000000","message":"+1","commit_id":"970038dfdf6040bcb04025a755c9cba79c52e579"},{"author":{"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},"change_message_id":"26a6ed44addf4378084177df284f7ba1780ba4b8","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Closes-Bug: #1629159"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Deleting router namespaces happens before deleting router ha interface."},{"line_number":12,"context_line":"Then it will fail with ERROR when deleting router ha interface. The change"},{"line_number":13,"context_line":"is to remove ha interface before deleting namespace."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I3d936701c9dac7671f12e1966449662988a0f26a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa6399be_9090c197","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":29},"updated":"2016-10-11 02:58:59.000000000","message":"\"So it will fail when deleting... \" may be better.","commit_id":"970038dfdf6040bcb04025a755c9cba79c52e579"},{"author":{"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},"change_message_id":"26a6ed44addf4378084177df284f7ba1780ba4b8","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Deleting router namespaces happens before deleting router ha interface."},{"line_number":12,"context_line":"Then it will fail with ERROR when deleting router ha interface. The change"},{"line_number":13,"context_line":"is to remove ha interface before deleting namespace."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I3d936701c9dac7671f12e1966449662988a0f26a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa6399be_70da4d7a","line":13,"range":{"start_line":13,"start_character":13,"end_line":13,"end_character":25},"updated":"2016-10-11 02:58:59.000000000","message":"router ha interface","commit_id":"970038dfdf6040bcb04025a755c9cba79c52e579"},{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"b67ce03233fc257936695b27c029f515507cda7c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Deleting router namespaces happens before deleting router ha interface."},{"line_number":12,"context_line":"Then it will fail with ERROR when deleting router ha interface. The change"},{"line_number":13,"context_line":"is to remove ha interface before deleting namespace."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I3d936701c9dac7671f12e1966449662988a0f26a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa6399be_ba25a6af","line":14,"updated":"2016-10-11 01:30:37.000000000","message":"Probably it\u0027s good idea to add note `Related-Bug: #1488730` because you\u0027re interfering with the change, that fixed that bug.","commit_id":"970038dfdf6040bcb04025a755c9cba79c52e579"}],"neutron/agent/l3/ha_router.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"fbb467e385642dbd3bf04d879cec86abd7a7a8e3","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        self.destroy_state_change_monitor(self.process_monitor)"},{"line_number":381,"context_line":"        self.ha_network_removed()"},{"line_number":382,"context_line":"        self.disable_keepalived()"},{"line_number":383,"context_line":"        super(HaRouter, self).delete(agent)"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"    def process(self, agent):"},{"line_number":386,"context_line":"        super(HaRouter, self).process(agent)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a98d1f4_6c44cb1a","line":383,"updated":"2016-09-30 10:38:10.000000000","message":"Hm, seems like not so far ago we move deletion up\nhttps://github.com/openstack/neutron/commit/37430d4bd096a04a0b3e23165ac244ac1f47a774\n\nSo, such fix can bring bug https://bugs.launchpad.net/neutron/+bug/1488730 up again.","commit_id":"970038dfdf6040bcb04025a755c9cba79c52e579"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"b1e73a979e39028925b0805c142608b80678a329","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        self.destroy_state_change_monitor(self.process_monitor)"},{"line_number":381,"context_line":"        self.ha_network_removed()"},{"line_number":382,"context_line":"        self.disable_keepalived()"},{"line_number":383,"context_line":"        super(HaRouter, self).delete(agent)"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"    def process(self, agent):"},{"line_number":386,"context_line":"        super(HaRouter, self).process(agent)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a98d1f4_c5f0fecb","line":383,"in_reply_to":"3a98d1f4_6c44cb1a","updated":"2016-10-03 14:28:29.000000000","message":"sad that this wasn\u0027t caught by any test..","commit_id":"970038dfdf6040bcb04025a755c9cba79c52e579"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"e0557815b3fbaac4552f6fd4943722aa383f114c","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        self.destroy_state_change_monitor(self.process_monitor)"},{"line_number":381,"context_line":"        self.ha_network_removed()"},{"line_number":382,"context_line":"        self.disable_keepalived()"},{"line_number":383,"context_line":"        super(HaRouter, self).delete(agent)"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"    def process(self, agent):"},{"line_number":386,"context_line":"        super(HaRouter, self).process(agent)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa6399be_cf78dd92","line":383,"in_reply_to":"3a98d1f4_c5f0fecb","updated":"2016-10-10 22:23:55.000000000","message":"@Ann, assuming keepalived doesn\u0027t remove conntrackd entries then you\u0027re right - This will bring back the bug. However the way the bug was originally solved was wrong and caused this bug... It\u0027s obvious we should first delete HA specific resources and then call super as that is the reverse order of creation.\n\nCan bug https://bugs.launchpad.net/neutron/+bug/1488730 be fixed if, and this is assuming conntrackd can purge conntrack records even if the IP address is no longer configured on the device, delete_addr_and_conntrack_state can be forgiving for missing IP addresses and still attempt to delete the conntrack entries.","commit_id":"970038dfdf6040bcb04025a755c9cba79c52e579"},{"author":{"_account_id":15910,"name":"Perry","email":"panxia6679@sina.com","username":"panxia6679sina.com"},"change_message_id":"0e1b381ae30403e65d9276aa05220feab0db66e4","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        self.destroy_state_change_monitor(self.process_monitor)"},{"line_number":381,"context_line":"        self.ha_network_removed()"},{"line_number":382,"context_line":"        self.disable_keepalived()"},{"line_number":383,"context_line":"        super(HaRouter, self).delete(agent)"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"    def process(self, agent):"},{"line_number":386,"context_line":"        super(HaRouter, self).process(agent)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa6399be_d3e56e38","line":383,"in_reply_to":"fa6399be_3a13565e","updated":"2016-10-13 10:05:26.000000000","message":"thanks for the comments. any suggestion for proper solution to fix it? I don\u0027t understand why it was moved up https://review.openstack.org/#/c/217564/ and have a comment to ask for answer.","commit_id":"970038dfdf6040bcb04025a755c9cba79c52e579"},{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"b67ce03233fc257936695b27c029f515507cda7c","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        self.destroy_state_change_monitor(self.process_monitor)"},{"line_number":381,"context_line":"        self.ha_network_removed()"},{"line_number":382,"context_line":"        self.disable_keepalived()"},{"line_number":383,"context_line":"        super(HaRouter, self).delete(agent)"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"    def process(self, agent):"},{"line_number":386,"context_line":"        super(HaRouter, self).process(agent)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa6399be_3a13565e","line":383,"in_reply_to":"fa6399be_cf78dd92","updated":"2016-10-11 01:30:37.000000000","message":"In that case, it probably would be good to add note with related-bug info to commit message.","commit_id":"970038dfdf6040bcb04025a755c9cba79c52e579"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"cf27e3221a7e6b420f048f0534d0c4a4c3c6504b","unresolved":false,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    def delete(self, agent):"},{"line_number":380,"context_line":"        self.destroy_state_change_monitor(self.process_monitor)"},{"line_number":381,"context_line":"        self.ha_network_removed()"},{"line_number":382,"context_line":"        self.disable_keepalived()"},{"line_number":383,"context_line":"        super(HaRouter, self).delete(agent)"},{"line_number":384,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_1b76d6d6","line":381,"updated":"2016-11-10 23:34:22.000000000","message":"The order of these two should probably also be swapped. The keepalived process is bound to the interface.","commit_id":"3144685c752d42f6bdedfd04f0a2647eac28333f"}]}
