)]}'
{"octavia/network/drivers/neutron/allowed_address_pairs.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"74b805fca718e288a53fce29baff3eb05893e702","unresolved":false,"context_lines":[{"line_number":260,"context_line":"                    if port:"},{"line_number":261,"context_line":"                        raw_port \u003d self.neutron_client.show_port(port.id)"},{"line_number":262,"context_line":"                except Exception:"},{"line_number":263,"context_line":"                    LOG.warning(\u0027Unable to get port information for port \u0027"},{"line_number":264,"context_line":"                                \u0027 %s. Continuing to delete the security \u0027"},{"line_number":265,"context_line":"                                \u0027group.\u0027, port.id)"},{"line_number":266,"context_line":"                if raw_port:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_c7db0a4d","line":263,"updated":"2018-04-27 17:33:09.000000000","message":"Umm, if the port wasn\u0027t present this should have fired and raw_port would be None, thus the update below should not run.","commit_id":"7ca7ba7018f0d836b379f03e06b7f503520fc396"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"2a79691b0b2e8026dcf5ab6f5218f2ce04de2199","unresolved":false,"context_lines":[{"line_number":260,"context_line":"                    if port:"},{"line_number":261,"context_line":"                        raw_port \u003d self.neutron_client.show_port(port.id)"},{"line_number":262,"context_line":"                except Exception:"},{"line_number":263,"context_line":"                    LOG.warning(\u0027Unable to get port information for port \u0027"},{"line_number":264,"context_line":"                                \u0027 %s. Continuing to delete the security \u0027"},{"line_number":265,"context_line":"                                \u0027group.\u0027, port.id)"},{"line_number":266,"context_line":"                if raw_port:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_a7ccd661","line":263,"in_reply_to":"9f6a8fd7_c7db0a4d","updated":"2018-04-27 17:43:20.000000000","message":"This is not an auto,ic operation somebody can delete it between those two calls...","commit_id":"7ca7ba7018f0d836b379f03e06b7f503520fc396"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a53e78b4b6537dcf100b91eb26b9916484c8eaa9","unresolved":false,"context_lines":[{"line_number":271,"context_line":"                    port_update \u003d {\u0027port\u0027: {\u0027security_groups\u0027: sec_grps}}"},{"line_number":272,"context_line":"                    try:"},{"line_number":273,"context_line":"                        self.neutron_client.update_port(port.id, port_update)"},{"line_number":274,"context_line":"                    except neutron_client_exceptions.PortNotFoundClient:"},{"line_number":275,"context_line":"                        LOG.warning(\u0027Unable to update port information for \u0027"},{"line_number":276,"context_line":"                                    \u0027port %s. Continuing to delete the \u0027"},{"line_number":277,"context_line":"                                    \u0027security group since port not found\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_c7a9ca90","line":274,"updated":"2018-04-27 17:36:11.000000000","message":"Won\u0027t this cause the later port delete to fail anyway?","commit_id":"7ca7ba7018f0d836b379f03e06b7f503520fc396"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"2a79691b0b2e8026dcf5ab6f5218f2ce04de2199","unresolved":false,"context_lines":[{"line_number":271,"context_line":"                    port_update \u003d {\u0027port\u0027: {\u0027security_groups\u0027: sec_grps}}"},{"line_number":272,"context_line":"                    try:"},{"line_number":273,"context_line":"                        self.neutron_client.update_port(port.id, port_update)"},{"line_number":274,"context_line":"                    except neutron_client_exceptions.PortNotFoundClient:"},{"line_number":275,"context_line":"                        LOG.warning(\u0027Unable to update port information for \u0027"},{"line_number":276,"context_line":"                                    \u0027port %s. Continuing to delete the \u0027"},{"line_number":277,"context_line":"                                    \u0027security group since port not found\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_278e862e","line":274,"in_reply_to":"9f6a8fd7_c7a9ca90","updated":"2018-04-27 17:43:20.000000000","message":"this is just an extension of above\u0027s exception so will still work","commit_id":"7ca7ba7018f0d836b379f03e06b7f503520fc396"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"807d615f5f538acc5c5489960737fdaa703ea8d7","unresolved":false,"context_lines":[{"line_number":264,"context_line":"                        \u0027port\u0027, {}).get(\u0027security_groups\u0027, [])"},{"line_number":265,"context_line":"                    if sec_grp_id in sec_grps:"},{"line_number":266,"context_line":"                        sec_grps.remove(sec_grp_id)"},{"line_number":267,"context_line":"                    port_update \u003d {\u0027port\u0027: {\u0027security_groups\u0027: sec_grps}}"},{"line_number":268,"context_line":"                    try:"},{"line_number":269,"context_line":"                        self.neutron_client.update_port(port.id, port_update)"},{"line_number":270,"context_line":"                    except neutron_client_exceptions.PortNotFoundClient:"},{"line_number":271,"context_line":"                        LOG.warning(\u0027Unable to update port information for \u0027"},{"line_number":272,"context_line":"                                    \u0027port %s. Continuing to delete the \u0027"},{"line_number":273,"context_line":"                                    \u0027security group since port not found\u0027,"},{"line_number":274,"context_line":"                                    port.id)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"                try:"},{"line_number":277,"context_line":"                    self._delete_vip_security_group(sec_grp_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_a80d2390","line":274,"range":{"start_line":267,"start_character":20,"end_line":274,"end_character":44},"updated":"2018-06-20 22:53:36.000000000","message":"I agree with catching and ignoring PortNotFoundClient but shouldn\u0027t this code be under the if condition below (L265)? We should only updated the port if we remove sec_grp_id from sec_grps. It doesn\u0027t harm updating it anyway but is unnecessary.","commit_id":"bfa2838d852e0fb3ad9797a19b436a541d49eaec"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"c6c10c014c68e0ee2b9cf576caa0c5bceb9f6da7","unresolved":false,"context_lines":[{"line_number":264,"context_line":"                        \u0027port\u0027, {}).get(\u0027security_groups\u0027, [])"},{"line_number":265,"context_line":"                    if sec_grp_id in sec_grps:"},{"line_number":266,"context_line":"                        sec_grps.remove(sec_grp_id)"},{"line_number":267,"context_line":"                    port_update \u003d {\u0027port\u0027: {\u0027security_groups\u0027: sec_grps}}"},{"line_number":268,"context_line":"                    try:"},{"line_number":269,"context_line":"                        self.neutron_client.update_port(port.id, port_update)"},{"line_number":270,"context_line":"                    except neutron_client_exceptions.PortNotFoundClient:"},{"line_number":271,"context_line":"                        LOG.warning(\u0027Unable to update port information for \u0027"},{"line_number":272,"context_line":"                                    \u0027port %s. Continuing to delete the \u0027"},{"line_number":273,"context_line":"                                    \u0027security group since port not found\u0027,"},{"line_number":274,"context_line":"                                    port.id)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"                try:"},{"line_number":277,"context_line":"                    self._delete_vip_security_group(sec_grp_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_aea44b08","line":274,"range":{"start_line":267,"start_character":20,"end_line":274,"end_character":44},"in_reply_to":"5f7c97a3_a80d2390","updated":"2018-06-21 01:49:03.000000000","message":"I think the willing fix case is:\n* first we can show port in L257\n* failed with update the port with the rest of SGs, if someone delete it between show and update operartions.\n\nSo where the actual port SGs info comes from? It\u0027s from L257, we must show the port at first(After all, the port is not under our control). We need update the port based on exsting port SGs. \"raw_port\" carry it. So I think it\u0027s in right place. :)\n\nJust my opinion, please feel free to correct.","commit_id":"bfa2838d852e0fb3ad9797a19b436a541d49eaec"}],"tox.ini":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"647deb3d25f0f33a5b7fe157c01d26dbd84ee8fe","unresolved":false,"context_lines":[{"line_number":16,"context_line":"  stestr run \u0027{posargs}\u0027"},{"line_number":17,"context_line":"  stestr slowest"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"passenv \u003d *_proxy *_PROXY"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"[testenv:api-ref]"},{"line_number":22,"context_line":"# This environment is called from CI scripts to test and publish"}],"source_content_type":"text/x-properties","patch_set":1,"id":"9f6a8fd7_47effae8","line":19,"updated":"2018-04-27 17:33:38.000000000","message":"unrelated change","commit_id":"7ca7ba7018f0d836b379f03e06b7f503520fc396"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"2a79691b0b2e8026dcf5ab6f5218f2ce04de2199","unresolved":false,"context_lines":[{"line_number":16,"context_line":"  stestr run \u0027{posargs}\u0027"},{"line_number":17,"context_line":"  stestr slowest"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"passenv \u003d *_proxy *_PROXY"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"[testenv:api-ref]"},{"line_number":22,"context_line":"# This environment is called from CI scripts to test and publish"}],"source_content_type":"text/x-properties","patch_set":1,"id":"9f6a8fd7_c7feaa6a","line":19,"in_reply_to":"9f6a8fd7_47effae8","updated":"2018-04-27 17:43:20.000000000","message":"sorry, was playing with proxies...","commit_id":"7ca7ba7018f0d836b379f03e06b7f503520fc396"}]}
