)]}'
{"kuryr_kubernetes/controller/drivers/lbaasv2.py":[{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"a6b1673e0aa050757f8a1447e4b7ab7b5ba0465e","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                                              protocol\u003dlistener.protocol,"},{"line_number":151,"context_line":"                                              security_group_id\u003dsg.id,"},{"line_number":152,"context_line":"                                              description\u003dlistener.name)"},{"line_number":153,"context_line":"        except os_exc.ConflictException:"},{"line_number":154,"context_line":"            LOG.exception(\u0027Failed when creating security group rule for \u0027"},{"line_number":155,"context_line":"                          \u0027listener %s.\u0027, listener.name)"},{"line_number":156,"context_line":"        except os_exc.SDKException:"},{"line_number":157,"context_line":"            pass"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def _apply_members_security_groups(self, loadbalancer, port, target_port,"},{"line_number":160,"context_line":"                                       protocol, sg_rule_name, new_sgs\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_632c6e01","line":157,"range":{"start_line":153,"start_character":0,"end_line":157,"end_character":16},"updated":"2019-11-29 09:16:20.000000000","message":"This was raising the exception only when the exception was not due to conflict, right? and now is doing the opposite","commit_id":"380fab7a155b8c7b02d066dd79614035d0e48b7b"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"08d4d23b90c686237c6303f723d4f3750c674722","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                                              protocol\u003dlistener.protocol,"},{"line_number":151,"context_line":"                                              security_group_id\u003dsg.id,"},{"line_number":152,"context_line":"                                              description\u003dlistener.name)"},{"line_number":153,"context_line":"        except os_exc.ConflictException:"},{"line_number":154,"context_line":"            LOG.exception(\u0027Failed when creating security group rule for \u0027"},{"line_number":155,"context_line":"                          \u0027listener %s.\u0027, listener.name)"},{"line_number":156,"context_line":"        except os_exc.SDKException:"},{"line_number":157,"context_line":"            pass"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def _apply_members_security_groups(self, loadbalancer, port, target_port,"},{"line_number":160,"context_line":"                                       protocol, sg_rule_name, new_sgs\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_94799ec6","line":157,"range":{"start_line":153,"start_character":0,"end_line":157,"end_character":16},"in_reply_to":"3fa7e38b_2ecf3d8c","updated":"2019-11-29 14:00:03.000000000","message":"Ack :)","commit_id":"380fab7a155b8c7b02d066dd79614035d0e48b7b"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"8796ed5f87f42a47e318b314b7d5ff0205774fe8","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                                              protocol\u003dlistener.protocol,"},{"line_number":151,"context_line":"                                              security_group_id\u003dsg.id,"},{"line_number":152,"context_line":"                                              description\u003dlistener.name)"},{"line_number":153,"context_line":"        except os_exc.ConflictException:"},{"line_number":154,"context_line":"            LOG.exception(\u0027Failed when creating security group rule for \u0027"},{"line_number":155,"context_line":"                          \u0027listener %s.\u0027, listener.name)"},{"line_number":156,"context_line":"        except os_exc.SDKException:"},{"line_number":157,"context_line":"            pass"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def _apply_members_security_groups(self, loadbalancer, port, target_port,"},{"line_number":160,"context_line":"                                       protocol, sg_rule_name, new_sgs\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_2ecf3d8c","line":157,"range":{"start_line":153,"start_character":0,"end_line":157,"end_character":16},"in_reply_to":"3fa7e38b_4e7719a1","updated":"2019-11-29 10:04:50.000000000","message":"Yes, that is my point... we were logging \u0027Failed when creating....\u0027 in the SDKException instead of in the ConflictException.","commit_id":"380fab7a155b8c7b02d066dd79614035d0e48b7b"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"52601eb926e281798ef45d30cb076652ebb60b44","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                                              protocol\u003dlistener.protocol,"},{"line_number":151,"context_line":"                                              security_group_id\u003dsg.id,"},{"line_number":152,"context_line":"                                              description\u003dlistener.name)"},{"line_number":153,"context_line":"        except os_exc.ConflictException:"},{"line_number":154,"context_line":"            LOG.exception(\u0027Failed when creating security group rule for \u0027"},{"line_number":155,"context_line":"                          \u0027listener %s.\u0027, listener.name)"},{"line_number":156,"context_line":"        except os_exc.SDKException:"},{"line_number":157,"context_line":"            pass"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def _apply_members_security_groups(self, loadbalancer, port, target_port,"},{"line_number":160,"context_line":"                                       protocol, sg_rule_name, new_sgs\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_4e7719a1","line":157,"range":{"start_line":153,"start_character":0,"end_line":157,"end_character":16},"in_reply_to":"3fa7e38b_632c6e01","updated":"2019-11-29 09:52:01.000000000","message":"Actually no. Originally, there was something like this:\n\n    try:\n        do_something()\n    except TopException as ex:\n        if ex.status_code !\u003d conflict:\n            log(\u0027failed)\n\nThis code will not raise any exception, which was catch by TopException, it will just log something in case there is no conflict, otherwise it will pass. In my case it\u0027s:\n\n\n    try:\n        do_something()\n    except ChildConflictException as ex:\n        log(\u0027failed)\n    except TopException as ex:\n        pass\n\nThe only thing different from the first example is the fact, that I\u0027m doing log in wrong place, it should be as follows:\n\n        except os_exc.ConflictException:\n            pass\n        except os_exc.SDKException:\n            LOG.exception(\u0027Failed when creating security group rule for \u0027\n                          \u0027listener %s.\u0027, listener.name)","commit_id":"380fab7a155b8c7b02d066dd79614035d0e48b7b"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"a6b1673e0aa050757f8a1447e4b7ab7b5ba0465e","unresolved":false,"context_lines":[{"line_number":224,"context_line":"                                remote_ip_prefix\u003drule.remote_ip_prefix,"},{"line_number":225,"context_line":"                                security_group_id\u003dlb_sg,"},{"line_number":226,"context_line":"                                description\u003dsg_rule_name)"},{"line_number":227,"context_line":"                        except os_exc.ConflictException:"},{"line_number":228,"context_line":"                            LOG.exception(\u0027Failed when creating security \u0027"},{"line_number":229,"context_line":"                                          \u0027group rule for listener %s.\u0027,"},{"line_number":230,"context_line":"                                          sg_rule_name)"},{"line_number":231,"context_line":"                        except os_exc.SDKException:"},{"line_number":232,"context_line":"                            pass"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        # Delete LBaaS sg rules that do not match NP"},{"line_number":235,"context_line":"        for rule in lbaas_sg_rules:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_0331fa59","line":232,"range":{"start_line":227,"start_character":0,"end_line":232,"end_character":32},"updated":"2019-11-29 09:16:20.000000000","message":"ditto","commit_id":"380fab7a155b8c7b02d066dd79614035d0e48b7b"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"a6b1673e0aa050757f8a1447e4b7ab7b5ba0465e","unresolved":false,"context_lines":[{"line_number":252,"context_line":"                                                  protocol\u003dprotocol,"},{"line_number":253,"context_line":"                                                  security_group_id\u003dlb_sg,"},{"line_number":254,"context_line":"                                                  description\u003dsg_rule_name)"},{"line_number":255,"context_line":"            except os_exc.ConflictException:"},{"line_number":256,"context_line":"                LOG.exception(\u0027Failed when creating security group rule for \u0027"},{"line_number":257,"context_line":"                              \u0027listener %s.\u0027, sg_rule_name)"},{"line_number":258,"context_line":"            except os_exc.SDKException:"},{"line_number":259,"context_line":"                pass"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def _delete_rule_if_no_match(self, rule, all_pod_rules):"},{"line_number":262,"context_line":"        for pod_rule in all_pod_rules:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_c33a0234","line":259,"range":{"start_line":255,"start_character":0,"end_line":259,"end_character":20},"updated":"2019-11-29 09:16:20.000000000","message":"ditto","commit_id":"380fab7a155b8c7b02d066dd79614035d0e48b7b"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"a6b1673e0aa050757f8a1447e4b7ab7b5ba0465e","unresolved":false,"context_lines":[{"line_number":320,"context_line":"                        security_group_id\u003dsg_id,"},{"line_number":321,"context_line":"                        remote_group_id\u003dsg,"},{"line_number":322,"context_line":"                        description\u003dlistener.name)"},{"line_number":323,"context_line":"                except os_exc.ConflictException:"},{"line_number":324,"context_line":"                    LOG.exception(\u0027Failed when creating security group \u0027"},{"line_number":325,"context_line":"                                  \u0027rule for listener %s.\u0027, listener.name)"},{"line_number":326,"context_line":"                except os_exc.SDKException:"},{"line_number":327,"context_line":"                    pass"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"        # ensure routes have access to the services"},{"line_number":330,"context_line":"        service_subnet_cidr \u003d utils.get_subnet_cidr(loadbalancer.subnet_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_83440aba","line":327,"range":{"start_line":323,"start_character":0,"end_line":327,"end_character":24},"updated":"2019-11-29 09:16:20.000000000","message":"ditto","commit_id":"380fab7a155b8c7b02d066dd79614035d0e48b7b"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"a6b1673e0aa050757f8a1447e4b7ab7b5ba0465e","unresolved":false,"context_lines":[{"line_number":352,"context_line":"                    security_group_id\u003dsg_id,"},{"line_number":353,"context_line":"                    remote_ip_prefix\u003dworker_subnet_cidr,"},{"line_number":354,"context_line":"                    description\u003dlistener.name)"},{"line_number":355,"context_line":"        except os_exc.ConflictExceptionas:"},{"line_number":356,"context_line":"            LOG.exception(\u0027Failed when creating security group rule to \u0027"},{"line_number":357,"context_line":"                          \u0027enable routes for listener %s.\u0027, listener.name)"},{"line_number":358,"context_line":"        except os_exc.SDKException:"},{"line_number":359,"context_line":"            pass"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"    def _ensure_security_group_rules(self, loadbalancer, listener,"},{"line_number":362,"context_line":"                                     service_type):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_a34106a9","line":359,"range":{"start_line":355,"start_character":0,"end_line":359,"end_character":16},"updated":"2019-11-29 09:16:20.000000000","message":"ditto","commit_id":"380fab7a155b8c7b02d066dd79614035d0e48b7b"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"f66763e9473f4c18d0161ea60d828466a7201406","unresolved":false,"context_lines":[{"line_number":266,"context_line":"        LOG.debug(\"Deleting sg rule: %r\", rule.id)"},{"line_number":267,"context_line":"        os_net.delete_security_group_rule(rule.id)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    def _is_default_rule(self, rule):"},{"line_number":270,"context_line":"        if (rule.get(\u0027direction\u0027) \u003d\u003d \u0027ingress\u0027 and"},{"line_number":271,"context_line":"                not rule.get(\u0027remote_ip_prefix\u0027) and"},{"line_number":272,"context_line":"                \u0027network-policy\u0027 not in rule.get(\u0027description\u0027)):"},{"line_number":273,"context_line":"            return True"},{"line_number":274,"context_line":"        return False"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"    def _remove_default_octavia_rules(self, sg_id, listener):"},{"line_number":277,"context_line":"        os_net \u003d clients.get_network_client()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_0d0a6778","line":274,"range":{"start_line":269,"start_character":0,"end_line":274,"end_character":20},"updated":"2019-12-03 08:31:16.000000000","message":"Should this method also be updated to match how the sg rules attributes are fetched in other methods?","commit_id":"f4f50d6fcb77eff10005f9d360426842e4e90258"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"f66763e9473f4c18d0161ea60d828466a7201406","unresolved":false,"context_lines":[{"line_number":540,"context_line":"        try:"},{"line_number":541,"context_line":"            os_lb \u003d next(response)  # openstacksdk returns a generator"},{"line_number":542,"context_line":"            loadbalancer.id \u003d os_lb.id"},{"line_number":543,"context_line":"            loadbalancer.port_id \u003d self._get_vip_port(loadbalancer).get(\"id\")"},{"line_number":544,"context_line":"            loadbalancer.provider \u003d os_lb.provider"},{"line_number":545,"context_line":"            if os_lb.provisioning_status \u003d\u003d \u0027ERROR\u0027:"},{"line_number":546,"context_line":"                self.release_loadbalancer(loadbalancer)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_4d27ff1f","line":543,"range":{"start_line":543,"start_character":67,"end_line":543,"end_character":77},"updated":"2019-12-03 08:31:16.000000000","message":"Souldn\u0027t this be updated?","commit_id":"f4f50d6fcb77eff10005f9d360426842e4e90258"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"2b70fc2db1a5c5d832c40ad10a0f6ea21afb6303","unresolved":false,"context_lines":[{"line_number":540,"context_line":"        try:"},{"line_number":541,"context_line":"            os_lb \u003d next(response)  # openstacksdk returns a generator"},{"line_number":542,"context_line":"            loadbalancer.id \u003d os_lb.id"},{"line_number":543,"context_line":"            loadbalancer.port_id \u003d self._get_vip_port(loadbalancer).get(\"id\")"},{"line_number":544,"context_line":"            loadbalancer.provider \u003d os_lb.provider"},{"line_number":545,"context_line":"            if os_lb.provisioning_status \u003d\u003d \u0027ERROR\u0027:"},{"line_number":546,"context_line":"                self.release_loadbalancer(loadbalancer)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_68a42608","line":543,"range":{"start_line":543,"start_character":67,"end_line":543,"end_character":77},"in_reply_to":"3fa7e38b_4d27ff1f","updated":"2019-12-03 11:53:41.000000000","message":"Right. I missed that one.","commit_id":"f4f50d6fcb77eff10005f9d360426842e4e90258"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"b495d59b2d3315536a84f433ddac6bd4a7dfc9c0","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                                              port_range_min\u003dlistener.port,"},{"line_number":149,"context_line":"                                              port_range_max\u003dlistener.port,"},{"line_number":150,"context_line":"                                              protocol\u003dlistener.protocol,"},{"line_number":151,"context_line":"                                              security_group_id\u003dsg.id,"},{"line_number":152,"context_line":"                                              description\u003dlistener.name)"},{"line_number":153,"context_line":"        except os_exc.ConflictException:"},{"line_number":154,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_4f7162df","line":151,"range":{"start_line":151,"start_character":64,"end_line":151,"end_character":69},"updated":"2019-12-17 16:29:04.000000000","message":"I think it\u0027s possible here to not have `sg` set. That will happen when `_find_listeners_sg()` will return a no-None `sg_id`?","commit_id":"47ebe37d8c25e7763513a59c3db09d361cd11914"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"631451d90b327e08d2cbb9cb2509fca407e97e9e","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                                              port_range_min\u003dlistener.port,"},{"line_number":149,"context_line":"                                              port_range_max\u003dlistener.port,"},{"line_number":150,"context_line":"                                              protocol\u003dlistener.protocol,"},{"line_number":151,"context_line":"                                              security_group_id\u003dsg.id,"},{"line_number":152,"context_line":"                                              description\u003dlistener.name)"},{"line_number":153,"context_line":"        except os_exc.ConflictException:"},{"line_number":154,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_8599791f","line":151,"range":{"start_line":151,"start_character":64,"end_line":151,"end_character":69},"in_reply_to":"3fa7e38b_4f7162df","updated":"2019-12-17 17:47:47.000000000","message":"Yeah. Nice catch!","commit_id":"47ebe37d8c25e7763513a59c3db09d361cd11914"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"b495d59b2d3315536a84f433ddac6bd4a7dfc9c0","unresolved":false,"context_lines":[{"line_number":196,"context_line":"                    # default listener rules"},{"line_number":197,"context_line":"                    add_default_rules \u003d True"},{"line_number":198,"context_line":"                    break"},{"line_number":199,"context_line":"                rules \u003d os_net.list_security_group_rules(security_group_id\u003dsg)"},{"line_number":200,"context_line":"                for rule in rules:"},{"line_number":201,"context_line":"                    # copying ingress rules with same protocol onto the"},{"line_number":202,"context_line":"                    # loadbalancer sg rules"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_2fff4603","line":199,"range":{"start_line":199,"start_character":0,"end_line":199,"end_character":78},"updated":"2019-12-17 16:29:04.000000000","message":"You\u0027re sure there\u0027s `list_security_group_rules()`? Above you use just `security_group_rules()` to fetch rules.","commit_id":"47ebe37d8c25e7763513a59c3db09d361cd11914"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"631451d90b327e08d2cbb9cb2509fca407e97e9e","unresolved":false,"context_lines":[{"line_number":196,"context_line":"                    # default listener rules"},{"line_number":197,"context_line":"                    add_default_rules \u003d True"},{"line_number":198,"context_line":"                    break"},{"line_number":199,"context_line":"                rules \u003d os_net.list_security_group_rules(security_group_id\u003dsg)"},{"line_number":200,"context_line":"                for rule in rules:"},{"line_number":201,"context_line":"                    # copying ingress rules with same protocol onto the"},{"line_number":202,"context_line":"                    # loadbalancer sg rules"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_c546917f","line":199,"range":{"start_line":199,"start_character":0,"end_line":199,"end_character":78},"in_reply_to":"3fa7e38b_2fff4603","updated":"2019-12-17 17:47:47.000000000","message":"No, there is no list_security_group_rules. I\u0027ll fix that.","commit_id":"47ebe37d8c25e7763513a59c3db09d361cd11914"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"c021ec5d613a45dce106ac3ba779d1ca1a85f8a6","unresolved":false,"context_lines":[{"line_number":761,"context_line":"            sgs \u003d os_net.security_groups(name\u003dloadbalancer.name,"},{"line_number":762,"context_line":"                                         project_id\u003dloadbalancer.project_id)"},{"line_number":763,"context_line":"            for sg in sgs:"},{"line_number":764,"context_line":"                if sg.id in loadbalancer.security_groups:"},{"line_number":765,"context_line":"                    return sg.id"},{"line_number":766,"context_line":"        except os_exc.SDKException:"},{"line_number":767,"context_line":"            LOG.exception(\u0027Cannot list security groups for loadbalancer %s.\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_42c1f02e","line":764,"range":{"start_line":764,"start_character":16,"end_line":764,"end_character":57},"updated":"2019-12-23 10:39:55.000000000","message":"I got this problem here: http://paste.openstack.org/show/787853/","commit_id":"f1e11b187cb1c007681e7e14db8efca4587f1672"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"32a19378dc88addb033ba9c05c5fb30b386f6169","unresolved":false,"context_lines":[{"line_number":761,"context_line":"            sgs \u003d os_net.security_groups(name\u003dloadbalancer.name,"},{"line_number":762,"context_line":"                                         project_id\u003dloadbalancer.project_id)"},{"line_number":763,"context_line":"            for sg in sgs:"},{"line_number":764,"context_line":"                if sg.id in loadbalancer.security_groups:"},{"line_number":765,"context_line":"                    return sg.id"},{"line_number":766,"context_line":"        except os_exc.SDKException:"},{"line_number":767,"context_line":"            LOG.exception(\u0027Cannot list security groups for loadbalancer %s.\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_c212b561","line":764,"range":{"start_line":764,"start_character":16,"end_line":764,"end_character":57},"in_reply_to":"3fa7e38b_42c1f02e","updated":"2019-12-24 15:14:26.000000000","message":"it may actually be related to the fact that SGs may not be accessible from the project and only from the admin account","commit_id":"f1e11b187cb1c007681e7e14db8efca4587f1672"}]}
