)]}'
{"kuryr_kubernetes/controller/drivers/lbaasv2.py":[{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"c0a607b4d409557d19ab3174614aa0abc2a2b580","unresolved":false,"context_lines":[{"line_number":285,"context_line":"                    # default listener rules"},{"line_number":286,"context_line":"                    add_default_rules \u003d True"},{"line_number":287,"context_line":"                    break"},{"line_number":288,"context_line":"                rules \u003d os_net.security_group_rules(security_group_id\u003dsg)"},{"line_number":289,"context_line":"                for rule in rules:"},{"line_number":290,"context_line":"                    # copying ingress rules with same protocol onto the"},{"line_number":291,"context_line":"                    # loadbalancer sg rules"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_5bcf8daf","line":288,"range":{"start_line":288,"start_character":16,"end_line":288,"end_character":73},"updated":"2020-03-26 09:49:38.000000000","message":"does this need the same?","commit_id":"737e34c5ff7487a759f22a6e931f3d3d213bf051"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"9cc0ffc929796e9ca39c4c80ab974c48b7ebd683","unresolved":false,"context_lines":[{"line_number":285,"context_line":"                    # default listener rules"},{"line_number":286,"context_line":"                    add_default_rules \u003d True"},{"line_number":287,"context_line":"                    break"},{"line_number":288,"context_line":"                rules \u003d os_net.security_group_rules(security_group_id\u003dsg)"},{"line_number":289,"context_line":"                for rule in rules:"},{"line_number":290,"context_line":"                    # copying ingress rules with same protocol onto the"},{"line_number":291,"context_line":"                    # loadbalancer sg rules"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_fb1b0118","line":288,"range":{"start_line":288,"start_character":16,"end_line":288,"end_character":73},"in_reply_to":"df33271e_5bcf8daf","updated":"2020-03-26 09:57:27.000000000","message":"Not needed. It\u0027s being filtered for the lb_sg not be included in the list","commit_id":"737e34c5ff7487a759f22a6e931f3d3d213bf051"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"17d888f35600cf8f70109fc022db23dbdc11cd67","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        else:"},{"line_number":277,"context_line":"            sgs \u003d loadbalancer.security_groups"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        # Check if Network Policy allows listener on the pods"},{"line_number":280,"context_line":"        for sg in sgs:"},{"line_number":281,"context_line":"            if sg !\u003d lb_sg:"},{"line_number":282,"context_line":"                if sg in config.CONF.neutron_defaults.pod_security_groups:"},{"line_number":283,"context_line":"                    # If default sg is set, this means there is no NP"},{"line_number":284,"context_line":"                    # associated to the service, thus falling back to the"},{"line_number":285,"context_line":"                    # default listener rules"},{"line_number":286,"context_line":"                    add_default_rules \u003d True"},{"line_number":287,"context_line":"                    break"},{"line_number":288,"context_line":"                rules \u003d os_net.security_group_rules(security_group_id\u003dsg)"},{"line_number":289,"context_line":"                for rule in rules:"},{"line_number":290,"context_line":"                    # copying ingress rules with same protocol onto the"},{"line_number":291,"context_line":"                    # loadbalancer sg rules"},{"line_number":292,"context_line":"                    # NOTE(ltomasbo): NP sg can only have rules with"},{"line_number":293,"context_line":"                    # or without remote_ip_prefix. Rules with remote_group_id"},{"line_number":294,"context_line":"                    # are not possible, therefore only applying the ones"},{"line_number":295,"context_line":"                    # with or without remote_ip_prefix."},{"line_number":296,"context_line":"                    if (rule.protocol \u003d\u003d protocol.lower() and"},{"line_number":297,"context_line":"                            rule.direction \u003d\u003d \u0027ingress\u0027):"},{"line_number":298,"context_line":"                        # If listener port not in allowed range, skip"},{"line_number":299,"context_line":"                        min_port \u003d rule.port_range_min"},{"line_number":300,"context_line":"                        max_port \u003d rule.port_range_max"},{"line_number":301,"context_line":"                        if (min_port and target_port not in range(min_port,"},{"line_number":302,"context_line":"                                                                  max_port+1)):"},{"line_number":303,"context_line":"                            continue"},{"line_number":304,"context_line":"                        all_pod_rules.append(rule)"},{"line_number":305,"context_line":"                        sg_rule_ethertype \u003d ipaddress.ip_network("},{"line_number":306,"context_line":"                            rule.remote_ip_prefix).version"},{"line_number":307,"context_line":"                        try:"},{"line_number":308,"context_line":"                            LOG.debug(\"Creating LBaaS sg rule for sg: %r\","},{"line_number":309,"context_line":"                                      lb_sg)"},{"line_number":310,"context_line":"                            os_net.create_security_group_rule("},{"line_number":311,"context_line":"                                direction\u003d\u0027ingress\u0027,"},{"line_number":312,"context_line":"                                ether_type\u003dsg_rule_ethertype,"},{"line_number":313,"context_line":"                                port_range_min\u003dport,"},{"line_number":314,"context_line":"                                port_range_max\u003dport,"},{"line_number":315,"context_line":"                                protocol\u003dprotocol,"},{"line_number":316,"context_line":"                                remote_ip_prefix\u003drule.remote_ip_prefix,"},{"line_number":317,"context_line":"                                security_group_id\u003dlb_sg,"},{"line_number":318,"context_line":"                                description\u003dsg_rule_name)"},{"line_number":319,"context_line":"                        except os_exc.ConflictException:"},{"line_number":320,"context_line":"                            pass"},{"line_number":321,"context_line":"                        except os_exc.SDKException:"},{"line_number":322,"context_line":"                            LOG.exception(\u0027Failed when creating security \u0027"},{"line_number":323,"context_line":"                                          \u0027group rule for listener %s.\u0027,"},{"line_number":324,"context_line":"                                          sg_rule_name)"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        # Delete LBaaS sg rules that do not match NP"},{"line_number":327,"context_line":"        for rule in lbaas_sg_rules:"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_50be4c65","line":324,"range":{"start_line":279,"start_character":0,"end_line":324,"end_character":55},"updated":"2020-03-26 09:25:12.000000000","message":"Wow, we have NP code directly in the LB handler? :(","commit_id":"737e34c5ff7487a759f22a6e931f3d3d213bf051"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"cfa335e45570f71da23338b01569088a41c89d54","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        else:"},{"line_number":277,"context_line":"            sgs \u003d loadbalancer.security_groups"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        # Check if Network Policy allows listener on the pods"},{"line_number":280,"context_line":"        for sg in sgs:"},{"line_number":281,"context_line":"            if sg !\u003d lb_sg:"},{"line_number":282,"context_line":"                if sg in config.CONF.neutron_defaults.pod_security_groups:"},{"line_number":283,"context_line":"                    # If default sg is set, this means there is no NP"},{"line_number":284,"context_line":"                    # associated to the service, thus falling back to the"},{"line_number":285,"context_line":"                    # default listener rules"},{"line_number":286,"context_line":"                    add_default_rules \u003d True"},{"line_number":287,"context_line":"                    break"},{"line_number":288,"context_line":"                rules \u003d os_net.security_group_rules(security_group_id\u003dsg)"},{"line_number":289,"context_line":"                for rule in rules:"},{"line_number":290,"context_line":"                    # copying ingress rules with same protocol onto the"},{"line_number":291,"context_line":"                    # loadbalancer sg rules"},{"line_number":292,"context_line":"                    # NOTE(ltomasbo): NP sg can only have rules with"},{"line_number":293,"context_line":"                    # or without remote_ip_prefix. Rules with remote_group_id"},{"line_number":294,"context_line":"                    # are not possible, therefore only applying the ones"},{"line_number":295,"context_line":"                    # with or without remote_ip_prefix."},{"line_number":296,"context_line":"                    if (rule.protocol \u003d\u003d protocol.lower() and"},{"line_number":297,"context_line":"                            rule.direction \u003d\u003d \u0027ingress\u0027):"},{"line_number":298,"context_line":"                        # If listener port not in allowed range, skip"},{"line_number":299,"context_line":"                        min_port \u003d rule.port_range_min"},{"line_number":300,"context_line":"                        max_port \u003d rule.port_range_max"},{"line_number":301,"context_line":"                        if (min_port and target_port not in range(min_port,"},{"line_number":302,"context_line":"                                                                  max_port+1)):"},{"line_number":303,"context_line":"                            continue"},{"line_number":304,"context_line":"                        all_pod_rules.append(rule)"},{"line_number":305,"context_line":"                        sg_rule_ethertype \u003d ipaddress.ip_network("},{"line_number":306,"context_line":"                            rule.remote_ip_prefix).version"},{"line_number":307,"context_line":"                        try:"},{"line_number":308,"context_line":"                            LOG.debug(\"Creating LBaaS sg rule for sg: %r\","},{"line_number":309,"context_line":"                                      lb_sg)"},{"line_number":310,"context_line":"                            os_net.create_security_group_rule("},{"line_number":311,"context_line":"                                direction\u003d\u0027ingress\u0027,"},{"line_number":312,"context_line":"                                ether_type\u003dsg_rule_ethertype,"},{"line_number":313,"context_line":"                                port_range_min\u003dport,"},{"line_number":314,"context_line":"                                port_range_max\u003dport,"},{"line_number":315,"context_line":"                                protocol\u003dprotocol,"},{"line_number":316,"context_line":"                                remote_ip_prefix\u003drule.remote_ip_prefix,"},{"line_number":317,"context_line":"                                security_group_id\u003dlb_sg,"},{"line_number":318,"context_line":"                                description\u003dsg_rule_name)"},{"line_number":319,"context_line":"                        except os_exc.ConflictException:"},{"line_number":320,"context_line":"                            pass"},{"line_number":321,"context_line":"                        except os_exc.SDKException:"},{"line_number":322,"context_line":"                            LOG.exception(\u0027Failed when creating security \u0027"},{"line_number":323,"context_line":"                                          \u0027group rule for listener %s.\u0027,"},{"line_number":324,"context_line":"                                          sg_rule_name)"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        # Delete LBaaS sg rules that do not match NP"},{"line_number":327,"context_line":"        for rule in lbaas_sg_rules:"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_7b2251a6","line":324,"range":{"start_line":279,"start_character":0,"end_line":324,"end_character":55},"in_reply_to":"df33271e_50be4c65","updated":"2020-03-26 09:40:44.000000000","message":"LB handler?\nThis is applying the members sg on the lg sg to allow/block traffic when using amphoras.","commit_id":"737e34c5ff7487a759f22a6e931f3d3d213bf051"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"8e285c4e83b88481fe3772638c30cdbb4a901bf8","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        else:"},{"line_number":277,"context_line":"            sgs \u003d loadbalancer.security_groups"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        # Check if Network Policy allows listener on the pods"},{"line_number":280,"context_line":"        for sg in sgs:"},{"line_number":281,"context_line":"            if sg !\u003d lb_sg:"},{"line_number":282,"context_line":"                if sg in config.CONF.neutron_defaults.pod_security_groups:"},{"line_number":283,"context_line":"                    # If default sg is set, this means there is no NP"},{"line_number":284,"context_line":"                    # associated to the service, thus falling back to the"},{"line_number":285,"context_line":"                    # default listener rules"},{"line_number":286,"context_line":"                    add_default_rules \u003d True"},{"line_number":287,"context_line":"                    break"},{"line_number":288,"context_line":"                rules \u003d os_net.security_group_rules(security_group_id\u003dsg)"},{"line_number":289,"context_line":"                for rule in rules:"},{"line_number":290,"context_line":"                    # copying ingress rules with same protocol onto the"},{"line_number":291,"context_line":"                    # loadbalancer sg rules"},{"line_number":292,"context_line":"                    # NOTE(ltomasbo): NP sg can only have rules with"},{"line_number":293,"context_line":"                    # or without remote_ip_prefix. Rules with remote_group_id"},{"line_number":294,"context_line":"                    # are not possible, therefore only applying the ones"},{"line_number":295,"context_line":"                    # with or without remote_ip_prefix."},{"line_number":296,"context_line":"                    if (rule.protocol \u003d\u003d protocol.lower() and"},{"line_number":297,"context_line":"                            rule.direction \u003d\u003d \u0027ingress\u0027):"},{"line_number":298,"context_line":"                        # If listener port not in allowed range, skip"},{"line_number":299,"context_line":"                        min_port \u003d rule.port_range_min"},{"line_number":300,"context_line":"                        max_port \u003d rule.port_range_max"},{"line_number":301,"context_line":"                        if (min_port and target_port not in range(min_port,"},{"line_number":302,"context_line":"                                                                  max_port+1)):"},{"line_number":303,"context_line":"                            continue"},{"line_number":304,"context_line":"                        all_pod_rules.append(rule)"},{"line_number":305,"context_line":"                        sg_rule_ethertype \u003d ipaddress.ip_network("},{"line_number":306,"context_line":"                            rule.remote_ip_prefix).version"},{"line_number":307,"context_line":"                        try:"},{"line_number":308,"context_line":"                            LOG.debug(\"Creating LBaaS sg rule for sg: %r\","},{"line_number":309,"context_line":"                                      lb_sg)"},{"line_number":310,"context_line":"                            os_net.create_security_group_rule("},{"line_number":311,"context_line":"                                direction\u003d\u0027ingress\u0027,"},{"line_number":312,"context_line":"                                ether_type\u003dsg_rule_ethertype,"},{"line_number":313,"context_line":"                                port_range_min\u003dport,"},{"line_number":314,"context_line":"                                port_range_max\u003dport,"},{"line_number":315,"context_line":"                                protocol\u003dprotocol,"},{"line_number":316,"context_line":"                                remote_ip_prefix\u003drule.remote_ip_prefix,"},{"line_number":317,"context_line":"                                security_group_id\u003dlb_sg,"},{"line_number":318,"context_line":"                                description\u003dsg_rule_name)"},{"line_number":319,"context_line":"                        except os_exc.ConflictException:"},{"line_number":320,"context_line":"                            pass"},{"line_number":321,"context_line":"                        except os_exc.SDKException:"},{"line_number":322,"context_line":"                            LOG.exception(\u0027Failed when creating security \u0027"},{"line_number":323,"context_line":"                                          \u0027group rule for listener %s.\u0027,"},{"line_number":324,"context_line":"                                          sg_rule_name)"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        # Delete LBaaS sg rules that do not match NP"},{"line_number":327,"context_line":"        for rule in lbaas_sg_rules:"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_21ca5819","line":324,"range":{"start_line":279,"start_character":0,"end_line":324,"end_character":55},"in_reply_to":"df33271e_7b2251a6","updated":"2020-03-26 12:08:55.000000000","message":"Ah right, that\u0027s the driver, nevermind. ;)","commit_id":"737e34c5ff7487a759f22a6e931f3d3d213bf051"}]}
