)]}'
{".zuul.d/octavia.yaml":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e258cd74413d0a224b6ec0b88bd214242aa18df","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    parent: kuryr-kubernetes-tempest-containerized"},{"line_number":135,"context_line":"    vars:"},{"line_number":136,"context_line":"      devstack_localrc:"},{"line_number":137,"context_line":"        KURYR_ENABLED_HANDLERS: vif,lb,lbaasspec,namespace,pod_label,policy,kuryrnetpolicy,kuryrnetworkkuryrloadbalancer"},{"line_number":138,"context_line":"        KURYR_SG_DRIVER: policy"},{"line_number":139,"context_line":"        KURYR_SUBNET_DRIVER: namespace"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":30,"id":"ff570b3c_0e886dc4","line":137,"range":{"start_line":137,"start_character":91,"end_line":137,"end_character":120},"updated":"2020-05-11 12:05:48.000000000","message":"missing comma","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"55ad391ce24893952a8908283faf31a6ac9446ae","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    parent: kuryr-kubernetes-tempest-containerized"},{"line_number":135,"context_line":"    vars:"},{"line_number":136,"context_line":"      devstack_localrc:"},{"line_number":137,"context_line":"        KURYR_ENABLED_HANDLERS: vif,lb,lbaasspec,namespace,pod_label,policy,kuryrnetpolicy,kuryrnetworkkuryrloadbalancer"},{"line_number":138,"context_line":"        KURYR_SG_DRIVER: policy"},{"line_number":139,"context_line":"        KURYR_SUBNET_DRIVER: namespace"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":30,"id":"ff570b3c_eb01ae3b","line":137,"range":{"start_line":137,"start_character":91,"end_line":137,"end_character":120},"in_reply_to":"ff570b3c_0e886dc4","updated":"2020-05-22 15:11:32.000000000","message":"Done","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"b0ec3c3e37af69c4be47fe767d683985945cff3b","unresolved":false,"context_lines":[{"line_number":163,"context_line":"      devstack_localrc:"},{"line_number":164,"context_line":"        CONTAINER_ENGINE: crio"},{"line_number":165,"context_line":"    voting: false"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":43,"id":"9f560f44_a382384e","line":166,"range":{"start_line":166,"start_character":0,"end_line":166,"end_character":0},"updated":"2020-07-29 12:41:27.000000000","message":"nit: unnecessary empty lines?","commit_id":"51ff00e71567880eb272ca33bb735ed40c08f08a"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"fb7ed0610768e4d7c833ed97c3d5280c330dc934","unresolved":false,"context_lines":[{"line_number":163,"context_line":"      devstack_localrc:"},{"line_number":164,"context_line":"        CONTAINER_ENGINE: crio"},{"line_number":165,"context_line":"    voting: false"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":43,"id":"9f560f44_884f1e91","line":166,"range":{"start_line":166,"start_character":0,"end_line":166,"end_character":0},"in_reply_to":"9f560f44_a382384e","updated":"2020-07-29 16:28:20.000000000","message":"Done","commit_id":"51ff00e71567880eb272ca33bb735ed40c08f08a"}],"kubernetes_crds/kuryr_crds/kuryrloadbalancer.yaml":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c49433141e2b31a2714f6d45e4125d78edd86894","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                        targetRef:"},{"line_number":79,"context_line":"                          type: object"},{"line_number":80,"context_line":"                          properties:"},{"line_number":81,"context_line":"                            apiVersion:"},{"line_number":82,"context_line":"                              type: string"},{"line_number":83,"context_line":"                            kind:"},{"line_number":84,"context_line":"                              type: string"},{"line_number":85,"context_line":"                            name:"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"df33271e_98ed29b9","line":82,"range":{"start_line":81,"start_character":0,"end_line":82,"end_character":42},"updated":"2020-04-01 12:37:51.000000000","message":"This doesn\u0027t seem to be needed. A few places that the targetRef is used in Kuryr and the fields needed:\n\nhttps://github.com/openstack/kuryr-kubernetes/blob/master/kuryr_kubernetes/controller/handlers/lbaas.py#L265\nhttps://github.com/openstack/kuryr-kubernetes/blob/master/kuryr_kubernetes/controller/handlers/lbaas.py#L346\nhttps://github.com/openstack/kuryr-kubernetes/blob/master/kuryr_kubernetes/controller/handlers/lbaas.py#L439","commit_id":"37aa52f435dcc2d280b2fc0c206b41608a13b141"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c49433141e2b31a2714f6d45e4125d78edd86894","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                              type: string"},{"line_number":85,"context_line":"                            name:"},{"line_number":86,"context_line":"                              type: string"},{"line_number":87,"context_line":"                            namespace:"},{"line_number":88,"context_line":"                              type: string"},{"line_number":89,"context_line":"                            resourceVersion:"},{"line_number":90,"context_line":"                              type: string"},{"line_number":91,"context_line":"                            uid:"},{"line_number":92,"context_line":"                              type: string"},{"line_number":93,"context_line":"                  notReadyAddresses:"},{"line_number":94,"context_line":"                    type: array"},{"line_number":95,"context_line":"                    items:"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"df33271e_3834dd49","line":92,"range":{"start_line":87,"start_character":0,"end_line":92,"end_character":42},"updated":"2020-04-01 12:37:51.000000000","message":"ditto","commit_id":"37aa52f435dcc2d280b2fc0c206b41608a13b141"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c49433141e2b31a2714f6d45e4125d78edd86894","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                              type: string"},{"line_number":91,"context_line":"                            uid:"},{"line_number":92,"context_line":"                              type: string"},{"line_number":93,"context_line":"                  notReadyAddresses:"},{"line_number":94,"context_line":"                    type: array"},{"line_number":95,"context_line":"                    items:"},{"line_number":96,"context_line":"                      type: object"},{"line_number":97,"context_line":"                      properties:"},{"line_number":98,"context_line":"                        hostname:"},{"line_number":99,"context_line":"                          type: string"},{"line_number":100,"context_line":"                        ip:"},{"line_number":101,"context_line":"                          type: string"},{"line_number":102,"context_line":"                        nodeName:"},{"line_number":103,"context_line":"                          type: string"},{"line_number":104,"context_line":"                        targetRef:"},{"line_number":105,"context_line":"                          type: array"},{"line_number":106,"context_line":"                          items:"},{"line_number":107,"context_line":"                            type: object"},{"line_number":108,"context_line":"                            properties:"},{"line_number":109,"context_line":"                              apiVersion:"},{"line_number":110,"context_line":"                                type: string"},{"line_number":111,"context_line":"                              kind:"},{"line_number":112,"context_line":"                                type: string"},{"line_number":113,"context_line":"                              name:"},{"line_number":114,"context_line":"                                type: string"},{"line_number":115,"context_line":"                              namespace:"},{"line_number":116,"context_line":"                                type: string"},{"line_number":117,"context_line":"                              resourceVersion:"},{"line_number":118,"context_line":"                                type: string"},{"line_number":119,"context_line":"                              uid:"},{"line_number":120,"context_line":"                                type: string"},{"line_number":121,"context_line":"                  ports:"},{"line_number":122,"context_line":"                    type: array"},{"line_number":123,"context_line":"                    items:"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"df33271e_78a5c5a1","line":120,"range":{"start_line":93,"start_character":0,"end_line":120,"end_character":44},"updated":"2020-04-01 12:37:51.000000000","message":"The property \u0027notReadyAddresses\u0027 is not needed here, as it\u0027s main role is to state IP addresses of endpoints that might not be ready yet. In Kuryr we are waiting for the ready endpoints and as they are already specified on the addresses property at line 67, this can be removed.","commit_id":"37aa52f435dcc2d280b2fc0c206b41608a13b141"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"14bbd5638927868ff395efff36463d5f5347ff2a","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                              type: string"},{"line_number":91,"context_line":"                            uid:"},{"line_number":92,"context_line":"                              type: string"},{"line_number":93,"context_line":"                  notReadyAddresses:"},{"line_number":94,"context_line":"                    type: array"},{"line_number":95,"context_line":"                    items:"},{"line_number":96,"context_line":"                      type: object"},{"line_number":97,"context_line":"                      properties:"},{"line_number":98,"context_line":"                        hostname:"},{"line_number":99,"context_line":"                          type: string"},{"line_number":100,"context_line":"                        ip:"},{"line_number":101,"context_line":"                          type: string"},{"line_number":102,"context_line":"                        nodeName:"},{"line_number":103,"context_line":"                          type: string"},{"line_number":104,"context_line":"                        targetRef:"},{"line_number":105,"context_line":"                          type: array"},{"line_number":106,"context_line":"                          items:"},{"line_number":107,"context_line":"                            type: object"},{"line_number":108,"context_line":"                            properties:"},{"line_number":109,"context_line":"                              apiVersion:"},{"line_number":110,"context_line":"                                type: string"},{"line_number":111,"context_line":"                              kind:"},{"line_number":112,"context_line":"                                type: string"},{"line_number":113,"context_line":"                              name:"},{"line_number":114,"context_line":"                                type: string"},{"line_number":115,"context_line":"                              namespace:"},{"line_number":116,"context_line":"                                type: string"},{"line_number":117,"context_line":"                              resourceVersion:"},{"line_number":118,"context_line":"                                type: string"},{"line_number":119,"context_line":"                              uid:"},{"line_number":120,"context_line":"                                type: string"},{"line_number":121,"context_line":"                  ports:"},{"line_number":122,"context_line":"                    type: array"},{"line_number":123,"context_line":"                    items:"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"1f493fa4_1e52c5de","line":120,"range":{"start_line":93,"start_character":0,"end_line":120,"end_character":44},"updated":"2020-04-28 10:18:28.000000000","message":"Could you address the comments made on patch set 20 about some fields not being required on the CRD?","commit_id":"8ee8a230e64439da816b2d2bfd9128fadcfdc863"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e258cd74413d0a224b6ec0b88bd214242aa18df","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                              type: string"},{"line_number":91,"context_line":"                            uid:"},{"line_number":92,"context_line":"                              type: string"},{"line_number":93,"context_line":"                  notReadyAddresses:"},{"line_number":94,"context_line":"                    type: array"},{"line_number":95,"context_line":"                    items:"},{"line_number":96,"context_line":"                      type: object"},{"line_number":97,"context_line":"                      properties:"},{"line_number":98,"context_line":"                        hostname:"},{"line_number":99,"context_line":"                          type: string"},{"line_number":100,"context_line":"                        ip:"},{"line_number":101,"context_line":"                          type: string"},{"line_number":102,"context_line":"                        nodeName:"},{"line_number":103,"context_line":"                          type: string"},{"line_number":104,"context_line":"                        targetRef:"},{"line_number":105,"context_line":"                          type: array"},{"line_number":106,"context_line":"                          items:"},{"line_number":107,"context_line":"                            type: object"},{"line_number":108,"context_line":"                            properties:"},{"line_number":109,"context_line":"                              apiVersion:"},{"line_number":110,"context_line":"                                type: string"},{"line_number":111,"context_line":"                              kind:"},{"line_number":112,"context_line":"                                type: string"},{"line_number":113,"context_line":"                              name:"},{"line_number":114,"context_line":"                                type: string"},{"line_number":115,"context_line":"                              namespace:"},{"line_number":116,"context_line":"                                type: string"},{"line_number":117,"context_line":"                              resourceVersion:"},{"line_number":118,"context_line":"                                type: string"},{"line_number":119,"context_line":"                              uid:"},{"line_number":120,"context_line":"                                type: string"},{"line_number":121,"context_line":"                  ports:"},{"line_number":122,"context_line":"                    type: array"},{"line_number":123,"context_line":"                    items:"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"ff570b3c_3c212bfd","line":120,"range":{"start_line":93,"start_character":0,"end_line":120,"end_character":44},"updated":"2020-05-11 12:05:48.000000000","message":"Why is the notReadyAddresses being added? Is it being used to define some restriction on Kuryr side?","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"55ad391ce24893952a8908283faf31a6ac9446ae","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                              type: string"},{"line_number":91,"context_line":"                            uid:"},{"line_number":92,"context_line":"                              type: string"},{"line_number":93,"context_line":"                  notReadyAddresses:"},{"line_number":94,"context_line":"                    type: array"},{"line_number":95,"context_line":"                    items:"},{"line_number":96,"context_line":"                      type: object"},{"line_number":97,"context_line":"                      properties:"},{"line_number":98,"context_line":"                        hostname:"},{"line_number":99,"context_line":"                          type: string"},{"line_number":100,"context_line":"                        ip:"},{"line_number":101,"context_line":"                          type: string"},{"line_number":102,"context_line":"                        nodeName:"},{"line_number":103,"context_line":"                          type: string"},{"line_number":104,"context_line":"                        targetRef:"},{"line_number":105,"context_line":"                          type: array"},{"line_number":106,"context_line":"                          items:"},{"line_number":107,"context_line":"                            type: object"},{"line_number":108,"context_line":"                            properties:"},{"line_number":109,"context_line":"                              apiVersion:"},{"line_number":110,"context_line":"                                type: string"},{"line_number":111,"context_line":"                              kind:"},{"line_number":112,"context_line":"                                type: string"},{"line_number":113,"context_line":"                              name:"},{"line_number":114,"context_line":"                                type: string"},{"line_number":115,"context_line":"                              namespace:"},{"line_number":116,"context_line":"                                type: string"},{"line_number":117,"context_line":"                              resourceVersion:"},{"line_number":118,"context_line":"                                type: string"},{"line_number":119,"context_line":"                              uid:"},{"line_number":120,"context_line":"                                type: string"},{"line_number":121,"context_line":"                  ports:"},{"line_number":122,"context_line":"                    type: array"},{"line_number":123,"context_line":"                    items:"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"ff570b3c_4b341afc","line":120,"range":{"start_line":93,"start_character":0,"end_line":120,"end_character":44},"in_reply_to":"ff570b3c_3c212bfd","updated":"2020-05-22 15:11:32.000000000","message":"It is part of the subsets,it is for IP addresses which offer the related ports but are not currently marked as ready because they have not yet finished starting, have recently failed a readiness check, or have recently failed a liveness check. \n\nhttps://kubernetes.io/docs/reference/generated/kubernetes-api/v1.16/#endpointsubset-v1-core","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"156aeb8b904fd9d18cfb49ea273c32f27d432612","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                type: string"},{"line_number":62,"context_line":"              type:"},{"line_number":63,"context_line":"                type: string"},{"line_number":64,"context_line":"              subsets: "},{"line_number":65,"context_line":"                type: array"},{"line_number":66,"context_line":"                items:"},{"line_number":67,"context_line":"                  type: object"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"ff570b3c_335bf82e","line":64,"updated":"2020-05-26 12:51:05.000000000","message":"Trailing space.","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                type: string"},{"line_number":62,"context_line":"              type:"},{"line_number":63,"context_line":"                type: string"},{"line_number":64,"context_line":"              subsets: "},{"line_number":65,"context_line":"                type: array"},{"line_number":66,"context_line":"                items:"},{"line_number":67,"context_line":"                  type: object"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"ff570b3c_c51c3d6c","line":64,"in_reply_to":"ff570b3c_335bf82e","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"61ecb4e585dbc9525ad25a546ddd8f22d0e34401","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                                type: string"},{"line_number":93,"context_line":"                              uid:"},{"line_number":94,"context_line":"                                type: string"},{"line_number":95,"context_line":"                    notReadyAddresses:"},{"line_number":96,"context_line":"                      type: array"},{"line_number":97,"context_line":"                      items:"},{"line_number":98,"context_line":"                        type: object"},{"line_number":99,"context_line":"                        properties:"},{"line_number":100,"context_line":"                          hostname:"},{"line_number":101,"context_line":"                            type: string"},{"line_number":102,"context_line":"                          ip:"},{"line_number":103,"context_line":"                            type: string"},{"line_number":104,"context_line":"                          nodeName:"},{"line_number":105,"context_line":"                            type: string"},{"line_number":106,"context_line":"                          targetRef:"},{"line_number":107,"context_line":"                            type: array"},{"line_number":108,"context_line":"                            items:"},{"line_number":109,"context_line":"                              type: object"},{"line_number":110,"context_line":"                              properties:"},{"line_number":111,"context_line":"                                apiVersion:"},{"line_number":112,"context_line":"                                  type: string"},{"line_number":113,"context_line":"                                kind:"},{"line_number":114,"context_line":"                                  type: string"},{"line_number":115,"context_line":"                                name:"},{"line_number":116,"context_line":"                                  type: string"},{"line_number":117,"context_line":"                                namespace:"},{"line_number":118,"context_line":"                                  type: string"},{"line_number":119,"context_line":"                                resourceVersion:"},{"line_number":120,"context_line":"                                  type: string"},{"line_number":121,"context_line":"                                uid:"},{"line_number":122,"context_line":"                                  type: string"},{"line_number":123,"context_line":"                    ports:"},{"line_number":124,"context_line":"                      type: array"},{"line_number":125,"context_line":"                      items:"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"ff570b3c_e4e37ca3","line":122,"range":{"start_line":95,"start_character":0,"end_line":122,"end_character":46},"updated":"2020-05-26 09:58:59.000000000","message":"Kuryr relies on the address field of the subsets to consume the ready addresses. So, I don\u0027t see a reason for defining the notReadyAddresses field on the CRD if Kuryr never uses the information stated there.","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                                type: string"},{"line_number":93,"context_line":"                              uid:"},{"line_number":94,"context_line":"                                type: string"},{"line_number":95,"context_line":"                    notReadyAddresses:"},{"line_number":96,"context_line":"                      type: array"},{"line_number":97,"context_line":"                      items:"},{"line_number":98,"context_line":"                        type: object"},{"line_number":99,"context_line":"                        properties:"},{"line_number":100,"context_line":"                          hostname:"},{"line_number":101,"context_line":"                            type: string"},{"line_number":102,"context_line":"                          ip:"},{"line_number":103,"context_line":"                            type: string"},{"line_number":104,"context_line":"                          nodeName:"},{"line_number":105,"context_line":"                            type: string"},{"line_number":106,"context_line":"                          targetRef:"},{"line_number":107,"context_line":"                            type: array"},{"line_number":108,"context_line":"                            items:"},{"line_number":109,"context_line":"                              type: object"},{"line_number":110,"context_line":"                              properties:"},{"line_number":111,"context_line":"                                apiVersion:"},{"line_number":112,"context_line":"                                  type: string"},{"line_number":113,"context_line":"                                kind:"},{"line_number":114,"context_line":"                                  type: string"},{"line_number":115,"context_line":"                                name:"},{"line_number":116,"context_line":"                                  type: string"},{"line_number":117,"context_line":"                                namespace:"},{"line_number":118,"context_line":"                                  type: string"},{"line_number":119,"context_line":"                                resourceVersion:"},{"line_number":120,"context_line":"                                  type: string"},{"line_number":121,"context_line":"                                uid:"},{"line_number":122,"context_line":"                                  type: string"},{"line_number":123,"context_line":"                    ports:"},{"line_number":124,"context_line":"                      type: array"},{"line_number":125,"context_line":"                      items:"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"ff570b3c_1d64ece4","line":122,"range":{"start_line":95,"start_character":0,"end_line":122,"end_character":46},"in_reply_to":"ff570b3c_e4e37ca3","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"156aeb8b904fd9d18cfb49ea273c32f27d432612","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                                type: string"},{"line_number":93,"context_line":"                              uid:"},{"line_number":94,"context_line":"                                type: string"},{"line_number":95,"context_line":"                    notReadyAddresses:"},{"line_number":96,"context_line":"                      type: array"},{"line_number":97,"context_line":"                      items:"},{"line_number":98,"context_line":"                        type: object"},{"line_number":99,"context_line":"                        properties:"},{"line_number":100,"context_line":"                          hostname:"},{"line_number":101,"context_line":"                            type: string"},{"line_number":102,"context_line":"                          ip:"},{"line_number":103,"context_line":"                            type: string"},{"line_number":104,"context_line":"                          nodeName:"},{"line_number":105,"context_line":"                            type: string"},{"line_number":106,"context_line":"                          targetRef:"},{"line_number":107,"context_line":"                            type: array"},{"line_number":108,"context_line":"                            items:"},{"line_number":109,"context_line":"                              type: object"},{"line_number":110,"context_line":"                              properties:"},{"line_number":111,"context_line":"                                apiVersion:"},{"line_number":112,"context_line":"                                  type: string"},{"line_number":113,"context_line":"                                kind:"},{"line_number":114,"context_line":"                                  type: string"},{"line_number":115,"context_line":"                                name:"},{"line_number":116,"context_line":"                                  type: string"},{"line_number":117,"context_line":"                                namespace:"},{"line_number":118,"context_line":"                                  type: string"},{"line_number":119,"context_line":"                                resourceVersion:"},{"line_number":120,"context_line":"                                  type: string"},{"line_number":121,"context_line":"                                uid:"},{"line_number":122,"context_line":"                                  type: string"},{"line_number":123,"context_line":"                    ports:"},{"line_number":124,"context_line":"                      type: array"},{"line_number":125,"context_line":"                      items:"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"ff570b3c_b331c8ef","line":122,"range":{"start_line":95,"start_character":0,"end_line":122,"end_character":46},"in_reply_to":"ff570b3c_e4e37ca3","updated":"2020-05-26 12:51:05.000000000","message":"That is a very good point.","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"4867e35420f4af3790c526dd3ad80bce8ae35566","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                    protocol:"},{"line_number":51,"context_line":"                      type: string"},{"line_number":52,"context_line":"                    targetPort:"},{"line_number":53,"context_line":"                      type: integer"},{"line_number":54,"context_line":"              project_id:"},{"line_number":55,"context_line":"                type: string"},{"line_number":56,"context_line":"              security_groups_ids:"}],"source_content_type":"text/x-yaml","patch_set":36,"id":"bf51134e_d0fcae73","line":53,"range":{"start_line":53,"start_character":28,"end_line":53,"end_character":35},"updated":"2020-07-13 09:12:34.000000000","message":"target port can also be text, right? (named-ports)","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"}],"kuryr_kubernetes/constants.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":60,"context_line":"K8S_ANNOTATION_NEUTRON_PORT \u003d \u0027neutron_id\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"KURYRNETWORK_FINALIZER \u003d \u0027kuryrnetwork.finalizers.kuryr.openstack.org\u0027"},{"line_number":63,"context_line":"KURYRLOADBALANCER_FINALIZER \u003d \u0027kuryrloadbalancers.finalizers.kuryr.openstack.org\u0027"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"K8S_OS_VIF_NOOP_PLUGIN \u003d \"noop\""},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_4e47b879","line":63,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":60,"context_line":"K8S_ANNOTATION_NEUTRON_PORT \u003d \u0027neutron_id\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"KURYRNETWORK_FINALIZER \u003d \u0027kuryrnetwork.finalizers.kuryr.openstack.org\u0027"},{"line_number":63,"context_line":"KURYRLOADBALANCER_FINALIZER \u003d \u0027kuryrloadbalancers.finalizers.kuryr.openstack.org\u0027"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"K8S_OS_VIF_NOOP_PLUGIN \u003d \"noop\""},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_76357fda","line":63,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"521942d3356a6e0621a5e47d6c85c2a741d5074b","unresolved":false,"context_lines":[{"line_number":60,"context_line":"K8S_ANNOTATION_NEUTRON_PORT \u003d \u0027neutron_id\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"KURYRNETWORK_FINALIZER \u003d \u0027kuryrnetwork.finalizers.kuryr.openstack.org\u0027"},{"line_number":63,"context_line":"KLB_FINALIZER \u003d \u0027kuryrloadbalancers.finalizers.kuryr.openstack.org\u0027"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"K8S_OS_VIF_NOOP_PLUGIN \u003d \"noop\""},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_e1129e61","line":63,"range":{"start_line":63,"start_character":0,"end_line":63,"end_character":67},"updated":"2020-04-30 16:19:12.000000000","message":"I discovered that for some cases it needs to have a form like this:\n\n \u0027kuryr.openstack.org/networkpolicy-finalizer\u0027\n\nOtherwise kube-apiserver might reject it. So how about something like this:\n\n \u0027kuryr.openstack.org/kuryrloadbalancer-finalizer\u0027\n\n?","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e258cd74413d0a224b6ec0b88bd214242aa18df","unresolved":false,"context_lines":[{"line_number":60,"context_line":"K8S_ANNOTATION_NEUTRON_PORT \u003d \u0027neutron_id\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"KURYRNETWORK_FINALIZER \u003d \u0027kuryrnetwork.finalizers.kuryr.openstack.org\u0027"},{"line_number":63,"context_line":"KLB_FINALIZER \u003d \u0027kuryr.openstack.org/kuryrloadbalancer-finalizer\u0027"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"K8S_OS_VIF_NOOP_PLUGIN \u003d \"noop\""},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_ce6cb50a","line":63,"range":{"start_line":63,"start_character":0,"end_line":63,"end_character":13},"updated":"2020-05-11 12:05:48.000000000","message":"Perhaps this could be renamed to KURYRLB_FINALIZER to follow the pattern.","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"55ad391ce24893952a8908283faf31a6ac9446ae","unresolved":false,"context_lines":[{"line_number":60,"context_line":"K8S_ANNOTATION_NEUTRON_PORT \u003d \u0027neutron_id\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"KURYRNETWORK_FINALIZER \u003d \u0027kuryrnetwork.finalizers.kuryr.openstack.org\u0027"},{"line_number":63,"context_line":"KLB_FINALIZER \u003d \u0027kuryr.openstack.org/kuryrloadbalancer-finalizer\u0027"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"K8S_OS_VIF_NOOP_PLUGIN \u003d \"noop\""},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_06185773","line":63,"range":{"start_line":63,"start_character":0,"end_line":63,"end_character":13},"in_reply_to":"ff570b3c_ce6cb50a","updated":"2020-05-22 15:11:32.000000000","message":"Done","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"156aeb8b904fd9d18cfb49ea273c32f27d432612","unresolved":false,"context_lines":[{"line_number":60,"context_line":"K8S_ANNOTATION_NEUTRON_PORT \u003d \u0027neutron_id\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"KURYRNETWORK_FINALIZER \u003d \u0027kuryrnetwork.finalizers.kuryr.openstack.org\u0027"},{"line_number":63,"context_line":"KURYRLB_FINALIZER \u003d \u0027kuryr.openstack.org/kuryrloadbalancer-finalizer\u0027"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"K8S_OS_VIF_NOOP_PLUGIN \u003d \"noop\""},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_93112457","line":63,"range":{"start_line":63,"start_character":0,"end_line":63,"end_character":69},"updated":"2020-05-26 12:51:05.000000000","message":"I know it looks odd, but it\u0027s the way to go, thanks!","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3cb272b34f1f873bf7dfefdba28f717fe2cb293c","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"KURYRNETWORK_FINALIZER \u003d \u0027kuryrnetwork.finalizers.kuryr.openstack.org\u0027"},{"line_number":63,"context_line":"KURYRLB_FINALIZER \u003d \u0027kuryr.openstack.org/kuryrloadbalancer-finalizers\u0027"},{"line_number":64,"context_line":"SERVICE_FINALIZER \u003d \u0027openstack.org/service\u0027"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"K8S_OS_VIF_NOOP_PLUGIN \u003d \"noop\""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_e80f8336","line":64,"range":{"start_line":64,"start_character":21,"end_line":64,"end_character":42},"updated":"2020-07-24 14:51:57.000000000","message":"I think I\u0027d still name it kuryr.openstack.org/service-finalizer.","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"KURYRNETWORK_FINALIZER \u003d \u0027kuryrnetwork.finalizers.kuryr.openstack.org\u0027"},{"line_number":63,"context_line":"KURYRLB_FINALIZER \u003d \u0027kuryr.openstack.org/kuryrloadbalancer-finalizers\u0027"},{"line_number":64,"context_line":"SERVICE_FINALIZER \u003d \u0027openstack.org/service\u0027"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"K8S_OS_VIF_NOOP_PLUGIN \u003d \"noop\""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_68690bbd","line":64,"range":{"start_line":64,"start_character":21,"end_line":64,"end_character":42},"in_reply_to":"bf51134e_e80f8336","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"}],"kuryr_kubernetes/controller/drivers/lb_public_ip.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2017 RedHat, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_6946ee23","line":1,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E902 TokenError: EOF in multi-line statement","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        self._drv_pub_ip \u003d public_ip.FipPubIpDriver()"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def acquire_service_pub_ip_info(self, spec_type, spec_lb_ip, project_id,"},{"line_number":43,"context_line":"                                    port_id_to_be_associated\u003dNone, loadbalancer_crd):"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        if spec_type !\u003d \u0027LoadBalancer\u0027:"},{"line_number":46,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_c95582c8","line":43,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (85 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            LOG.exception(\"Failed to allocate public IP - net_id:%s\","},{"line_number":86,"context_line":"                          public_network_id)"},{"line_number":87,"context_line":"            return None"},{"line_number":88,"context_line":" "},{"line_number":89,"context_line":"        data \u003d {"},{"line_number":90,"context_line":"            \u0027status\u0027: {"},{"line_number":91,"context_line":"                \u0027service_pub_ip_info\u0027: {"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_a950f6d5","line":88,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        try:"},{"line_number":107,"context_line":"            kubernetes.patch_crd(\u0027schema\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], data)"},{"line_number":108,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":109,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":110,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_09612aaa","line":107,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (90 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":109,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":110,"context_line":"        except k_exc.K8sClientException:"},{"line_number":111,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":112,"context_line":"            raise"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def release_pub_ip(self, service_pub_ip_info):"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_e9631eb0","line":111,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        if not service_pub_ip_info or not service_pub_ip_info.ip_id:"},{"line_number":135,"context_line":"            return"},{"line_number":136,"context_line":"        self._drv_pub_ip.disassociate(service_pub_ip_info.ip_id)"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_495b32f6","line":137,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W391 blank line at end of file","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2017 RedHat, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_563203f3","line":1,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E902 TokenError: EOF in multi-line statement","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        self._drv_pub_ip \u003d public_ip.FipPubIpDriver()"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def acquire_service_pub_ip_info(self, spec_type, spec_lb_ip, project_id,"},{"line_number":43,"context_line":"                                    port_id_to_be_associated\u003dNone, loadbalancer_crd):"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        if spec_type !\u003d \u0027LoadBalancer\u0027:"},{"line_number":46,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_b64c2777","line":43,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (85 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            LOG.exception(\"Failed to allocate public IP - net_id:%s\","},{"line_number":86,"context_line":"                          public_network_id)"},{"line_number":87,"context_line":"            return None"},{"line_number":88,"context_line":" "},{"line_number":89,"context_line":"        data \u003d {"},{"line_number":90,"context_line":"            \u0027status\u0027: {"},{"line_number":91,"context_line":"                \u0027service_pub_ip_info\u0027: {"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_96512b12","line":88,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        try:"},{"line_number":107,"context_line":"            kubernetes.patch_crd(\u0027schema\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], data)"},{"line_number":108,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":109,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":110,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_f656af06","line":107,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (90 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":109,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":110,"context_line":"        except k_exc.K8sClientException:"},{"line_number":111,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":112,"context_line":"            raise"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def release_pub_ip(self, service_pub_ip_info):"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_d65bb32b","line":111,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        if not service_pub_ip_info or not service_pub_ip_info.ip_id:"},{"line_number":135,"context_line":"            return"},{"line_number":136,"context_line":"        self._drv_pub_ip.disassociate(service_pub_ip_info.ip_id)"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_36401736","line":137,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W391 blank line at end of file","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from kuryr_kubernetes import config"},{"line_number":16,"context_line":"from kuryr_kubernetes.controller.drivers import base"},{"line_number":17,"context_line":"from kuryr_kubernetes.controller.drivers import public_ip"},{"line_number":18,"context_line":"from kuryr_kubernetes.objects import lbaas as obj_lbaas"},{"line_number":19,"context_line":"from oslo_config import cfg"},{"line_number":20,"context_line":"from oslo_log import log as logging"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_42f51883","line":18,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: F401 \u0027kuryr_kubernetes.objects.lbaas as obj_lbaas\u0027 imported but unused","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"}],"kuryr_kubernetes/controller/drivers/lbaasv2.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":643,"context_line":"        self.add_tags(\u0027member\u0027, request)"},{"line_number":644,"context_line":"        lbaas \u003d clients.get_loadbalancer_client()"},{"line_number":645,"context_line":"        response \u003d lbaas.create_member(member.get(\u0027pool_id\u0027), **request)"},{"line_number":646,"context_line":"        member.get(\u0027id\u0027) \u003d response.id"},{"line_number":647,"context_line":"        return member"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"    def _find_member(self, member):"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_a918f674","line":646,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E999 SyntaxError: can\u0027t assign to function call","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":825,"context_line":"            self._apply_members_security_groups(lbaas_obj, lbaas_port,"},{"line_number":826,"context_line":"                                                target_port, port_protocol,"},{"line_number":827,"context_line":"                                                sg_rule_name, listener_id, sgs)"},{"line_number":828,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_09292a89","line":828,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W391 blank line at end of file","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":643,"context_line":"        self.add_tags(\u0027member\u0027, request)"},{"line_number":644,"context_line":"        lbaas \u003d clients.get_loadbalancer_client()"},{"line_number":645,"context_line":"        response \u003d lbaas.create_member(member.get(\u0027pool_id\u0027), **request)"},{"line_number":646,"context_line":"        member.get(\u0027id\u0027) \u003d response.id"},{"line_number":647,"context_line":"        return member"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"    def _find_member(self, member):"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_f6218fa1","line":646,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E999 SyntaxError: can\u0027t assign to function call","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":825,"context_line":"            self._apply_members_security_groups(lbaas_obj, lbaas_port,"},{"line_number":826,"context_line":"                                                target_port, port_protocol,"},{"line_number":827,"context_line":"                                                sg_rule_name, listener_id, sgs)"},{"line_number":828,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_d62613b8","line":828,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W391 blank line at end of file","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"14bbd5638927868ff395efff36463d5f5347ff2a","unresolved":false,"context_lines":[{"line_number":275,"context_line":"        else:"},{"line_number":276,"context_line":"            sgs \u003d loadbalancer.security_groups"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        sg_rule_ethertype \u003d k_const.IPv4"},{"line_number":279,"context_line":"        if utils.get_service_subnet_version() \u003d\u003d k_const.IP_VERSION_6:"},{"line_number":280,"context_line":"            sg_rule_ethertype \u003d k_const.IPv6"},{"line_number":281,"context_line":"        # Check if Network Policy allows listener on the pods"},{"line_number":282,"context_line":"        for sg in sgs:"},{"line_number":283,"context_line":"            if sg !\u003d lb_sg:"}],"source_content_type":"text/x-python","patch_set":26,"id":"1f493fa4_def97dc8","side":"PARENT","line":280,"range":{"start_line":278,"start_character":0,"end_line":280,"end_character":44},"updated":"2020-04-28 10:18:28.000000000","message":"ditto.\nLooks like you changed this file to an older version, which does not match master.","commit_id":"88542a04aed41625b5ee82e40da72efe011b18c5"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"14bbd5638927868ff395efff36463d5f5347ff2a","unresolved":false,"context_lines":[{"line_number":266,"context_line":"                                        protocol, lb_sg, new_sgs, listener_id)"},{"line_number":267,"context_line":"            return"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"        lbaas_sg_rules \u003d os_net.security_group_rules(security_group_id\u003dlb_sg)"},{"line_number":270,"context_line":"        all_pod_rules \u003d []"},{"line_number":271,"context_line":"        add_default_rules \u003d False"},{"line_number":272,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"1f493fa4_fe6719b6","line":269,"range":{"start_line":269,"start_character":8,"end_line":269,"end_character":77},"updated":"2020-04-28 10:18:28.000000000","message":"Why is this being changed? we must ensure the project_id is included.","commit_id":"8ee8a230e64439da816b2d2bfd9128fadcfdc863"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":508,"context_line":"                      loadbalancer.provider, response.provider)"},{"line_number":509,"context_line":"            return None"},{"line_number":510,"context_line":"        loadbalancer.provider \u003d response.provider"},{"line_number":511,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":512,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":513,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":514,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_dbcde1b7","line":511,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":509,"context_line":"            return None"},{"line_number":510,"context_line":"        loadbalancer.provider \u003d response.provider"},{"line_number":511,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":512,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":513,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":514,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":515,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3bc845a4","line":512,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":510,"context_line":"        loadbalancer.provider \u003d response.provider"},{"line_number":511,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":512,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":513,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":514,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":515,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":516,"context_line":"        LOG.debug(loadbalancer)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1bc3c98a","line":513,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":511,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":512,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":513,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":514,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":515,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":516,"context_line":"        LOG.debug(loadbalancer)"},{"line_number":517,"context_line":"        return loadbalancer"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7bbe4dff","line":514,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":512,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":513,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":514,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":515,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":516,"context_line":"        LOG.debug(loadbalancer)"},{"line_number":517,"context_line":"        return loadbalancer"},{"line_number":518,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5bb9d112","line":515,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        # if an SG for the loadbalancer has not being created, create one"},{"line_number":180,"context_line":"        if not sg_id:"},{"line_number":181,"context_line":"            sg \u003d os_net.create_security_group("},{"line_number":182,"context_line":"                name\u003dloadbalancer[\u0027name\u0027], project_id\u003dloadbalancer[\u0027project_id\u0027])"},{"line_number":183,"context_line":"            c_utils.tag_neutron_resources([sg])"},{"line_number":184,"context_line":"            loadbalancer[\u0027security_groups\u0027].append(sg.id)"},{"line_number":185,"context_line":"            vip_port \u003d self._get_vip_port(loadbalancer)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9b1fab6f","line":182,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":379,"context_line":"                        service_type\u003d\u0027ClusterIP\u0027):"},{"line_number":380,"context_line":"        name \u003d \"%s:%s:%s\" % (loadbalancer[\u0027name\u0027], protocol, port)"},{"line_number":381,"context_line":"        listener \u003d obj_lbaas.LBaaSListener(name\u003dname,"},{"line_number":382,"context_line":"                                           project_id\u003dloadbalancer[\u0027project_id\u0027],"},{"line_number":383,"context_line":"                                           loadbalancer_id\u003dloadbalancer[\u0027id\u0027],"},{"line_number":384,"context_line":"                                           protocol\u003dprotocol,"},{"line_number":385,"context_line":"                                           port\u003dport)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fb2cefad","line":382,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":534,"context_line":"            project_id\u003dloadbalancer[\u0027project_id\u0027],"},{"line_number":535,"context_line":"            vip_address\u003dstr(loadbalancer[\u0027ip\u0027]),"},{"line_number":536,"context_line":"            vip_subnet_id\u003dloadbalancer[\u0027subnet_id\u0027])"},{"line_number":537,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":538,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":539,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":540,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_db29339c","line":537,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":535,"context_line":"            vip_address\u003dstr(loadbalancer[\u0027ip\u0027]),"},{"line_number":536,"context_line":"            vip_subnet_id\u003dloadbalancer[\u0027subnet_id\u0027])"},{"line_number":537,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":538,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":539,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":540,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":541,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3b181783","line":538,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":536,"context_line":"            vip_subnet_id\u003dloadbalancer[\u0027subnet_id\u0027])"},{"line_number":537,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":538,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":539,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":540,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":541,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":542,"context_line":"        LOG.debug(loadbalancer)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1b1d5b73","line":539,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":537,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":538,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":539,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":540,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":541,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":542,"context_line":"        LOG.debug(loadbalancer)"},{"line_number":543,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7b129f64","line":540,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":538,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":539,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":540,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":541,"context_line":"        LOG.debug(\u0027%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\u0027)"},{"line_number":542,"context_line":"        LOG.debug(loadbalancer)"},{"line_number":543,"context_line":"        try:"},{"line_number":544,"context_line":"            os_lb \u003d next(response)  # openstacksdk returns a generator"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5b17e352","line":541,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":842,"context_line":"            self._apply_members_security_groups(lbaas_obj, lbaas_port,"},{"line_number":843,"context_line":"                                                target_port, port_protocol,"},{"line_number":844,"context_line":"                                                sg_rule_name, listener_id, sgs)"},{"line_number":845,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_bb0b8729","line":845,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: W391 blank line at end of file","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from kuryr_kubernetes.controller.drivers import base"},{"line_number":30,"context_line":"from kuryr_kubernetes.controller.drivers import utils as c_utils"},{"line_number":31,"context_line":"from kuryr_kubernetes import exceptions as k_exc"},{"line_number":32,"context_line":"from kuryr_kubernetes.objects import lbaas as obj_lbaas"},{"line_number":33,"context_line":"from kuryr_kubernetes import utils"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_a2f21c99","line":32,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: F401 \u0027kuryr_kubernetes.objects.lbaas as obj_lbaas\u0027 imported but unused","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        # if an SG for the loadbalancer has not being created, create one"},{"line_number":176,"context_line":"        if not sg_id:"},{"line_number":177,"context_line":"            sg \u003d os_net.create_security_group("},{"line_number":178,"context_line":"                name\u003dloadbalancer[\u0027name\u0027], project_id\u003dloadbalancer[\u0027project_id\u0027])"},{"line_number":179,"context_line":"            c_utils.tag_neutron_resources([sg])"},{"line_number":180,"context_line":"            loadbalancer[\u0027security_groups\u0027].append(sg.id)"},{"line_number":181,"context_line":"            vip_port \u003d self._get_vip_port(loadbalancer)"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_82ef20af","line":178,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e258cd74413d0a224b6ec0b88bd214242aa18df","unresolved":false,"context_lines":[{"line_number":275,"context_line":"        else:"},{"line_number":276,"context_line":"            sgs \u003d loadbalancer.security_groups"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        sg_rule_ethertype \u003d k_const.IPv4"},{"line_number":279,"context_line":"        if utils.get_service_subnet_version() \u003d\u003d k_const.IP_VERSION_6:"},{"line_number":280,"context_line":"            sg_rule_ethertype \u003d k_const.IPv6"},{"line_number":281,"context_line":"        # Check if Network Policy allows listener on the pods"},{"line_number":282,"context_line":"        for sg in sgs:"},{"line_number":283,"context_line":"            if sg !\u003d lb_sg:"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_7c628318","side":"PARENT","line":280,"range":{"start_line":278,"start_character":0,"end_line":280,"end_character":44},"updated":"2020-05-11 12:05:48.000000000","message":"Why removing this and adding lines 309 and 343? This differs from master. Perhaps a rebase could solve the issue or just adding and removing the respective lines.","commit_id":"cdd1ddd00ca553c8bf234ca51ba3d7e5a5e47b28"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"004d140a9437adc228e6db09def685dd787e9323","unresolved":false,"context_lines":[{"line_number":275,"context_line":"        else:"},{"line_number":276,"context_line":"            sgs \u003d loadbalancer.security_groups"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        sg_rule_ethertype \u003d k_const.IPv4"},{"line_number":279,"context_line":"        if utils.get_service_subnet_version() \u003d\u003d k_const.IP_VERSION_6:"},{"line_number":280,"context_line":"            sg_rule_ethertype \u003d k_const.IPv6"},{"line_number":281,"context_line":"        # Check if Network Policy allows listener on the pods"},{"line_number":282,"context_line":"        for sg in sgs:"},{"line_number":283,"context_line":"            if sg !\u003d lb_sg:"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_a63feb85","side":"PARENT","line":280,"range":{"start_line":278,"start_character":0,"end_line":280,"end_character":44},"in_reply_to":"ff570b3c_7c628318","updated":"2020-05-22 15:22:44.000000000","message":"Done","commit_id":"cdd1ddd00ca553c8bf234ca51ba3d7e5a5e47b28"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"73fa7afa9dd4bdde5c2fefbe28f8334bc570f63d","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    def ensure_loadbalancer(self, name, project_id, subnet_id, ip,"},{"line_number":129,"context_line":"                            security_groups_ids\u003dNone, service_type\u003dNone,"},{"line_number":130,"context_line":"                            provider\u003dNone):"},{"line_number":131,"context_line":"        request \u003d {"},{"line_number":132,"context_line":"            \u0027name\u0027: name,"},{"line_number":133,"context_line":"            \u0027project_id\u0027: project_id,"},{"line_number":134,"context_line":"            \u0027subnet_id\u0027: subnet_id,"},{"line_number":135,"context_line":"            \u0027ip\u0027: ip,"},{"line_number":136,"context_line":"            \u0027security_groups\u0027: security_groups_ids,"},{"line_number":137,"context_line":"            \u0027provider\u0027: provider"},{"line_number":138,"context_line":"        }"},{"line_number":139,"context_line":"        response \u003d self._ensure(request, self._create_loadbalancer,"},{"line_number":140,"context_line":"                                self._find_loadbalancer)"},{"line_number":141,"context_line":"        if not response:"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_4c4358b0","line":138,"range":{"start_line":131,"start_character":0,"end_line":138,"end_character":9},"updated":"2020-05-27 09:00:49.000000000","message":"does this means obj_lbaas.LBaaSLoadBalancer is deprecated?","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"9b277845a6f47f75bd82cf9b7d002c605ab0d26e","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        else:"},{"line_number":280,"context_line":"            sgs \u003d loadbalancer[\u0027security_groups\u0027]"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"            sg_rule_ethertype \u003d k_const.IPv4"},{"line_number":283,"context_line":"            if utils.get_service_subnet_version() \u003d\u003d k_const.IP_VERSION_6:"},{"line_number":284,"context_line":"                sg_rule_ethertype \u003d k_const.IPv6"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        # Check if Network Policy allows listener on the pods"},{"line_number":287,"context_line":"        for sg in sgs:"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_6a59f5fc","line":284,"range":{"start_line":282,"start_character":0,"end_line":284,"end_character":48},"updated":"2020-05-26 10:28:52.000000000","message":"Perhaps this should be indented as in original code, since in case of newly created security groups, it will fail on line 315, because in that case sg_rule_ethertype will be undefined.","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        else:"},{"line_number":280,"context_line":"            sgs \u003d loadbalancer[\u0027security_groups\u0027]"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"            sg_rule_ethertype \u003d k_const.IPv4"},{"line_number":283,"context_line":"            if utils.get_service_subnet_version() \u003d\u003d k_const.IP_VERSION_6:"},{"line_number":284,"context_line":"                sg_rule_ethertype \u003d k_const.IPv6"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        # Check if Network Policy allows listener on the pods"},{"line_number":287,"context_line":"        for sg in sgs:"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_b35fd63f","line":284,"range":{"start_line":282,"start_character":0,"end_line":284,"end_character":48},"in_reply_to":"ff570b3c_6a59f5fc","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6265ee96f975ffdc30d79ba6ba4cbe91c3d5e9e9","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            # Note: reusing activation timeout as deletion timeout"},{"line_number":160,"context_line":"            self._wait_for_deletion(loadbalancer, _ACTIVATION_TIMEOUT)"},{"line_number":161,"context_line":"            try:"},{"line_number":162,"context_line":"                os_net.delete_security_group(sg_id)"},{"line_number":163,"context_line":"            except os_exc.SDKException:"},{"line_number":164,"context_line":"                LOG.exception(\u0027Error when deleting loadbalancer security \u0027"},{"line_number":165,"context_line":"                              \u0027group. Leaving it orphaned.\u0027)"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_83b8a8c8","line":162,"updated":"2020-06-17 16:37:19.000000000","message":"pep8: F821 undefined name \u0027os_net\u0027","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"ba9edf7f452bd5eece6c99fe4c31cf9583399c8f","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            loadbalancer[\u0027id\u0027],"},{"line_number":155,"context_line":"            cascade\u003dTrue)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        sg_id \u003d self._find_listeners_sg(loadbalancer)"},{"line_number":158,"context_line":"        if sg_id:"},{"line_number":159,"context_line":"            # Note: reusing activation timeout as deletion timeout"},{"line_number":160,"context_line":"            self._wait_for_deletion(loadbalancer, _ACTIVATION_TIMEOUT)"},{"line_number":161,"context_line":"            try:"},{"line_number":162,"context_line":"                os_net.delete_security_group(sg_id)"},{"line_number":163,"context_line":"            except os_exc.SDKException:"},{"line_number":164,"context_line":"                LOG.exception(\u0027Error when deleting loadbalancer security \u0027"},{"line_number":165,"context_line":"                              \u0027group. Leaving it orphaned.\u0027)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def _create_lb_security_group_rule(self, loadbalancer, listener):"},{"line_number":168,"context_line":"        os_net \u003d clients.get_network_client()"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_ac067085","line":165,"range":{"start_line":157,"start_character":0,"end_line":165,"end_character":60},"updated":"2020-06-18 07:38:38.000000000","message":"this got removed on master as it is not needed anymore","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6265ee96f975ffdc30d79ba6ba4cbe91c3d5e9e9","unresolved":false,"context_lines":[{"line_number":172,"context_line":"            sg \u003d os_net.create_security_group("},{"line_number":173,"context_line":"                name\u003dloadbalancer[\u0027name\u0027], project_id\u003dloadbalancer["},{"line_number":174,"context_line":"                    \u0027project_id\u0027])"},{"line_number":175,"context_line":"            c_utils.tag_neutron_resources([sg])"},{"line_number":176,"context_line":"            loadbalancer[\u0027security_groups\u0027].append(sg.id)"},{"line_number":177,"context_line":"            vip_port \u003d self._get_vip_port(loadbalancer)"},{"line_number":178,"context_line":"            os_net.update_port(vip_port.id, security_groups\u003d[sg.id])"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_63bbd4c3","line":175,"updated":"2020-06-17 16:37:19.000000000","message":"pep8: F821 undefined name \u0027c_utils\u0027","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"ba9edf7f452bd5eece6c99fe4c31cf9583399c8f","unresolved":false,"context_lines":[{"line_number":164,"context_line":"                LOG.exception(\u0027Error when deleting loadbalancer security \u0027"},{"line_number":165,"context_line":"                              \u0027group. Leaving it orphaned.\u0027)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def _create_lb_security_group_rule(self, loadbalancer, listener):"},{"line_number":168,"context_line":"        os_net \u003d clients.get_network_client()"},{"line_number":169,"context_line":"        sg_id \u003d self._find_listeners_sg(loadbalancer)"},{"line_number":170,"context_line":"        # if an SG for the loadbalancer has not being created, create one"},{"line_number":171,"context_line":"        if not sg_id:"},{"line_number":172,"context_line":"            sg \u003d os_net.create_security_group("},{"line_number":173,"context_line":"                name\u003dloadbalancer[\u0027name\u0027], project_id\u003dloadbalancer["},{"line_number":174,"context_line":"                    \u0027project_id\u0027])"},{"line_number":175,"context_line":"            c_utils.tag_neutron_resources([sg])"},{"line_number":176,"context_line":"            loadbalancer[\u0027security_groups\u0027].append(sg.id)"},{"line_number":177,"context_line":"            vip_port \u003d self._get_vip_port(loadbalancer)"},{"line_number":178,"context_line":"            os_net.update_port(vip_port.id, security_groups\u003d[sg.id])"},{"line_number":179,"context_line":"            sg_id \u003d sg.id"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        try:"},{"line_number":182,"context_line":"            os_net.create_security_group_rule(direction\u003d\u0027ingress\u0027,"},{"line_number":183,"context_line":"                                              port_range_min\u003dlistener[\u0027port\u0027],"},{"line_number":184,"context_line":"                                              port_range_max\u003dlistener[\u0027port\u0027],"},{"line_number":185,"context_line":"                                              protocol\u003dlistener[\u0027protocol\u0027],"},{"line_number":186,"context_line":"                                              security_group_id\u003dsg_id,"},{"line_number":187,"context_line":"                                              description\u003dlistener[\u0027name\u0027])"},{"line_number":188,"context_line":"        except os_exc.ConflictException:"},{"line_number":189,"context_line":"            pass"},{"line_number":190,"context_line":"        except os_exc.SDKException:"},{"line_number":191,"context_line":"            LOG.exception(\u0027Failed when creating security group rule for \u0027"},{"line_number":192,"context_line":"                          \u0027listener %s.\u0027, listener[\u0027name\u0027])"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def _create_listeners_acls(self, loadbalancer, port, target_port,"},{"line_number":195,"context_line":"                               protocol, lb_sg, new_sgs, listener_id):"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_cc03e472","line":192,"range":{"start_line":167,"start_character":0,"end_line":192,"end_character":59},"updated":"2020-06-18 07:38:38.000000000","message":"same for this","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6265ee96f975ffdc30d79ba6ba4cbe91c3d5e9e9","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            sgs \u003d new_sgs"},{"line_number":273,"context_line":"        else:"},{"line_number":274,"context_line":"            sgs \u003d loadbalancer[\u0027security_groups\u0027]"},{"line_number":275,"context_line":" "},{"line_number":276,"context_line":"        # Check if Network Policy allows listener on the pods"},{"line_number":277,"context_line":"        for sg in sgs:"},{"line_number":278,"context_line":"            if sg !\u003d lb_sg:"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_c3b2a0e6","line":275,"updated":"2020-06-17 16:37:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"ba9edf7f452bd5eece6c99fe4c31cf9583399c8f","unresolved":false,"context_lines":[{"line_number":532,"context_line":"            name\u003dloadbalancer[\u0027name\u0027],"},{"line_number":533,"context_line":"            project_id\u003dloadbalancer[\u0027project_id\u0027],"},{"line_number":534,"context_line":"            vip_address\u003dstr(loadbalancer[\u0027ip\u0027]),"},{"line_number":535,"context_line":"            vip_subnet_id\u003dloadbalancer[\u0027subnet_id\u0027])"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"        try:"},{"line_number":538,"context_line":"            os_lb \u003d next(response)  # openstacksdk returns a generator"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_6cf45887","line":535,"range":{"start_line":535,"start_character":0,"end_line":535,"end_character":52},"updated":"2020-06-18 07:38:38.000000000","message":"the provider information is need here, this was a new bugfix, so you need to include it","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"02ccc06cdc0404435520e6c6c67ba4571d7cc4cd","unresolved":false,"context_lines":[{"line_number":532,"context_line":"            name\u003dloadbalancer[\u0027name\u0027],"},{"line_number":533,"context_line":"            project_id\u003dloadbalancer[\u0027project_id\u0027],"},{"line_number":534,"context_line":"            vip_address\u003dstr(loadbalancer[\u0027ip\u0027]),"},{"line_number":535,"context_line":"            vip_subnet_id\u003dloadbalancer[\u0027subnet_id\u0027])"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"        try:"},{"line_number":538,"context_line":"            os_lb \u003d next(response)  # openstacksdk returns a generator"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_3ab4d6d0","line":535,"range":{"start_line":535,"start_character":0,"end_line":535,"end_character":52},"in_reply_to":"bf51134e_6cf45887","updated":"2020-07-07 19:46:18.000000000","message":"Done","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"ba9edf7f452bd5eece6c99fe4c31cf9583399c8f","unresolved":false,"context_lines":[{"line_number":764,"context_line":"                if interval:"},{"line_number":765,"context_line":"                    time.sleep(interval)"},{"line_number":766,"context_line":""},{"line_number":767,"context_line":"    def _find_listeners_sg(self, loadbalancer, lb_name\u003dNone):"},{"line_number":768,"context_line":"        os_net \u003d clients.get_network_client()"},{"line_number":769,"context_line":"        if lb_name:"},{"line_number":770,"context_line":"            sgs \u003d os_net.security_groups(name\u003dlb_name,"},{"line_number":771,"context_line":"                                         project_id\u003dloadbalancer[\u0027project_id\u0027])"},{"line_number":772,"context_line":"            # NOTE(ltomasbo): lb_name parameter is only passed when sg_mode"},{"line_number":773,"context_line":"            # is \u0027create\u0027 and in that case there is only one sg associated"},{"line_number":774,"context_line":"            # to the loadbalancer"},{"line_number":775,"context_line":"            try:"},{"line_number":776,"context_line":"                sg_id \u003d next(sgs).id"},{"line_number":777,"context_line":"            except StopIteration:"},{"line_number":778,"context_line":"                sg_id \u003d None"},{"line_number":779,"context_line":"                LOG.debug(\"Security Group not created yet for LBaaS.\")"},{"line_number":780,"context_line":"            return sg_id"},{"line_number":781,"context_line":"        try:"},{"line_number":782,"context_line":"            sgs \u003d os_net.security_groups(name\u003dloadbalancer[\u0027name\u0027],"},{"line_number":783,"context_line":"                                         project_id\u003dloadbalancer[\u0027project_id\u0027])"},{"line_number":784,"context_line":"            for sg in sgs:"},{"line_number":785,"context_line":"                try:"},{"line_number":786,"context_line":"                    if sg.id in loadbalancer[\u0027security_groups\u0027]:"},{"line_number":787,"context_line":"                        return sg.id"},{"line_number":788,"context_line":"                except TypeError:"},{"line_number":789,"context_line":"                    LOG.exception(\u0027Loadbalancer %s does not have \u0027"},{"line_number":790,"context_line":"                                  \u0027security_groups defined.\u0027,"},{"line_number":791,"context_line":"                                  loadbalancer[\u0027name\u0027])"},{"line_number":792,"context_line":"                    raise"},{"line_number":793,"context_line":"        except os_exc.SDKException:"},{"line_number":794,"context_line":"            LOG.exception(\u0027Cannot list security groups for loadbalancer %s.\u0027,"},{"line_number":795,"context_line":"                          loadbalancer[\u0027name\u0027])"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"        return None"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    def update_lbaas_sg(self, service, sgs):"},{"line_number":800,"context_line":"        LOG.debug(\u0027Setting SG for LBaaS VIP port\u0027)"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_4cefd4af","line":797,"range":{"start_line":767,"start_character":0,"end_line":797,"end_character":19},"updated":"2020-06-18 07:38:38.000000000","message":"not needed anymore","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"02ccc06cdc0404435520e6c6c67ba4571d7cc4cd","unresolved":false,"context_lines":[{"line_number":764,"context_line":"                if interval:"},{"line_number":765,"context_line":"                    time.sleep(interval)"},{"line_number":766,"context_line":""},{"line_number":767,"context_line":"    def _find_listeners_sg(self, loadbalancer, lb_name\u003dNone):"},{"line_number":768,"context_line":"        os_net \u003d clients.get_network_client()"},{"line_number":769,"context_line":"        if lb_name:"},{"line_number":770,"context_line":"            sgs \u003d os_net.security_groups(name\u003dlb_name,"},{"line_number":771,"context_line":"                                         project_id\u003dloadbalancer[\u0027project_id\u0027])"},{"line_number":772,"context_line":"            # NOTE(ltomasbo): lb_name parameter is only passed when sg_mode"},{"line_number":773,"context_line":"            # is \u0027create\u0027 and in that case there is only one sg associated"},{"line_number":774,"context_line":"            # to the loadbalancer"},{"line_number":775,"context_line":"            try:"},{"line_number":776,"context_line":"                sg_id \u003d next(sgs).id"},{"line_number":777,"context_line":"            except StopIteration:"},{"line_number":778,"context_line":"                sg_id \u003d None"},{"line_number":779,"context_line":"                LOG.debug(\"Security Group not created yet for LBaaS.\")"},{"line_number":780,"context_line":"            return sg_id"},{"line_number":781,"context_line":"        try:"},{"line_number":782,"context_line":"            sgs \u003d os_net.security_groups(name\u003dloadbalancer[\u0027name\u0027],"},{"line_number":783,"context_line":"                                         project_id\u003dloadbalancer[\u0027project_id\u0027])"},{"line_number":784,"context_line":"            for sg in sgs:"},{"line_number":785,"context_line":"                try:"},{"line_number":786,"context_line":"                    if sg.id in loadbalancer[\u0027security_groups\u0027]:"},{"line_number":787,"context_line":"                        return sg.id"},{"line_number":788,"context_line":"                except TypeError:"},{"line_number":789,"context_line":"                    LOG.exception(\u0027Loadbalancer %s does not have \u0027"},{"line_number":790,"context_line":"                                  \u0027security_groups defined.\u0027,"},{"line_number":791,"context_line":"                                  loadbalancer[\u0027name\u0027])"},{"line_number":792,"context_line":"                    raise"},{"line_number":793,"context_line":"        except os_exc.SDKException:"},{"line_number":794,"context_line":"            LOG.exception(\u0027Cannot list security groups for loadbalancer %s.\u0027,"},{"line_number":795,"context_line":"                          loadbalancer[\u0027name\u0027])"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"        return None"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    def update_lbaas_sg(self, service, sgs):"},{"line_number":800,"context_line":"        LOG.debug(\u0027Setting SG for LBaaS VIP port\u0027)"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_ba4906b8","line":797,"range":{"start_line":767,"start_character":0,"end_line":797,"end_character":19},"in_reply_to":"bf51134e_4cefd4af","updated":"2020-07-07 19:46:18.000000000","message":"Done","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6265ee96f975ffdc30d79ba6ba4cbe91c3d5e9e9","unresolved":false,"context_lines":[{"line_number":833,"context_line":"                continue"},{"line_number":834,"context_line":"            self._apply_members_security_groups(lbaas_obj, lbaas_port,"},{"line_number":835,"context_line":"                                                target_port, port_protocol,"},{"line_number":836,"context_line":"                                                    sg_rule_name, listener_id, sgs)"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_a3b5eccf","line":836,"updated":"2020-06-17 16:37:19.000000000","message":"pep8: E127 continuation line over-indented for visual indent","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6265ee96f975ffdc30d79ba6ba4cbe91c3d5e9e9","unresolved":false,"context_lines":[{"line_number":833,"context_line":"                continue"},{"line_number":834,"context_line":"            self._apply_members_security_groups(lbaas_obj, lbaas_port,"},{"line_number":835,"context_line":"                                                target_port, port_protocol,"},{"line_number":836,"context_line":"                                                    sg_rule_name, listener_id, sgs)"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_03cc9868","line":836,"updated":"2020-06-17 16:37:19.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"4867e35420f4af3790c526dd3ad80bce8ae35566","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    def ensure_loadbalancer(self, name, project_id, subnet_id, ip,"},{"line_number":126,"context_line":"                            security_groups_ids\u003dNone, service_type\u003dNone,"},{"line_number":127,"context_line":"                            provider\u003dNone):"},{"line_number":128,"context_line":"        request \u003d {"},{"line_number":129,"context_line":"            \u0027name\u0027: name,"},{"line_number":130,"context_line":"            \u0027project_id\u0027: project_id,"},{"line_number":131,"context_line":"            \u0027subnet_id\u0027: subnet_id,"},{"line_number":132,"context_line":"            \u0027ip\u0027: ip,"},{"line_number":133,"context_line":"            \u0027security_groups\u0027: security_groups_ids,"},{"line_number":134,"context_line":"            \u0027provider\u0027: provider"},{"line_number":135,"context_line":"        }"},{"line_number":136,"context_line":"        response \u003d self._ensure(self._create_loadbalancer,"},{"line_number":137,"context_line":"                                self._find_loadbalancer, request)"},{"line_number":138,"context_line":"        if not response:"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_b0365a50","line":135,"range":{"start_line":128,"start_character":0,"end_line":135,"end_character":9},"updated":"2020-07-13 09:12:34.000000000","message":"should we still use the loadbalancer objects (LBaaSLoadBalancer, LBaaSListener, LBaaSPool, LBaaSMember)? Are they useful to ensure/know what fields are supported? Or by contrast, if not needed, should actually remove them? Thoughts?","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"984438d65f589232fe1d9c33c5c7eb95d8d79b68","unresolved":false,"context_lines":[{"line_number":152,"context_line":"            lbaas.delete_load_balancer,"},{"line_number":153,"context_line":"            loadbalancer[\u0027id\u0027],"},{"line_number":154,"context_line":"            cascade\u003dTrue)"},{"line_number":155,"context_line":"        # over to wait for deletion, okik?"},{"line_number":156,"context_line":"        self._wait_for_deletion(loadbalancer, _ACTIVATION_TIMEOUT)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def _create_listeners_acls(self, loadbalancer, port, target_port,"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_fc51b60f","line":155,"range":{"start_line":155,"start_character":8,"end_line":155,"end_character":42},"updated":"2020-07-14 14:08:14.000000000","message":"leftover?","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7f0ed8858922366b5fbf4cc2d95711836f4a23d7","unresolved":false,"context_lines":[{"line_number":152,"context_line":"            lbaas.delete_load_balancer,"},{"line_number":153,"context_line":"            loadbalancer[\u0027id\u0027],"},{"line_number":154,"context_line":"            cascade\u003dTrue)"},{"line_number":155,"context_line":"        # over to wait for deletion, okik?"},{"line_number":156,"context_line":"        self._wait_for_deletion(loadbalancer, _ACTIVATION_TIMEOUT)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def _create_listeners_acls(self, loadbalancer, port, target_port,"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_a1ea600b","line":155,"range":{"start_line":155,"start_character":8,"end_line":155,"end_character":42},"in_reply_to":"bf51134e_fc51b60f","updated":"2020-07-15 17:37:50.000000000","message":"Yes, thanks.","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"}],"kuryr_kubernetes/controller/handlers/lbaas.py":[{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"d2ff75b83b5bb27008870ae2c3f4a65bb4c03a23","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    def on_present(self, service):"},{"line_number":51,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":52,"context_line":"        loadbalancer_crd_name \u003d \"svc-\" + svc_name"},{"line_number":53,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd(loadbalancer_crd_name, svc_name)"},{"line_number":54,"context_line":"        "},{"line_number":55,"context_line":"        if loadbalancer_crd is None:"},{"line_number":56,"context_line":"            LOG.debug(\"There is not a CRD\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_f4626fd8","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":86},"updated":"2020-02-25 05:20:11.000000000","message":"Flake8 will complain about length of the line.","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"0f4fa5544b6eb5f8aba7a27f518d49b59f5c9a5d","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    def on_present(self, service):"},{"line_number":51,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":52,"context_line":"        loadbalancer_crd_name \u003d \"svc-\" + svc_name"},{"line_number":53,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd(loadbalancer_crd_name, svc_name)"},{"line_number":54,"context_line":"        "},{"line_number":55,"context_line":"        if loadbalancer_crd is None:"},{"line_number":56,"context_line":"            LOG.debug(\"There is not a CRD\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_1bbe3865","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":86},"in_reply_to":"1fa4df85_f4626fd8","updated":"2020-02-26 17:08:14.000000000","message":"Done","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f75df06c6d09b0f87770e97960d1df5af82e19b6","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":52,"context_line":"        loadbalancer_crd_name \u003d \"svc-\" + svc_name"},{"line_number":53,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd(loadbalancer_crd_name, svc_name)"},{"line_number":54,"context_line":"        "},{"line_number":55,"context_line":"        if loadbalancer_crd is None:"},{"line_number":56,"context_line":"            LOG.debug(\"There is not a CRD\")"},{"line_number":57,"context_line":"            loadbalancer_crd \u003d self.create_crd_spec(service)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_e403a60e","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":8},"updated":"2020-02-24 22:06:16.000000000","message":"Some spaces or tabs, which I will remove, because they do not belong here.","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"523152c29f8d874c0827af98d6fbcbcf0fa27d6a","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        array_of_ports \u003d []"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        ports_spec \u003d utils.get_service_ports(service)"},{"line_number":121,"context_line":"        for port in ports_spec:"},{"line_number":122,"context_line":"            if port[\u0027name\u0027] is None:"},{"line_number":123,"context_line":"                del port[\u0027name\u0027]"},{"line_number":124,"context_line":"            array_of_ports.append(port)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        project_id \u003d self._drv_project.get_project(service)"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_ed305d0a","line":124,"range":{"start_line":120,"start_character":0,"end_line":124,"end_character":39},"updated":"2020-02-25 14:16:46.000000000","message":"As the name of the port on a service is not a required field, you can just remove the field as required in the CRD definition[1], which will allow you to directly retrieve the service ports from the service and add this info to the CRD spec.\n\n[1] https://github.com/openstack/kuryr-kubernetes/blob/master/kubernetes_crds/kuryrloadbalancer.yaml#L45","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7edf01558e96ca0921dd469939bbb54a47a75b6d","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        array_of_ports \u003d []"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        ports_spec \u003d utils.get_service_ports(service)"},{"line_number":121,"context_line":"        for port in ports_spec:"},{"line_number":122,"context_line":"            if port[\u0027name\u0027] is None:"},{"line_number":123,"context_line":"                del port[\u0027name\u0027]"},{"line_number":124,"context_line":"            array_of_ports.append(port)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        project_id \u003d self._drv_project.get_project(service)"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_e59e1f06","line":124,"range":{"start_line":120,"start_character":0,"end_line":124,"end_character":39},"in_reply_to":"1fa4df85_ed305d0a","updated":"2020-02-26 15:59:53.000000000","message":"Done","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f75df06c6d09b0f87770e97960d1df5af82e19b6","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        if spec_lb_ip is not None:"},{"line_number":151,"context_line":"            loadbalancer_crd[\u0027spec\u0027][\u0027lb_ip\u0027] \u003d spec_lb_ip "},{"line_number":152,"context_line":"           "},{"line_number":153,"context_line":"        try:"},{"line_number":154,"context_line":"            kubernetes.post(\u0027{}/{}/kuryrnets\u0027.format("},{"line_number":155,"context_line":"                k_const.K8S_API_CRD_KURYRLOADBALANCERS, namespace), loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_6f0d4f36","line":152,"range":{"start_line":152,"start_character":0,"end_line":152,"end_character":11},"updated":"2020-02-24 22:06:16.000000000","message":"This doe not belong here, bad spaces/tabs.","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"523152c29f8d874c0827af98d6fbcbcf0fa27d6a","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            loadbalancer_crd[\u0027spec\u0027][\u0027lb_ip\u0027] \u003d spec_lb_ip "},{"line_number":152,"context_line":"           "},{"line_number":153,"context_line":"        try:"},{"line_number":154,"context_line":"            kubernetes.post(\u0027{}/{}/kuryrnets\u0027.format("},{"line_number":155,"context_line":"                k_const.K8S_API_CRD_KURYRLOADBALANCERS, namespace), loadbalancer_crd)"},{"line_number":156,"context_line":"        except k_exc.K8sClientException:"},{"line_number":157,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating kuryrloadbalancer \""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_0dd85951","line":154,"range":{"start_line":154,"start_character":35,"end_line":154,"end_character":44},"updated":"2020-02-25 14:16:46.000000000","message":"As you\u0027re handling CRD for the services you should be using \"kuryrloadbalancers\".","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7edf01558e96ca0921dd469939bbb54a47a75b6d","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            loadbalancer_crd[\u0027spec\u0027][\u0027lb_ip\u0027] \u003d spec_lb_ip "},{"line_number":152,"context_line":"           "},{"line_number":153,"context_line":"        try:"},{"line_number":154,"context_line":"            kubernetes.post(\u0027{}/{}/kuryrnets\u0027.format("},{"line_number":155,"context_line":"                k_const.K8S_API_CRD_KURYRLOADBALANCERS, namespace), loadbalancer_crd)"},{"line_number":156,"context_line":"        except k_exc.K8sClientException:"},{"line_number":157,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating kuryrloadbalancer \""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_a58827c6","line":154,"range":{"start_line":154,"start_character":35,"end_line":154,"end_character":44},"in_reply_to":"1fa4df85_0dd85951","updated":"2020-02-26 15:59:53.000000000","message":"Done","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"523152c29f8d874c0827af98d6fbcbcf0fa27d6a","unresolved":false,"context_lines":[{"line_number":152,"context_line":"           "},{"line_number":153,"context_line":"        try:"},{"line_number":154,"context_line":"            kubernetes.post(\u0027{}/{}/kuryrnets\u0027.format("},{"line_number":155,"context_line":"                k_const.K8S_API_CRD_KURYRLOADBALANCERS, namespace), loadbalancer_crd)"},{"line_number":156,"context_line":"        except k_exc.K8sClientException:"},{"line_number":157,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating kuryrloadbalancer \""},{"line_number":158,"context_line":"                          \"CRD. %s\" % k_exc.K8sClientException)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_adb105e4","line":155,"range":{"start_line":155,"start_character":16,"end_line":155,"end_character":54},"updated":"2020-02-25 14:16:46.000000000","message":"The KuryrLoadBalancer CRD is a namespaced object[1], you should be using K8S_API_CRD_NAMESPACES instead, so Kubernetes creates the CRD on that specific namespace.\n\n[1] https://github.com/openstack/kuryr-kubernetes/blob/master/kubernetes_crds/kuryrloadbalancer.yaml#L8","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7edf01558e96ca0921dd469939bbb54a47a75b6d","unresolved":false,"context_lines":[{"line_number":152,"context_line":"           "},{"line_number":153,"context_line":"        try:"},{"line_number":154,"context_line":"            kubernetes.post(\u0027{}/{}/kuryrnets\u0027.format("},{"line_number":155,"context_line":"                k_const.K8S_API_CRD_KURYRLOADBALANCERS, namespace), loadbalancer_crd)"},{"line_number":156,"context_line":"        except k_exc.K8sClientException:"},{"line_number":157,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating kuryrloadbalancer \""},{"line_number":158,"context_line":"                          \"CRD. %s\" % k_exc.K8sClientException)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_c58523af","line":155,"range":{"start_line":155,"start_character":16,"end_line":155,"end_character":54},"in_reply_to":"1fa4df85_adb105e4","updated":"2020-02-26 15:59:53.000000000","message":"Done","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"d2ff75b83b5bb27008870ae2c3f4a65bb4c03a23","unresolved":false,"context_lines":[{"line_number":152,"context_line":"           "},{"line_number":153,"context_line":"        try:"},{"line_number":154,"context_line":"            kubernetes.post(\u0027{}/{}/kuryrnets\u0027.format("},{"line_number":155,"context_line":"                k_const.K8S_API_CRD_KURYRLOADBALANCERS, namespace), loadbalancer_crd)"},{"line_number":156,"context_line":"        except k_exc.K8sClientException:"},{"line_number":157,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating kuryrloadbalancer \""},{"line_number":158,"context_line":"                          \"CRD. %s\" % k_exc.K8sClientException)"},{"line_number":159,"context_line":"            raise"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_14606bce","line":157,"range":{"start_line":155,"start_character":0,"end_line":157,"end_character":83},"updated":"2020-02-25 05:20:11.000000000","message":"Flake8 will complain also here :)","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"0f4fa5544b6eb5f8aba7a27f518d49b59f5c9a5d","unresolved":false,"context_lines":[{"line_number":152,"context_line":"           "},{"line_number":153,"context_line":"        try:"},{"line_number":154,"context_line":"            kubernetes.post(\u0027{}/{}/kuryrnets\u0027.format("},{"line_number":155,"context_line":"                k_const.K8S_API_CRD_KURYRLOADBALANCERS, namespace), loadbalancer_crd)"},{"line_number":156,"context_line":"        except k_exc.K8sClientException:"},{"line_number":157,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating kuryrloadbalancer \""},{"line_number":158,"context_line":"                          \"CRD. %s\" % k_exc.K8sClientException)"},{"line_number":159,"context_line":"            raise"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_dbb74086","line":157,"range":{"start_line":155,"start_character":0,"end_line":157,"end_character":83},"in_reply_to":"1fa4df85_14606bce","updated":"2020-02-26 17:08:14.000000000","message":"Done","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"523152c29f8d874c0827af98d6fbcbcf0fa27d6a","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        return loadbalancer_crd"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def _get_loadbalancer_crd(self, loadbalncer_crd_id, service):"},{"line_number":164,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":165,"context_line":"        try:"},{"line_number":166,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrnets/{}\u0027.format("}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_ad34a54b","line":163,"range":{"start_line":163,"start_character":36,"end_line":163,"end_character":63},"updated":"2020-02-25 14:16:46.000000000","message":"You only need the CRD name and the namespace, right?","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7edf01558e96ca0921dd469939bbb54a47a75b6d","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        return loadbalancer_crd"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def _get_loadbalancer_crd(self, loadbalncer_crd_id, service):"},{"line_number":164,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":165,"context_line":"        try:"},{"line_number":166,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrnets/{}\u0027.format("}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_65922ff9","line":163,"range":{"start_line":163,"start_character":36,"end_line":163,"end_character":63},"in_reply_to":"1fa4df85_ad34a54b","updated":"2020-02-26 15:59:53.000000000","message":"Done","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"d2ff75b83b5bb27008870ae2c3f4a65bb4c03a23","unresolved":false,"context_lines":[{"line_number":163,"context_line":"    def _get_loadbalancer_crd(self, loadbalncer_crd_id, service):"},{"line_number":164,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":165,"context_line":"        try:"},{"line_number":166,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrnets/{}\u0027.format("},{"line_number":167,"context_line":"                k_const.K8S_API_CRD_KURYRLOADBALANCERS, service,"},{"line_number":168,"context_line":"                loadbalncer_crd_id))"},{"line_number":169,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":170,"context_line":"            return None"},{"line_number":171,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_54ab43d5","line":168,"range":{"start_line":166,"start_character":39,"end_line":168,"end_character":36},"updated":"2020-02-25 05:20:11.000000000","message":"It looks like a path, although f-strings might be used here as well.","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"523152c29f8d874c0827af98d6fbcbcf0fa27d6a","unresolved":false,"context_lines":[{"line_number":163,"context_line":"    def _get_loadbalancer_crd(self, loadbalncer_crd_id, service):"},{"line_number":164,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":165,"context_line":"        try:"},{"line_number":166,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrnets/{}\u0027.format("},{"line_number":167,"context_line":"                k_const.K8S_API_CRD_KURYRLOADBALANCERS, service,"},{"line_number":168,"context_line":"                loadbalncer_crd_id))"},{"line_number":169,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":170,"context_line":"            return None"},{"line_number":171,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_ade6e5e7","line":168,"range":{"start_line":166,"start_character":0,"end_line":168,"end_character":36},"updated":"2020-02-25 14:16:46.000000000","message":"My comments from above also applies here.","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"0f4fa5544b6eb5f8aba7a27f518d49b59f5c9a5d","unresolved":false,"context_lines":[{"line_number":163,"context_line":"    def _get_loadbalancer_crd(self, loadbalncer_crd_id, service):"},{"line_number":164,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":165,"context_line":"        try:"},{"line_number":166,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrnets/{}\u0027.format("},{"line_number":167,"context_line":"                k_const.K8S_API_CRD_KURYRLOADBALANCERS, service,"},{"line_number":168,"context_line":"                loadbalncer_crd_id))"},{"line_number":169,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":170,"context_line":"            return None"},{"line_number":171,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_bbae042c","line":168,"range":{"start_line":166,"start_character":39,"end_line":168,"end_character":36},"in_reply_to":"1fa4df85_54ab43d5","updated":"2020-02-26 17:08:14.000000000","message":"Done","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7edf01558e96ca0921dd469939bbb54a47a75b6d","unresolved":false,"context_lines":[{"line_number":163,"context_line":"    def _get_loadbalancer_crd(self, loadbalncer_crd_id, service):"},{"line_number":164,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":165,"context_line":"        try:"},{"line_number":166,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrnets/{}\u0027.format("},{"line_number":167,"context_line":"                k_const.K8S_API_CRD_KURYRLOADBALANCERS, service,"},{"line_number":168,"context_line":"                loadbalncer_crd_id))"},{"line_number":169,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":170,"context_line":"            return None"},{"line_number":171,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_e53a9fe5","line":168,"range":{"start_line":166,"start_character":0,"end_line":168,"end_character":36},"in_reply_to":"1fa4df85_ade6e5e7","updated":"2020-02-26 15:59:53.000000000","message":"Done","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f75df06c6d09b0f87770e97960d1df5af82e19b6","unresolved":false,"context_lines":[{"line_number":215,"context_line":"    def _generate_lbaas_port_specs(self, service):"},{"line_number":216,"context_line":"        return [obj_lbaas.LBaaSPortSpec(**port)"},{"line_number":217,"context_line":"                for port in utils.get_service_ports(service)]"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"class LoadBalancerHandler(k8s_base.ResourceEventHandler):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_6f26afba","line":218,"range":{"start_line":218,"start_character":0,"end_line":218,"end_character":0},"updated":"2020-02-24 22:06:16.000000000","message":"From this part to the end of this document, I had an old files, so I did not have this changes. I will repair this.","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7edf01558e96ca0921dd469939bbb54a47a75b6d","unresolved":false,"context_lines":[{"line_number":215,"context_line":"    def _generate_lbaas_port_specs(self, service):"},{"line_number":216,"context_line":"        return [obj_lbaas.LBaaSPortSpec(**port)"},{"line_number":217,"context_line":"                for port in utils.get_service_ports(service)]"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"class LoadBalancerHandler(k8s_base.ResourceEventHandler):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_383c5a92","line":218,"range":{"start_line":218,"start_character":0,"end_line":218,"end_character":0},"in_reply_to":"1fa4df85_6f26afba","updated":"2020-02-26 15:59:53.000000000","message":"Done","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"d2ff75b83b5bb27008870ae2c3f4a65bb4c03a23","unresolved":false,"context_lines":[{"line_number":601,"context_line":"            # not allows listeners with same port but different"},{"line_number":602,"context_line":"            # protocols to co-exist, we need to skip the creation of"},{"line_number":603,"context_line":"            # listeners that have the same port as an existing one."},{"line_number":604,"context_line":"            name \u003d \"%s:%s\" % (lbaas_state.loadbalancer.name, protocol)"},{"line_number":605,"context_line":"            listener \u003d self._get_listener_with_same_port(lbaas_state, port)"},{"line_number":606,"context_line":"            if listener:"},{"line_number":607,"context_line":"                if listener.protocol !\u003d protocol:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_74a43f09","line":604,"range":{"start_line":604,"start_character":12,"end_line":604,"end_character":70},"updated":"2020-02-25 05:20:11.000000000","message":"You might consider using f-strings instead of string interpolation.","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"0f4fa5544b6eb5f8aba7a27f518d49b59f5c9a5d","unresolved":false,"context_lines":[{"line_number":601,"context_line":"            # not allows listeners with same port but different"},{"line_number":602,"context_line":"            # protocols to co-exist, we need to skip the creation of"},{"line_number":603,"context_line":"            # listeners that have the same port as an existing one."},{"line_number":604,"context_line":"            name \u003d \"%s:%s\" % (lbaas_state.loadbalancer.name, protocol)"},{"line_number":605,"context_line":"            listener \u003d self._get_listener_with_same_port(lbaas_state, port)"},{"line_number":606,"context_line":"            if listener:"},{"line_number":607,"context_line":"                if listener.protocol !\u003d protocol:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_5bab501c","line":604,"range":{"start_line":604,"start_character":12,"end_line":604,"end_character":70},"in_reply_to":"1fa4df85_74a43f09","updated":"2020-02-26 17:08:14.000000000","message":"Done","commit_id":"1ccbafb303e7ba0b0697a890815f7889f4e1423d"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"51f77cdaddc7fc8bcefe0365c30582d8e3c78e51","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        net_crd_name \u003d \"svc-\" + svc_name"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        ip \u003d self._get_service_ip(service)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        spec_lb_ip \u003d service[\u0027spec\u0027].get(\u0027loadBalancerIP\u0027)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        ports \u003d service[\u0027spec\u0027][\u0027ports\u0027]"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        project_id \u003d self._drv_project.get_project(service)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        sg_ids \u003d self._drv_sg.get_security_groups(service, project_id)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        subnet_id \u003d self._get_subnet_id(service, project_id, ip)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        spec_type \u003d service[\u0027spec\u0027].get(\u0027type\u0027)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        loadbalancer_crd \u003d {"},{"line_number":134,"context_line":"            \u0027apiVersion\u0027: \u0027openstack.org/v1\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_8413765c","line":131,"range":{"start_line":119,"start_character":0,"end_line":131,"end_character":47},"updated":"2020-03-02 11:13:46.000000000","message":"It might be good to avoid creating blank lines between these assignments, so we could get a better idea about the purpose about each code block.","commit_id":"33e34ebfe069550728a756a56b4f1d5a5a2d2eea"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"51f77cdaddc7fc8bcefe0365c30582d8e3c78e51","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":157,"context_line":"                          \"kuryrloadbalancer CRD. %s\" % k_exc.K8sClientException)"},{"line_number":158,"context_line":"            raise"},{"line_number":159,"context_line":"        LOG.debug(\"THE CRD IS THIS\")"},{"line_number":160,"context_line":"        LOG.debug(loadbalancer_crd)"},{"line_number":161,"context_line":"        return loadbalancer_crd"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def _get_loadbalancer_crd(self, loadbalancer_crd_name, namespace):"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_e1bb3c6f","line":160,"range":{"start_line":159,"start_character":0,"end_line":160,"end_character":35},"updated":"2020-03-02 11:13:46.000000000","message":"I guess this can be gone?","commit_id":"33e34ebfe069550728a756a56b4f1d5a5a2d2eea"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"51f77cdaddc7fc8bcefe0365c30582d8e3c78e51","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        spec_type \u003d service[\u0027spec\u0027][\u0027type\u0027]"},{"line_number":183,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"        if svc_ip !\u003d str(loadbalancer_crd[\u0027spec\u0027][\u0027ip\u0027]):"},{"line_number":186,"context_line":"            loadbalancer_crd[\u0027spec\u0027][\u0027ip\u0027] \u003d svc_ip"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        if ports !\u003d loadbalancer_crd[\u0027spec\u0027][\u0027ports\u0027]:"},{"line_number":189,"context_line":"            loadbalancer_crd[\u0027spec\u0027][\u0027ports\u0027] \u003d ports"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"        if project_id !\u003d loadbalancer_crd[\u0027spec\u0027][\u0027project_id\u0027]:"},{"line_number":192,"context_line":"            loadbalancer_crd[\u0027spec\u0027][\u0027project_id\u0027] \u003d project_id"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        if security_groups_ids !\u003d loadbalancer_crd[\u0027spec\u0027][\u0027security_groups_ids\u0027]:"},{"line_number":195,"context_line":"            loadbalancer_crd[\u0027spec\u0027][\u0027security_groups_ids\u0027] \u003d security_groups_ids"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        if subnet_id !\u003d loadbalancer_crd[\u0027spec\u0027][\u0027subnet_id\u0027]:"},{"line_number":198,"context_line":"            loadbalancer_crd[\u0027spec\u0027][\u0027subnet_id\u0027] \u003d subnet_id"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        if spec_type !\u003d loadbalancer_crd[\u0027spec\u0027][\u0027type\u0027]:"},{"line_number":201,"context_line":"            loadbalancer_crd[\u0027spec\u0027][\u0027type\u0027] \u003d spec_type"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        LOG.debug(\u0027Patching KuryrLoadBalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":204,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_6418ba74","line":201,"range":{"start_line":185,"start_character":0,"end_line":201,"end_character":56},"updated":"2020-03-02 11:13:46.000000000","message":"Same things about blank lines applies here.","commit_id":"33e34ebfe069550728a756a56b4f1d5a5a2d2eea"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"51f77cdaddc7fc8bcefe0365c30582d8e3c78e51","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        link \u003d service[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":235,"context_line":"        svc_ip \u003d self._get_service_ip(service)"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"        if not loadbalancer_crd:"},{"line_number":238,"context_line":"            if svc_ip:"},{"line_number":239,"context_line":"                LOG.debug(\"LBaaS spec is missing for %(link)s\""},{"line_number":240,"context_line":"                          % {\u0027link\u0027: link})"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_dd7062a8","line":237,"range":{"start_line":237,"start_character":2,"end_line":237,"end_character":32},"updated":"2020-03-02 11:13:46.000000000","message":"Looks like this check is not needed anymore, as there will always be a CRD when this point is reached.","commit_id":"33e34ebfe069550728a756a56b4f1d5a5a2d2eea"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"51f77cdaddc7fc8bcefe0365c30582d8e3c78e51","unresolved":false,"context_lines":[{"line_number":673,"context_line":"                changed \u003d True"},{"line_number":674,"context_line":"        return changed"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"    def _get_listener_with_same_port(self, lbaas_state, port):"},{"line_number":677,"context_line":"        for listener in lbaas_state.listeners:"},{"line_number":678,"context_line":"            if listener.port \u003d\u003d port:"},{"line_number":679,"context_line":"                return listener"},{"line_number":680,"context_line":"        return None"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"    def _remove_unused_listeners(self, endpoints, lbaas_state, lbaas_spec):"},{"line_number":683,"context_line":"        current_listeners \u003d {p.listener_id for p in lbaas_state.pools}"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_014d3899","line":680,"range":{"start_line":676,"start_character":0,"end_line":680,"end_character":19},"updated":"2020-03-02 11:13:46.000000000","message":"Where is this needed?","commit_id":"33e34ebfe069550728a756a56b4f1d5a5a2d2eea"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"0ea2a40996acc71e800ce50d268b4a7d0b0cb3a8","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    def on_present(self, service):"},{"line_number":54,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":55,"context_line":"        namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":56,"context_line":"        loadbalancer_crd_name \u003d \"lb-\" + svc_name"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        if self._should_ignore(service):"},{"line_number":59,"context_line":"            LOG.debug(\"Skipping Kubernetes service %s of an unsupported kind \""}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_b09d9f67","line":56,"range":{"start_line":56,"start_character":8,"end_line":56,"end_character":48},"updated":"2020-03-17 15:53:23.000000000","message":"As the CRD is namespaced we can define it with the same name of the service.","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"44081d809e94b8be16eb1893fd01f7d26792507a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    def on_present(self, service):"},{"line_number":54,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":55,"context_line":"        namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":56,"context_line":"        loadbalancer_crd_name \u003d \"lb-\" + svc_name"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        if self._should_ignore(service):"},{"line_number":59,"context_line":"            LOG.debug(\"Skipping Kubernetes service %s of an unsupported kind \""}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_dcc7f111","line":56,"range":{"start_line":56,"start_character":8,"end_line":56,"end_character":48},"in_reply_to":"1fa4df85_b09d9f67","updated":"2020-03-23 14:06:52.000000000","message":"Done","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"0ea2a40996acc71e800ce50d268b4a7d0b0cb3a8","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            \u0027apiVersion\u0027: \u0027openstack.org/v1\u0027,"},{"line_number":126,"context_line":"            \u0027kind\u0027: \u0027KuryrLoadBalancer\u0027,"},{"line_number":127,"context_line":"            \u0027metadata\u0027: {"},{"line_number":128,"context_line":"                \u0027name\u0027: net_crd_name"},{"line_number":129,"context_line":"                },"},{"line_number":130,"context_line":"            \u0027spec\u0027: {"},{"line_number":131,"context_line":"                \u0027ip\u0027: ip_,"}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_b047dfbc","line":128,"range":{"start_line":128,"start_character":24,"end_line":128,"end_character":36},"updated":"2020-03-17 15:53:23.000000000","message":"when addressing the previous comment you can use svc_name here.","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"44081d809e94b8be16eb1893fd01f7d26792507a","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            \u0027apiVersion\u0027: \u0027openstack.org/v1\u0027,"},{"line_number":126,"context_line":"            \u0027kind\u0027: \u0027KuryrLoadBalancer\u0027,"},{"line_number":127,"context_line":"            \u0027metadata\u0027: {"},{"line_number":128,"context_line":"                \u0027name\u0027: net_crd_name"},{"line_number":129,"context_line":"                },"},{"line_number":130,"context_line":"            \u0027spec\u0027: {"},{"line_number":131,"context_line":"                \u0027ip\u0027: ip_,"}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_67c66a9d","line":128,"range":{"start_line":128,"start_character":24,"end_line":128,"end_character":36},"in_reply_to":"1fa4df85_b047dfbc","updated":"2020-03-23 14:06:52.000000000","message":"Done","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"0ea2a40996acc71e800ce50d268b4a7d0b0cb3a8","unresolved":false,"context_lines":[{"line_number":141,"context_line":"            loadbalancer_crd[\u0027spec\u0027][\u0027lb_ip\u0027] \u003d spec_lb_ip"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        try:"},{"line_number":144,"context_line":"            kubernetes.post(\u0027/apis/openstack.org/v1/namespaces/{}/kuryrloadbalancers\u0027.format( namespace), loadbalancer_crd)"},{"line_number":145,"context_line":"        except k_exc.K8sClientException:"},{"line_number":146,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":147,"context_line":"                          \"kuryrloadbalancer CRD. %s\" % k_exc.K8sClientException)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_505eab76","line":144,"range":{"start_line":144,"start_character":28,"end_line":144,"end_character":63},"updated":"2020-03-17 15:53:23.000000000","message":"Perhaps we can use constants here.\n\nhttps://github.com/openstack/kuryr-kubernetes/blob/master/kuryr_kubernetes/constants.py#L19","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"44081d809e94b8be16eb1893fd01f7d26792507a","unresolved":false,"context_lines":[{"line_number":141,"context_line":"            loadbalancer_crd[\u0027spec\u0027][\u0027lb_ip\u0027] \u003d spec_lb_ip"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        try:"},{"line_number":144,"context_line":"            kubernetes.post(\u0027/apis/openstack.org/v1/namespaces/{}/kuryrloadbalancers\u0027.format( namespace), loadbalancer_crd)"},{"line_number":145,"context_line":"        except k_exc.K8sClientException:"},{"line_number":146,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":147,"context_line":"                          \"kuryrloadbalancer CRD. %s\" % k_exc.K8sClientException)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_7fd02a20","line":144,"range":{"start_line":144,"start_character":28,"end_line":144,"end_character":63},"in_reply_to":"1fa4df85_505eab76","updated":"2020-03-23 14:06:52.000000000","message":"Done","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"0ea2a40996acc71e800ce50d268b4a7d0b0cb3a8","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":153,"context_line":"        try:"},{"line_number":154,"context_line":"            loadbalancer_crd \u003d k8s.get("},{"line_number":155,"context_line":"                \u0027/apis/openstack.org/v1/namespaces/{}/kuryrloadbalancers/{}\u0027"},{"line_number":156,"context_line":"                .format(namespace, loadbalancer_crd_name))"},{"line_number":157,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":158,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_1050335e","line":155,"range":{"start_line":155,"start_character":17,"end_line":155,"end_character":51},"updated":"2020-03-17 15:53:23.000000000","message":"ditto","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"44081d809e94b8be16eb1893fd01f7d26792507a","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":153,"context_line":"        try:"},{"line_number":154,"context_line":"            loadbalancer_crd \u003d k8s.get("},{"line_number":155,"context_line":"                \u0027/apis/openstack.org/v1/namespaces/{}/kuryrloadbalancers/{}\u0027"},{"line_number":156,"context_line":"                .format(namespace, loadbalancer_crd_name))"},{"line_number":157,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":158,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_3fc6326a","line":155,"range":{"start_line":155,"start_character":17,"end_line":155,"end_character":51},"in_reply_to":"1fa4df85_1050335e","updated":"2020-03-23 14:06:52.000000000","message":"Done","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"0ea2a40996acc71e800ce50d268b4a7d0b0cb3a8","unresolved":false,"context_lines":[{"line_number":275,"context_line":"        loadbalancer_crd_name \u003d \"lb-\" + endpoints_name"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        lbaas_spec \u003d utils.get_lbaas_spec(endpoints)"},{"line_number":278,"context_line":"        if self._should_ignore(endpoints, lbaas_spec):"},{"line_number":279,"context_line":"            LOG.debug(\"Ignoring Kubernetes endpoints %s\","},{"line_number":280,"context_line":"                      endpoints[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":281,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_b0911ff4","line":278,"range":{"start_line":278,"start_character":11,"end_line":278,"end_character":53},"updated":"2020-03-17 15:53:23.000000000","message":"This function is still using lbaas_spec annotation. It must be reworked to use the CRD instead.","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"44081d809e94b8be16eb1893fd01f7d26792507a","unresolved":false,"context_lines":[{"line_number":275,"context_line":"        loadbalancer_crd_name \u003d \"lb-\" + endpoints_name"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        lbaas_spec \u003d utils.get_lbaas_spec(endpoints)"},{"line_number":278,"context_line":"        if self._should_ignore(endpoints, lbaas_spec):"},{"line_number":279,"context_line":"            LOG.debug(\"Ignoring Kubernetes endpoints %s\","},{"line_number":280,"context_line":"                      endpoints[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":281,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_d5857f08","line":278,"range":{"start_line":278,"start_character":11,"end_line":278,"end_character":53},"in_reply_to":"1fa4df85_b0911ff4","updated":"2020-03-23 14:06:52.000000000","message":"Done","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"0ea2a40996acc71e800ce50d268b4a7d0b0cb3a8","unresolved":false,"context_lines":[{"line_number":412,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":413,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":414,"context_line":"        lb_crd_name \u003d \"lb-\" + endpoints_name"},{"line_number":415,"context_line":"        ip_ \u003d endpoints[\u0027subsets\u0027][\u0027addresses\u0027].get(\u0027ip\u0027)"},{"line_number":416,"context_line":"        ports \u003d endpoints[\u0027subsets\u0027].get(\u0027ports\u0027)"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"        loadbalancer_crd \u003d {"}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_8b3956a4","line":415,"range":{"start_line":415,"start_character":8,"end_line":415,"end_character":57},"updated":"2020-03-17 15:53:23.000000000","message":"Addresses is a list, this would always return None.\nYou could check the Kubernetes API reference[1] to assure the correct format is used.\n\nBTW, looks a new field needs to be added to the CRD spec definition to hold the subsets information.\n\n[1] https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#endpointsubset-v1-core","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"0ea2a40996acc71e800ce50d268b4a7d0b0cb3a8","unresolved":false,"context_lines":[{"line_number":422,"context_line":"                \u0027name\u0027: lb_crd_name"},{"line_number":423,"context_line":"                },"},{"line_number":424,"context_line":"            \u0027spec\u0027: {"},{"line_number":425,"context_line":"                \u0027ip\u0027: ip_,"},{"line_number":426,"context_line":"                \u0027ports\u0027: ports,"},{"line_number":427,"context_line":"                }"},{"line_number":428,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_6b83ba57","line":425,"range":{"start_line":425,"start_character":16,"end_line":425,"end_character":21},"updated":"2020-03-17 15:53:23.000000000","message":"This ip does not correspond to the list of subset addresses. It\u0027s the VIP(Virtual IP) of the load balancer. The subsets, which we\u0027re missing to define on the crd, corresponds to the pods(endpoints) addresses.","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"0ea2a40996acc71e800ce50d268b4a7d0b0cb3a8","unresolved":false,"context_lines":[{"line_number":428,"context_line":"            }"},{"line_number":429,"context_line":""},{"line_number":430,"context_line":"        try:"},{"line_number":431,"context_line":"            kubernetes.post(\u0027/apis/openstack.org/v1/namespaces/{}/kuryrloadbalancers\u0027.format(namespace), loadbalancer_crd)"},{"line_number":432,"context_line":"        except k_exc.K8sClientException:"},{"line_number":433,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":434,"context_line":"                          \"kuryrloadbalancer CRD. %s\" % k_exc.K8sClientException)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_b0aa7f16","line":431,"range":{"start_line":431,"start_character":28,"end_line":431,"end_character":63},"updated":"2020-03-17 15:53:23.000000000","message":"we can also use constants here.","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"44081d809e94b8be16eb1893fd01f7d26792507a","unresolved":false,"context_lines":[{"line_number":428,"context_line":"            }"},{"line_number":429,"context_line":""},{"line_number":430,"context_line":"        try:"},{"line_number":431,"context_line":"            kubernetes.post(\u0027/apis/openstack.org/v1/namespaces/{}/kuryrloadbalancers\u0027.format(namespace), loadbalancer_crd)"},{"line_number":432,"context_line":"        except k_exc.K8sClientException:"},{"line_number":433,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":434,"context_line":"                          \"kuryrloadbalancer CRD. %s\" % k_exc.K8sClientException)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_f562fb3d","line":431,"range":{"start_line":431,"start_character":28,"end_line":431,"end_character":63},"in_reply_to":"1fa4df85_b0aa7f16","updated":"2020-03-23 14:06:52.000000000","message":"Done","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c49433141e2b31a2714f6d45e4125d78edd86894","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        sg_ids \u003d self._drv_sg.get_security_groups(service, project_id)"},{"line_number":119,"context_line":"        subnet_id \u003d self._get_subnet_id(service, project_id, ip_)"},{"line_number":120,"context_line":"        spec_type \u003d service[\u0027spec\u0027].get(\u0027type\u0027)"},{"line_number":121,"context_line":"        loadbalancer_crd \u003d {"},{"line_number":122,"context_line":"            \u0027apiVersion\u0027: \u0027openstack.org/v1\u0027,"},{"line_number":123,"context_line":"            \u0027kind\u0027: \u0027KuryrLoadBalancer\u0027,"},{"line_number":124,"context_line":"            \u0027metadata\u0027: {"},{"line_number":125,"context_line":"                \u0027name\u0027: svc_name"},{"line_number":126,"context_line":"                },"},{"line_number":127,"context_line":"            \u0027spec\u0027: {"},{"line_number":128,"context_line":"                \u0027ip\u0027: ip_,"},{"line_number":129,"context_line":"                \u0027ports\u0027: ports,"},{"line_number":130,"context_line":"                \u0027project_id\u0027: project_id,"},{"line_number":131,"context_line":"                \u0027security_groups_ids\u0027: sg_ids,"},{"line_number":132,"context_line":"                \u0027subnet_id\u0027: subnet_id,"},{"line_number":133,"context_line":"                \u0027type\u0027: spec_type"},{"line_number":134,"context_line":"                }"},{"line_number":135,"context_line":"            }"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        if spec_lb_ip is not None:"},{"line_number":138,"context_line":"            loadbalancer_crd[\u0027spec\u0027][\u0027lb_ip\u0027] \u003d spec_lb_ip"}],"source_content_type":"text/x-python","patch_set":20,"id":"df33271e_f2361103","line":135,"range":{"start_line":121,"start_character":0,"end_line":135,"end_character":13},"updated":"2020-04-01 12:37:51.000000000","message":"Make sure to include a finalizers in any CRD creation. This field helps to ensures the CRD is not deleted while the SVC or the endpoint still exists.\n\nFurther reference: https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#finalizers\nHow the finalizers are added on the namespace crd: https://github.com/openstack/kuryr-kubernetes/blob/master/kuryr_kubernetes/controller/handlers/namespace.py#L130","commit_id":"37aa52f435dcc2d280b2fc0c206b41608a13b141"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c49433141e2b31a2714f6d45e4125d78edd86894","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        if loadbalancer_crd is None:"},{"line_number":266,"context_line":"            loadbalancer_crd \u003d self._create_crd_spec(endpoints)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"        loadbalancer_crd \u003d self._update_crd_spec(loadbalancer_crd, endpoints)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"        lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":271,"context_line":"        if not lbaas_state:"}],"source_content_type":"text/x-python","patch_set":20,"id":"df33271e_721fa107","line":268,"range":{"start_line":268,"start_character":8,"end_line":268,"end_character":77},"updated":"2020-04-01 12:37:51.000000000","message":"Looks like an else condition is missed here","commit_id":"37aa52f435dcc2d280b2fc0c206b41608a13b141"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c49433141e2b31a2714f6d45e4125d78edd86894","unresolved":false,"context_lines":[{"line_number":268,"context_line":"        loadbalancer_crd \u003d self._update_crd_spec(loadbalancer_crd, endpoints)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"        lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":271,"context_line":"        if not lbaas_state:"},{"line_number":272,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":273,"context_line":"        "},{"line_number":274,"context_line":"        try:"},{"line_number":275,"context_line":"            lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"}],"source_content_type":"text/x-python","patch_set":20,"id":"df33271e_72cde183","line":272,"range":{"start_line":271,"start_character":0,"end_line":272,"end_character":48},"updated":"2020-04-01 12:37:51.000000000","message":"This should be removed as the don\u0027t need to create lbaas state objects anymore.","commit_id":"37aa52f435dcc2d280b2fc0c206b41608a13b141"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c49433141e2b31a2714f6d45e4125d78edd86894","unresolved":false,"context_lines":[{"line_number":363,"context_line":"        # NOTE(ltomasbo): we must wait until service handler has annotated the"},{"line_number":364,"context_line":"        # endpoints to process them. Thus, if annotations are not updated to"},{"line_number":365,"context_line":"        # match the endpoints information, we should skip the event"},{"line_number":366,"context_line":"        return not(loadbalancer_crd and"},{"line_number":367,"context_line":"                   self._has_pods(endpoints) and"},{"line_number":368,"context_line":"                   self._svc_handler_annotations_updated(endpoints,"},{"line_number":369,"context_line":"                                                         loadbalancer_crd))"}],"source_content_type":"text/x-python","patch_set":20,"id":"df33271e_d2014db1","line":366,"range":{"start_line":366,"start_character":19,"end_line":366,"end_character":35},"updated":"2020-04-01 12:37:51.000000000","message":"I believe this check of the loadbalancer_crd existence should be moved to the \u0027_svc_handler_annotations_updated\u0027 so we don\u0027t ignore the event in case the CRD was not yet created and give a chance to get it created on the endpoint handler.","commit_id":"37aa52f435dcc2d280b2fc0c206b41608a13b141"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c49433141e2b31a2714f6d45e4125d78edd86894","unresolved":false,"context_lines":[{"line_number":453,"context_line":"        return loadbalancer_crd"},{"line_number":454,"context_line":""},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"    def _svc_handler_annotations_updated(self, endpoints, loadbalancer_crd):"},{"line_number":457,"context_line":"        svc_link \u003d self._get_service_link(endpoints)"},{"line_number":458,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":459,"context_line":"        service \u003d k8s.get(svc_link)"}],"source_content_type":"text/x-python","patch_set":20,"id":"df33271e_923ea5be","line":456,"range":{"start_line":456,"start_character":8,"end_line":456,"end_character":40},"updated":"2020-04-01 12:37:51.000000000","message":"As we\u0027re moving to the CRD instead of annotation this could be renamed to something inline with: \"_is_lbaas_crd_update\"","commit_id":"37aa52f435dcc2d280b2fc0c206b41608a13b141"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c49433141e2b31a2714f6d45e4125d78edd86894","unresolved":false,"context_lines":[{"line_number":474,"context_line":"                   for address in subset.get(\u0027addresses\u0027, [])"},{"line_number":475,"context_line":"                   if address.get(\u0027targetRef\u0027, {}).get(\u0027kind\u0027) \u003d\u003d \u0027Pod\u0027)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def _sync_lbaas_members(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":478,"context_line":"        changed \u003d False"},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"        if (self._has_pods(endpoints) and"}],"source_content_type":"text/x-python","patch_set":20,"id":"df33271e_52137d66","line":477,"range":{"start_line":477,"start_character":8,"end_line":477,"end_character":27},"updated":"2020-04-01 12:37:51.000000000","message":"Any syncing operation should be moved to the status handled, as it\u0027s the one responsible for creating the load balancer resources.","commit_id":"37aa52f435dcc2d280b2fc0c206b41608a13b141"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":142,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace), loadbalancer_crd)"},{"line_number":143,"context_line":"        except k_exc.K8sClientException:"},{"line_number":144,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":145,"context_line":"                          \"kuryrloadbalancer CRD. %s\" % k_exc.K8sClientException)"},{"line_number":146,"context_line":"            raise"},{"line_number":147,"context_line":"        return loadbalancer_crd"},{"line_number":148,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_f6a6f30e","line":145,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":151,"context_line":"        try:"},{"line_number":152,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("},{"line_number":153,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace, loadbalancer_crd_name))"},{"line_number":154,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":155,"context_line":"            return None"},{"line_number":156,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_56b19f46","line":153,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    def _update_crd_spec(self, loadbalancer_crd, service):"},{"line_number":162,"context_line":"        svc_ip \u003d self._get_service_ip(service)"},{"line_number":163,"context_line":"        spec_lb_ip \u003d service[\u0027spec\u0027].get(\u0027loadBalancerIP\u0027)"},{"line_number":164,"context_line":"        ports \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":165,"context_line":"        project_id \u003d self._drv_project.get_project(service)"},{"line_number":166,"context_line":"        sg_ids \u003d self._drv_sg.get_security_groups(service, project_id)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_36acdbeb","line":163,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: F841 local variable \u0027spec_lb_ip\u0027 is assigned to but never used","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        LOG.debug(\u0027Patching KuryrLoadBalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":184,"context_line":"        try:"},{"line_number":185,"context_line":"            kubernetes.patch_crd(\u0027spec\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":186,"context_line":"                                 {\u0027ip\u0027: svc_ip,"},{"line_number":187,"context_line":"                                  \u0027ports\u0027: ports,"},{"line_number":188,"context_line":"                                  \u0027project_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_96b7a73a","line":185,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    def on_present(self, endpoints):"},{"line_number":251,"context_line":"        # TODO(sscavnic): Rely on CRD"},{"line_number":252,"context_line":"        # TODO naplnit crd pre endpoints"},{"line_number":253,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":254,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":255,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_76b2e34a","line":252,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        # TODO naplnit crd pre endpoints"},{"line_number":253,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":254,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":255,"context_line":"        "},{"line_number":256,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd("},{"line_number":257,"context_line":"            endpoints_name, namespace)"},{"line_number":258,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_d6864f66","line":255,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":256,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd("},{"line_number":257,"context_line":"            endpoints_name, namespace)"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        lbaas_spec \u003d utils.get_lbaas_spec(endpoints)"},{"line_number":260,"context_line":"        if self._should_ignore(endpoints, loadbalancer_crd):"},{"line_number":261,"context_line":"            LOG.debug(\"Ignoring Kubernetes endpoints %s\","},{"line_number":262,"context_line":"                      endpoints[\u0027metadata\u0027][\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_b6890b76","line":259,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: F841 local variable \u0027lbaas_spec\u0027 is assigned to but never used","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":261,"context_line":"            LOG.debug(\"Ignoring Kubernetes endpoints %s\","},{"line_number":262,"context_line":"                      endpoints[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":263,"context_line":"            return"},{"line_number":264,"context_line":"        "},{"line_number":265,"context_line":"        if loadbalancer_crd is None:"},{"line_number":266,"context_line":"            loadbalancer_crd \u003d self._create_crd_spec(endpoints)"},{"line_number":267,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_167d576d","line":264,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":270,"context_line":"        lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":271,"context_line":"        if not lbaas_state:"},{"line_number":272,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":273,"context_line":"        "},{"line_number":274,"context_line":"        #try:"},{"line_number":275,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":276,"context_line":"        #except KeyError:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_f67f1363","line":273,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":271,"context_line":"        if not lbaas_state:"},{"line_number":272,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":273,"context_line":"        "},{"line_number":274,"context_line":"        #try:"},{"line_number":275,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":276,"context_line":"        #except KeyError:"},{"line_number":277,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_569a3fb8","line":274,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":273,"context_line":"        "},{"line_number":274,"context_line":"        #try:"},{"line_number":275,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":276,"context_line":"        #except KeyError:"},{"line_number":277,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":278,"context_line":"          #          loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_3695fb87","line":275,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        "},{"line_number":274,"context_line":"        #try:"},{"line_number":275,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":276,"context_line":"        #except KeyError:"},{"line_number":277,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":278,"context_line":"          #          loadbalancer_crd)"},{"line_number":279,"context_line":"        lb_port_id \u003d None"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_96904797","line":276,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        #try:"},{"line_number":275,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":276,"context_line":"        #except KeyError:"},{"line_number":277,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":278,"context_line":"          #          loadbalancer_crd)"},{"line_number":279,"context_line":"        lb_port_id \u003d None"},{"line_number":280,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_768b0367","line":277,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        #try:"},{"line_number":275,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":276,"context_line":"        #except KeyError:"},{"line_number":277,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":278,"context_line":"          #          loadbalancer_crd)"},{"line_number":279,"context_line":"        lb_port_id \u003d None"},{"line_number":280,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_d6ebef0f","line":277,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":275,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":276,"context_line":"        #except KeyError:"},{"line_number":277,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":278,"context_line":"          #          loadbalancer_crd)"},{"line_number":279,"context_line":"        lb_port_id \u003d None"},{"line_number":280,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":281,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_b6ee2b1f","line":278,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":277,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":278,"context_line":"          #          loadbalancer_crd)"},{"line_number":279,"context_line":"        lb_port_id \u003d None"},{"line_number":280,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":281,"context_line":"        "},{"line_number":282,"context_line":"        "},{"line_number":283,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_16f27706","line":280,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":277,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":278,"context_line":"          #          loadbalancer_crd)"},{"line_number":279,"context_line":"        lb_port_id \u003d None"},{"line_number":280,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":281,"context_line":"        "},{"line_number":282,"context_line":"        "},{"line_number":283,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_f6f433f3","line":280,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E116 unexpected indentation (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":278,"context_line":"          #          loadbalancer_crd)"},{"line_number":279,"context_line":"        lb_port_id \u003d None"},{"line_number":280,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":281,"context_line":"        "},{"line_number":282,"context_line":"        "},{"line_number":283,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":284,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_56dfdf67","line":281,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        lb_port_id \u003d None"},{"line_number":280,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":281,"context_line":"        "},{"line_number":282,"context_line":"        "},{"line_number":283,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":284,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"},{"line_number":285,"context_line":"            # associate it to LB VIP and update K8S service status"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_36da1b77","line":282,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":280,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":281,"context_line":"        "},{"line_number":282,"context_line":"        "},{"line_number":283,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":284,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"},{"line_number":285,"context_line":"            # associate it to LB VIP and update K8S service status"},{"line_number":286,"context_line":"            if loadbalancer_crd[\u0027status\u0027].get(\u0027service_pub_ip_info\u0027) is None:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_96e5e73a","line":283,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":293,"context_line":"                if service_pub_ip_info:"},{"line_number":294,"context_line":"                    self._drv_service_pub_ip.associate_pub_ip("},{"line_number":295,"context_line":"                        service_pub_ip_info, lb_port_id)"},{"line_number":296,"context_line":"                    svc_pub_ip_info \u003d service_pub_ip_info"},{"line_number":297,"context_line":"                    self._update_lb_status("},{"line_number":298,"context_line":"                        endpoints, loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027].get(\u0027ip_addr\u0027), loadbalancer_crd)"},{"line_number":299,"context_line":"            # REVISIT(ivc): since _sync_lbaas_members is responsible for"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_76e02327","line":296,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: F841 local variable \u0027svc_pub_ip_info\u0027 is assigned to but never used","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":295,"context_line":"                        service_pub_ip_info, lb_port_id)"},{"line_number":296,"context_line":"                    svc_pub_ip_info \u003d service_pub_ip_info"},{"line_number":297,"context_line":"                    self._update_lb_status("},{"line_number":298,"context_line":"                        endpoints, loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027].get(\u0027ip_addr\u0027), loadbalancer_crd)"},{"line_number":299,"context_line":"            # REVISIT(ivc): since _sync_lbaas_members is responsible for"},{"line_number":300,"context_line":"            # creating all lbaas components (i.e. load balancer, listeners,"},{"line_number":301,"context_line":"            # pools, members), it is currently possible for it to fail (due"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_d6d48f4a","line":298,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (118 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":326,"context_line":"        endpoint_crd_ip \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ip\u0027)"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        if endpoint_crd_ip !\u003d endpoint_ip:"},{"line_number":329,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":330,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":331,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":332,"context_line":"                       \u0027link\u0027: link})"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_b6d74b4b","line":329,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (89 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        if endpoint_crd_ip !\u003d endpoint_ip:"},{"line_number":329,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":330,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":331,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":332,"context_line":"                       \u0027link\u0027: link})"},{"line_number":333,"context_line":"            return True"},{"line_number":334,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_16cb97a4","line":331,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":329,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":330,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":331,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":332,"context_line":"                       \u0027link\u0027: link})"},{"line_number":333,"context_line":"            return True"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_f6cd53b7","line":332,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        return False"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"    def on_deleted(self, endpoints, lbaas_state\u003dNone):"},{"line_number":339,"context_line":"        if lbaas_state is None:"},{"line_number":340,"context_line":"            lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":341,"context_line":"        if not lbaas_state:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_56c87fa4","line":338,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":350,"context_line":"        LOG.debug(\"Deleting the loadbalancer CRD\")"},{"line_number":351,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":352,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":353,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd(endpoints_name, namespace)"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        if not loadbalancer_crd:"},{"line_number":356,"context_line":"            LOG.warning(\"This should not happen. Probably this event is\")"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_36c33b8b","line":353,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":357,"context_line":""},{"line_number":358,"context_line":"        crd_name \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":359,"context_line":"        crd_namespace \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":360,"context_line":"        self._del_loadbalancer_crd(crd_name, crd_namespace) "},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"    def _should_ignore(self, endpoints, loadbalancer_crd):"},{"line_number":363,"context_line":"        # NOTE(ltomasbo): we must wait until service handler has annotated the"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_96be87fc","line":360,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W291 trailing whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":383,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":384,"context_line":"        try:"},{"line_number":385,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("},{"line_number":386,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace, loadbalancer_crd_name))"},{"line_number":387,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":388,"context_line":"            return None"},{"line_number":389,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_76b94313","line":386,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":419,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace), loadbalancer_crd)"},{"line_number":420,"context_line":"        except k_exc.K8sClientException:"},{"line_number":421,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":422,"context_line":"                          \"kuryrloadbalancer CRD. %s\" % k_exc.K8sClientException)"},{"line_number":423,"context_line":"            raise"},{"line_number":424,"context_line":"        return loadbalancer_crd"},{"line_number":425,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_d6392fa4","line":422,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":429,"context_line":"            endpoint_ports \u003d subset.get(\u0027ports\u0027, [])"},{"line_number":430,"context_line":"            endpoint_adrr \u003d subset.get(\u0027addresses\u0027, [])"},{"line_number":431,"context_line":"            ep_not_r_addr \u003d subset.get(\u0027notReadyAddresses\u0027, [])"},{"line_number":432,"context_line":"        "},{"line_number":433,"context_line":"        lbaas_update_crd \u003d {"},{"line_number":434,"context_line":"            \u0027subsets\u0027: {"},{"line_number":435,"context_line":"                }"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_b63c6b93","line":432,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":443,"context_line":"            lbaas_update_crd[\u0027subsets\u0027][\u0027notReadyAddresses\u0027] \u003d ep_not_r_addr"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        try:"},{"line_number":446,"context_line":"            kubernetes.patch_crd(\u0027spec\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], lbaas_update_crd)"},{"line_number":447,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":448,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":449,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_1640b706","line":446,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (100 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":447,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":448,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":449,"context_line":"        except k_exc.K8sClientException:"},{"line_number":450,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":451,"context_line":"            raise"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"        return loadbalancer_crd"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_f642730e","line":450,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":453,"context_line":"        return loadbalancer_crd"},{"line_number":454,"context_line":""},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"    def _svc_handler_annotations_updated(self, endpoints, loadbalancer_crd):"},{"line_number":457,"context_line":"        svc_link \u003d self._get_service_link(endpoints)"},{"line_number":458,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":459,"context_line":"        service \u003d k8s.get(svc_link)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_564d1f3c","line":456,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":486,"context_line":"            changed \u003d True"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        if (self._has_pods(endpoints) and"},{"line_number":489,"context_line":"                self._add_new_members(endpoints, lbaas_state, loadbalancer_crd)):"},{"line_number":490,"context_line":"            changed \u003d True"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_36485b2b","line":489,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":630,"context_line":"            # this worker_nodes_subnet will be used"},{"line_number":631,"context_line":"            return config.CONF.pod_vif_nested.worker_nodes_subnet"},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"    def _get_port_in_pool(self, pool, lbaas_state, loadbalancer_crd): "},{"line_number":634,"context_line":"        # TODO ROBI TO SO CRD, TAK TAM DOPLN VERIFIKACIU"},{"line_number":635,"context_line":"        "},{"line_number":636,"context_line":"        for l in lbaas_state.listeners:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_965327e2","line":633,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W291 trailing whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":631,"context_line":"            return config.CONF.pod_vif_nested.worker_nodes_subnet"},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"    def _get_port_in_pool(self, pool, lbaas_state, loadbalancer_crd): "},{"line_number":634,"context_line":"        # TODO ROBI TO SO CRD, TAK TAM DOPLN VERIFIKACIU"},{"line_number":635,"context_line":"        "},{"line_number":636,"context_line":"        for l in lbaas_state.listeners:"},{"line_number":637,"context_line":"            if l.get(\u0027id\u0027) !\u003d pool.get(\u0027listener_id\u0027):"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_764e6338","line":634,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":632,"context_line":""},{"line_number":633,"context_line":"    def _get_port_in_pool(self, pool, lbaas_state, loadbalancer_crd): "},{"line_number":634,"context_line":"        # TODO ROBI TO SO CRD, TAK TAM DOPLN VERIFIKACIU"},{"line_number":635,"context_line":"        "},{"line_number":636,"context_line":"        for l in lbaas_state.listeners:"},{"line_number":637,"context_line":"            if l.get(\u0027id\u0027) !\u003d pool.get(\u0027listener_id\u0027):"},{"line_number":638,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_d662cfad","line":635,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":637,"context_line":"            if l.get(\u0027id\u0027) !\u003d pool.get(\u0027listener_id\u0027):"},{"line_number":638,"context_line":"                continue"},{"line_number":639,"context_line":"            for port in loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027, []):"},{"line_number":640,"context_line":"                if l.get(\u0027port\u0027) \u003d\u003d port.get(\u0027port\u0027) and l.get(\u0027protocol\u0027) \u003d\u003d port.get(\u0027protocol\u0027):"},{"line_number":641,"context_line":"                    return port"},{"line_number":642,"context_line":"        return None"},{"line_number":643,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_b6658bb7","line":640,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (99 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":793,"context_line":"        return bool(removed_ids)"},{"line_number":794,"context_line":""},{"line_number":795,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":796,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":797,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":798,"context_line":"        "},{"line_number":799,"context_line":"        status_data \u003d {"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_1659d7fc","line":796,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":794,"context_line":""},{"line_number":795,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":796,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":797,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":798,"context_line":"        "},{"line_number":799,"context_line":"        status_data \u003d {"},{"line_number":800,"context_line":"            \u0027status\u0027: {"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_f65b93f2","line":797,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":794,"context_line":""},{"line_number":795,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":796,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":797,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":798,"context_line":"        "},{"line_number":799,"context_line":"        status_data \u003d {"},{"line_number":800,"context_line":"            \u0027status\u0027: {"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_5676bf71","line":797,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E117 over-indented (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":795,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":796,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":797,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":798,"context_line":"        "},{"line_number":799,"context_line":"        status_data \u003d {"},{"line_number":800,"context_line":"            \u0027status\u0027: {"},{"line_number":801,"context_line":"                \u0027loadbalancer\u0027: {"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_36717b77","line":798,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":806,"context_line":""},{"line_number":807,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":808,"context_line":"        try:"},{"line_number":809,"context_line":"            kubernetes.patch_crd(\u0027spec\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], status_data)"},{"line_number":810,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":811,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":812,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_966cc79c","line":809,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (95 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":810,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":811,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":812,"context_line":"        except k_exc.K8sClientException:"},{"line_number":813,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":814,"context_line":"            raise"},{"line_number":815,"context_line":""},{"line_number":816,"context_line":"    def _get_service_link(self, endpoints):"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_766783b8","line":813,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                \u0027subnet_id\u0027: subnet_id,"},{"line_number":134,"context_line":"                \u0027type\u0027: spec_type"},{"line_number":135,"context_line":"                }"},{"line_number":136,"context_line":"            \u0027status\u0027: {"},{"line_number":137,"context_line":"                }"},{"line_number":138,"context_line":"            }"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_2e4a2c7f","line":136,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E999 SyntaxError: invalid syntax","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace), loadbalancer_crd)"},{"line_number":146,"context_line":"        except k_exc.K8sClientException:"},{"line_number":147,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":148,"context_line":"                          \"kuryrloadbalancer CRD. %s\" % k_exc.K8sClientException)"},{"line_number":149,"context_line":"            raise"},{"line_number":150,"context_line":"        return loadbalancer_crd"},{"line_number":151,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_8e60a003","line":148,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":154,"context_line":"        try:"},{"line_number":155,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("},{"line_number":156,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace, loadbalancer_crd_name))"},{"line_number":157,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":158,"context_line":"            return None"},{"line_number":159,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_6e5b9453","line":156,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        LOG.debug(\u0027Patching KuryrLoadBalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":187,"context_line":"        try:"},{"line_number":188,"context_line":"            kubernetes.patch_crd(\u0027spec\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":189,"context_line":"                                 {\u0027ip\u0027: svc_ip,"},{"line_number":190,"context_line":"                                  \u0027ports\u0027: ports,"},{"line_number":191,"context_line":"                                  \u0027project_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_ce5aa84d","line":188,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def on_present(self, endpoints):"},{"line_number":254,"context_line":"        # TODO(sscavnic): Rely on CRD"},{"line_number":255,"context_line":"        # TODO naplnit crd pre endpoints"},{"line_number":256,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":257,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":258,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_ae559c1f","line":255,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        # TODO naplnit crd pre endpoints"},{"line_number":256,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":257,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":258,"context_line":"        "},{"line_number":259,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd("},{"line_number":260,"context_line":"            endpoints_name, namespace)"},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_0e32d010","line":258,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        if not lbaas_state:"},{"line_number":275,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        #try:"},{"line_number":278,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":279,"context_line":"        #except KeyError:"},{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_ee34c4fd","line":277,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":275,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        #try:"},{"line_number":278,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":279,"context_line":"        #except KeyError:"},{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_4e3cd8e1","line":278,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        #try:"},{"line_number":278,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":279,"context_line":"        #except KeyError:"},{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"},{"line_number":282,"context_line":"        lb_port_id \u003d None"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_2e3fccd6","line":279,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        #try:"},{"line_number":278,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":279,"context_line":"        #except KeyError:"},{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"},{"line_number":282,"context_line":"        lb_port_id \u003d None"},{"line_number":283,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_8e2540c5","line":280,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        #try:"},{"line_number":278,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":279,"context_line":"        #except KeyError:"},{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"},{"line_number":282,"context_line":"        lb_port_id \u003d None"},{"line_number":283,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_6e20b4b1","line":280,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":278,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":279,"context_line":"        #except KeyError:"},{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"},{"line_number":282,"context_line":"        lb_port_id \u003d None"},{"line_number":283,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":284,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_ce2f489f","line":281,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"},{"line_number":282,"context_line":"        lb_port_id \u003d None"},{"line_number":283,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":286,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_ae2abc8c","line":283,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"},{"line_number":282,"context_line":"        lb_port_id \u003d None"},{"line_number":283,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":286,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_0e1bf080","line":283,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E116 unexpected indentation (comment)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":297,"context_line":"                        service_pub_ip_info, lb_port_id)"},{"line_number":298,"context_line":"                    svc_pub_ip_info \u003d service_pub_ip_info"},{"line_number":299,"context_line":"                    self._update_lb_status("},{"line_number":300,"context_line":"                        endpoints, loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027].get(\u0027ip_addr\u0027), loadbalancer_crd)"},{"line_number":301,"context_line":"            # REVISIT(ivc): since _sync_lbaas_members is responsible for"},{"line_number":302,"context_line":"            # creating all lbaas components (i.e. load balancer, listeners,"},{"line_number":303,"context_line":"            # pools, members), it is currently possible for it to fail (due"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_ee1de473","line":300,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (118 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        endpoint_crd_ip \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ip\u0027)"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"        if endpoint_crd_ip !\u003d endpoint_ip:"},{"line_number":331,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":332,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":333,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":334,"context_line":"                       \u0027link\u0027: link})"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_4e15f849","line":331,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (89 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        if endpoint_crd_ip !\u003d endpoint_ip:"},{"line_number":331,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":332,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":333,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":334,"context_line":"                       \u0027link\u0027: link})"},{"line_number":335,"context_line":"            return True"},{"line_number":336,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_2e186c7f","line":333,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":331,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":332,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":333,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":334,"context_line":"                       \u0027link\u0027: link})"},{"line_number":335,"context_line":"            return True"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_8e0ee038","line":334,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        return False"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"    def on_deleted(self, endpoints, lbaas_state\u003dNone):"},{"line_number":341,"context_line":"        if lbaas_state is None:"},{"line_number":342,"context_line":"            lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":343,"context_line":"        if not lbaas_state:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_6e09d42f","line":340,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":352,"context_line":"        LOG.debug(\"Deleting the loadbalancer CRD\")"},{"line_number":353,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":354,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":355,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd(endpoints_name, namespace)"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        if not loadbalancer_crd:"},{"line_number":358,"context_line":"            LOG.warning(\"This should not happen.\")"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_ce08e82d","line":355,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":361,"context_line":"        # the loadbalancer"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":364,"context_line":"        LOG.debug(\u0027Removing finalizer from KuryrLoadBalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":365,"context_line":"        try:"},{"line_number":366,"context_line":"            kubernetes.patch_crd(\u0027metadata\u0027,"},{"line_number":367,"context_line":"                                 loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027],"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_ae03dc0e","line":364,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (87 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":400,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":401,"context_line":"        try:"},{"line_number":402,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("},{"line_number":403,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace, loadbalancer_crd_name))"},{"line_number":404,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":405,"context_line":"            return None"},{"line_number":406,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_09000a01","line":403,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":439,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace), loadbalancer_crd)"},{"line_number":440,"context_line":"        except k_exc.K8sClientException:"},{"line_number":441,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":442,"context_line":"                          \"kuryrloadbalancer CRD. %s\" % k_exc.K8sClientException)"},{"line_number":443,"context_line":"            raise"},{"line_number":444,"context_line":"        return loadbalancer_crd"},{"line_number":445,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_e902fe08","line":442,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":463,"context_line":"            lbaas_update_crd[\u0027subsets\u0027][\u0027notReadyAddresses\u0027] \u003d ep_not_r_addr"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"        try:"},{"line_number":466,"context_line":"            kubernetes.patch_crd(\u0027spec\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], lbaas_update_crd)"},{"line_number":467,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":468,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":469,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_490a1221","line":466,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (100 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":467,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":468,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":469,"context_line":"        except k_exc.K8sClientException:"},{"line_number":470,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":471,"context_line":"            raise"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"        return loadbalancer_crd"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_290d0637","line":470,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":471,"context_line":"            raise"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"        return loadbalancer_crd"},{"line_number":474,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_89137a5c","line":474,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W391 blank line at end of file","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                \u0027subnet_id\u0027: subnet_id,"},{"line_number":134,"context_line":"                \u0027type\u0027: spec_type"},{"line_number":135,"context_line":"                }"},{"line_number":136,"context_line":"            \u0027status\u0027: {"},{"line_number":137,"context_line":"                }"},{"line_number":138,"context_line":"            }"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_163d1bbb","line":136,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E999 SyntaxError: invalid syntax","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace), loadbalancer_crd)"},{"line_number":146,"context_line":"        except k_exc.K8sClientException:"},{"line_number":147,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":148,"context_line":"                          \"kuryrloadbalancer CRD. %s\" % k_exc.K8sClientException)"},{"line_number":149,"context_line":"            raise"},{"line_number":150,"context_line":"        return loadbalancer_crd"},{"line_number":151,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_764a9f55","line":148,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":154,"context_line":"        try:"},{"line_number":155,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("},{"line_number":156,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace, loadbalancer_crd_name))"},{"line_number":157,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":158,"context_line":"            return None"},{"line_number":159,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_5647a34c","line":156,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        LOG.debug(\u0027Patching KuryrLoadBalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":187,"context_line":"        try:"},{"line_number":188,"context_line":"            kubernetes.patch_crd(\u0027spec\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":189,"context_line":"                                 {\u0027ip\u0027: svc_ip,"},{"line_number":190,"context_line":"                                  \u0027ports\u0027: ports,"},{"line_number":191,"context_line":"                                  \u0027project_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_b675479b","line":188,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def on_present(self, endpoints):"},{"line_number":254,"context_line":"        # TODO(sscavnic): Rely on CRD"},{"line_number":255,"context_line":"        # TODO naplnit crd pre endpoints"},{"line_number":256,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":257,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":258,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_967acb85","line":255,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        # TODO naplnit crd pre endpoints"},{"line_number":256,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":257,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":258,"context_line":"        "},{"line_number":259,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd("},{"line_number":260,"context_line":"            endpoints_name, namespace)"},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_f66fcfc2","line":258,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        if not lbaas_state:"},{"line_number":275,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        #try:"},{"line_number":278,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":279,"context_line":"        #except KeyError:"},{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_d674539c","line":277,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":275,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        #try:"},{"line_number":278,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":279,"context_line":"        #except KeyError:"},{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_366937be","line":278,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        #try:"},{"line_number":278,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":279,"context_line":"        #except KeyError:"},{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"},{"line_number":282,"context_line":"        lb_port_id \u003d None"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_1666bbee","line":279,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        #try:"},{"line_number":278,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":279,"context_line":"        #except KeyError:"},{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"},{"line_number":282,"context_line":"        lb_port_id \u003d None"},{"line_number":283,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_7663bfdd","line":280,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        #try:"},{"line_number":278,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":279,"context_line":"        #except KeyError:"},{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"},{"line_number":282,"context_line":"        lb_port_id \u003d None"},{"line_number":283,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_566043cf","line":280,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":278,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":279,"context_line":"        #except KeyError:"},{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"},{"line_number":282,"context_line":"        lb_port_id \u003d None"},{"line_number":283,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":284,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_b69a67c2","line":281,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"},{"line_number":282,"context_line":"        lb_port_id \u003d None"},{"line_number":283,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":286,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_969f6bb3","line":283,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":280,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":281,"context_line":"          #          loadbalancer_crd)"},{"line_number":282,"context_line":"        lb_port_id \u003d None"},{"line_number":283,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":286,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_f6a4ef0a","line":283,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E116 unexpected indentation (comment)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":297,"context_line":"                        service_pub_ip_info, lb_port_id)"},{"line_number":298,"context_line":"                    svc_pub_ip_info \u003d service_pub_ip_info"},{"line_number":299,"context_line":"                    self._update_lb_status("},{"line_number":300,"context_line":"                        endpoints, loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027].get(\u0027ip_addr\u0027), loadbalancer_crd)"},{"line_number":301,"context_line":"            # REVISIT(ivc): since _sync_lbaas_members is responsible for"},{"line_number":302,"context_line":"            # creating all lbaas components (i.e. load balancer, listeners,"},{"line_number":303,"context_line":"            # pools, members), it is currently possible for it to fail (due"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_d6a9f3df","line":300,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (118 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        endpoint_crd_ip \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ip\u0027)"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"        if endpoint_crd_ip !\u003d endpoint_ip:"},{"line_number":331,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":332,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":333,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":334,"context_line":"                       \u0027link\u0027: link})"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_36ae57e7","line":331,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (89 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        if endpoint_crd_ip !\u003d endpoint_ip:"},{"line_number":331,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":332,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":333,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":334,"context_line":"                       \u0027link\u0027: link})"},{"line_number":335,"context_line":"            return True"},{"line_number":336,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_16ab5bd6","line":333,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":331,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":332,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":333,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":334,"context_line":"                       \u0027link\u0027: link})"},{"line_number":335,"context_line":"            return True"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_76b8df29","line":334,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        return False"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"    def on_deleted(self, endpoints, lbaas_state\u003dNone):"},{"line_number":341,"context_line":"        if lbaas_state is None:"},{"line_number":342,"context_line":"            lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":343,"context_line":"        if not lbaas_state:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_56b5e330","line":340,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":352,"context_line":"        LOG.debug(\"Deleting the loadbalancer CRD\")"},{"line_number":353,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":354,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":355,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd(endpoints_name, namespace)"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        if not loadbalancer_crd:"},{"line_number":358,"context_line":"            LOG.warning(\"This should not happen.\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_b6838756","line":355,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":361,"context_line":"        # the loadbalancer"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":364,"context_line":"        LOG.debug(\u0027Removing finalizer from KuryrLoadBalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":365,"context_line":"        try:"},{"line_number":366,"context_line":"            kubernetes.patch_crd(\u0027metadata\u0027,"},{"line_number":367,"context_line":"                                 loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027],"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_96880b72","line":364,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (87 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":400,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":401,"context_line":"        try:"},{"line_number":402,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("},{"line_number":403,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace, loadbalancer_crd_name))"},{"line_number":404,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":405,"context_line":"            return None"},{"line_number":406,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_f67d0f6f","line":403,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":439,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace), loadbalancer_crd)"},{"line_number":440,"context_line":"        except k_exc.K8sClientException:"},{"line_number":441,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":442,"context_line":"                          \"kuryrloadbalancer CRD. %s\" % k_exc.K8sClientException)"},{"line_number":443,"context_line":"            raise"},{"line_number":444,"context_line":"        return loadbalancer_crd"},{"line_number":445,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_d682934f","line":442,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":463,"context_line":"            lbaas_update_crd[\u0027subsets\u0027][\u0027notReadyAddresses\u0027] \u003d ep_not_r_addr"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"        try:"},{"line_number":466,"context_line":"            kubernetes.patch_crd(\u0027spec\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], lbaas_update_crd)"},{"line_number":467,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":468,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":469,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_36977793","line":466,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (100 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":467,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":468,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":469,"context_line":"        except k_exc.K8sClientException:"},{"line_number":470,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":471,"context_line":"            raise"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"        return loadbalancer_crd"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_1694fb8a","line":470,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":471,"context_line":"            raise"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"        return loadbalancer_crd"},{"line_number":474,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_7691ff99","line":474,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W391 blank line at end of file","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"14bbd5638927868ff395efff36463d5f5347ff2a","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":112,"context_line":"        namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":113,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":114,"context_line":"        ip_ \u003d self._get_service_ip(service)"},{"line_number":115,"context_line":"        spec_lb_ip \u003d service[\u0027spec\u0027].get(\u0027loadBalancerIP\u0027)"},{"line_number":116,"context_line":"        ports \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":117,"context_line":"        project_id \u003d self._drv_project.get_project(service)"}],"source_content_type":"text/x-python","patch_set":26,"id":"1f493fa4_dee7bd11","line":114,"range":{"start_line":114,"start_character":8,"end_line":114,"end_character":11},"updated":"2020-04-28 10:18:28.000000000","message":"Perhaps this could be renamed to service_ip","commit_id":"8ee8a230e64439da816b2d2bfd9128fadcfdc863"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"14bbd5638927868ff395efff36463d5f5347ff2a","unresolved":false,"context_lines":[{"line_number":123,"context_line":"            \u0027kind\u0027: \u0027KuryrLoadBalancer\u0027,"},{"line_number":124,"context_line":"            \u0027metadata\u0027: {"},{"line_number":125,"context_line":"                \u0027name\u0027: svc_name,"},{"line_number":126,"context_line":"                \u0027finalizer\u0027: [k_const.KLB_FINALIZER]"},{"line_number":127,"context_line":"                },"},{"line_number":128,"context_line":"            \u0027spec\u0027: {"},{"line_number":129,"context_line":"                \u0027ip\u0027: ip_,"}],"source_content_type":"text/x-python","patch_set":26,"id":"1f493fa4_ded05d22","line":126,"range":{"start_line":126,"start_character":17,"end_line":126,"end_character":26},"updated":"2020-04-28 10:18:28.000000000","message":"typo: finalizers","commit_id":"8ee8a230e64439da816b2d2bfd9128fadcfdc863"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"14bbd5638927868ff395efff36463d5f5347ff2a","unresolved":false,"context_lines":[{"line_number":451,"context_line":"    def _update_crd_spec(self, loadbalancer_crd, endpoints):"},{"line_number":452,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":453,"context_line":"        for subset in endpoints.get(\u0027subsets\u0027, []):"},{"line_number":454,"context_line":"            endpoint_ports \u003d subset.get(\u0027ports\u0027, [])"},{"line_number":455,"context_line":"            endpoint_adrr \u003d subset.get(\u0027addresses\u0027, [])"},{"line_number":456,"context_line":"            ep_not_r_addr \u003d subset.get(\u0027notReadyAddresses\u0027, [])"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"        lbaas_update_crd \u003d {"},{"line_number":459,"context_line":"            \u0027subsets\u0027: {"}],"source_content_type":"text/x-python","patch_set":26,"id":"1f493fa4_5e90cd43","line":456,"range":{"start_line":454,"start_character":0,"end_line":456,"end_character":63},"updated":"2020-04-28 10:18:28.000000000","message":"These variables are being redefined in every iteration.","commit_id":"8ee8a230e64439da816b2d2bfd9128fadcfdc863"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        # This will be remove"},{"line_number":274,"context_line":"        lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":275,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":276,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":277,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":278,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bb39f5a4","line":275,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        # This will be remove"},{"line_number":274,"context_line":"        lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":275,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":276,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":277,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":278,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":279,"context_line":"        if not lbaas_state:"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9b3cf993","line":276,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":275,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":276,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":277,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":278,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":279,"context_line":"        if not lbaas_state:"},{"line_number":280,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fb3ffd83","line":277,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":278,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":279,"context_line":"        if not lbaas_state:"},{"line_number":280,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":281,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":282,"context_line":"            LOG.debug(\u0027######################################################################################2\u0027)"},{"line_number":283,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":284,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_db42010f","line":281,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (113 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        if not lbaas_state:"},{"line_number":280,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":281,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":282,"context_line":"            LOG.debug(\u0027######################################################################################2\u0027)"},{"line_number":283,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":284,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":285,"context_line":"            LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3b4de53d","line":282,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (112 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":280,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":281,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":282,"context_line":"            LOG.debug(\u0027######################################################################################2\u0027)"},{"line_number":283,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":284,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":285,"context_line":"            LOG.debug(lbaas_state)"},{"line_number":286,"context_line":"        # try:"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1b48e92a","line":283,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (113 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":281,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":282,"context_line":"            LOG.debug(\u0027######################################################################################2\u0027)"},{"line_number":283,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":284,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":285,"context_line":"            LOG.debug(lbaas_state)"},{"line_number":286,"context_line":"        # try:"},{"line_number":287,"context_line":"        # lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7b53ede2","line":284,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (113 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":294,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"},{"line_number":295,"context_line":"            # associate it to LB VIP and update K8S service status"},{"line_number":296,"context_line":"            # if loadbalancer_crd[\u0027status\u0027].get(\u0027service_pub_ip_info\u0027) is None:"},{"line_number":297,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":298,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":299,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":300,"context_line":"            LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5b4ef137","line":297,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (114 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            # associate it to LB VIP and update K8S service status"},{"line_number":296,"context_line":"            # if loadbalancer_crd[\u0027status\u0027].get(\u0027service_pub_ip_info\u0027) is None:"},{"line_number":297,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":298,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":299,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":300,"context_line":"            LOG.debug(lbaas_state)"},{"line_number":301,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bb6295ac","line":298,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (114 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":296,"context_line":"            # if loadbalancer_crd[\u0027status\u0027].get(\u0027service_pub_ip_info\u0027) is None:"},{"line_number":297,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":298,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":299,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":300,"context_line":"            LOG.debug(lbaas_state)"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9b6519b8","line":299,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (114 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":311,"context_line":"                        lb_ip,"},{"line_number":312,"context_line":"                        loadbalancer_crd[\u0027spec\u0027][\u0027project_id\u0027],"},{"line_number":313,"context_line":"                        lbaas_state.loadbalancer.port_id))"},{"line_number":314,"context_line":"                "},{"line_number":315,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":316,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":317,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fb589dfa","line":314,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":312,"context_line":"                        loadbalancer_crd[\u0027spec\u0027][\u0027project_id\u0027],"},{"line_number":313,"context_line":"                        lbaas_state.loadbalancer.port_id))"},{"line_number":314,"context_line":"                "},{"line_number":315,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":316,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":317,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":318,"context_line":"                LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_db5b21f3","line":315,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (118 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":313,"context_line":"                        lbaas_state.loadbalancer.port_id))"},{"line_number":314,"context_line":"                "},{"line_number":315,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":316,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":317,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":318,"context_line":"                LOG.debug(lbaas_state)"},{"line_number":319,"context_line":"                if service_pub_ip_info:"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3b768571","line":316,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (118 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                "},{"line_number":315,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":316,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":317,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":318,"context_line":"                LOG.debug(lbaas_state)"},{"line_number":319,"context_line":"                if service_pub_ip_info:"},{"line_number":320,"context_line":"                    self._drv_service_pub_ip.associate_pub_ip("}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1b710977","line":317,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (118 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":334,"context_line":"            # failing items, or validate configuration) to prevent annotation"},{"line_number":335,"context_line":"            # being out of sync with the actual Neutron state."},{"line_number":336,"context_line":"            try:"},{"line_number":337,"context_line":"                LOG.debug(\u0027#######################################################################################4\u0027)"},{"line_number":338,"context_line":"                LOG.debug(\u0027#######################################################################################4\u0027)"},{"line_number":339,"context_line":"                LOG.debug(\u0027######################################################################################4#\u0027)"},{"line_number":340,"context_line":"                utils.set_lbaas_state(endpoints, lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7b6c8d9b","line":337,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (117 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":335,"context_line":"            # being out of sync with the actual Neutron state."},{"line_number":336,"context_line":"            try:"},{"line_number":337,"context_line":"                LOG.debug(\u0027#######################################################################################4\u0027)"},{"line_number":338,"context_line":"                LOG.debug(\u0027#######################################################################################4\u0027)"},{"line_number":339,"context_line":"                LOG.debug(\u0027######################################################################################4#\u0027)"},{"line_number":340,"context_line":"                utils.set_lbaas_state(endpoints, lbaas_state)"},{"line_number":341,"context_line":"                LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5b6711b8","line":338,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (117 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":336,"context_line":"            try:"},{"line_number":337,"context_line":"                LOG.debug(\u0027#######################################################################################4\u0027)"},{"line_number":338,"context_line":"                LOG.debug(\u0027#######################################################################################4\u0027)"},{"line_number":339,"context_line":"                LOG.debug(\u0027######################################################################################4#\u0027)"},{"line_number":340,"context_line":"                utils.set_lbaas_state(endpoints, lbaas_state)"},{"line_number":341,"context_line":"                LOG.debug(lbaas_state)"},{"line_number":342,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bb0735ca","line":339,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (117 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":530,"context_line":""},{"line_number":531,"context_line":"    def _sync_lbaas_members(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":532,"context_line":"        changed \u003d False"},{"line_number":533,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":534,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":535,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":536,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9b0a39cf","line":533,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":531,"context_line":"    def _sync_lbaas_members(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":532,"context_line":"        changed \u003d False"},{"line_number":533,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":534,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":535,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":536,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":537,"context_line":"        if (self._has_pods(endpoints) and"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fb0d3de8","line":534,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":532,"context_line":"        changed \u003d False"},{"line_number":533,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":534,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":535,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":536,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":537,"context_line":"        if (self._has_pods(endpoints) and"},{"line_number":538,"context_line":"                self._remove_unused_members(endpoints, lbaas_state,"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_db104103","line":535,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":538,"context_line":"                self._remove_unused_members(endpoints, lbaas_state,"},{"line_number":539,"context_line":"                                            loadbalancer_crd)):"},{"line_number":540,"context_line":"            changed \u003d True"},{"line_number":541,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":542,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":543,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":544,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3bfb25c1","line":541,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":539,"context_line":"                                            loadbalancer_crd)):"},{"line_number":540,"context_line":"            changed \u003d True"},{"line_number":541,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":542,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":543,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":544,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":545,"context_line":"        if self._sync_lbaas_pools(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1bf629d8","line":542,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":540,"context_line":"            changed \u003d True"},{"line_number":541,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":542,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":543,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":544,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":545,"context_line":"        if self._sync_lbaas_pools(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":546,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7b012daf","line":543,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":544,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":545,"context_line":"        if self._sync_lbaas_pools(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":546,"context_line":"            changed \u003d True"},{"line_number":547,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":548,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":549,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":550,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5bfc31b4","line":547,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":545,"context_line":"        if self._sync_lbaas_pools(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":546,"context_line":"            changed \u003d True"},{"line_number":547,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":548,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":549,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":550,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":551,"context_line":"        if (self._has_pods(endpoints) and"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bb30d5a0","line":548,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":546,"context_line":"            changed \u003d True"},{"line_number":547,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":548,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":549,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":550,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":551,"context_line":"        if (self._has_pods(endpoints) and"},{"line_number":552,"context_line":"                self._add_new_members(endpoints, lbaas_state,"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9b3359ab","line":549,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":552,"context_line":"                self._add_new_members(endpoints, lbaas_state,"},{"line_number":553,"context_line":"                                      loadbalancer_crd)):"},{"line_number":554,"context_line":"            changed \u003d True"},{"line_number":555,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":556,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":557,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":558,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fb26dd67","line":555,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":553,"context_line":"                                      loadbalancer_crd)):"},{"line_number":554,"context_line":"            changed \u003d True"},{"line_number":555,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":556,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":557,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":558,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":559,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_db296137","line":556,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":554,"context_line":"            changed \u003d True"},{"line_number":555,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":556,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":557,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":558,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3b24c55d","line":557,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":567,"context_line":"        lbaas_spec \u003d loadbalancer_crd.get(\u0027spec\u0027)"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":"        lb \u003d lbaas_state.loadbalancer"},{"line_number":570,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":571,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":572,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":573,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1b1f4908","line":570,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":568,"context_line":""},{"line_number":569,"context_line":"        lb \u003d lbaas_state.loadbalancer"},{"line_number":570,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":571,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":572,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":573,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":574,"context_line":"        default_sgs \u003d config.CONF.neutron_defaults.pod_security_groups"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7b1acd16","line":571,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":569,"context_line":"        lb \u003d lbaas_state.loadbalancer"},{"line_number":570,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":571,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":572,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":573,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":574,"context_line":"        default_sgs \u003d config.CONF.neutron_defaults.pod_security_groups"},{"line_number":575,"context_line":"        # NOTE(maysams) As the endpoint and svc are annotated with the"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5b1551e4","line":572,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":592,"context_line":""},{"line_number":593,"context_line":"    def _add_new_members(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":594,"context_line":"        changed \u003d False"},{"line_number":595,"context_line":"        "},{"line_number":596,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":597,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bbd5751e","line":595,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":593,"context_line":"    def _add_new_members(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":594,"context_line":"        changed \u003d False"},{"line_number":595,"context_line":"        "},{"line_number":596,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":597,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":599,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9bd87953","line":596,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":594,"context_line":"        changed \u003d False"},{"line_number":595,"context_line":"        "},{"line_number":596,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":597,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":599,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":600,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fbdb7d4b","line":597,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":595,"context_line":"        "},{"line_number":596,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":597,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":599,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":600,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":601,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_dbde813c","line":598,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":596,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":597,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":599,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":600,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":601,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":602,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3be965e5","line":599,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":597,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":599,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":600,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":601,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":602,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":603,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1be4690c","line":600,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":599,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":600,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":601,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":602,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7bef6de8","line":601,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":609,"context_line":"        try:"},{"line_number":610,"context_line":"            listeners \u003d loadbalancer_crd.get(\u0027listeners\u0027, [])"},{"line_number":611,"context_line":"        except KeyError:"},{"line_number":612,"context_line":"            listeners \u003d []"},{"line_number":613,"context_line":"        "},{"line_number":614,"context_line":"        try:"},{"line_number":615,"context_line":"            pools \u003d loadbalancer_crd.get(\u0027pools\u0027, [])"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5bea71d7","line":612,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: F841 local variable \u0027listeners\u0027 is assigned to but never used","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":610,"context_line":"            listeners \u003d loadbalancer_crd.get(\u0027listeners\u0027, [])"},{"line_number":611,"context_line":"        except KeyError:"},{"line_number":612,"context_line":"            listeners \u003d []"},{"line_number":613,"context_line":"        "},{"line_number":614,"context_line":"        try:"},{"line_number":615,"context_line":"            pools \u003d loadbalancer_crd.get(\u0027pools\u0027, [])"},{"line_number":616,"context_line":"        except KeyError:"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bbbe15d2","line":613,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":614,"context_line":"        try:"},{"line_number":615,"context_line":"            pools \u003d loadbalancer_crd.get(\u0027pools\u0027, [])"},{"line_number":616,"context_line":"        except KeyError:"},{"line_number":617,"context_line":"            pools \u003d []"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        lsnr_by_id \u003d {l.id: l for l in lbaas_state.listeners}"},{"line_number":620,"context_line":"        pool_by_lsnr_port \u003d {(lsnr_by_id[p.listener_id].protocol,"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9bc19957","line":617,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: F841 local variable \u0027pools\u0027 is assigned to but never used","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":630,"context_line":"        for p in loadbalancer_crd[\u0027spec\u0027][\u0027ports\u0027]:"},{"line_number":631,"context_line":"            try:"},{"line_number":632,"context_line":"                pool_by_tgt_name[p[\u0027name\u0027]] \u003d pool_by_lsnr_port[p[\u0027protocol\u0027],"},{"line_number":633,"context_line":"                                                             p[\u0027port\u0027]]"},{"line_number":634,"context_line":"            except KeyError:"},{"line_number":635,"context_line":"                continue"},{"line_number":636,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fbb41df4","line":633,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":637,"context_line":"        try:"},{"line_number":638,"context_line":"            members \u003d loadbalancer_crd.get(\u0027pools\u0027, [])"},{"line_number":639,"context_line":"        except KeyError:"},{"line_number":640,"context_line":"            members \u003d []"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"        current_targets \u003d {(str(m.ip), m.port, m.pool_id)"},{"line_number":643,"context_line":"                           for m in lbaas_state.members}"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_dbb7a1f4","line":640,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: F841 local variable \u0027members\u0027 is assigned to but never used","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":694,"context_line":"                        listener_port \u003d None"},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"                    try:"},{"line_number":697,"context_line":"                        loadbalancer \u003d loadbalancer_crd[\u0027status\u0027].get(\u0027loadbalancer\u0027)"},{"line_number":698,"context_line":"                    except KeyError:"},{"line_number":699,"context_line":"                        loadbalancer \u003d None"},{"line_number":700,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3bd20529","line":697,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (85 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":696,"context_line":"                    try:"},{"line_number":697,"context_line":"                        loadbalancer \u003d loadbalancer_crd[\u0027status\u0027].get(\u0027loadbalancer\u0027)"},{"line_number":698,"context_line":"                    except KeyError:"},{"line_number":699,"context_line":"                        loadbalancer \u003d None"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"                    member \u003d self._drv_lbaas.ensure_member("},{"line_number":702,"context_line":"                        loadbalancer\u003dlbaas_state.loadbalancer,"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1bcd8984","line":699,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: F841 local variable \u0027loadbalancer\u0027 is assigned to but never used","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":715,"context_line":""},{"line_number":716,"context_line":"                    kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":717,"context_line":"                    try:"},{"line_number":718,"context_line":"                        kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027]["},{"line_number":719,"context_line":"                            \u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":720,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":721,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7bc80d73","line":718,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":718,"context_line":"                        kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027]["},{"line_number":719,"context_line":"                            \u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":720,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":721,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":722,"context_line":"                    except k_exc.K8sClientException:"},{"line_number":723,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":724,"context_line":"                        raise"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5bc39157","line":721,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (89 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":720,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":721,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":722,"context_line":"                    except k_exc.K8sClientException:"},{"line_number":723,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":724,"context_line":"                        raise"},{"line_number":725,"context_line":"                    "},{"line_number":726,"context_line":"                    lbaas_state.members.append(member)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bba3b5b1","line":723,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (98 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":722,"context_line":"                    except k_exc.K8sClientException:"},{"line_number":723,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":724,"context_line":"                        raise"},{"line_number":725,"context_line":"                    "},{"line_number":726,"context_line":"                    lbaas_state.members.append(member)"},{"line_number":727,"context_line":"                    LOG.debug(\u0027######################################################################################16\u0027)"},{"line_number":728,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9ba6b9c0","line":725,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":724,"context_line":"                        raise"},{"line_number":725,"context_line":"                    "},{"line_number":726,"context_line":"                    lbaas_state.members.append(member)"},{"line_number":727,"context_line":"                    LOG.debug(\u0027######################################################################################16\u0027)"},{"line_number":728,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"},{"line_number":729,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"},{"line_number":730,"context_line":"                    LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fba9bd8f","line":727,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (121 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":725,"context_line":"                    "},{"line_number":726,"context_line":"                    lbaas_state.members.append(member)"},{"line_number":727,"context_line":"                    LOG.debug(\u0027######################################################################################16\u0027)"},{"line_number":728,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"},{"line_number":729,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"},{"line_number":730,"context_line":"                    LOG.debug(lbaas_state)"},{"line_number":731,"context_line":"                    changed \u003d True"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_dbacc1a0","line":728,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (122 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":726,"context_line":"                    lbaas_state.members.append(member)"},{"line_number":727,"context_line":"                    LOG.debug(\u0027######################################################################################16\u0027)"},{"line_number":728,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"},{"line_number":729,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"},{"line_number":730,"context_line":"                    LOG.debug(lbaas_state)"},{"line_number":731,"context_line":"                    changed \u003d True"},{"line_number":732,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3b97a54a","line":729,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (122 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":768,"context_line":"    def _remove_unused_members(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":769,"context_line":"        spec_ports \u003d {}"},{"line_number":770,"context_line":""},{"line_number":771,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":772,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":773,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":774,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1b92a957","line":771,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":769,"context_line":"        spec_ports \u003d {}"},{"line_number":770,"context_line":""},{"line_number":771,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":772,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":773,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":774,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":775,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7b9dad64","line":772,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":770,"context_line":""},{"line_number":771,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":772,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":773,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":774,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":775,"context_line":"        "},{"line_number":776,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5b98b173","line":773,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":772,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":773,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":774,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":775,"context_line":"        "},{"line_number":776,"context_line":"        try:"},{"line_number":777,"context_line":"            pools \u003d loadbalancer_crd[\u0027status\u0027].get(\u0027pools\u0027, [])"},{"line_number":778,"context_line":"        except KeyError:"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bb8c5536","line":775,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":827,"context_line":"                kubernetes.patch_crd(\u0027members\u0027, loadbalancer_crd[\u0027metadata\u0027]["},{"line_number":828,"context_line":"                    \u0027selfLink\u0027], crd_members)"},{"line_number":829,"context_line":"            except k_exc.K8sResourceNotFound:"},{"line_number":830,"context_line":"                LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":831,"context_line":"            except k_exc.K8sClientException:"},{"line_number":832,"context_line":"                LOG.exception(\u0027Error updating KuryrLoadbalancer CRD with %s\u0027, crd_members)"},{"line_number":833,"context_line":"                raise"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9b8fd928","line":830,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":829,"context_line":"            except k_exc.K8sResourceNotFound:"},{"line_number":830,"context_line":"                LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":831,"context_line":"            except k_exc.K8sClientException:"},{"line_number":832,"context_line":"                LOG.exception(\u0027Error updating KuryrLoadbalancer CRD with %s\u0027, crd_members)"},{"line_number":833,"context_line":"                raise"},{"line_number":834,"context_line":"        "},{"line_number":835,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fb825dff","line":832,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (90 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":831,"context_line":"            except k_exc.K8sClientException:"},{"line_number":832,"context_line":"                LOG.exception(\u0027Error updating KuryrLoadbalancer CRD with %s\u0027, crd_members)"},{"line_number":833,"context_line":"                raise"},{"line_number":834,"context_line":"        "},{"line_number":835,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":836,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":837,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_db85e108","line":834,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":832,"context_line":"                LOG.exception(\u0027Error updating KuryrLoadbalancer CRD with %s\u0027, crd_members)"},{"line_number":833,"context_line":"                raise"},{"line_number":834,"context_line":"        "},{"line_number":835,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":836,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":837,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":838,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3b8045f5","line":835,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":833,"context_line":"                raise"},{"line_number":834,"context_line":"        "},{"line_number":835,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":836,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":837,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":838,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":839,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1b7bc927","line":836,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":834,"context_line":"        "},{"line_number":835,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":836,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":837,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":838,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":839,"context_line":""},{"line_number":840,"context_line":"        return bool(removed_ids)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7b764d40","line":837,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":841,"context_line":""},{"line_number":842,"context_line":"    def _sync_lbaas_pools(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":843,"context_line":"        changed \u003d False"},{"line_number":844,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":845,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":846,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":847,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5b71d143","line":844,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":842,"context_line":"    def _sync_lbaas_pools(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":843,"context_line":"        changed \u003d False"},{"line_number":844,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":845,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":846,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":847,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":848,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bb91f549","line":845,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":843,"context_line":"        changed \u003d False"},{"line_number":844,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":845,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":846,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":847,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":848,"context_line":""},{"line_number":849,"context_line":"        if self._remove_unused_pools(lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9b94f938","line":846,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":848,"context_line":""},{"line_number":849,"context_line":"        if self._remove_unused_pools(lbaas_state, loadbalancer_crd):"},{"line_number":850,"context_line":"            changed \u003d True"},{"line_number":851,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":852,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":853,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":854,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fb97fd38","line":851,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":849,"context_line":"        if self._remove_unused_pools(lbaas_state, loadbalancer_crd):"},{"line_number":850,"context_line":"            changed \u003d True"},{"line_number":851,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":852,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":853,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":854,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":855,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_db9a0160","line":852,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":850,"context_line":"            changed \u003d True"},{"line_number":851,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":852,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":853,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":854,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":855,"context_line":""},{"line_number":856,"context_line":"        if self._sync_lbaas_listeners(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3ba5e5a2","line":853,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":853,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":854,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":855,"context_line":""},{"line_number":856,"context_line":"        if self._sync_lbaas_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":857,"context_line":"            changed \u003d True"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1ba0e98f","line":856,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":856,"context_line":"        if self._sync_lbaas_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":857,"context_line":"            changed \u003d True"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":860,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":861,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":862,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7babed73","line":859,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":857,"context_line":"            changed \u003d True"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":860,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":861,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":862,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":863,"context_line":"        if self._add_new_pools(lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5ba6f1ac","line":860,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":858,"context_line":""},{"line_number":859,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":860,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":861,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":862,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":863,"context_line":"        if self._add_new_pools(lbaas_state, loadbalancer_crd):"},{"line_number":864,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bbba95bd","line":861,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":862,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":863,"context_line":"        if self._add_new_pools(lbaas_state, loadbalancer_crd):"},{"line_number":864,"context_line":"            changed \u003d True"},{"line_number":865,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":866,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":867,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":868,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9bbd19b9","line":865,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":863,"context_line":"        if self._add_new_pools(lbaas_state, loadbalancer_crd):"},{"line_number":864,"context_line":"            changed \u003d True"},{"line_number":865,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":866,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":867,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":868,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":869,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fbb09ddf","line":866,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":864,"context_line":"            changed \u003d True"},{"line_number":865,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":866,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":867,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":868,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":869,"context_line":"        return changed"},{"line_number":870,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_dbb321e8","line":867,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":871,"context_line":"    def _add_new_pools(self, lbaas_state, loadbalancer_crd):"},{"line_number":872,"context_line":"        changed \u003d False"},{"line_number":873,"context_line":""},{"line_number":874,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":875,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":876,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":877,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3bce8562","line":874,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":872,"context_line":"        changed \u003d False"},{"line_number":873,"context_line":""},{"line_number":874,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":875,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":876,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":877,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":878,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1bc90958","line":875,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":873,"context_line":""},{"line_number":874,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":875,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":876,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":877,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":878,"context_line":""},{"line_number":879,"context_line":"        current_listeners_ids \u003d {pool.listener_id"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7bc48d40","line":876,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":886,"context_line":"            lbaas_state.pools.append(pool)"},{"line_number":887,"context_line":"            changed \u003d True"},{"line_number":888,"context_line":""},{"line_number":889,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":890,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":891,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":892,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5bbf11a9","line":889,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":887,"context_line":"            changed \u003d True"},{"line_number":888,"context_line":""},{"line_number":889,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":890,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":891,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":892,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":893,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bbdf350b","line":890,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":888,"context_line":""},{"line_number":889,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":890,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":891,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":892,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":893,"context_line":"        return changed"},{"line_number":894,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9be239d4","line":891,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":897,"context_line":"        # we should:"},{"line_number":898,"context_line":"        #  1. get the listener that pool is attached to"},{"line_number":899,"context_line":"        #  2. check if listener\u0027s attributes appear in lbaas_spec."},{"line_number":900,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":901,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":902,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":903,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fbe53ddd","line":900,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":898,"context_line":"        #  1. get the listener that pool is attached to"},{"line_number":899,"context_line":"        #  2. check if listener\u0027s attributes appear in lbaas_spec."},{"line_number":900,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":901,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":902,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":903,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":904,"context_line":"        for l in lbaas_state.listeners:"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_dbe841b4","line":901,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":899,"context_line":"        #  2. check if listener\u0027s attributes appear in lbaas_spec."},{"line_number":900,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":901,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":902,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":903,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":904,"context_line":"        for l in lbaas_state.listeners:"},{"line_number":905,"context_line":"            if l.id !\u003d pool.listener_id:"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3bd32506","line":902,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":911,"context_line":""},{"line_number":912,"context_line":"    def _remove_unused_pools(self, lbaas_state, loadbalancer_crd):"},{"line_number":913,"context_line":"        removed_ids \u003d set()"},{"line_number":914,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":915,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":916,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":917,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1bce2959","line":914,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":912,"context_line":"    def _remove_unused_pools(self, lbaas_state, loadbalancer_crd):"},{"line_number":913,"context_line":"        removed_ids \u003d set()"},{"line_number":914,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":915,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":916,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":917,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":918,"context_line":"        for pool in lbaas_state.pools:"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7bd92d20","line":915,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":913,"context_line":"        removed_ids \u003d set()"},{"line_number":914,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":915,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":916,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":917,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":918,"context_line":"        for pool in lbaas_state.pools:"},{"line_number":919,"context_line":"            if self._is_pool_in_spec(pool, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5bd431e9","line":916,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":926,"context_line":"                                 if p.id not in removed_ids]"},{"line_number":927,"context_line":"            lbaas_state.members \u003d [m for m in lbaas_state.members"},{"line_number":928,"context_line":"                                   if m.pool_id not in removed_ids]"},{"line_number":929,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":930,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":931,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":932,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bb08d591","line":929,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":927,"context_line":"            lbaas_state.members \u003d [m for m in lbaas_state.members"},{"line_number":928,"context_line":"                                   if m.pool_id not in removed_ids]"},{"line_number":929,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":930,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":931,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":932,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":933,"context_line":"        return bool(removed_ids)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9b0b598c","line":930,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":928,"context_line":"                                   if m.pool_id not in removed_ids]"},{"line_number":929,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":930,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":931,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":932,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":933,"context_line":"        return bool(removed_ids)"},{"line_number":934,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fbfedd68","line":931,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":934,"context_line":""},{"line_number":935,"context_line":"    def _sync_lbaas_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":936,"context_line":"        changed \u003d False"},{"line_number":937,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":938,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":939,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":940,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_db01616c","line":937,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":935,"context_line":"    def _sync_lbaas_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":936,"context_line":"        changed \u003d False"},{"line_number":937,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":938,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":939,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":940,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":941,"context_line":"        if self._remove_unused_listeners(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3bfcc56e","line":938,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":936,"context_line":"        changed \u003d False"},{"line_number":937,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":938,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":939,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":940,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":941,"context_line":"        if self._remove_unused_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":942,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1bf7498d","line":939,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":938,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":939,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":940,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":941,"context_line":"        if self._remove_unused_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":942,"context_line":"            changed \u003d True"},{"line_number":943,"context_line":""},{"line_number":944,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7bf2cd9b","line":941,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":941,"context_line":"        if self._remove_unused_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":942,"context_line":"            changed \u003d True"},{"line_number":943,"context_line":""},{"line_number":944,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":945,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":946,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":947,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5bed51b5","line":944,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":942,"context_line":"            changed \u003d True"},{"line_number":943,"context_line":""},{"line_number":944,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":945,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":946,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":947,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":948,"context_line":"        if self._sync_lbaas_loadbalancer(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bb2d75ff","line":945,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":943,"context_line":""},{"line_number":944,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":945,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":946,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":947,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":948,"context_line":"        if self._sync_lbaas_loadbalancer(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":949,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9b307958","line":946,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":945,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":946,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":947,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":948,"context_line":"        if self._sync_lbaas_loadbalancer(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":949,"context_line":"            changed \u003d True"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fb337d60","line":948,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":948,"context_line":"        if self._sync_lbaas_loadbalancer(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":949,"context_line":"            changed \u003d True"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":952,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":953,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":954,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_db368151","line":951,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":949,"context_line":"            changed \u003d True"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":952,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":953,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":954,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":955,"context_line":"        if self._add_new_listeners(endpoints, loadbalancer_crd, lbaas_state):"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3b4165aa","line":952,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":950,"context_line":""},{"line_number":951,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":952,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":953,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":954,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":955,"context_line":"        if self._add_new_listeners(endpoints, loadbalancer_crd, lbaas_state):"},{"line_number":956,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1b3c692d","line":953,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":955,"context_line":"        if self._add_new_listeners(endpoints, loadbalancer_crd, lbaas_state):"},{"line_number":956,"context_line":"            changed \u003d True"},{"line_number":957,"context_line":""},{"line_number":958,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":959,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":960,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":961,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7b476dbd","line":958,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":956,"context_line":"            changed \u003d True"},{"line_number":957,"context_line":""},{"line_number":958,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":959,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":960,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":961,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":962,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5b4271ac","line":959,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":957,"context_line":""},{"line_number":958,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":959,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":960,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":961,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":962,"context_line":"        return changed"},{"line_number":963,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bb1615a7","line":960,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":963,"context_line":""},{"line_number":964,"context_line":"    def _add_new_listeners(self, endpoints, loadbalancer_crd, lbaas_state):"},{"line_number":965,"context_line":"        changed \u003d False"},{"line_number":966,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":967,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":968,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":969,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9b1999d8","line":966,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":964,"context_line":"    def _add_new_listeners(self, endpoints, loadbalancer_crd, lbaas_state):"},{"line_number":965,"context_line":"        changed \u003d False"},{"line_number":966,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":967,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":968,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":969,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":970,"context_line":"        lbaas_spec_ports \u003d sorted(loadbalancer_crd[\u0027spec\u0027][\u0027ports\u0027], key\u003dlambda x: x[\u0027protocol\u0027])"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fb0c1d95","line":967,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":965,"context_line":"        changed \u003d False"},{"line_number":966,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":967,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":968,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":969,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":970,"context_line":"        lbaas_spec_ports \u003d sorted(loadbalancer_crd[\u0027spec\u0027][\u0027ports\u0027], key\u003dlambda x: x[\u0027protocol\u0027])"},{"line_number":971,"context_line":"        for port_spec in lbaas_spec_ports:"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_db0fa185","line":968,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":967,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":968,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":969,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":970,"context_line":"        lbaas_spec_ports \u003d sorted(loadbalancer_crd[\u0027spec\u0027][\u0027ports\u0027], key\u003dlambda x: x[\u0027protocol\u0027])"},{"line_number":971,"context_line":"        for port_spec in lbaas_spec_ports:"},{"line_number":972,"context_line":"            protocol \u003d port_spec[\u0027protocol\u0027]"},{"line_number":973,"context_line":"            port \u003d port_spec[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3b2a05da","line":970,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (97 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":993,"context_line":"            if listener is not None:"},{"line_number":994,"context_line":"                lbaas_state.listeners.append(listener)"},{"line_number":995,"context_line":"                changed \u003d True"},{"line_number":996,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":997,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":998,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":999,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1b258909","line":996,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":994,"context_line":"                lbaas_state.listeners.append(listener)"},{"line_number":995,"context_line":"                changed \u003d True"},{"line_number":996,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":997,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":998,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":999,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1000,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7b200df8","line":997,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":995,"context_line":"                changed \u003d True"},{"line_number":996,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":997,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":998,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":999,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1000,"context_line":"        return changed"},{"line_number":1001,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5b1b91c8","line":998,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":999,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1000,"context_line":"        return changed"},{"line_number":1001,"context_line":""},{"line_number":1002,"context_line":"    def _remove_unused_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":1003,"context_line":"        current_listeners \u003d {p.listener_id for p in lbaas_state.pools}"},{"line_number":1004,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1005,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bb7bb5f2","line":1002,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1001,"context_line":""},{"line_number":1002,"context_line":"    def _remove_unused_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":1003,"context_line":"        current_listeners \u003d {p.listener_id for p in lbaas_state.pools}"},{"line_number":1004,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1005,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1006,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1007,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9b7eb9e1","line":1004,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1002,"context_line":"    def _remove_unused_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":1003,"context_line":"        current_listeners \u003d {p.listener_id for p in lbaas_state.pools}"},{"line_number":1004,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1005,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1006,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1007,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1008,"context_line":"        removed_ids \u003d set()"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fb81bdc4","line":1005,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1003,"context_line":"        current_listeners \u003d {p.listener_id for p in lbaas_state.pools}"},{"line_number":1004,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1005,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1006,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1007,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1008,"context_line":"        removed_ids \u003d set()"},{"line_number":1009,"context_line":"        for listener in lbaas_state.listeners:"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_db84c1d5","line":1006,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1015,"context_line":"        if removed_ids:"},{"line_number":1016,"context_line":"            lbaas_state.listeners \u003d [l for l in lbaas_state.listeners"},{"line_number":1017,"context_line":"                                     if l.id not in removed_ids]"},{"line_number":1018,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1019,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1020,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1021,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3b6fa52b","line":1018,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1016,"context_line":"            lbaas_state.listeners \u003d [l for l in lbaas_state.listeners"},{"line_number":1017,"context_line":"                                     if l.id not in removed_ids]"},{"line_number":1018,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1019,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1020,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1021,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1022,"context_line":"        return bool(removed_ids)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1b6aa918","line":1019,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1017,"context_line":"                                     if l.id not in removed_ids]"},{"line_number":1018,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1019,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1020,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1021,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1022,"context_line":"        return bool(removed_ids)"},{"line_number":1023,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7b75adf9","line":1020,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1041,"context_line":"                }"},{"line_number":1042,"context_line":"            }"},{"line_number":1043,"context_line":""},{"line_number":1044,"context_line":"        "},{"line_number":1045,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":1046,"context_line":"        try:"},{"line_number":1047,"context_line":"            kubernetes.patch_crd(\u0027spec\u0027, loadbalancer_crd[\u0027metadata\u0027]["}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5b70b108","line":1044,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1064,"context_line":"        link_parts[-2] \u003d \u0027services\u0027"},{"line_number":1065,"context_line":"        return \"/\".join(link_parts)"},{"line_number":1066,"context_line":""},{"line_number":1067,"context_line":"    def _sync_lbaas_loadbalancer(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":1068,"context_line":"        changed \u003d False"},{"line_number":1069,"context_line":""},{"line_number":1070,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bb64554b","line":1067,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1067,"context_line":"    def _sync_lbaas_loadbalancer(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":1068,"context_line":"        changed \u003d False"},{"line_number":1069,"context_line":""},{"line_number":1070,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1071,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1072,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1073,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9b67d94d","line":1070,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1068,"context_line":"        changed \u003d False"},{"line_number":1069,"context_line":""},{"line_number":1070,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1071,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1072,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1073,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1074,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fb5a5d80","line":1071,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1069,"context_line":""},{"line_number":1070,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1071,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1072,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1073,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1074,"context_line":""},{"line_number":1075,"context_line":"        lb \u003d lbaas_state.loadbalancer"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_db5de179","line":1072,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1098,"context_line":"                    project_id\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027project_id\u0027),"},{"line_number":1099,"context_line":"                    subnet_id\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027subnet_id\u0027),"},{"line_number":1100,"context_line":"                    ip\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027ip\u0027),"},{"line_number":1101,"context_line":"                    security_groups_ids\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027security_groups_ids\u0027),"},{"line_number":1102,"context_line":"                    service_type\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027type\u0027),"},{"line_number":1103,"context_line":"                    provider\u003dself._lb_provider)"},{"line_number":1104,"context_line":"                changed \u003d True"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3b584586","line":1101,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (92 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1109,"context_line":"                changed \u003d True"},{"line_number":1110,"context_line":""},{"line_number":1111,"context_line":"        lbaas_state.loadbalancer \u003d lb"},{"line_number":1112,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1113,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1114,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1115,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1b53c96c","line":1112,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (138 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1110,"context_line":""},{"line_number":1111,"context_line":"        lbaas_state.loadbalancer \u003d lb"},{"line_number":1112,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1113,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1114,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1115,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1116,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7b4e4dc1","line":1113,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (138 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1111,"context_line":"        lbaas_state.loadbalancer \u003d lb"},{"line_number":1112,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1113,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1114,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1115,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1116,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1117,"context_line":"        LOG.debug(lb)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5b49d1b4","line":1114,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (138 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1112,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1113,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1114,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1115,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1116,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1117,"context_line":"        LOG.debug(lb)"},{"line_number":1118,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bbc9f526","line":1115,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (138 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1113,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1114,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1115,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1116,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1117,"context_line":"        LOG.debug(lb)"},{"line_number":1118,"context_line":""},{"line_number":1119,"context_line":"        lb_to_crd \u003d {"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9bccf935","line":1116,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (138 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1127,"context_line":"            \u0027subnet_id\u0027: lb.subnet_id"},{"line_number":1128,"context_line":"        }"},{"line_number":1129,"context_line":""},{"line_number":1130,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1131,"context_line":"        LOG.debug(lb_to_crd)"},{"line_number":1132,"context_line":""},{"line_number":1133,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_fbcffd25","line":1130,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (138 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1131,"context_line":"        LOG.debug(lb_to_crd)"},{"line_number":1132,"context_line":""},{"line_number":1133,"context_line":""},{"line_number":1134,"context_line":"        loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027] \u003d lb_to_crd"},{"line_number":1135,"context_line":""},{"line_number":1136,"context_line":"        loadbalan \u003d loadbalancer_crd[\u0027status\u0027]"},{"line_number":1137,"context_line":"        LOG.debug(loadbalan)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_dbd201d1","line":1134,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1143,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":1144,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":1145,"context_line":"        except k_exc.K8sClientException:"},{"line_number":1146,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":1147,"context_line":"            raise "},{"line_number":1148,"context_line":""},{"line_number":1149,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_3bdde5df","line":1146,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1144,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":1145,"context_line":"        except k_exc.K8sClientException:"},{"line_number":1146,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":1147,"context_line":"            raise "},{"line_number":1148,"context_line":""},{"line_number":1149,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1150,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_1bd8e9ec","line":1147,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: W291 trailing whitespace","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1146,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":1147,"context_line":"            raise "},{"line_number":1148,"context_line":""},{"line_number":1149,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1150,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1151,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1152,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_7be3eda4","line":1149,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1147,"context_line":"            raise "},{"line_number":1148,"context_line":""},{"line_number":1149,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1150,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1151,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1152,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1153,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_5bdef1d9","line":1150,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1148,"context_line":""},{"line_number":1149,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1150,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1151,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1152,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1153,"context_line":"        return changed"},{"line_number":1154,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_bbf2956e","line":1151,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6f5b354310ed62b410a02adb54cbfc150ca67286","unresolved":false,"context_lines":[{"line_number":1195,"context_line":"                retry \u003d True"},{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":""},{"line_number":1198,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1f493fa4_9bf5195a","line":1198,"updated":"2020-04-29 20:44:59.000000000","message":"pep8: W391 blank line at end of file","commit_id":"0e40de8d6c98187cf7a65d6aadbfefc27cb43af7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        # This will be remove"},{"line_number":274,"context_line":"        lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":275,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":276,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":277,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":278,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9b084b2e","line":275,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        # This will be remove"},{"line_number":274,"context_line":"        lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":275,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":276,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":277,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":278,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":279,"context_line":"        if not lbaas_state:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fb050f16","line":276,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":275,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":276,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":277,"context_line":"        LOG.debug(\u0027#######################################################################################1\u0027)"},{"line_number":278,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":279,"context_line":"        if not lbaas_state:"},{"line_number":280,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_db02d30b","line":277,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":278,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":279,"context_line":"        if not lbaas_state:"},{"line_number":280,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":281,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":282,"context_line":"            LOG.debug(\u0027######################################################################################2\u0027)"},{"line_number":283,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":284,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3efda508","line":281,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (113 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        if not lbaas_state:"},{"line_number":280,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":281,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":282,"context_line":"            LOG.debug(\u0027######################################################################################2\u0027)"},{"line_number":283,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":284,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":285,"context_line":"            LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1e02690a","line":282,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (112 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":280,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":281,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":282,"context_line":"            LOG.debug(\u0027######################################################################################2\u0027)"},{"line_number":283,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":284,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":285,"context_line":"            LOG.debug(lbaas_state)"},{"line_number":286,"context_line":"        # try:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7e072d1a","line":283,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (113 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":281,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":282,"context_line":"            LOG.debug(\u0027######################################################################################2\u0027)"},{"line_number":283,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":284,"context_line":"            LOG.debug(\u0027#######################################################################################2\u0027)"},{"line_number":285,"context_line":"            LOG.debug(lbaas_state)"},{"line_number":286,"context_line":"        # try:"},{"line_number":287,"context_line":"        # lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5e0cf13a","line":284,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (113 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":294,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"},{"line_number":295,"context_line":"            # associate it to LB VIP and update K8S service status"},{"line_number":296,"context_line":"            # if loadbalancer_crd[\u0027status\u0027].get(\u0027service_pub_ip_info\u0027) is None:"},{"line_number":297,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":298,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":299,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":300,"context_line":"            LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_be109551","line":297,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (114 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            # associate it to LB VIP and update K8S service status"},{"line_number":296,"context_line":"            # if loadbalancer_crd[\u0027status\u0027].get(\u0027service_pub_ip_info\u0027) is None:"},{"line_number":297,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":298,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":299,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":300,"context_line":"            LOG.debug(lbaas_state)"},{"line_number":301,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9e0dd937","line":298,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (114 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":296,"context_line":"            # if loadbalancer_crd[\u0027status\u0027].get(\u0027service_pub_ip_info\u0027) is None:"},{"line_number":297,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":298,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":299,"context_line":"            LOG.debug(\u0027#######################################################################################10\u0027)"},{"line_number":300,"context_line":"            LOG.debug(lbaas_state)"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fe1a1d6d","line":299,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (114 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":311,"context_line":"                        lb_ip,"},{"line_number":312,"context_line":"                        loadbalancer_crd[\u0027spec\u0027][\u0027project_id\u0027],"},{"line_number":313,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027][\u0027port_id\u0027]))"},{"line_number":314,"context_line":"                "},{"line_number":315,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":316,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":317,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_de176145","line":314,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":312,"context_line":"                        loadbalancer_crd[\u0027spec\u0027][\u0027project_id\u0027],"},{"line_number":313,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027][\u0027port_id\u0027]))"},{"line_number":314,"context_line":"                "},{"line_number":315,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":316,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":317,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":318,"context_line":"                LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3e2645bc","line":315,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (118 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":313,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027][\u0027port_id\u0027]))"},{"line_number":314,"context_line":"                "},{"line_number":315,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":316,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":317,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":318,"context_line":"                LOG.debug(lbaas_state)"},{"line_number":319,"context_line":"                if service_pub_ip_info:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1e2b8982","line":316,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (118 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                "},{"line_number":315,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":316,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":317,"context_line":"                LOG.debug(\u0027#######################################################################################11\u0027)"},{"line_number":318,"context_line":"                LOG.debug(lbaas_state)"},{"line_number":319,"context_line":"                if service_pub_ip_info:"},{"line_number":320,"context_line":"                    self._drv_service_pub_ip.associate_pub_ip("}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7e20cd9c","line":317,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (118 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":318,"context_line":"                LOG.debug(lbaas_state)"},{"line_number":319,"context_line":"                if service_pub_ip_info:"},{"line_number":320,"context_line":"                    self._drv_service_pub_ip.associate_pub_ip("},{"line_number":321,"context_line":"                        service_pub_ip_info, loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027][\u0027port_id\u0027])"},{"line_number":322,"context_line":"                    lbaas_state.service_pub_ip_info \u003d service_pub_ip_info"},{"line_number":323,"context_line":"                    self._update_lb_status("},{"line_number":324,"context_line":"                        endpoints,"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5e2511ab","line":321,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (99 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":334,"context_line":"            # failing items, or validate configuration) to prevent annotation"},{"line_number":335,"context_line":"            # being out of sync with the actual Neutron state."},{"line_number":336,"context_line":"            try:"},{"line_number":337,"context_line":"                LOG.debug(\u0027#######################################################################################4\u0027)"},{"line_number":338,"context_line":"                LOG.debug(\u0027#######################################################################################4\u0027)"},{"line_number":339,"context_line":"                LOG.debug(\u0027######################################################################################4#\u0027)"},{"line_number":340,"context_line":"                utils.set_lbaas_state(endpoints, lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_be39b5d9","line":337,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (117 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":335,"context_line":"            # being out of sync with the actual Neutron state."},{"line_number":336,"context_line":"            try:"},{"line_number":337,"context_line":"                LOG.debug(\u0027#######################################################################################4\u0027)"},{"line_number":338,"context_line":"                LOG.debug(\u0027#######################################################################################4\u0027)"},{"line_number":339,"context_line":"                LOG.debug(\u0027######################################################################################4#\u0027)"},{"line_number":340,"context_line":"                utils.set_lbaas_state(endpoints, lbaas_state)"},{"line_number":341,"context_line":"                LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9e3679e7","line":338,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (117 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":336,"context_line":"            try:"},{"line_number":337,"context_line":"                LOG.debug(\u0027#######################################################################################4\u0027)"},{"line_number":338,"context_line":"                LOG.debug(\u0027#######################################################################################4\u0027)"},{"line_number":339,"context_line":"                LOG.debug(\u0027######################################################################################4#\u0027)"},{"line_number":340,"context_line":"                utils.set_lbaas_state(endpoints, lbaas_state)"},{"line_number":341,"context_line":"                LOG.debug(lbaas_state)"},{"line_number":342,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fe333df5","line":339,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (117 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":374,"context_line":"            return"},{"line_number":375,"context_line":"        # NOTE(ivc): deleting pool deletes its members"},{"line_number":376,"context_line":"        self._drv_lbaas.release_loadbalancer("},{"line_number":377,"context_line":"            loadbalancer\u003dloadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027])"},{"line_number":378,"context_line":"        if lbaas_state.service_pub_ip_info:"},{"line_number":379,"context_line":"            self._drv_service_pub_ip.release_pub_ip("},{"line_number":380,"context_line":"                lbaas_state.service_pub_ip_info)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_de3001ec","line":377,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: F821 undefined name \u0027loadbalancer_crd\u0027","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":530,"context_line":""},{"line_number":531,"context_line":"    def _sync_lbaas_members(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":532,"context_line":"        changed \u003d False"},{"line_number":533,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":534,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":535,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":536,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3e4be55f","line":533,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":531,"context_line":"    def _sync_lbaas_members(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":532,"context_line":"        changed \u003d False"},{"line_number":533,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":534,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":535,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":536,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":537,"context_line":"        if (self._has_pods(endpoints) and"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1e50a90a","line":534,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":532,"context_line":"        changed \u003d False"},{"line_number":533,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":534,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":535,"context_line":"        LOG.debug(\u0027#######################################################################################12\u0027)"},{"line_number":536,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":537,"context_line":"        if (self._has_pods(endpoints) and"},{"line_number":538,"context_line":"                self._remove_unused_members(endpoints, lbaas_state,"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7e556dfa","line":535,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":538,"context_line":"                self._remove_unused_members(endpoints, lbaas_state,"},{"line_number":539,"context_line":"                                            loadbalancer_crd)):"},{"line_number":540,"context_line":"            changed \u003d True"},{"line_number":541,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":542,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":543,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":544,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5e5a312a","line":541,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":539,"context_line":"                                            loadbalancer_crd)):"},{"line_number":540,"context_line":"            changed \u003d True"},{"line_number":541,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":542,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":543,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":544,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":545,"context_line":"        if self._sync_lbaas_pools(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_be3ed5b6","line":542,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":540,"context_line":"            changed \u003d True"},{"line_number":541,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":542,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":543,"context_line":"        LOG.debug(\u0027#######################################################################################13\u0027)"},{"line_number":544,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":545,"context_line":"        if self._sync_lbaas_pools(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":546,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9e3b19c7","line":543,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":544,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":545,"context_line":"        if self._sync_lbaas_pools(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":546,"context_line":"            changed \u003d True"},{"line_number":547,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":548,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":549,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":550,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fe485d5d","line":547,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":545,"context_line":"        if self._sync_lbaas_pools(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":546,"context_line":"            changed \u003d True"},{"line_number":547,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":548,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":549,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":550,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":551,"context_line":"        if (self._has_pods(endpoints) and"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_de45a145","line":548,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":546,"context_line":"            changed \u003d True"},{"line_number":547,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":548,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":549,"context_line":"        LOG.debug(\u0027#######################################################################################14\u0027)"},{"line_number":550,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":551,"context_line":"        if (self._has_pods(endpoints) and"},{"line_number":552,"context_line":"                self._add_new_members(endpoints, lbaas_state,"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3e74859c","line":549,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":552,"context_line":"                self._add_new_members(endpoints, lbaas_state,"},{"line_number":553,"context_line":"                                      loadbalancer_crd)):"},{"line_number":554,"context_line":"            changed \u003d True"},{"line_number":555,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":556,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":557,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":558,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1e79c992","line":555,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":553,"context_line":"                                      loadbalancer_crd)):"},{"line_number":554,"context_line":"            changed \u003d True"},{"line_number":555,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":556,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":557,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":558,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":559,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7e6e0dca","line":556,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":554,"context_line":"            changed \u003d True"},{"line_number":555,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":556,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":557,"context_line":"        LOG.debug(\u0027#######################################################################################15\u0027)"},{"line_number":558,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5e7351b2","line":557,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":567,"context_line":"        lbaas_spec \u003d loadbalancer_crd.get(\u0027spec\u0027)"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":"        lb \u003d loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027]"},{"line_number":570,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":571,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":572,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":573,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_be67f5ea","line":570,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":568,"context_line":""},{"line_number":569,"context_line":"        lb \u003d loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027]"},{"line_number":570,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":571,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":572,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":573,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":574,"context_line":"        default_sgs \u003d config.CONF.neutron_defaults.pod_security_groups"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9e64b9e7","line":571,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":569,"context_line":"        lb \u003d loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027]"},{"line_number":570,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":571,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":572,"context_line":"        LOG.debug(\u0027#######################################################################################5\u0027)"},{"line_number":573,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":574,"context_line":"        default_sgs \u003d config.CONF.neutron_defaults.pod_security_groups"},{"line_number":575,"context_line":"        # NOTE(maysams) As the endpoint and svc are annotated with the"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fe617dd5","line":572,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":592,"context_line":""},{"line_number":593,"context_line":"    def _add_new_members(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":594,"context_line":"        changed \u003d False"},{"line_number":595,"context_line":"        "},{"line_number":596,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":597,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_de5e4111","line":595,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":593,"context_line":"    def _add_new_members(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":594,"context_line":"        changed \u003d False"},{"line_number":595,"context_line":"        "},{"line_number":596,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":597,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":599,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3e9925d0","line":596,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":594,"context_line":"        changed \u003d False"},{"line_number":595,"context_line":"        "},{"line_number":596,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":597,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":599,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":600,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1e9ee9b7","line":597,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":595,"context_line":"        "},{"line_number":596,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":597,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":599,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":600,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":601,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7ea3ad01","line":598,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":596,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":597,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":599,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":600,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":601,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":602,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5ea871da","line":599,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":597,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":599,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":600,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":601,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":602,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":603,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_beac15ef","line":600,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":598,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":599,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":600,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":601,"context_line":"        LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":602,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9ea959df","line":601,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":609,"context_line":"        try:"},{"line_number":610,"context_line":"            listeners \u003d loadbalancer_crd.get(\u0027listeners\u0027, [])"},{"line_number":611,"context_line":"        except KeyError:"},{"line_number":612,"context_line":"            listeners \u003d []"},{"line_number":613,"context_line":"        "},{"line_number":614,"context_line":"        try:"},{"line_number":615,"context_line":"            pools \u003d loadbalancer_crd.get(\u0027pools\u0027, [])"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_feb69d3e","line":612,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: F841 local variable \u0027listeners\u0027 is assigned to but never used","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":610,"context_line":"            listeners \u003d loadbalancer_crd.get(\u0027listeners\u0027, [])"},{"line_number":611,"context_line":"        except KeyError:"},{"line_number":612,"context_line":"            listeners \u003d []"},{"line_number":613,"context_line":"        "},{"line_number":614,"context_line":"        try:"},{"line_number":615,"context_line":"            pools \u003d loadbalancer_crd.get(\u0027pools\u0027, [])"},{"line_number":616,"context_line":"        except KeyError:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_deb3e14c","line":613,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":614,"context_line":"        try:"},{"line_number":615,"context_line":"            pools \u003d loadbalancer_crd.get(\u0027pools\u0027, [])"},{"line_number":616,"context_line":"        except KeyError:"},{"line_number":617,"context_line":"            pools \u003d []"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        lsnr_by_id \u003d {l[\u0027id\u0027]: l for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]}"},{"line_number":620,"context_line":"        pool_by_lsnr_port \u003d {(lsnr_by_id[p.listener_id].protocol,"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3e82c553","line":617,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: F841 local variable \u0027pools\u0027 is assigned to but never used","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":616,"context_line":"        except KeyError:"},{"line_number":617,"context_line":"            pools \u003d []"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        lsnr_by_id \u003d {l[\u0027id\u0027]: l for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]}"},{"line_number":620,"context_line":"        pool_by_lsnr_port \u003d {(lsnr_by_id[p.listener_id].protocol,"},{"line_number":621,"context_line":"                              lsnr_by_id[p.listener_id].port): p"},{"line_number":622,"context_line":"                             for p in lbaas_state.pools}"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1e870964","line":619,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":630,"context_line":"        for p in loadbalancer_crd[\u0027spec\u0027][\u0027ports\u0027]:"},{"line_number":631,"context_line":"            try:"},{"line_number":632,"context_line":"                pool_by_tgt_name[p[\u0027name\u0027]] \u003d pool_by_lsnr_port[p[\u0027protocol\u0027],"},{"line_number":633,"context_line":"                                                             p[\u0027port\u0027]]"},{"line_number":634,"context_line":"            except KeyError:"},{"line_number":635,"context_line":"                continue"},{"line_number":636,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7e7c4d72","line":633,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":637,"context_line":"        try:"},{"line_number":638,"context_line":"            members \u003d loadbalancer_crd.get(\u0027pools\u0027, [])"},{"line_number":639,"context_line":"        except KeyError:"},{"line_number":640,"context_line":"            members \u003d []"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"        current_targets \u003d {(str(m.ip), m.port, m.pool_id)"},{"line_number":643,"context_line":"                           for m in lbaas_state.members}"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5e81914a","line":640,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: F841 local variable \u0027members\u0027 is assigned to but never used","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":682,"context_line":"                        # We use the service subnet id so that the connectivity"},{"line_number":683,"context_line":"                        # from VIP to pods happens in layer 3 mode, i.e.,"},{"line_number":684,"context_line":"                        # routed."},{"line_number":685,"context_line":"                        member_subnet_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027][\u0027subnet_id\u0027]"},{"line_number":686,"context_line":"                    first_member_of_the_pool \u003d True"},{"line_number":687,"context_line":"                    for member in lbaas_state.members:"},{"line_number":688,"context_line":"                        if pool.id \u003d\u003d member.pool_id:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_be95358b","line":685,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (98 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":694,"context_line":"                        listener_port \u003d None"},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"                    try:"},{"line_number":697,"context_line":"                        loadbalancer \u003d loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027]"},{"line_number":698,"context_line":"                    except KeyError:"},{"line_number":699,"context_line":"                        loadbalancer \u003d None"},{"line_number":700,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9e92f99e","line":697,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":696,"context_line":"                    try:"},{"line_number":697,"context_line":"                        loadbalancer \u003d loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027]"},{"line_number":698,"context_line":"                    except KeyError:"},{"line_number":699,"context_line":"                        loadbalancer \u003d None"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"                    member \u003d self._drv_lbaas.ensure_member("},{"line_number":702,"context_line":"                        loadbalancer\u003dloadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027],"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fe8fbd72","line":699,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: F841 local variable \u0027loadbalancer\u0027 is assigned to but never used","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":699,"context_line":"                        loadbalancer \u003d None"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"                    member \u003d self._drv_lbaas.ensure_member("},{"line_number":702,"context_line":"                        loadbalancer\u003dloadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027],"},{"line_number":703,"context_line":"                        pool\u003dpool,"},{"line_number":704,"context_line":"                        subnet_id\u003dmember_subnet_id,"},{"line_number":705,"context_line":"                        ip\u003dtarget_ip,"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_de8c8181","line":702,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":715,"context_line":""},{"line_number":716,"context_line":"                    kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":717,"context_line":"                    try:"},{"line_number":718,"context_line":"                        kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027]["},{"line_number":719,"context_line":"                            \u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":720,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":721,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3ee76549","line":718,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":718,"context_line":"                        kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027]["},{"line_number":719,"context_line":"                            \u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":720,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":721,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":722,"context_line":"                    except k_exc.K8sClientException:"},{"line_number":723,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":724,"context_line":"                        raise"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1eec2928","line":721,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (89 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":720,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":721,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":722,"context_line":"                    except k_exc.K8sClientException:"},{"line_number":723,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":724,"context_line":"                        raise"},{"line_number":725,"context_line":"                    "},{"line_number":726,"context_line":"                    lbaas_state.members.append(member)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7ef1ed01","line":723,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (98 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":722,"context_line":"                    except k_exc.K8sClientException:"},{"line_number":723,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":724,"context_line":"                        raise"},{"line_number":725,"context_line":"                    "},{"line_number":726,"context_line":"                    lbaas_state.members.append(member)"},{"line_number":727,"context_line":"                    LOG.debug(\u0027######################################################################################16\u0027)"},{"line_number":728,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5ef6b1fb","line":725,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":724,"context_line":"                        raise"},{"line_number":725,"context_line":"                    "},{"line_number":726,"context_line":"                    lbaas_state.members.append(member)"},{"line_number":727,"context_line":"                    LOG.debug(\u0027######################################################################################16\u0027)"},{"line_number":728,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"},{"line_number":729,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"},{"line_number":730,"context_line":"                    LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_beda5576","line":727,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (121 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":725,"context_line":"                    "},{"line_number":726,"context_line":"                    lbaas_state.members.append(member)"},{"line_number":727,"context_line":"                    LOG.debug(\u0027######################################################################################16\u0027)"},{"line_number":728,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"},{"line_number":729,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"},{"line_number":730,"context_line":"                    LOG.debug(lbaas_state)"},{"line_number":731,"context_line":"                    changed \u003d True"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9ed79950","line":728,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (122 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":726,"context_line":"                    lbaas_state.members.append(member)"},{"line_number":727,"context_line":"                    LOG.debug(\u0027######################################################################################16\u0027)"},{"line_number":728,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"},{"line_number":729,"context_line":"                    LOG.debug(\u0027#######################################################################################16\u0027)"},{"line_number":730,"context_line":"                    LOG.debug(lbaas_state)"},{"line_number":731,"context_line":"                    changed \u003d True"},{"line_number":732,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fee4dd3e","line":729,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (122 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":768,"context_line":"    def _remove_unused_members(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":769,"context_line":"        spec_ports \u003d {}"},{"line_number":770,"context_line":""},{"line_number":771,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":772,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":773,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":774,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_dee1212d","line":771,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":769,"context_line":"        spec_ports \u003d {}"},{"line_number":770,"context_line":""},{"line_number":771,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":772,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":773,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":774,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":775,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3ed00554","line":772,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":770,"context_line":""},{"line_number":771,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":772,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":773,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":774,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":775,"context_line":"        "},{"line_number":776,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1ed54944","line":773,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":772,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":773,"context_line":"        LOG.debug(\u0027#######################################################################################17\u0027)"},{"line_number":774,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":775,"context_line":"        "},{"line_number":776,"context_line":"        try:"},{"line_number":777,"context_line":"            pools \u003d loadbalancer_crd[\u0027status\u0027].get(\u0027pools\u0027, [])"},{"line_number":778,"context_line":"        except KeyError:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7eca8da1","line":775,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":812,"context_line":"            try:"},{"line_number":813,"context_line":"                loadbalancer \u003d loadbalancer_crd[\u0027status\u0027].get(\u0027loadbalancer\u0027)"},{"line_number":814,"context_line":"            except KeyError:"},{"line_number":815,"context_line":"                loadbalancer \u003d {}"},{"line_number":816,"context_line":""},{"line_number":817,"context_line":"            self._drv_lbaas.release_member(loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027],"},{"line_number":818,"context_line":"                                           member)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5ecfd1af","line":815,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: F841 local variable \u0027loadbalancer\u0027 is assigned to but never used","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":814,"context_line":"            except KeyError:"},{"line_number":815,"context_line":"                loadbalancer \u003d {}"},{"line_number":816,"context_line":""},{"line_number":817,"context_line":"            self._drv_lbaas.release_member(loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027],"},{"line_number":818,"context_line":"                                           member)"},{"line_number":819,"context_line":"            removed_ids.add(member.id)"},{"line_number":820,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_bec3758a","line":817,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":827,"context_line":"                kubernetes.patch_crd(\u0027members\u0027, loadbalancer_crd[\u0027metadata\u0027]["},{"line_number":828,"context_line":"                    \u0027selfLink\u0027], crd_members)"},{"line_number":829,"context_line":"            except k_exc.K8sResourceNotFound:"},{"line_number":830,"context_line":"                LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":831,"context_line":"            except k_exc.K8sClientException:"},{"line_number":832,"context_line":"                LOG.exception(\u0027Error updating KuryrLoadbalancer CRD with %s\u0027, crd_members)"},{"line_number":833,"context_line":"                raise"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9ec0397f","line":830,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":829,"context_line":"            except k_exc.K8sResourceNotFound:"},{"line_number":830,"context_line":"                LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":831,"context_line":"            except k_exc.K8sClientException:"},{"line_number":832,"context_line":"                LOG.exception(\u0027Error updating KuryrLoadbalancer CRD with %s\u0027, crd_members)"},{"line_number":833,"context_line":"                raise"},{"line_number":834,"context_line":"        "},{"line_number":835,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_febdfd02","line":832,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (90 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":831,"context_line":"            except k_exc.K8sClientException:"},{"line_number":832,"context_line":"                LOG.exception(\u0027Error updating KuryrLoadbalancer CRD with %s\u0027, crd_members)"},{"line_number":833,"context_line":"                raise"},{"line_number":834,"context_line":"        "},{"line_number":835,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":836,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":837,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_debac108","line":834,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":832,"context_line":"                LOG.exception(\u0027Error updating KuryrLoadbalancer CRD with %s\u0027, crd_members)"},{"line_number":833,"context_line":"                raise"},{"line_number":834,"context_line":"        "},{"line_number":835,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":836,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":837,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":838,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3e35a5a9","line":835,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":833,"context_line":"                raise"},{"line_number":834,"context_line":"        "},{"line_number":835,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":836,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":837,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":838,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":839,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1e3a6997","line":836,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":834,"context_line":"        "},{"line_number":835,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":836,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":837,"context_line":"        LOG.debug(\u0027#######################################################################################18\u0027)"},{"line_number":838,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":839,"context_line":""},{"line_number":840,"context_line":"        return bool(removed_ids)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7e3f2d87","line":837,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":841,"context_line":""},{"line_number":842,"context_line":"    def _sync_lbaas_pools(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":843,"context_line":"        changed \u003d False"},{"line_number":844,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":845,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":846,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":847,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5e44f11b","line":844,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":842,"context_line":"    def _sync_lbaas_pools(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":843,"context_line":"        changed \u003d False"},{"line_number":844,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":845,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":846,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":847,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":848,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_be48952e","line":845,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":843,"context_line":"        changed \u003d False"},{"line_number":844,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":845,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":846,"context_line":"        LOG.debug(\u0027#######################################################################################19\u0027)"},{"line_number":847,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":848,"context_line":""},{"line_number":849,"context_line":"        if self._remove_unused_pools(lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9e45d918","line":846,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":848,"context_line":""},{"line_number":849,"context_line":"        if self._remove_unused_pools(lbaas_state, loadbalancer_crd):"},{"line_number":850,"context_line":"            changed \u003d True"},{"line_number":851,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":852,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":853,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":854,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fe521dde","line":851,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":849,"context_line":"        if self._remove_unused_pools(lbaas_state, loadbalancer_crd):"},{"line_number":850,"context_line":"            changed \u003d True"},{"line_number":851,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":852,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":853,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":854,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":855,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_de4f6132","line":852,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":850,"context_line":"            changed \u003d True"},{"line_number":851,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":852,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":853,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":854,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":855,"context_line":""},{"line_number":856,"context_line":"        if self._sync_lbaas_listeners(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3e5e45e9","line":853,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":853,"context_line":"        LOG.debug(\u0027#######################################################################################20\u0027)"},{"line_number":854,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":855,"context_line":""},{"line_number":856,"context_line":"        if self._sync_lbaas_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":857,"context_line":"            changed \u003d True"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1e6389b3","line":856,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":856,"context_line":"        if self._sync_lbaas_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":857,"context_line":"            changed \u003d True"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":860,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":861,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":862,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7e58cdf9","line":859,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":857,"context_line":"            changed \u003d True"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":860,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":861,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":862,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":863,"context_line":"        if self._add_new_pools(lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5e5d11e8","line":860,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":858,"context_line":""},{"line_number":859,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":860,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":861,"context_line":"        LOG.debug(\u0027#######################################################################################21\u0027)"},{"line_number":862,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":863,"context_line":"        if self._add_new_pools(lbaas_state, loadbalancer_crd):"},{"line_number":864,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_be71b57a","line":861,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":862,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":863,"context_line":"        if self._add_new_pools(lbaas_state, loadbalancer_crd):"},{"line_number":864,"context_line":"            changed \u003d True"},{"line_number":865,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":866,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":867,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":868,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9e6e7994","line":865,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":863,"context_line":"        if self._add_new_pools(lbaas_state, loadbalancer_crd):"},{"line_number":864,"context_line":"            changed \u003d True"},{"line_number":865,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":866,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":867,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":868,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":869,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fe6b3d82","line":866,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":864,"context_line":"            changed \u003d True"},{"line_number":865,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":866,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":867,"context_line":"        LOG.debug(\u0027#######################################################################################22\u0027)"},{"line_number":868,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":869,"context_line":"        return changed"},{"line_number":870,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_de680189","line":867,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":871,"context_line":"    def _add_new_pools(self, lbaas_state, loadbalancer_crd):"},{"line_number":872,"context_line":"        changed \u003d False"},{"line_number":873,"context_line":""},{"line_number":874,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":875,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":876,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":877,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3e03e5c0","line":874,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":872,"context_line":"        changed \u003d False"},{"line_number":873,"context_line":""},{"line_number":874,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":875,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":876,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":877,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":878,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1e08a9d7","line":875,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":873,"context_line":""},{"line_number":874,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":875,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":876,"context_line":"        LOG.debug(\u0027#######################################################################################23\u0027)"},{"line_number":877,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":878,"context_line":""},{"line_number":879,"context_line":"        current_listeners_ids \u003d {pool.listener_id"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7e0d6de7","line":876,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":881,"context_line":"        for listener in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]:"},{"line_number":882,"context_line":"            if listener[\u0027id\u0027] in current_listeners_ids:"},{"line_number":883,"context_line":"                continue"},{"line_number":884,"context_line":"            pool \u003d self._drv_lbaas.ensure_pool(loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027],"},{"line_number":885,"context_line":"                                               listener)"},{"line_number":886,"context_line":"            lbaas_state.pools.append(pool)"},{"line_number":887,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5e12310b","line":884,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (90 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":886,"context_line":"            lbaas_state.pools.append(pool)"},{"line_number":887,"context_line":"            changed \u003d True"},{"line_number":888,"context_line":""},{"line_number":889,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":890,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":891,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":892,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_bef6d5d7","line":889,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":887,"context_line":"            changed \u003d True"},{"line_number":888,"context_line":""},{"line_number":889,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":890,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":891,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":892,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":893,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9ef319e8","line":890,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":888,"context_line":""},{"line_number":889,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":890,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":891,"context_line":"        LOG.debug(\u0027#######################################################################################24\u0027)"},{"line_number":892,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":893,"context_line":"        return changed"},{"line_number":894,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fe005dae","line":891,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":897,"context_line":"        # we should:"},{"line_number":898,"context_line":"        #  1. get the listener that pool is attached to"},{"line_number":899,"context_line":"        #  2. check if listener\u0027s attributes appear in lbaas_spec."},{"line_number":900,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":901,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":902,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":903,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_defda1b2","line":900,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":898,"context_line":"        #  1. get the listener that pool is attached to"},{"line_number":899,"context_line":"        #  2. check if listener\u0027s attributes appear in lbaas_spec."},{"line_number":900,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":901,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":902,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":903,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":904,"context_line":"        for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3e2c8549","line":901,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":899,"context_line":"        #  2. check if listener\u0027s attributes appear in lbaas_spec."},{"line_number":900,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":901,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":902,"context_line":"        LOG.debug(\u0027#######################################################################################25\u0027)"},{"line_number":903,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":904,"context_line":"        for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]:"},{"line_number":905,"context_line":"            if l[\u0027id\u0027] !\u003d pool.listener_id:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1e31c9a3","line":902,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":911,"context_line":""},{"line_number":912,"context_line":"    def _remove_unused_pools(self, lbaas_state, loadbalancer_crd):"},{"line_number":913,"context_line":"        removed_ids \u003d set()"},{"line_number":914,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":915,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":916,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":917,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7e260d6b","line":914,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":912,"context_line":"    def _remove_unused_pools(self, lbaas_state, loadbalancer_crd):"},{"line_number":913,"context_line":"        removed_ids \u003d set()"},{"line_number":914,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":915,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":916,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":917,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":918,"context_line":"        for pool in lbaas_state.pools:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5e2b512f","line":915,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":913,"context_line":"        removed_ids \u003d set()"},{"line_number":914,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":915,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":916,"context_line":"        LOG.debug(\u0027#######################################################################################26\u0027)"},{"line_number":917,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":918,"context_line":"        for pool in lbaas_state.pools:"},{"line_number":919,"context_line":"            if self._is_pool_in_spec(pool, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_be1ff507","line":916,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":918,"context_line":"        for pool in lbaas_state.pools:"},{"line_number":919,"context_line":"            if self._is_pool_in_spec(pool, lbaas_state, loadbalancer_crd):"},{"line_number":920,"context_line":"                continue"},{"line_number":921,"context_line":"            self._drv_lbaas.release_pool(loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027],"},{"line_number":922,"context_line":"                                         pool)"},{"line_number":923,"context_line":"            removed_ids.add(pool.id)"},{"line_number":924,"context_line":"        if removed_ids:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9e1cb914","line":921,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":926,"context_line":"                                 if p.id not in removed_ids]"},{"line_number":927,"context_line":"            lbaas_state.members \u003d [m for m in lbaas_state.members"},{"line_number":928,"context_line":"                                   if m.pool_id not in removed_ids]"},{"line_number":929,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":930,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":931,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":932,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fe197d22","line":929,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":927,"context_line":"            lbaas_state.members \u003d [m for m in lbaas_state.members"},{"line_number":928,"context_line":"                                   if m.pool_id not in removed_ids]"},{"line_number":929,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":930,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":931,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":932,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":933,"context_line":"        return bool(removed_ids)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_de1641f2","line":930,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":928,"context_line":"                                   if m.pool_id not in removed_ids]"},{"line_number":929,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":930,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":931,"context_line":"        LOG.debug(\u0027#######################################################################################27\u0027)"},{"line_number":932,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":933,"context_line":"        return bool(removed_ids)"},{"line_number":934,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3ed12531","line":931,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":934,"context_line":""},{"line_number":935,"context_line":"    def _sync_lbaas_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":936,"context_line":"        changed \u003d False"},{"line_number":937,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":938,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":939,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":940,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1ed6e928","line":937,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":935,"context_line":"    def _sync_lbaas_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":936,"context_line":"        changed \u003d False"},{"line_number":937,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":938,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":939,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":940,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":941,"context_line":"        if self._remove_unused_listeners(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7edbad4e","line":938,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":936,"context_line":"        changed \u003d False"},{"line_number":937,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":938,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":939,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":940,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":941,"context_line":"        if self._remove_unused_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":942,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5ee071fb","line":939,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":938,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":939,"context_line":"        LOG.debug(\u0027#######################################################################################28\u0027)"},{"line_number":940,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":941,"context_line":"        if self._remove_unused_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":942,"context_line":"            changed \u003d True"},{"line_number":943,"context_line":""},{"line_number":944,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_bee41510","line":941,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":941,"context_line":"        if self._remove_unused_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":942,"context_line":"            changed \u003d True"},{"line_number":943,"context_line":""},{"line_number":944,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":945,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":946,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":947,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9ee15900","line":944,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":942,"context_line":"            changed \u003d True"},{"line_number":943,"context_line":""},{"line_number":944,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":945,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":946,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":947,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":948,"context_line":"        if self._sync_lbaas_loadbalancer(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_feee9deb","line":945,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":943,"context_line":""},{"line_number":944,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":945,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":946,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":947,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":948,"context_line":"        if self._sync_lbaas_loadbalancer(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":949,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_deebe1d9","line":946,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":945,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":946,"context_line":"        LOG.debug(\u0027#######################################################################################29\u0027)"},{"line_number":947,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":948,"context_line":"        if self._sync_lbaas_loadbalancer(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":949,"context_line":"            changed \u003d True"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3ebac5e0","line":948,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":948,"context_line":"        if self._sync_lbaas_loadbalancer(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":949,"context_line":"            changed \u003d True"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":952,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":953,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":954,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1ebf09d1","line":951,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":949,"context_line":"            changed \u003d True"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":952,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":953,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":954,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":955,"context_line":"        if self._add_new_listeners(endpoints, loadbalancer_crd, lbaas_state):"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7eb44df3","line":952,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":950,"context_line":""},{"line_number":951,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":952,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":953,"context_line":"        LOG.debug(\u0027#######################################################################################30\u0027)"},{"line_number":954,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":955,"context_line":"        if self._add_new_listeners(endpoints, loadbalancer_crd, lbaas_state):"},{"line_number":956,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5eb991e7","line":953,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":955,"context_line":"        if self._add_new_listeners(endpoints, loadbalancer_crd, lbaas_state):"},{"line_number":956,"context_line":"            changed \u003d True"},{"line_number":957,"context_line":""},{"line_number":958,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":959,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":960,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":961,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_becd3588","line":958,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":956,"context_line":"            changed \u003d True"},{"line_number":957,"context_line":""},{"line_number":958,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":959,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":960,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":961,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":962,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9ecaf96b","line":959,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":957,"context_line":""},{"line_number":958,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":959,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":960,"context_line":"        LOG.debug(\u0027#######################################################################################31\u0027)"},{"line_number":961,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":962,"context_line":"        return changed"},{"line_number":963,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fec7bd63","line":960,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":963,"context_line":""},{"line_number":964,"context_line":"    def _add_new_listeners(self, endpoints, loadbalancer_crd, lbaas_state):"},{"line_number":965,"context_line":"        changed \u003d False"},{"line_number":966,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":967,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":968,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":969,"context_line":"        LOG.debug(loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_dec48162","line":966,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":964,"context_line":"    def _add_new_listeners(self, endpoints, loadbalancer_crd, lbaas_state):"},{"line_number":965,"context_line":"        changed \u003d False"},{"line_number":966,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":967,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":968,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":969,"context_line":"        LOG.debug(loadbalancer_crd)"},{"line_number":970,"context_line":"        lbaas_spec_ports \u003d sorted(loadbalancer_crd[\u0027spec\u0027][\u0027ports\u0027], key\u003dlambda x: x[\u0027protocol\u0027])"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3e9f6566","line":967,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":965,"context_line":"        changed \u003d False"},{"line_number":966,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":967,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":968,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":969,"context_line":"        LOG.debug(loadbalancer_crd)"},{"line_number":970,"context_line":"        lbaas_spec_ports \u003d sorted(loadbalancer_crd[\u0027spec\u0027][\u0027ports\u0027], key\u003dlambda x: x[\u0027protocol\u0027])"},{"line_number":971,"context_line":"        for port_spec in lbaas_spec_ports:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1ea429b9","line":968,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":967,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":968,"context_line":"        LOG.debug(\u0027#######################################################################################32\u0027)"},{"line_number":969,"context_line":"        LOG.debug(loadbalancer_crd)"},{"line_number":970,"context_line":"        lbaas_spec_ports \u003d sorted(loadbalancer_crd[\u0027spec\u0027][\u0027ports\u0027], key\u003dlambda x: x[\u0027protocol\u0027])"},{"line_number":971,"context_line":"        for port_spec in lbaas_spec_ports:"},{"line_number":972,"context_line":"            protocol \u003d port_spec[\u0027protocol\u0027]"},{"line_number":973,"context_line":"            port \u003d port_spec[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7ea9ed8e","line":970,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (97 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":971,"context_line":"        for port_spec in lbaas_spec_ports:"},{"line_number":972,"context_line":"            protocol \u003d port_spec[\u0027protocol\u0027]"},{"line_number":973,"context_line":"            port \u003d port_spec[\u0027port\u0027]"},{"line_number":974,"context_line":"            name \u003d \"%s:%s\" % (loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027][\u0027name\u0027], protocol)"},{"line_number":975,"context_line":"            listener \u003d [l for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]"},{"line_number":976,"context_line":"                        if l[\u0027port\u0027] \u003d\u003d port and l[\u0027protocol\u0027] \u003d\u003d protocol]"},{"line_number":977,"context_line":"            if listener:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5eaeb198","line":974,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (91 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":980,"context_line":"            # not allows listeners with same port but different"},{"line_number":981,"context_line":"            # protocols to co-exist, we need to skip the creation of"},{"line_number":982,"context_line":"            # listeners that have the same port as an existing one."},{"line_number":983,"context_line":"            listener \u003d [l for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027] if l[\u0027port\u0027] \u003d\u003d port]"},{"line_number":984,"context_line":""},{"line_number":985,"context_line":"            if listener and not self._drv_lbaas.double_listeners_supported():"},{"line_number":986,"context_line":"                LOG.warning(\"Skipping listener creation for %s as another one\""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_be925557","line":983,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (96 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":995,"context_line":"                loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027].append(listener)"},{"line_number":996,"context_line":"                kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":997,"context_line":"                try:"},{"line_number":998,"context_line":"                    kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027]["},{"line_number":999,"context_line":"                        \u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":1000,"context_line":"                except k_exc.K8sResourceNotFound:"},{"line_number":1001,"context_line":"                    LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9e8f992d","line":998,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":998,"context_line":"                    kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027]["},{"line_number":999,"context_line":"                        \u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":1000,"context_line":"                except k_exc.K8sResourceNotFound:"},{"line_number":1001,"context_line":"                    LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":1002,"context_line":"                except k_exc.K8sClientException:"},{"line_number":1003,"context_line":"                    LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":1004,"context_line":"                    raise"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fe9cdd6b","line":1001,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (85 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1000,"context_line":"                except k_exc.K8sResourceNotFound:"},{"line_number":1001,"context_line":"                    LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":1002,"context_line":"                except k_exc.K8sClientException:"},{"line_number":1003,"context_line":"                    LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":1004,"context_line":"                    raise"},{"line_number":1005,"context_line":"                changed \u003d True"},{"line_number":1006,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_de99217a","line":1003,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (94 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1003,"context_line":"                    LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":1004,"context_line":"                    raise"},{"line_number":1005,"context_line":"                changed \u003d True"},{"line_number":1006,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":1007,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":1008,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":1009,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3e880521","line":1006,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1004,"context_line":"                    raise"},{"line_number":1005,"context_line":"                changed \u003d True"},{"line_number":1006,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":1007,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":1008,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":1009,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1010,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1e8d4931","line":1007,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1005,"context_line":"                changed \u003d True"},{"line_number":1006,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":1007,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":1008,"context_line":"        LOG.debug(\u0027#######################################################################################33\u0027)"},{"line_number":1009,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1010,"context_line":"        return changed"},{"line_number":1011,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7e828d02","line":1008,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1009,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1010,"context_line":"        return changed"},{"line_number":1011,"context_line":""},{"line_number":1012,"context_line":"    def _remove_unused_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":1013,"context_line":"        current_listeners \u003d {p.listener_id for p in lbaas_state.pools}"},{"line_number":1014,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1015,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5e87d110","line":1012,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1011,"context_line":""},{"line_number":1012,"context_line":"    def _remove_unused_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":1013,"context_line":"        current_listeners \u003d {p.listener_id for p in lbaas_state.pools}"},{"line_number":1014,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1015,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1016,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1017,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_be7b7527","line":1014,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1012,"context_line":"    def _remove_unused_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":1013,"context_line":"        current_listeners \u003d {p.listener_id for p in lbaas_state.pools}"},{"line_number":1014,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1015,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1016,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1017,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1018,"context_line":"        removed_ids \u003d set()"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9e78392c","line":1015,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1013,"context_line":"        current_listeners \u003d {p.listener_id for p in lbaas_state.pools}"},{"line_number":1014,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1015,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1016,"context_line":"        LOG.debug(\u0027#######################################################################################34\u0027)"},{"line_number":1017,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1018,"context_line":"        removed_ids \u003d set()"},{"line_number":1019,"context_line":"        for listener in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fe75fd33","line":1016,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1019,"context_line":"        for listener in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]:"},{"line_number":1020,"context_line":"            if listener[\u0027id\u0027] in current_listeners:"},{"line_number":1021,"context_line":"                continue"},{"line_number":1022,"context_line":"            self._drv_lbaas.release_listener(loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027],"},{"line_number":1023,"context_line":"                                             listener)"},{"line_number":1024,"context_line":"            removed_ids.add(loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027][\u0027id\u0027])"},{"line_number":1025,"context_line":"        if removed_ids:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_de72c149","line":1022,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (88 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1023,"context_line":"                                             listener)"},{"line_number":1024,"context_line":"            removed_ids.add(loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027][\u0027id\u0027])"},{"line_number":1025,"context_line":"        if removed_ids:"},{"line_number":1026,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027] \u003d [l for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]"},{"line_number":1027,"context_line":"                                     if l[\u0027id\u0027] not in removed_ids]"},{"line_number":1028,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1029,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3e8da52a","line":1026,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (105 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"            removed_ids.add(loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027][\u0027id\u0027])"},{"line_number":1025,"context_line":"        if removed_ids:"},{"line_number":1026,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027] \u003d [l for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]"},{"line_number":1027,"context_line":"                                     if l[\u0027id\u0027] not in removed_ids]"},{"line_number":1028,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1029,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1030,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1e92694c","line":1027,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1025,"context_line":"        if removed_ids:"},{"line_number":1026,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027] \u003d [l for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]"},{"line_number":1027,"context_line":"                                     if l[\u0027id\u0027] not in removed_ids]"},{"line_number":1028,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1029,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1030,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1031,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7e972d3c","line":1028,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1026,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027] \u003d [l for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]"},{"line_number":1027,"context_line":"                                     if l[\u0027id\u0027] not in removed_ids]"},{"line_number":1028,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1029,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1030,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1031,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1032,"context_line":"        return bool(removed_ids)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5e9cf15c","line":1029,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1027,"context_line":"                                     if l[\u0027id\u0027] not in removed_ids]"},{"line_number":1028,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1029,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1030,"context_line":"        LOG.debug(\u0027#######################################################################################35\u0027)"},{"line_number":1031,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1032,"context_line":"        return bool(removed_ids)"},{"line_number":1033,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_bea09593","line":1030,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"                }"},{"line_number":1052,"context_line":"            }"},{"line_number":1053,"context_line":""},{"line_number":1054,"context_line":"        "},{"line_number":1055,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":1056,"context_line":"        try:"},{"line_number":1057,"context_line":"            kubernetes.patch_crd(\u0027spec\u0027, loadbalancer_crd[\u0027metadata\u0027]["}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9e9dd959","line":1054,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1074,"context_line":"        link_parts[-2] \u003d \u0027services\u0027"},{"line_number":1075,"context_line":"        return \"/\".join(link_parts)"},{"line_number":1076,"context_line":""},{"line_number":1077,"context_line":"    def _sync_lbaas_loadbalancer(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":1078,"context_line":"        changed \u003d False"},{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_feaa1d6f","line":1077,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1077,"context_line":"    def _sync_lbaas_loadbalancer(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":1078,"context_line":"        changed \u003d False"},{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1081,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1082,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1083,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_dea761a7","line":1080,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1078,"context_line":"        changed \u003d False"},{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1081,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1082,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1083,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1084,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3eb645de","line":1081,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1081,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1082,"context_line":"        LOG.debug(\u0027#######################################################################################36\u0027)"},{"line_number":1083,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1084,"context_line":""},{"line_number":1085,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1ebb89c4","line":1082,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1111,"context_line":"                    project_id\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027project_id\u0027),"},{"line_number":1112,"context_line":"                    subnet_id\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027subnet_id\u0027),"},{"line_number":1113,"context_line":"                    ip\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027ip\u0027),"},{"line_number":1114,"context_line":"                    security_groups_ids\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027security_groups_ids\u0027),"},{"line_number":1115,"context_line":"                    service_type\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027type\u0027),"},{"line_number":1116,"context_line":"                    provider\u003dself._lb_provider)"},{"line_number":1117,"context_line":"                changed \u003d True"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7eb0cdde","line":1114,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (92 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1121,"context_line":"                lbaas_state.service_pub_ip_info \u003d None"},{"line_number":1122,"context_line":"                changed \u003d True"},{"line_number":1123,"context_line":""},{"line_number":1124,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1125,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1126,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1127,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5eb511cd","line":1124,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (138 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1122,"context_line":"                changed \u003d True"},{"line_number":1123,"context_line":""},{"line_number":1124,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1125,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1126,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1127,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1128,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_bec9b55b","line":1125,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (138 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1123,"context_line":""},{"line_number":1124,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1125,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1126,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1127,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1128,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1129,"context_line":"        LOG.debug(lb)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9ec67949","line":1126,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (138 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1124,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1125,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1126,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1127,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1128,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1129,"context_line":"        LOG.debug(lb)"},{"line_number":1130,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_fec33d37","line":1127,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (138 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1125,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1126,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1127,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1128,"context_line":"        LOG.debug(\u0027$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\u0027)"},{"line_number":1129,"context_line":"        LOG.debug(lb)"},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_dec0012e","line":1128,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (138 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1129,"context_line":"        LOG.debug(lb)"},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":""},{"line_number":1132,"context_line":"        loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027] \u003d lb"},{"line_number":1133,"context_line":""},{"line_number":1134,"context_line":"        loadbalan \u003d loadbalancer_crd[\u0027status\u0027]"},{"line_number":1135,"context_line":"        LOG.debug(loadbalan)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_3edbe521","line":1132,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1141,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":1142,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":1143,"context_line":"        except k_exc.K8sClientException:"},{"line_number":1144,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":1145,"context_line":"            raise "},{"line_number":1146,"context_line":""},{"line_number":1147,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_1ee0a9cc","line":1144,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1142,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":1143,"context_line":"        except k_exc.K8sClientException:"},{"line_number":1144,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":1145,"context_line":"            raise "},{"line_number":1146,"context_line":""},{"line_number":1147,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1148,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_7ee56ddc","line":1145,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: W291 trailing whitespace","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1144,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":1145,"context_line":"            raise "},{"line_number":1146,"context_line":""},{"line_number":1147,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1148,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1149,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1150,"context_line":"        LOG.debug(lbaas_state)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_5eea31ac","line":1147,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1145,"context_line":"            raise "},{"line_number":1146,"context_line":""},{"line_number":1147,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1148,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1149,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1150,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1151,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_beced558","line":1148,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"76f2476fdd24783c22363168306b3ee1c22d2531","unresolved":false,"context_lines":[{"line_number":1146,"context_line":""},{"line_number":1147,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1148,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1149,"context_line":"        LOG.debug(\u0027#######################################################################################6\u0027)"},{"line_number":1150,"context_line":"        LOG.debug(lbaas_state)"},{"line_number":1151,"context_line":"        return changed"},{"line_number":1152,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1f493fa4_9ecb1949","line":1149,"updated":"2020-05-01 23:28:29.000000000","message":"pep8: E501 line too long (109 \u003e 79 characters)","commit_id":"1b99a125a35a5849d802184a58c34ebdb318432c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":296,"context_line":"                        lb_ip,"},{"line_number":297,"context_line":"                        loadbalancer_crd[\u0027spec\u0027][\u0027project_id\u0027],"},{"line_number":298,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027][\u0027port_id\u0027]))"},{"line_number":299,"context_line":"                "},{"line_number":300,"context_line":"                if service_pub_ip_info:"},{"line_number":301,"context_line":"                    self._drv_service_pub_ip.associate_pub_ip("},{"line_number":302,"context_line":"                        service_pub_ip_info, loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027][\u0027port_id\u0027])"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_e229c4f2","line":299,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":299,"context_line":"                "},{"line_number":300,"context_line":"                if service_pub_ip_info:"},{"line_number":301,"context_line":"                    self._drv_service_pub_ip.associate_pub_ip("},{"line_number":302,"context_line":"                        service_pub_ip_info, loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027][\u0027port_id\u0027])"},{"line_number":303,"context_line":"                    loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027] \u003d service_pub_ip_info"},{"line_number":304,"context_line":"                    self._update_lb_status("},{"line_number":305,"context_line":"                        endpoints,"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_c22e48f9","line":302,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (99 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":300,"context_line":"                if service_pub_ip_info:"},{"line_number":301,"context_line":"                    self._drv_service_pub_ip.associate_pub_ip("},{"line_number":302,"context_line":"                        service_pub_ip_info, loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027][\u0027port_id\u0027])"},{"line_number":303,"context_line":"                    loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027] \u003d service_pub_ip_info"},{"line_number":304,"context_line":"                    self._update_lb_status("},{"line_number":305,"context_line":"                        endpoints,"},{"line_number":306,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027][\u0027ip_addr\u0027]"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_22344c4a","line":303,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (91 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":303,"context_line":"                    loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027] \u003d service_pub_ip_info"},{"line_number":304,"context_line":"                    self._update_lb_status("},{"line_number":305,"context_line":"                        endpoints,"},{"line_number":306,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027][\u0027ip_addr\u0027]"},{"line_number":307,"context_line":"                        )"},{"line_number":308,"context_line":"            # REVISIT(ivc): since _sync_lbaas_members is responsible for"},{"line_number":309,"context_line":"            # creating all lbaas components (i.e. load balancer, listeners,"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_02395040","line":306,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":352,"context_line":"            return"},{"line_number":353,"context_line":"        # NOTE(ivc): deleting pool deletes its members"},{"line_number":354,"context_line":"        self._drv_lbaas.release_loadbalancer("},{"line_number":355,"context_line":"            loadbalancer\u003dloadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027])"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        try:"},{"line_number":358,"context_line":"            pub_info \u003d loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027]"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_623db42b","line":355,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: F821 undefined name \u0027loadbalancer_crd\u0027","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":355,"context_line":"            loadbalancer\u003dloadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027])"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        try:"},{"line_number":358,"context_line":"            pub_info \u003d loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027]"},{"line_number":359,"context_line":"        except KeyError:"},{"line_number":360,"context_line":"            pub_info \u003d None"},{"line_number":361,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_423a3834","line":358,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: F821 undefined name \u0027loadbalancer_crd\u0027","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        if pub_info:"},{"line_number":363,"context_line":"            self._drv_service_pub_ip.release_pub_ip("},{"line_number":364,"context_line":"                loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027])"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"        LOG.debug(\"Deleting the loadbalancer CRD\")"},{"line_number":367,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_a247bcbc","line":364,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: F821 undefined name \u0027loadbalancer_crd\u0027","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":567,"context_line":"            LOG.debug(\"The svc has been deleted while processing the endpoints\""},{"line_number":568,"context_line":"                      \" update. No need to add new members.\")"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"        lsnr_by_id \u003d {l[\u0027id\u0027]: l for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]}"},{"line_number":571,"context_line":"        pool_by_lsnr_port \u003d {(lsnr_by_id[p[\u0027listener_id\u0027]][\u0027protocol\u0027],"},{"line_number":572,"context_line":"                              lsnr_by_id[p[\u0027listener_id\u0027]][\u0027port\u0027]): p"},{"line_number":573,"context_line":"                             for p in loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027]}"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_824440b9","line":570,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":628,"context_line":"                        # We use the service subnet id so that the connectivity"},{"line_number":629,"context_line":"                        # from VIP to pods happens in layer 3 mode, i.e.,"},{"line_number":630,"context_line":"                        # routed."},{"line_number":631,"context_line":"                        member_subnet_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027][\u0027subnet_id\u0027]"},{"line_number":632,"context_line":"                    first_member_of_the_pool \u003d True"},{"line_number":633,"context_line":"                    for member in loadbalancer_crd[\u0027status\u0027][\u0027members\u0027]:"},{"line_number":634,"context_line":"                        if pool[\u0027id\u0027] \u003d\u003d member[\u0027pool_id\u0027]:"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_e21264b4","line":631,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (98 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":640,"context_line":"                        listener_port \u003d None"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"                    try:"},{"line_number":643,"context_line":"                        loadbalancer \u003d loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027]"},{"line_number":644,"context_line":"                    except KeyError:"},{"line_number":645,"context_line":"                        loadbalancer \u003d None"},{"line_number":646,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_c21768a3","line":643,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":642,"context_line":"                    try:"},{"line_number":643,"context_line":"                        loadbalancer \u003d loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027]"},{"line_number":644,"context_line":"                    except KeyError:"},{"line_number":645,"context_line":"                        loadbalancer \u003d None"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"                    member \u003d self._drv_lbaas.ensure_member("},{"line_number":648,"context_line":"                        loadbalancer\u003dloadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027],"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_220d6c90","line":645,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: F841 local variable \u0027loadbalancer\u0027 is assigned to but never used","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":645,"context_line":"                        loadbalancer \u003d None"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"                    member \u003d self._drv_lbaas.ensure_member("},{"line_number":648,"context_line":"                        loadbalancer\u003dloadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027],"},{"line_number":649,"context_line":"                        pool\u003dpool,"},{"line_number":650,"context_line":"                        subnet_id\u003dmember_subnet_id,"},{"line_number":651,"context_line":"                        ip\u003dtarget_ip,"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_0212f0b1","line":648,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":656,"context_line":"                    loadbalancer_crd[\u0027status\u0027][\u0027members\u0027].append(member)"},{"line_number":657,"context_line":"                    kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":658,"context_line":"                    try:"},{"line_number":659,"context_line":"                        kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027]["},{"line_number":660,"context_line":"                            \u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":661,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":662,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_62265419","line":659,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":659,"context_line":"                        kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027]["},{"line_number":660,"context_line":"                            \u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":661,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":662,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":663,"context_line":"                    except k_exc.K8sClientException:"},{"line_number":664,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":665,"context_line":"                        raise"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_42235806","line":662,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (89 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":661,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":662,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":663,"context_line":"                    except k_exc.K8sClientException:"},{"line_number":664,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":665,"context_line":"                        raise"},{"line_number":666,"context_line":"                    changed \u003d True"},{"line_number":667,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_a2205cf9","line":664,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (98 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":703,"context_line":"            port \u003d self._get_port_in_pool(pool, loadbalancer_crd)"},{"line_number":704,"context_line":"            if port:"},{"line_number":705,"context_line":"                port[\u0027name\u0027] \u003d None"},{"line_number":706,"context_line":"                spec_ports[port[\u0027name\u0027]] \u003d pool[\u0027id\u0027] "},{"line_number":707,"context_line":""},{"line_number":708,"context_line":"        current_targets \u003d {(a[\u0027ip\u0027], a.get(\u0027targetRef\u0027, {}).get(\u0027name\u0027, \u0027\u0027),"},{"line_number":709,"context_line":"                            p[\u0027port\u0027], spec_ports.get(p.get(\u0027name\u0027)))"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_821d60bf","line":706,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: W291 trailing whitespace","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":722,"context_line":"                pod_name \u003d member_name.split(\u0027/\u0027)[1].split(\u0027:\u0027)[0]"},{"line_number":723,"context_line":"            except AttributeError:"},{"line_number":724,"context_line":"                pod_name \u003d \"\""},{"line_number":725,"context_line":"            if ((str(member[\u0027ip\u0027]), pod_name, member[\u0027port\u0027], member[\u0027pool_id\u0027]) in"},{"line_number":726,"context_line":"                    current_targets):"},{"line_number":727,"context_line":"                continue"},{"line_number":728,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_e2770408","line":725,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":726,"context_line":"                    current_targets):"},{"line_number":727,"context_line":"                continue"},{"line_number":728,"context_line":""},{"line_number":729,"context_line":"            self._drv_lbaas.release_member(loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027],"},{"line_number":730,"context_line":"                                           member)"},{"line_number":731,"context_line":"            removed_ids.add(member[\u0027id\u0027])"},{"line_number":732,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_c27c88ed","line":729,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":731,"context_line":"            removed_ids.add(member[\u0027id\u0027])"},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"        if removed_ids:"},{"line_number":734,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027members\u0027] \u003d [m for m in loadbalancer_crd[\u0027status\u0027][\u0027members\u0027]"},{"line_number":735,"context_line":"                           if m[\u0027id\u0027] not in removed_ids]"},{"line_number":736,"context_line":""},{"line_number":737,"context_line":"        return bool(removed_ids)"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_22828cc9","line":734,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (101 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":732,"context_line":""},{"line_number":733,"context_line":"        if removed_ids:"},{"line_number":734,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027members\u0027] \u003d [m for m in loadbalancer_crd[\u0027status\u0027][\u0027members\u0027]"},{"line_number":735,"context_line":"                           if m[\u0027id\u0027] not in removed_ids]"},{"line_number":736,"context_line":""},{"line_number":737,"context_line":"        return bool(removed_ids)"},{"line_number":738,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_028790d9","line":735,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":742,"context_line":"        if self._remove_unused_pools(lbaas_state, loadbalancer_crd):"},{"line_number":743,"context_line":"            changed \u003d True"},{"line_number":744,"context_line":""},{"line_number":745,"context_line":"        if self._sync_lbaas_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":746,"context_line":"            changed \u003d True"},{"line_number":747,"context_line":""},{"line_number":748,"context_line":"        if self._add_new_pools(lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_626bf41e","line":745,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":754,"context_line":"        changed \u003d False"},{"line_number":755,"context_line":""},{"line_number":756,"context_line":"        current_listeners_ids \u003d {pool[\u0027listener_id\u0027]"},{"line_number":757,"context_line":"                                 for pool in loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027]}"},{"line_number":758,"context_line":"        for listener in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]:"},{"line_number":759,"context_line":"            if listener[\u0027id\u0027] in current_listeners_ids:"},{"line_number":760,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_42687820","line":757,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":758,"context_line":"        for listener in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]:"},{"line_number":759,"context_line":"            if listener[\u0027id\u0027] in current_listeners_ids:"},{"line_number":760,"context_line":"                continue"},{"line_number":761,"context_line":"            pool \u003d self._drv_lbaas.ensure_pool(loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027],"},{"line_number":762,"context_line":"                                               listener)"},{"line_number":763,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027].append(pool)"},{"line_number":764,"context_line":"            kubernetes \u003d clients.get_kubernetes_client()"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_a275fcfc","line":761,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (90 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":766,"context_line":"                kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027]["},{"line_number":767,"context_line":"                    \u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":768,"context_line":"            except k_exc.K8sResourceNotFound:"},{"line_number":769,"context_line":"                LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":770,"context_line":"            except k_exc.K8sClientException:"},{"line_number":771,"context_line":"                LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":772,"context_line":"                raise"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_82728010","line":769,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":768,"context_line":"            except k_exc.K8sResourceNotFound:"},{"line_number":769,"context_line":"                LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":770,"context_line":"            except k_exc.K8sClientException:"},{"line_number":771,"context_line":"                LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":772,"context_line":"                raise"},{"line_number":773,"context_line":"            changed \u003d True"},{"line_number":774,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_e260a438","line":771,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (90 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":782,"context_line":"            if l[\u0027id\u0027] !\u003d pool[\u0027listener_id\u0027]:"},{"line_number":783,"context_line":"                continue"},{"line_number":784,"context_line":"            for port in loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027):"},{"line_number":785,"context_line":"                if l[\u0027port\u0027] \u003d\u003d port[\u0027port\u0027] and l[\u0027protocol\u0027] \u003d\u003d port[\u0027protocol\u0027]:"},{"line_number":786,"context_line":"                    return True"},{"line_number":787,"context_line":"        return False"},{"line_number":788,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_c265a847","line":785,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":791,"context_line":"        for pool in loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027]:"},{"line_number":792,"context_line":"            if self._is_pool_in_spec(pool, lbaas_state, loadbalancer_crd):"},{"line_number":793,"context_line":"                continue"},{"line_number":794,"context_line":"            self._drv_lbaas.release_pool(loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027],"},{"line_number":795,"context_line":"                                         pool)"},{"line_number":796,"context_line":"            removed_ids.add(pool[\u0027id\u0027])"},{"line_number":797,"context_line":"        if removed_ids:"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_225bac87","line":794,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":795,"context_line":"                                         pool)"},{"line_number":796,"context_line":"            removed_ids.add(pool[\u0027id\u0027])"},{"line_number":797,"context_line":"        if removed_ids:"},{"line_number":798,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027] \u003d [p for p in loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027]"},{"line_number":799,"context_line":"                                 if p[\u0027id\u0027] not in removed_ids]"},{"line_number":800,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027members\u0027] \u003d [m for m in loadbalancer_crd[\u0027status\u0027][\u0027members\u0027]"},{"line_number":801,"context_line":"                                   if m[\u0027pool_id\u0027] not in removed_ids]"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_02603032","line":798,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (97 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":796,"context_line":"            removed_ids.add(pool[\u0027id\u0027])"},{"line_number":797,"context_line":"        if removed_ids:"},{"line_number":798,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027] \u003d [p for p in loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027]"},{"line_number":799,"context_line":"                                 if p[\u0027id\u0027] not in removed_ids]"},{"line_number":800,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027members\u0027] \u003d [m for m in loadbalancer_crd[\u0027status\u0027][\u0027members\u0027]"},{"line_number":801,"context_line":"                                   if m[\u0027pool_id\u0027] not in removed_ids]"},{"line_number":802,"context_line":"        return bool(removed_ids)"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_62549455","line":799,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":797,"context_line":"        if removed_ids:"},{"line_number":798,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027] \u003d [p for p in loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027]"},{"line_number":799,"context_line":"                                 if p[\u0027id\u0027] not in removed_ids]"},{"line_number":800,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027members\u0027] \u003d [m for m in loadbalancer_crd[\u0027status\u0027][\u0027members\u0027]"},{"line_number":801,"context_line":"                                   if m[\u0027pool_id\u0027] not in removed_ids]"},{"line_number":802,"context_line":"        return bool(removed_ids)"},{"line_number":803,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_42519862","line":800,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (101 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":798,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027] \u003d [p for p in loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027]"},{"line_number":799,"context_line":"                                 if p[\u0027id\u0027] not in removed_ids]"},{"line_number":800,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027members\u0027] \u003d [m for m in loadbalancer_crd[\u0027status\u0027][\u0027members\u0027]"},{"line_number":801,"context_line":"                                   if m[\u0027pool_id\u0027] not in removed_ids]"},{"line_number":802,"context_line":"        return bool(removed_ids)"},{"line_number":803,"context_line":""},{"line_number":804,"context_line":"    def _sync_lbaas_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_a24e9cbe","line":801,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":804,"context_line":"    def _sync_lbaas_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":805,"context_line":"        changed \u003d False"},{"line_number":806,"context_line":""},{"line_number":807,"context_line":"        if self._remove_unused_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":808,"context_line":"            changed \u003d True"},{"line_number":809,"context_line":""},{"line_number":810,"context_line":"        if self._sync_lbaas_loadbalancer(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_824ba0ae","line":807,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":807,"context_line":"        if self._remove_unused_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":808,"context_line":"            changed \u003d True"},{"line_number":809,"context_line":""},{"line_number":810,"context_line":"        if self._sync_lbaas_loadbalancer(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":811,"context_line":"            changed \u003d True"},{"line_number":812,"context_line":""},{"line_number":813,"context_line":"        if self._add_new_listeners(endpoints, loadbalancer_crd, lbaas_state):"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_e2c5440c","line":810,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":818,"context_line":"    def _add_new_listeners(self, endpoints, loadbalancer_crd, lbaas_state):"},{"line_number":819,"context_line":"        changed \u003d False"},{"line_number":820,"context_line":""},{"line_number":821,"context_line":"        lbaas_spec_ports \u003d sorted(loadbalancer_crd[\u0027spec\u0027][\u0027ports\u0027], key\u003dlambda x: x[\u0027protocol\u0027])"},{"line_number":822,"context_line":"        for port_spec in lbaas_spec_ports:"},{"line_number":823,"context_line":"            protocol \u003d port_spec[\u0027protocol\u0027]"},{"line_number":824,"context_line":"            port \u003d port_spec[\u0027port\u0027]"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_c2cac818","line":821,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (97 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":822,"context_line":"        for port_spec in lbaas_spec_ports:"},{"line_number":823,"context_line":"            protocol \u003d port_spec[\u0027protocol\u0027]"},{"line_number":824,"context_line":"            port \u003d port_spec[\u0027port\u0027]"},{"line_number":825,"context_line":"            name \u003d \"%s:%s\" % (loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027][\u0027name\u0027], protocol)"},{"line_number":826,"context_line":"            listener \u003d [l for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]"},{"line_number":827,"context_line":"                        if l[\u0027port\u0027] \u003d\u003d port and l[\u0027protocol\u0027] \u003d\u003d protocol]"},{"line_number":828,"context_line":"            if listener:"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_22d0ccc9","line":825,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (91 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":831,"context_line":"            # not allows listeners with same port but different"},{"line_number":832,"context_line":"            # protocols to co-exist, we need to skip the creation of"},{"line_number":833,"context_line":"            # listeners that have the same port as an existing one."},{"line_number":834,"context_line":"            listener \u003d [l for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027] if l[\u0027port\u0027] \u003d\u003d port]"},{"line_number":835,"context_line":""},{"line_number":836,"context_line":"            if listener and not self._drv_lbaas.double_listeners_supported():"},{"line_number":837,"context_line":"                LOG.warning(\"Skipping listener creation for %s as another one\""}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_02d5d0b9","line":834,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (96 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":846,"context_line":"                loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027].append(listener)"},{"line_number":847,"context_line":"                kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":848,"context_line":"                try:"},{"line_number":849,"context_line":"                    kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027]["},{"line_number":850,"context_line":"                        \u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":851,"context_line":"                except k_exc.K8sResourceNotFound:"},{"line_number":852,"context_line":"                    LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_62d934f3","line":849,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":849,"context_line":"                    kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027]["},{"line_number":850,"context_line":"                        \u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":851,"context_line":"                except k_exc.K8sResourceNotFound:"},{"line_number":852,"context_line":"                    LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":853,"context_line":"                except k_exc.K8sClientException:"},{"line_number":854,"context_line":"                    LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":855,"context_line":"                    raise"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_42d6b8c5","line":852,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (85 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":851,"context_line":"                except k_exc.K8sResourceNotFound:"},{"line_number":852,"context_line":"                    LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":853,"context_line":"                except k_exc.K8sClientException:"},{"line_number":854,"context_line":"                    LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":855,"context_line":"                    raise"},{"line_number":856,"context_line":"                changed \u003d True"},{"line_number":857,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_a2e33ca4","line":854,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (94 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":856,"context_line":"                changed \u003d True"},{"line_number":857,"context_line":"        return changed"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"    def _remove_unused_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":860,"context_line":"        current_listeners \u003d {p[\u0027listener_id\u0027] for p in loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027]}"},{"line_number":861,"context_line":"        removed_ids \u003d set()"},{"line_number":862,"context_line":"        for listener in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]:"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_82e0c098","line":859,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":857,"context_line":"        return changed"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"    def _remove_unused_listeners(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":860,"context_line":"        current_listeners \u003d {p[\u0027listener_id\u0027] for p in loadbalancer_crd[\u0027status\u0027][\u0027pools\u0027]}"},{"line_number":861,"context_line":"        removed_ids \u003d set()"},{"line_number":862,"context_line":"        for listener in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]:"},{"line_number":863,"context_line":"            if listener[\u0027id\u0027] in current_listeners:"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_e2eee489","line":860,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (91 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":862,"context_line":"        for listener in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]:"},{"line_number":863,"context_line":"            if listener[\u0027id\u0027] in current_listeners:"},{"line_number":864,"context_line":"                continue"},{"line_number":865,"context_line":"            self._drv_lbaas.release_listener(loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027],"},{"line_number":866,"context_line":"                                             listener)"},{"line_number":867,"context_line":"            removed_ids.add(listener[\u0027id\u0027])"},{"line_number":868,"context_line":"        if removed_ids:"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_c2f3e872","line":865,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (88 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":866,"context_line":"                                             listener)"},{"line_number":867,"context_line":"            removed_ids.add(listener[\u0027id\u0027])"},{"line_number":868,"context_line":"        if removed_ids:"},{"line_number":869,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027] \u003d [l for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]"},{"line_number":870,"context_line":"                                     if l[\u0027id\u0027] not in removed_ids]"},{"line_number":871,"context_line":"        return bool(removed_ids)"},{"line_number":872,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_22e9ec7f","line":869,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (105 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":867,"context_line":"            removed_ids.add(listener[\u0027id\u0027])"},{"line_number":868,"context_line":"        if removed_ids:"},{"line_number":869,"context_line":"            loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027] \u003d [l for l in loadbalancer_crd[\u0027status\u0027][\u0027listeners\u0027]"},{"line_number":870,"context_line":"                                     if l[\u0027id\u0027] not in removed_ids]"},{"line_number":871,"context_line":"        return bool(removed_ids)"},{"line_number":872,"context_line":""},{"line_number":873,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address):"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_02ee7087","line":870,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":892,"context_line":"        link_parts[-2] \u003d \u0027services\u0027"},{"line_number":893,"context_line":"        return \"/\".join(link_parts)"},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"    def _sync_lbaas_loadbalancer(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":896,"context_line":"        changed \u003d False"},{"line_number":897,"context_line":""},{"line_number":898,"context_line":"        lb \u003d loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027]"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_6202d440","line":895,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":904,"context_line":"                pub_info \u003d loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027]"},{"line_number":905,"context_line":"            except KeyError:"},{"line_number":906,"context_line":"                pub_info \u003d None"},{"line_number":907,"context_line":"            "},{"line_number":908,"context_line":"            if pub_info:"},{"line_number":909,"context_line":"                self._drv_service_pub_ip.disassociate_pub_ip("},{"line_number":910,"context_line":"                    loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027])"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_42ffd833","line":907,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":927,"context_line":"                    project_id\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027project_id\u0027),"},{"line_number":928,"context_line":"                    subnet_id\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027subnet_id\u0027),"},{"line_number":929,"context_line":"                    ip\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027ip\u0027),"},{"line_number":930,"context_line":"                    security_groups_ids\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027security_groups_ids\u0027),"},{"line_number":931,"context_line":"                    service_type\u003dloadbalancer_crd[\u0027spec\u0027].get(\u0027type\u0027),"},{"line_number":932,"context_line":"                    provider\u003dself._lb_provider)"},{"line_number":933,"context_line":"                changed \u003d True"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_a2fcdc3e","line":930,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (92 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":949,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":950,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":951,"context_line":"        except k_exc.K8sClientException:"},{"line_number":952,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":953,"context_line":"            raise "},{"line_number":954,"context_line":""},{"line_number":955,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_82f9e04e","line":952,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":950,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":951,"context_line":"        except k_exc.K8sClientException:"},{"line_number":952,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":953,"context_line":"            raise "},{"line_number":954,"context_line":""},{"line_number":955,"context_line":"        return changed"},{"line_number":956,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_e29384ff","line":953,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: W291 trailing whitespace","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ab8e74fd8cd8003c9eb073da91b8c4b739d7a2be","unresolved":false,"context_lines":[{"line_number":995,"context_line":"                          \" A retry will be triggered.\", attempts, lb_obj.name)"},{"line_number":996,"context_line":"                attempts +\u003d 1"},{"line_number":997,"context_line":"                retry \u003d True"},{"line_number":998,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_c298081d","line":998,"updated":"2020-05-04 22:56:42.000000000","message":"pep8: W391 blank line at end of file","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e258cd74413d0a224b6ec0b88bd214242aa18df","unresolved":false,"context_lines":[{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        return False"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    def on_finalize(self, endpoints):"},{"line_number":287,"context_line":"        LOG.debug(\"Deleting the loadbalancer CRD\")"},{"line_number":288,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":289,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_3c776b3d","line":286,"range":{"start_line":286,"start_character":0,"end_line":286,"end_character":37},"updated":"2020-05-11 12:05:48.000000000","message":"This method should be moved to the KuryrLoadBalancerHandler to avoid the need to retrieve the CRD again at line 290.\n\nThe on_finalize for the KuryrNetwork CRD can be taken as an example[1].\n\n[1] https://github.com/openshift/kuryr-kubernetes/blob/master/kuryr_kubernetes/controller/handlers/kuryrnetwork.py#L92","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"572387298f8b3d8e143dd65751ffbe7692be1b77","unresolved":false,"context_lines":[{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        return False"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    def on_finalize(self, endpoints):"},{"line_number":287,"context_line":"        LOG.debug(\"Deleting the loadbalancer CRD\")"},{"line_number":288,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":289,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_46bb6fc3","line":286,"range":{"start_line":286,"start_character":0,"end_line":286,"end_character":37},"in_reply_to":"ff570b3c_3c776b3d","updated":"2020-05-25 08:22:15.000000000","message":"Done","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e258cd74413d0a224b6ec0b88bd214242aa18df","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        # loadbalancer CRD"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":300,"context_line":"        LOG.debug(\u0027Removing finalizer from KuryrLoadBalancer CRD %s\u0027,"},{"line_number":301,"context_line":"                  loadbalancer_crd)"},{"line_number":302,"context_line":"        try:"},{"line_number":303,"context_line":"            kubernetes.patch_crd(\u0027metadata\u0027,"},{"line_number":304,"context_line":"                                 loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":305,"context_line":"                                 \u0027finalizers\u0027,"},{"line_number":306,"context_line":"                                 action\u003d\u0027remove\u0027)"},{"line_number":307,"context_line":"        except k_exc.K8sClientException:"},{"line_number":308,"context_line":"            LOG.exception(\u0027Error removing kuryrloadbalancer CRD finalizer\u0027"},{"line_number":309,"context_line":"                          \u0027for %s\u0027, loadbalancer_crd)"},{"line_number":310,"context_line":"            raise"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"        crd_name \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":313,"context_line":"        crd_namespace \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027namespace\u0027]"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_9ceb17af","line":310,"range":{"start_line":300,"start_character":0,"end_line":310,"end_character":17},"updated":"2020-05-11 12:05:48.000000000","message":"In order to ensure all the load balancer resources were cleaned up, the removal of the finalizer should be the last action performed in this method.","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"572387298f8b3d8e143dd65751ffbe7692be1b77","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        # loadbalancer CRD"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":300,"context_line":"        LOG.debug(\u0027Removing finalizer from KuryrLoadBalancer CRD %s\u0027,"},{"line_number":301,"context_line":"                  loadbalancer_crd)"},{"line_number":302,"context_line":"        try:"},{"line_number":303,"context_line":"            kubernetes.patch_crd(\u0027metadata\u0027,"},{"line_number":304,"context_line":"                                 loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":305,"context_line":"                                 \u0027finalizers\u0027,"},{"line_number":306,"context_line":"                                 action\u003d\u0027remove\u0027)"},{"line_number":307,"context_line":"        except k_exc.K8sClientException:"},{"line_number":308,"context_line":"            LOG.exception(\u0027Error removing kuryrloadbalancer CRD finalizer\u0027"},{"line_number":309,"context_line":"                          \u0027for %s\u0027, loadbalancer_crd)"},{"line_number":310,"context_line":"            raise"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"        crd_name \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":313,"context_line":"        crd_namespace \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027namespace\u0027]"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_66b673df","line":310,"range":{"start_line":300,"start_character":0,"end_line":310,"end_character":17},"in_reply_to":"ff570b3c_9ceb17af","updated":"2020-05-25 08:22:15.000000000","message":"Done","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e258cd74413d0a224b6ec0b88bd214242aa18df","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        crd_name \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":313,"context_line":"        crd_namespace \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":314,"context_line":"        self.on_deleted(endpoints)"},{"line_number":315,"context_line":"        self._del_loadbalancer_crd(crd_name, crd_namespace)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    def on_deleted(self, endpoints, loadbalancer_crd\u003dNone):"},{"line_number":318,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_1cd707f0","line":315,"range":{"start_line":315,"start_character":8,"end_line":315,"end_character":59},"updated":"2020-05-11 12:05:48.000000000","message":"When moving this method to the KuryrLoadBalancerHandler there is no need to delete the CRD anymore as the deletion of it was triggered by Kubernetes.","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"572387298f8b3d8e143dd65751ffbe7692be1b77","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        crd_name \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":313,"context_line":"        crd_namespace \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":314,"context_line":"        self.on_deleted(endpoints)"},{"line_number":315,"context_line":"        self._del_loadbalancer_crd(crd_name, crd_namespace)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    def on_deleted(self, endpoints, loadbalancer_crd\u003dNone):"},{"line_number":318,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_06a85775","line":315,"range":{"start_line":315,"start_character":8,"end_line":315,"end_character":59},"in_reply_to":"ff570b3c_1cd707f0","updated":"2020-05-25 08:22:15.000000000","message":"Done","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"61ecb4e585dbc9525ad25a546ddd8f22d0e34401","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":108,"context_line":"        namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":109,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":110,"context_line":"        ip_ \u003d self._get_service_ip(service)"},{"line_number":111,"context_line":"        spec_lb_ip \u003d service[\u0027spec\u0027].get(\u0027loadBalancerIP\u0027)"},{"line_number":112,"context_line":"        ports \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":113,"context_line":"        project_id \u003d self._drv_project.get_project(service)"}],"source_content_type":"text/x-python","patch_set":31,"id":"ff570b3c_d009e095","line":110,"range":{"start_line":110,"start_character":8,"end_line":110,"end_character":11},"updated":"2020-05-26 09:58:59.000000000","message":"perhaps rename it to svc_ip","commit_id":"aa8110332a728ca8c7cca54c9135eaf8b126eb3a"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":108,"context_line":"        namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":109,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":110,"context_line":"        ip_ \u003d self._get_service_ip(service)"},{"line_number":111,"context_line":"        spec_lb_ip \u003d service[\u0027spec\u0027].get(\u0027loadBalancerIP\u0027)"},{"line_number":112,"context_line":"        ports \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":113,"context_line":"        project_id \u003d self._drv_project.get_project(service)"}],"source_content_type":"text/x-python","patch_set":31,"id":"ff570b3c_5de1442a","line":110,"range":{"start_line":110,"start_character":8,"end_line":110,"end_character":11},"in_reply_to":"ff570b3c_d009e095","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"aa8110332a728ca8c7cca54c9135eaf8b126eb3a"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"156aeb8b904fd9d18cfb49ea273c32f27d432612","unresolved":false,"context_lines":[{"line_number":30,"context_line":"SUPPORTED_SERVICE_TYPES \u003d (\u0027ClusterIP\u0027, \u0027LoadBalancer\u0027)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class LBaaSSpecHandler(k8s_base.ResourceEventHandler):"},{"line_number":34,"context_line":"    \"\"\"LBaaSSpecHandler handles K8s Service events."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    LBaaSSpecHandler handles K8s Service events and updates related Endpoints"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_f33180a4","line":33,"range":{"start_line":33,"start_character":6,"end_line":33,"end_character":22},"updated":"2020-05-26 12:51:05.000000000","message":"I\u0027m pretty sure this is ServiceHandler now. :)","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":30,"context_line":"SUPPORTED_SERVICE_TYPES \u003d (\u0027ClusterIP\u0027, \u0027LoadBalancer\u0027)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class LBaaSSpecHandler(k8s_base.ResourceEventHandler):"},{"line_number":34,"context_line":"    \"\"\"LBaaSSpecHandler handles K8s Service events."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    LBaaSSpecHandler handles K8s Service events and updates related Endpoints"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_db7b80f1","line":33,"range":{"start_line":33,"start_character":6,"end_line":33,"end_character":22},"in_reply_to":"ff570b3c_f33180a4","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"73fa7afa9dd4bdde5c2fefbe28f8334bc570f63d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"SUPPORTED_SERVICE_TYPES \u003d (\u0027ClusterIP\u0027, \u0027LoadBalancer\u0027)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class LBaaSSpecHandler(k8s_base.ResourceEventHandler):"},{"line_number":34,"context_line":"    \"\"\"LBaaSSpecHandler handles K8s Service events."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    LBaaSSpecHandler handles K8s Service events and updates related Endpoints"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_89a3a2b1","line":33,"range":{"start_line":33,"start_character":6,"end_line":33,"end_character":22},"in_reply_to":"ff570b3c_f33180a4","updated":"2020-05-27 09:00:49.000000000","message":"yes please!","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"73fa7afa9dd4bdde5c2fefbe28f8334bc570f63d","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                not(self._has_clusterip(service)) or"},{"line_number":80,"context_line":"                not(self._is_supported_type(service)))"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def _has_selector(self, service):"},{"line_number":83,"context_line":"        return service[\u0027spec\u0027].get(\u0027selector\u0027)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _has_clusterip(self, service):"},{"line_number":86,"context_line":"        # ignore headless service, clusterIP is None"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_69ac4e8c","line":83,"range":{"start_line":82,"start_character":0,"end_line":83,"end_character":46},"updated":"2020-05-27 09:00:49.000000000","message":"we discussed the option to handle svc without selectors, even if this could be handle in a follow up, not sure if selector information need to be part of the CRD to ensure it can be done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                not(self._has_clusterip(service)) or"},{"line_number":80,"context_line":"                not(self._is_supported_type(service)))"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def _has_selector(self, service):"},{"line_number":83,"context_line":"        return service[\u0027spec\u0027].get(\u0027selector\u0027)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _has_clusterip(self, service):"},{"line_number":86,"context_line":"        # ignore headless service, clusterIP is None"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_5e9d9e55","line":83,"range":{"start_line":82,"start_character":0,"end_line":83,"end_character":46},"in_reply_to":"ff570b3c_69ac4e8c","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"61ecb4e585dbc9525ad25a546ddd8f22d0e34401","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def create_crd_spec(self, service):"},{"line_number":107,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":108,"context_line":"        namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":109,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":110,"context_line":"        ip_ \u003d self._get_service_ip(service)"},{"line_number":111,"context_line":"        spec_lb_ip \u003d service[\u0027spec\u0027].get(\u0027loadBalancerIP\u0027)"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_c47c78b7","line":108,"range":{"start_line":108,"start_character":8,"end_line":108,"end_character":17},"updated":"2020-05-26 09:58:59.000000000","message":"could you rename it to svc_namespace? it\u0027s easier to discover what namespace is it.","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def create_crd_spec(self, service):"},{"line_number":107,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":108,"context_line":"        namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":109,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":110,"context_line":"        ip_ \u003d self._get_service_ip(service)"},{"line_number":111,"context_line":"        spec_lb_ip \u003d service[\u0027spec\u0027].get(\u0027loadBalancerIP\u0027)"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_5d4f8433","line":108,"range":{"start_line":108,"start_character":8,"end_line":108,"end_character":17},"in_reply_to":"ff570b3c_c47c78b7","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"73fa7afa9dd4bdde5c2fefbe28f8334bc570f63d","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            return None"},{"line_number":157,"context_line":"        except k_exc.K8sClientException:"},{"line_number":158,"context_line":"            LOG.exception(\"Kubernetes Client Exception.\")"},{"line_number":159,"context_line":"            raise"},{"line_number":160,"context_line":"        return loadbalancer_crd"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def _update_crd_spec(self, loadbalancer_crd, service):"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_29d096f7","line":159,"range":{"start_line":159,"start_character":12,"end_line":159,"end_character":17},"updated":"2020-05-27 09:00:49.000000000","message":"should this raise a resource not ready to retry?","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            return None"},{"line_number":157,"context_line":"        except k_exc.K8sClientException:"},{"line_number":158,"context_line":"            LOG.exception(\"Kubernetes Client Exception.\")"},{"line_number":159,"context_line":"            raise"},{"line_number":160,"context_line":"        return loadbalancer_crd"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def _update_crd_spec(self, loadbalancer_crd, service):"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_1eea06ab","line":159,"range":{"start_line":159,"start_character":12,"end_line":159,"end_character":17},"in_reply_to":"ff570b3c_29d096f7","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"61ecb4e585dbc9525ad25a546ddd8f22d0e34401","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            raise"},{"line_number":160,"context_line":"        return loadbalancer_crd"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def _update_crd_spec(self, loadbalancer_crd, service):"},{"line_number":163,"context_line":"        svc_ip \u003d self._get_service_ip(service)"},{"line_number":164,"context_line":"        ports \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":165,"context_line":"        project_id \u003d self._drv_project.get_project(service)"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_c703da0e","line":162,"range":{"start_line":162,"start_character":8,"end_line":162,"end_character":24},"updated":"2020-05-26 09:58:59.000000000","message":"As we only check for ports and ip differences at _has_lbaas_spec_changes, there is no need to check the differences of project_id, subnet_id.\nAlso, it would be good to patch the crd with the new values on each of the differences encountered.","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            raise"},{"line_number":160,"context_line":"        return loadbalancer_crd"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def _update_crd_spec(self, loadbalancer_crd, service):"},{"line_number":163,"context_line":"        svc_ip \u003d self._get_service_ip(service)"},{"line_number":164,"context_line":"        ports \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":165,"context_line":"        project_id \u003d self._drv_project.get_project(service)"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_7d07e81d","line":162,"range":{"start_line":162,"start_character":8,"end_line":162,"end_character":24},"in_reply_to":"ff570b3c_c703da0e","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"156aeb8b904fd9d18cfb49ea273c32f27d432612","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            raise"},{"line_number":160,"context_line":"        return loadbalancer_crd"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def _update_crd_spec(self, loadbalancer_crd, service):"},{"line_number":163,"context_line":"        svc_ip \u003d self._get_service_ip(service)"},{"line_number":164,"context_line":"        ports \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":165,"context_line":"        project_id \u003d self._drv_project.get_project(service)"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_d3befcfd","line":162,"range":{"start_line":162,"start_character":8,"end_line":162,"end_character":24},"in_reply_to":"ff570b3c_c703da0e","updated":"2020-05-26 12:51:05.000000000","message":"I agree here, probably best to build the patch dict here.\n\nAlso seems like like IP of the service cannot ever change according to K8s API reference: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#servicespec-v1-core. I\u0027m not sure about type, but probably it\u0027s the same story (worth to just try doing it).","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"156aeb8b904fd9d18cfb49ea273c32f27d432612","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                              \u0027subnet_id\u0027: subnet_id,"},{"line_number":191,"context_line":"                              \u0027type\u0027: spec_type})"},{"line_number":192,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":193,"context_line":"            LOG.debug(\u0027KuryrLoadBalncer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":194,"context_line":"        except k_exc.K8sClientException:"},{"line_number":195,"context_line":"            LOG.exception(\u0027Error updating kuryrnet CRD %s\u0027, loadbalancer_crd)"},{"line_number":196,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_53cb0ca4","line":193,"range":{"start_line":193,"start_character":23,"end_line":193,"end_character":39},"updated":"2020-05-26 12:51:05.000000000","message":"Typo.","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                              \u0027subnet_id\u0027: subnet_id,"},{"line_number":191,"context_line":"                              \u0027type\u0027: spec_type})"},{"line_number":192,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":193,"context_line":"            LOG.debug(\u0027KuryrLoadBalncer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":194,"context_line":"        except k_exc.K8sClientException:"},{"line_number":195,"context_line":"            LOG.exception(\u0027Error updating kuryrnet CRD %s\u0027, loadbalancer_crd)"},{"line_number":196,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_bb768c05","line":193,"range":{"start_line":193,"start_character":23,"end_line":193,"end_character":39},"in_reply_to":"ff570b3c_53cb0ca4","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"156aeb8b904fd9d18cfb49ea273c32f27d432612","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                for port in utils.get_service_ports(service)]"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"class LoadBalancerHandler(k8s_base.ResourceEventHandler):"},{"line_number":223,"context_line":"    \"\"\"LoadBalancerHandler handles K8s Endpoints events."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    LoadBalancerHandler handles K8s Endpoints events and tracks changes in"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_9320044c","line":222,"range":{"start_line":222,"start_character":6,"end_line":222,"end_character":25},"updated":"2020-05-26 12:51:05.000000000","message":"And this is EndpointsHandler.","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                for port in utils.get_service_ports(service)]"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"class LoadBalancerHandler(k8s_base.ResourceEventHandler):"},{"line_number":223,"context_line":"    \"\"\"LoadBalancerHandler handles K8s Endpoints events."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    LoadBalancerHandler handles K8s Endpoints events and tracks changes in"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_1b5fb872","line":222,"range":{"start_line":222,"start_character":6,"end_line":222,"end_character":25},"in_reply_to":"ff570b3c_9320044c","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"73fa7afa9dd4bdde5c2fefbe28f8334bc570f63d","unresolved":false,"context_lines":[{"line_number":288,"context_line":"        # endpoints to process them. Thus, if annotations are not updated to"},{"line_number":289,"context_line":"        # match the endpoints information, we should skip the event"},{"line_number":290,"context_line":"        return not(self._has_pods(endpoints) and"},{"line_number":291,"context_line":"                   self._svc_handler_annotations_updated(endpoints,"},{"line_number":292,"context_line":"                                                         loadbalancer_crd))"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def _get_loadbalancer_crd(self, loadbalancer_crd_name, namespace):"},{"line_number":295,"context_line":"        k8s \u003d clients.get_kubernetes_client()"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_e90dfe90","line":292,"range":{"start_line":291,"start_character":0,"end_line":292,"end_character":75},"updated":"2020-05-27 09:00:49.000000000","message":"is this needed anymore with the new model? I think this check does not belong to this handler, but the loadbalancer.py (in case is still needed)","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":288,"context_line":"        # endpoints to process them. Thus, if annotations are not updated to"},{"line_number":289,"context_line":"        # match the endpoints information, we should skip the event"},{"line_number":290,"context_line":"        return not(self._has_pods(endpoints) and"},{"line_number":291,"context_line":"                   self._svc_handler_annotations_updated(endpoints,"},{"line_number":292,"context_line":"                                                         loadbalancer_crd))"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def _get_loadbalancer_crd(self, loadbalancer_crd_name, namespace):"},{"line_number":295,"context_line":"        k8s \u003d clients.get_kubernetes_client()"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_54b29de7","line":292,"range":{"start_line":291,"start_character":0,"end_line":292,"end_character":75},"in_reply_to":"ff570b3c_e90dfe90","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"ba9edf7f452bd5eece6c99fe4c31cf9583399c8f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"SUPPORTED_SERVICE_TYPES \u003d (\u0027ClusterIP\u0027, \u0027LoadBalancer\u0027)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class ServiceHandler(k8s_base.ResourceEventHandler):"},{"line_number":34,"context_line":"    \"\"\"ServiceHandler handles K8s Service events."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    ServiceHandler handles K8s Service events and updates related Endpoints"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_0cc79c47","line":33,"range":{"start_line":33,"start_character":6,"end_line":33,"end_character":20},"updated":"2020-06-18 07:38:38.000000000","message":"should not have an \"on_delete\" method that triggers the loadbalacner CRD deletion? (which will trigger the on_finalize on the loadbalancer.py handler)","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"ba9edf7f452bd5eece6c99fe4c31cf9583399c8f","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        if loadbalancer_crd is None:"},{"line_number":63,"context_line":"            loadbalancer_crd \u003d self.create_crd_spec(service)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if self._has_lbaas_spec_changes(service, loadbalancer_crd):"},{"line_number":66,"context_line":"            loadbalancer_crd \u003d self._update_crd_spec(loadbalancer_crd, service)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def _is_supported_type(self, service):"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_6ce73842","line":65,"range":{"start_line":65,"start_character":7,"end_line":65,"end_character":10},"updated":"2020-06-18 07:38:38.000000000","message":"nit: should this be a elif, continueing the if at line 62?","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"ba9edf7f452bd5eece6c99fe4c31cf9583399c8f","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        return None"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def _should_ignore(self, service):"},{"line_number":78,"context_line":"        return (not(self._has_clusterip(service)) or"},{"line_number":79,"context_line":"                not(self._is_supported_type(service)))"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def _has_clusterip(self, service):"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_8cd56c46","line":78,"range":{"start_line":78,"start_character":7,"end_line":78,"end_character":52},"updated":"2020-06-18 07:38:38.000000000","message":"nice that you remove the selector exception! But note this have implications in other pieces, like network policies enforcement. That could be fixed at a later stage of this patch set, but just to keep it in mind. One example of it: https://github.com/openstack/kuryr-kubernetes/blob/master/kuryr_kubernetes/controller/handlers/policy.py#L76","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"476d5843a92efd8d5ae4ad04f3b0205af4151bf0","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            \u0027kind\u0027: \u0027KuryrLoadBalancer\u0027,"},{"line_number":116,"context_line":"            \u0027metadata\u0027: {"},{"line_number":117,"context_line":"                \u0027name\u0027: svc_name,"},{"line_number":118,"context_line":"                \u0027finalizer\u0027: [k_const.KURYRLB_FINALIZER]"},{"line_number":119,"context_line":"                },"},{"line_number":120,"context_line":"            \u0027spec\u0027: {"},{"line_number":121,"context_line":"                \u0027ip\u0027: svc_ip,"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_e6cdd531","line":118,"range":{"start_line":118,"start_character":17,"end_line":118,"end_character":26},"updated":"2020-06-23 09:14:23.000000000","message":"typo: finalizers","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6265ee96f975ffdc30d79ba6ba4cbe91c3d5e9e9","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        try:"},{"line_number":136,"context_line":"            kubernetes.post(\u0027{}/{}/kuryrloadbalancers\u0027.format("},{"line_number":137,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, svc_namespace), loadbalancer_crd)"},{"line_number":138,"context_line":"        except k_exc.K8sClientException:"},{"line_number":139,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":140,"context_line":"                          \"kuryrloadbalancer CRD. %s\""}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_e39d2458","line":137,"updated":"2020-06-17 16:37:19.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6265ee96f975ffdc30d79ba6ba4cbe91c3d5e9e9","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"class EndpointsHandler(k8s_base.ResourceEventHandler):"},{"line_number":212,"context_line":"    \"\"\"EndpointsHandler handles K8s Endpoints events."},{"line_number":213,"context_line":"    \"\"\""},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    OBJECT_KIND \u003d k_const.K8S_OBJ_ENDPOINTS"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_43adf086","line":212,"updated":"2020-06-17 16:37:19.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6265ee96f975ffdc30d79ba6ba4cbe91c3d5e9e9","unresolved":false,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":"class EndpointsHandler(k8s_base.ResourceEventHandler):"},{"line_number":212,"context_line":"    \"\"\"EndpointsHandler handles K8s Endpoints events."},{"line_number":213,"context_line":"    \"\"\""},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    OBJECT_KIND \u003d k_const.K8S_OBJ_ENDPOINTS"},{"line_number":216,"context_line":"    OBJECT_WATCH_PATH \u003d \"%s/%s\" % (k_const.K8S_API_BASE, \"endpoints\")"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_23a8bc75","line":213,"updated":"2020-06-17 16:37:19.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"ba9edf7f452bd5eece6c99fe4c31cf9583399c8f","unresolved":false,"context_lines":[{"line_number":238,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd("},{"line_number":239,"context_line":"            endpoints_name, namespace)"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        if self._should_ignore(endpoints, loadbalancer_crd):"},{"line_number":242,"context_line":"            LOG.debug(\"Ignoring Kubernetes endpoints %s\","},{"line_number":243,"context_line":"                      endpoints[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":244,"context_line":"            return"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        if loadbalancer_crd is None:"},{"line_number":247,"context_line":"            loadbalancer_crd \u003d self._create_crd_spec(endpoints)"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_4cecf4f2","line":244,"range":{"start_line":241,"start_character":0,"end_line":244,"end_character":18},"updated":"2020-06-18 07:38:38.000000000","message":"do we need this now?","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"4867e35420f4af3790c526dd3ad80bce8ae35566","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        if loadbalancer_crd is None:"},{"line_number":63,"context_line":"            loadbalancer_crd \u003d self.create_crd_spec(service)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        elif self._has_lbaas_spec_changes(service, loadbalancer_crd):"},{"line_number":66,"context_line":"            loadbalancer_crd \u003d self._update_crd_spec(loadbalancer_crd, service)"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_b00f7a86","line":64,"updated":"2020-07-13 09:12:34.000000000","message":"nit: remove empty line","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"5663fa837c0e3db88b6d64c2a5151af03e90111e","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        if loadbalancer_crd is None:"},{"line_number":63,"context_line":"            loadbalancer_crd \u003d self.create_crd_spec(service)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        elif self._has_lbaas_spec_changes(service, loadbalancer_crd):"},{"line_number":66,"context_line":"            loadbalancer_crd \u003d self._update_crd_spec(loadbalancer_crd, service)"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_a0ac499f","line":64,"in_reply_to":"bf51134e_b00f7a86","updated":"2020-07-14 13:32:26.000000000","message":"Done","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"4867e35420f4af3790c526dd3ad80bce8ae35566","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        return None"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def _should_ignore(self, service):"},{"line_number":78,"context_line":"        return (not(self._has_selector(service)) or"},{"line_number":79,"context_line":"                not(self._has_clusterip(service)) or"},{"line_number":80,"context_line":"                not(self._is_supported_type(service)))"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_50737e16","line":78,"range":{"start_line":78,"start_character":15,"end_line":78,"end_character":51},"updated":"2020-07-13 09:12:34.000000000","message":"were API problems fixed due to re-adding this?","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"5663fa837c0e3db88b6d64c2a5151af03e90111e","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        return None"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def _should_ignore(self, service):"},{"line_number":78,"context_line":"        return (not(self._has_selector(service)) or"},{"line_number":79,"context_line":"                not(self._has_clusterip(service)) or"},{"line_number":80,"context_line":"                not(self._is_supported_type(service)))"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_c0a7bdbb","line":78,"range":{"start_line":78,"start_character":15,"end_line":78,"end_character":51},"in_reply_to":"bf51134e_50737e16","updated":"2020-07-14 13:32:26.000000000","message":"No, it was not, in the process I put it back and forget to remove it, this should not be here.","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"4867e35420f4af3790c526dd3ad80bce8ae35566","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                \u0027subnet_id\u0027: subnet_id,"},{"line_number":130,"context_line":"                \u0027type\u0027: spec_type"},{"line_number":131,"context_line":"                },"},{"line_number":132,"context_line":"            \u0027status\u0027: {"},{"line_number":133,"context_line":"                }"},{"line_number":134,"context_line":"            }"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if spec_lb_ip is not None:"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_707e82e4","line":133,"range":{"start_line":132,"start_character":0,"end_line":133,"end_character":17},"updated":"2020-07-13 09:12:34.000000000","message":"probably not needed","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"5663fa837c0e3db88b6d64c2a5151af03e90111e","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                \u0027subnet_id\u0027: subnet_id,"},{"line_number":130,"context_line":"                \u0027type\u0027: spec_type"},{"line_number":131,"context_line":"                },"},{"line_number":132,"context_line":"            \u0027status\u0027: {"},{"line_number":133,"context_line":"                }"},{"line_number":134,"context_line":"            }"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if spec_lb_ip is not None:"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_c0fcdd73","line":133,"range":{"start_line":132,"start_character":0,"end_line":133,"end_character":17},"in_reply_to":"bf51134e_707e82e4","updated":"2020-07-14 13:32:26.000000000","message":"In loadbalancer.py I am patching to the status part of the CRD like this: \ntry:\n   kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027][\n        \u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])\n\nSo I add the status part into the creation of the CRD, so than I can only update the status part of the CRD.\nIf you think it is not a good approach I can change it.","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"4867e35420f4af3790c526dd3ad80bce8ae35566","unresolved":false,"context_lines":[{"line_number":281,"context_line":"        return False"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"    def on_deleted(self, endpoints):"},{"line_number":284,"context_line":"        LOG.debug(\"Deleting endpointskkk\")"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":287,"context_line":"        svc_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_504c1ec7","line":284,"range":{"start_line":284,"start_character":37,"end_line":284,"end_character":40},"updated":"2020-07-13 09:12:34.000000000","message":"kkk :)","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"5663fa837c0e3db88b6d64c2a5151af03e90111e","unresolved":false,"context_lines":[{"line_number":281,"context_line":"        return False"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"    def on_deleted(self, endpoints):"},{"line_number":284,"context_line":"        LOG.debug(\"Deleting endpointskkk\")"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":287,"context_line":"        svc_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_808ae517","line":284,"range":{"start_line":284,"start_character":37,"end_line":284,"end_character":40},"in_reply_to":"bf51134e_504c1ec7","updated":"2020-07-14 13:32:26.000000000","message":"Thanks :)","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"4867e35420f4af3790c526dd3ad80bce8ae35566","unresolved":false,"context_lines":[{"line_number":292,"context_line":"        kubernetes.delete(klb_crd_path)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def _should_ignore(self, endpoints, loadbalancer_crd):"},{"line_number":295,"context_line":"        # NOTE(ltomasbo): we must wait until service handler has annotated the"},{"line_number":296,"context_line":"        # endpoints to process them. Thus, if annotations are not updated to"},{"line_number":297,"context_line":"        # match the endpoints information, we should skip the event"},{"line_number":298,"context_line":"        return not(self._has_pods(endpoints) and"},{"line_number":299,"context_line":"                   self._svc_handler_annotations_updated(endpoints,"},{"line_number":300,"context_line":"                                                         loadbalancer_crd))"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_3049aab6","line":297,"range":{"start_line":295,"start_character":0,"end_line":297,"end_character":67},"updated":"2020-07-13 09:12:34.000000000","message":"probably this comment is not needed anymore","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"5663fa837c0e3db88b6d64c2a5151af03e90111e","unresolved":false,"context_lines":[{"line_number":292,"context_line":"        kubernetes.delete(klb_crd_path)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def _should_ignore(self, endpoints, loadbalancer_crd):"},{"line_number":295,"context_line":"        # NOTE(ltomasbo): we must wait until service handler has annotated the"},{"line_number":296,"context_line":"        # endpoints to process them. Thus, if annotations are not updated to"},{"line_number":297,"context_line":"        # match the endpoints information, we should skip the event"},{"line_number":298,"context_line":"        return not(self._has_pods(endpoints) and"},{"line_number":299,"context_line":"                   self._svc_handler_annotations_updated(endpoints,"},{"line_number":300,"context_line":"                                                         loadbalancer_crd))"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_a001e96c","line":297,"range":{"start_line":295,"start_character":0,"end_line":297,"end_character":67},"in_reply_to":"bf51134e_3049aab6","updated":"2020-07-14 13:32:26.000000000","message":"Done","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"4867e35420f4af3790c526dd3ad80bce8ae35566","unresolved":false,"context_lines":[{"line_number":320,"context_line":"                   for address in subset.get(\u0027addresses\u0027, [])"},{"line_number":321,"context_line":"                   if address.get(\u0027targetRef\u0027, {}).get(\u0027kind\u0027) \u003d\u003d \u0027Pod\u0027)"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    def _get_loadbalancer_crd(self, loadbalancer_crd_name, namespace):"},{"line_number":324,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":325,"context_line":"        try:"},{"line_number":326,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_b0d2dacf","line":323,"range":{"start_line":323,"start_character":0,"end_line":323,"end_character":70},"updated":"2020-07-13 09:12:34.000000000","message":"this is the same for both classes, right? probably it can be reused by moving it out of the classes, or moving it to utils","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"5663fa837c0e3db88b6d64c2a5151af03e90111e","unresolved":false,"context_lines":[{"line_number":320,"context_line":"                   for address in subset.get(\u0027addresses\u0027, [])"},{"line_number":321,"context_line":"                   if address.get(\u0027targetRef\u0027, {}).get(\u0027kind\u0027) \u003d\u003d \u0027Pod\u0027)"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    def _get_loadbalancer_crd(self, loadbalancer_crd_name, namespace):"},{"line_number":324,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":325,"context_line":"        try:"},{"line_number":326,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_a6fbaf76","line":323,"range":{"start_line":323,"start_character":0,"end_line":323,"end_character":70},"in_reply_to":"bf51134e_b0d2dacf","updated":"2020-07-14 13:32:26.000000000","message":"I will move it to utils. thanks for suggestion.","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d630d3c4e148a00e9cb871051019428d08882811","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                  service[\"metadata\"][\"name\"])"},{"line_number":95,"context_line":"        try:"},{"line_number":96,"context_line":"            kubernetes.patch(\u0027metadata\u0027,"},{"line_number":97,"context_line":"                                 service[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":98,"context_line":"                                 {\u0027finalizers\u0027: []})"},{"line_number":99,"context_line":"        except k_exc.K8sClientException:"},{"line_number":100,"context_line":"            LOG.exception(\u0027Error removing service finalizer\u0027"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_283809d1","line":97,"updated":"2020-07-14 16:38:52.000000000","message":"pep8: E127 continuation line over-indented for visual indent","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d630d3c4e148a00e9cb871051019428d08882811","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        try:"},{"line_number":96,"context_line":"            kubernetes.patch(\u0027metadata\u0027,"},{"line_number":97,"context_line":"                                 service[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":98,"context_line":"                                 {\u0027finalizers\u0027: []})"},{"line_number":99,"context_line":"        except k_exc.K8sClientException:"},{"line_number":100,"context_line":"            LOG.exception(\u0027Error removing service finalizer\u0027"},{"line_number":101,"context_line":"                          \u0027for %s\u0027, service[\"metadata\"][\"name\"])"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_883315f6","line":98,"updated":"2020-07-14 16:38:52.000000000","message":"pep8: E127 continuation line over-indented for visual indent","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"fe0d5e130c88f11d39a0c8d2212dab5994cf8e8f","unresolved":false,"context_lines":[{"line_number":315,"context_line":"                        f\"{svc_namespace}/kuryrloadbalancers/{svc_name}\")"},{"line_number":316,"context_line":"        kubernetes.delete(klb_crd_path)"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"    def _should_ignore(self, endpoints, loadbalancer_crd):"},{"line_number":319,"context_line":"        return not(self._has_pods(endpoints) and"},{"line_number":320,"context_line":"                   self._svc_handler_annotations_updated(endpoints,"},{"line_number":321,"context_line":"                                                         loadbalancer_crd))"}],"source_content_type":"text/x-python","patch_set":38,"id":"bf51134e_afdfa60a","line":318,"range":{"start_line":318,"start_character":8,"end_line":318,"end_character":22},"updated":"2020-07-20 23:58:21.000000000","message":"could you make sure to also ignore when no CRD was created yet? If not ignored the has_port_changes check at line 327 will fail as no CRD is present.","commit_id":"3f928b0135808b9c81c0dbcac1afef96afb700d9"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"7dbaee08ad23fea0cca6807498d5b5ae350ab747","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            return service[\u0027spec\u0027].get(\u0027clusterIP\u0027)"},{"line_number":79,"context_line":"        return None"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def _should_ignore(self, service):"},{"line_number":82,"context_line":"        return (not(self._has_clusterip(service)) or"},{"line_number":83,"context_line":"                not(self._is_supported_type(service)))"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_aebf5a5e","line":81,"range":{"start_line":81,"start_character":4,"end_line":81,"end_character":38},"updated":"2020-07-24 10:09:26.000000000","message":"nice you remove the has_selector, though we need to check there is no implications with that (like kuryr removing the CNO lbs). Or that we don\u0027t continuously try to create the kubernetes/API loadbalancers as that is created by CNO, so we may need to add a special skip for that one","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3cb272b34f1f873bf7dfefdba28f717fe2cb293c","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        return (not(self._has_clusterip(service)) or"},{"line_number":83,"context_line":"                not(self._is_supported_type(service)))"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _patch_service_finalizer(self, service):"},{"line_number":86,"context_line":"        finalizer \u003d [k_const.SERVICE_FINALIZER]"},{"line_number":87,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":88,"context_line":"        k8s.patch(\u0027metadata\u0027, service[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":89,"context_line":"                  {\u0027finalizers\u0027: finalizer})"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def on_finalize(self, service):"},{"line_number":92,"context_line":"        k8s \u003d clients.get_kubernetes_client()"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_2bae95e6","line":89,"range":{"start_line":85,"start_character":0,"end_line":89,"end_character":44},"updated":"2020-07-24 14:51:57.000000000","message":"You can rebase this patch on top of https://review.opendev.org/#/c/742887/ and use k8s.add_finalizer.","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        return (not(self._has_clusterip(service)) or"},{"line_number":83,"context_line":"                not(self._is_supported_type(service)))"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _patch_service_finalizer(self, service):"},{"line_number":86,"context_line":"        finalizer \u003d [k_const.SERVICE_FINALIZER]"},{"line_number":87,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":88,"context_line":"        k8s.patch(\u0027metadata\u0027, service[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":89,"context_line":"                  {\u0027finalizers\u0027: finalizer})"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def on_finalize(self, service):"},{"line_number":92,"context_line":"        k8s \u003d clients.get_kubernetes_client()"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_1c94108b","line":89,"range":{"start_line":85,"start_character":0,"end_line":89,"end_character":44},"in_reply_to":"bf51134e_2bae95e6","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        return (not(self._has_clusterip(service)) or"},{"line_number":83,"context_line":"                not(self._is_supported_type(service)))"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _patch_service_finalizer(self, service):"},{"line_number":86,"context_line":"        finalizer \u003d [k_const.SERVICE_FINALIZER]"},{"line_number":87,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":88,"context_line":"        k8s.patch(\u0027metadata\u0027, service[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":89,"context_line":"                  {\u0027finalizers\u0027: finalizer})"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def on_finalize(self, service):"},{"line_number":92,"context_line":"        k8s \u003d clients.get_kubernetes_client()"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_fc5b1c84","line":89,"range":{"start_line":85,"start_character":0,"end_line":89,"end_character":44},"in_reply_to":"bf51134e_2bae95e6","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"7dbaee08ad23fea0cca6807498d5b5ae350ab747","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        k8s.patch(\u0027metadata\u0027, service[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":89,"context_line":"                  {\u0027finalizers\u0027: finalizer})"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def on_finalize(self, service):"},{"line_number":92,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":93,"context_line":"        LOG.debug(\u0027Removing finalizer from service %s\u0027,"},{"line_number":94,"context_line":"                  service[\"metadata\"][\"name\"])"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_ae647a22","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":35},"updated":"2020-07-24 10:09:26.000000000","message":"don\u0027t we need to remove the KuryrLoadbalancer CRD too? And only remove the service if that CRD is not found? (as Roman did on his patch)","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        k8s.patch(\u0027metadata\u0027, service[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":89,"context_line":"                  {\u0027finalizers\u0027: finalizer})"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def on_finalize(self, service):"},{"line_number":92,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":93,"context_line":"        LOG.debug(\u0027Removing finalizer from service %s\u0027,"},{"line_number":94,"context_line":"                  service[\"metadata\"][\"name\"])"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_3c559451","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":35},"in_reply_to":"bf51134e_8b888171","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        k8s.patch(\u0027metadata\u0027, service[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":89,"context_line":"                  {\u0027finalizers\u0027: finalizer})"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def on_finalize(self, service):"},{"line_number":92,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":93,"context_line":"        LOG.debug(\u0027Removing finalizer from service %s\u0027,"},{"line_number":94,"context_line":"                  service[\"metadata\"][\"name\"])"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_7c91cc99","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":35},"in_reply_to":"bf51134e_8b888171","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3cb272b34f1f873bf7dfefdba28f717fe2cb293c","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        k8s.patch(\u0027metadata\u0027, service[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":89,"context_line":"                  {\u0027finalizers\u0027: finalizer})"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def on_finalize(self, service):"},{"line_number":92,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":93,"context_line":"        LOG.debug(\u0027Removing finalizer from service %s\u0027,"},{"line_number":94,"context_line":"                  service[\"metadata\"][\"name\"])"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_8b888171","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":35},"in_reply_to":"bf51134e_ae647a22","updated":"2020-07-24 14:51:57.000000000","message":"Yup, we need k8s.delete() done on KuryrLoadBalancer too.","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"7dbaee08ad23fea0cca6807498d5b5ae350ab747","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        LOG.debug(\u0027Removing finalizer from service %s\u0027,"},{"line_number":94,"context_line":"                  service[\"metadata\"][\"name\"])"},{"line_number":95,"context_line":"        try:"},{"line_number":96,"context_line":"            k8s.patch(\u0027metadata\u0027, service[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":97,"context_line":"                      {\u0027finalizers\u0027: []})"},{"line_number":98,"context_line":"        except k_exc.K8sClientException:"},{"line_number":99,"context_line":"            LOG.exception(\u0027Error removing service finalizer\u0027"},{"line_number":100,"context_line":"                          \u0027for %s\u0027, service[\"metadata\"][\"name\"])"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_6ea54247","line":97,"range":{"start_line":96,"start_character":0,"end_line":97,"end_character":41},"updated":"2020-07-24 10:09:26.000000000","message":"services may have other finalizers. We need to ensure we only remove ours (kuryr one)","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3cb272b34f1f873bf7dfefdba28f717fe2cb293c","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        LOG.debug(\u0027Removing finalizer from service %s\u0027,"},{"line_number":94,"context_line":"                  service[\"metadata\"][\"name\"])"},{"line_number":95,"context_line":"        try:"},{"line_number":96,"context_line":"            k8s.patch(\u0027metadata\u0027, service[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":97,"context_line":"                      {\u0027finalizers\u0027: []})"},{"line_number":98,"context_line":"        except k_exc.K8sClientException:"},{"line_number":99,"context_line":"            LOG.exception(\u0027Error removing service finalizer\u0027"},{"line_number":100,"context_line":"                          \u0027for %s\u0027, service[\"metadata\"][\"name\"])"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_cb7ef968","line":97,"range":{"start_line":96,"start_character":0,"end_line":97,"end_character":41},"in_reply_to":"bf51134e_6ea54247","updated":"2020-07-24 14:51:57.000000000","message":"That can be handled by remove_finalizer() i implemented in https://review.opendev.org/#/c/742887/, just rebase this patch on top of it.,","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        LOG.debug(\u0027Removing finalizer from service %s\u0027,"},{"line_number":94,"context_line":"                  service[\"metadata\"][\"name\"])"},{"line_number":95,"context_line":"        try:"},{"line_number":96,"context_line":"            k8s.patch(\u0027metadata\u0027, service[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":97,"context_line":"                      {\u0027finalizers\u0027: []})"},{"line_number":98,"context_line":"        except k_exc.K8sClientException:"},{"line_number":99,"context_line":"            LOG.exception(\u0027Error removing service finalizer\u0027"},{"line_number":100,"context_line":"                          \u0027for %s\u0027, service[\"metadata\"][\"name\"])"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_5c8e8878","line":97,"range":{"start_line":96,"start_character":0,"end_line":97,"end_character":41},"in_reply_to":"bf51134e_cb7ef968","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        LOG.debug(\u0027Removing finalizer from service %s\u0027,"},{"line_number":94,"context_line":"                  service[\"metadata\"][\"name\"])"},{"line_number":95,"context_line":"        try:"},{"line_number":96,"context_line":"            k8s.patch(\u0027metadata\u0027, service[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":97,"context_line":"                      {\u0027finalizers\u0027: []})"},{"line_number":98,"context_line":"        except k_exc.K8sClientException:"},{"line_number":99,"context_line":"            LOG.exception(\u0027Error removing service finalizer\u0027"},{"line_number":100,"context_line":"                          \u0027for %s\u0027, service[\"metadata\"][\"name\"])"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_7c4f0cbd","line":97,"range":{"start_line":96,"start_character":0,"end_line":97,"end_character":41},"in_reply_to":"bf51134e_cb7ef968","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"6bca5e3a1c20abf113c33f9122a57fcb2ba5d684","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":166,"context_line":"                          \"kuryrloadbalancer CRD. %s\""},{"line_number":167,"context_line":"                          % k_exc.K8sClientException)"},{"line_number":168,"context_line":"            raise"},{"line_number":169,"context_line":"        return loadbalancer_crd"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def _get_loadbalancer_crd(self, loadbalancer_crd_name, namespace):"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_f26af318","line":168,"range":{"start_line":168,"start_character":12,"end_line":168,"end_character":17},"updated":"2020-07-22 21:03:58.000000000","message":"In case there is a failure to create or update CRD we need to retry the operation by raising:\nraise exceptions.ResourceNotReady(loadbalancer_crd)","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"e20740e27342df78dd03863564b97847df622f19","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":166,"context_line":"                          \"kuryrloadbalancer CRD. %s\""},{"line_number":167,"context_line":"                          % k_exc.K8sClientException)"},{"line_number":168,"context_line":"            raise"},{"line_number":169,"context_line":"        return loadbalancer_crd"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def _get_loadbalancer_crd(self, loadbalancer_crd_name, namespace):"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_9d6008d1","line":168,"range":{"start_line":168,"start_character":12,"end_line":168,"end_character":17},"in_reply_to":"bf51134e_f26af318","updated":"2020-07-29 15:57:56.000000000","message":"\u003e In case there is a failure to create or update CRD we need to retry\n \u003e the operation by raising:\n \u003e raise exceptions.ResourceNotReady(loadbalancer_crd)","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3cb272b34f1f873bf7dfefdba28f717fe2cb293c","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":166,"context_line":"                          \"kuryrloadbalancer CRD. %s\""},{"line_number":167,"context_line":"                          % k_exc.K8sClientException)"},{"line_number":168,"context_line":"            raise"},{"line_number":169,"context_line":"        return loadbalancer_crd"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def _get_loadbalancer_crd(self, loadbalancer_crd_name, namespace):"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_4bdf8965","line":168,"range":{"start_line":168,"start_character":12,"end_line":168,"end_character":17},"in_reply_to":"bf51134e_f26af318","updated":"2020-07-24 14:51:57.000000000","message":"Uhm, I disagree a bit here, anyway that\u0027s something we can handle later on in a unified fashion for all the K8s POST operations we do.","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"6bca5e3a1c20abf113c33f9122a57fcb2ba5d684","unresolved":false,"context_lines":[{"line_number":212,"context_line":"            LOG.debug(\u0027KuryrLoadBalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":213,"context_line":"        except k_exc.K8sClientException:"},{"line_number":214,"context_line":"            LOG.exception(\u0027Error updating kuryrnet CRD %s\u0027, loadbalancer_crd)"},{"line_number":215,"context_line":"            raise"},{"line_number":216,"context_line":"        return loadbalancer_crd"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    def _has_lbaas_spec_changes(self, service, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_d2652f4b","line":215,"range":{"start_line":215,"start_character":12,"end_line":215,"end_character":17},"updated":"2020-07-22 21:03:58.000000000","message":"ditto","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":212,"context_line":"            LOG.debug(\u0027KuryrLoadBalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":213,"context_line":"        except k_exc.K8sClientException:"},{"line_number":214,"context_line":"            LOG.exception(\u0027Error updating kuryrnet CRD %s\u0027, loadbalancer_crd)"},{"line_number":215,"context_line":"            raise"},{"line_number":216,"context_line":"        return loadbalancer_crd"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    def _has_lbaas_spec_changes(self, service, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_bcc6c415","line":215,"range":{"start_line":215,"start_character":12,"end_line":215,"end_character":17},"in_reply_to":"bf51134e_d2652f4b","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":212,"context_line":"            LOG.debug(\u0027KuryrLoadBalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":213,"context_line":"        except k_exc.K8sClientException:"},{"line_number":214,"context_line":"            LOG.exception(\u0027Error updating kuryrnet CRD %s\u0027, loadbalancer_crd)"},{"line_number":215,"context_line":"            raise"},{"line_number":216,"context_line":"        return loadbalancer_crd"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    def _has_lbaas_spec_changes(self, service, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_fcdcbc47","line":215,"range":{"start_line":215,"start_character":12,"end_line":215,"end_character":17},"in_reply_to":"bf51134e_d2652f4b","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"6bca5e3a1c20abf113c33f9122a57fcb2ba5d684","unresolved":false,"context_lines":[{"line_number":315,"context_line":"                        f\"{svc_namespace}/kuryrloadbalancers/{svc_name}\")"},{"line_number":316,"context_line":"        kubernetes.delete(klb_crd_path)"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"    def _should_ignore(self, endpoints, loadbalancer_crd):"},{"line_number":319,"context_line":"        return not(self._has_pods(endpoints) and"},{"line_number":320,"context_line":"                   self._svc_handler_annotations_updated(endpoints,"},{"line_number":321,"context_line":"                                                         loadbalancer_crd))"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_92b737f6","line":318,"range":{"start_line":318,"start_character":8,"end_line":318,"end_character":22},"updated":"2020-07-22 21:03:58.000000000","message":"As service and endpoint handler can be called in random order upon a service creation, it\u0027s possible that the endpoints handler is first called and the following error happen http://paste.openstack.org/show/796221/.\n\nTo avoid this error you could add an additional condition to the _svc_handler_annotations_updated method that checks if there\u0027s no crd and return true to not ignore the handling of the event.","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"7dbaee08ad23fea0cca6807498d5b5ae350ab747","unresolved":false,"context_lines":[{"line_number":325,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":326,"context_line":"        service \u003d k8s.get(svc_link)"},{"line_number":327,"context_line":"        if utils.has_port_changes(service, loadbalancer_crd):"},{"line_number":328,"context_line":"            # NOTE(ltomasbo): Ensuring lbaas_spec annotated on the endpoints"},{"line_number":329,"context_line":"            # is in sync with the service status, i.e., upon a service"},{"line_number":330,"context_line":"            # modification it will ensure endpoint modifications are not"},{"line_number":331,"context_line":"            # handled until the service handler has performed its annotations"},{"line_number":332,"context_line":"            return False"},{"line_number":333,"context_line":"        return True"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"    def _has_pods(self, endpoints):"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_ce18ce85","line":332,"range":{"start_line":328,"start_character":0,"end_line":332,"end_character":24},"updated":"2020-07-24 10:09:26.000000000","message":"probably this NOTE does not make any sense now","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":325,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":326,"context_line":"        service \u003d k8s.get(svc_link)"},{"line_number":327,"context_line":"        if utils.has_port_changes(service, loadbalancer_crd):"},{"line_number":328,"context_line":"            # NOTE(ltomasbo): Ensuring lbaas_spec annotated on the endpoints"},{"line_number":329,"context_line":"            # is in sync with the service status, i.e., upon a service"},{"line_number":330,"context_line":"            # modification it will ensure endpoint modifications are not"},{"line_number":331,"context_line":"            # handled until the service handler has performed its annotations"},{"line_number":332,"context_line":"            return False"},{"line_number":333,"context_line":"        return True"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"    def _has_pods(self, endpoints):"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_bc61a43c","line":332,"range":{"start_line":328,"start_character":0,"end_line":332,"end_character":24},"in_reply_to":"bf51134e_ce18ce85","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"7dbaee08ad23fea0cca6807498d5b5ae350ab747","unresolved":false,"context_lines":[{"line_number":341,"context_line":"                   for address in subset.get(\u0027addresses\u0027, [])"},{"line_number":342,"context_line":"                   if address.get(\u0027targetRef\u0027, {}).get(\u0027kind\u0027) \u003d\u003d \u0027Pod\u0027)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    def _get_loadbalancer_crd(self, loadbalancer_crd_name, namespace):"},{"line_number":345,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":346,"context_line":"        try:"},{"line_number":347,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("},{"line_number":348,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace,"},{"line_number":349,"context_line":"                loadbalancer_crd_name))"},{"line_number":350,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":351,"context_line":"            return None"},{"line_number":352,"context_line":"        except k_exc.K8sClientException:"},{"line_number":353,"context_line":"            LOG.exception(\"Kubernetes Client Exception.\")"},{"line_number":354,"context_line":"            raise"},{"line_number":355,"context_line":"        return loadbalancer_crd"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def _create_crd_spec(self, endpoints):"},{"line_number":358,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_49115853","line":355,"range":{"start_line":344,"start_character":0,"end_line":355,"end_character":31},"updated":"2020-07-24 10:09:26.000000000","message":"exactly the same as the function in the other class. And it does not require any class information, so both function can be moved away from the class and not duplicate code","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":341,"context_line":"                   for address in subset.get(\u0027addresses\u0027, [])"},{"line_number":342,"context_line":"                   if address.get(\u0027targetRef\u0027, {}).get(\u0027kind\u0027) \u003d\u003d \u0027Pod\u0027)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    def _get_loadbalancer_crd(self, loadbalancer_crd_name, namespace):"},{"line_number":345,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":346,"context_line":"        try:"},{"line_number":347,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("},{"line_number":348,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace,"},{"line_number":349,"context_line":"                loadbalancer_crd_name))"},{"line_number":350,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":351,"context_line":"            return None"},{"line_number":352,"context_line":"        except k_exc.K8sClientException:"},{"line_number":353,"context_line":"            LOG.exception(\"Kubernetes Client Exception.\")"},{"line_number":354,"context_line":"            raise"},{"line_number":355,"context_line":"        return loadbalancer_crd"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def _create_crd_spec(self, endpoints):"},{"line_number":358,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_5fa95a79","line":355,"range":{"start_line":344,"start_character":0,"end_line":355,"end_character":31},"in_reply_to":"bf51134e_0b70f171","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3cb272b34f1f873bf7dfefdba28f717fe2cb293c","unresolved":false,"context_lines":[{"line_number":341,"context_line":"                   for address in subset.get(\u0027addresses\u0027, [])"},{"line_number":342,"context_line":"                   if address.get(\u0027targetRef\u0027, {}).get(\u0027kind\u0027) \u003d\u003d \u0027Pod\u0027)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    def _get_loadbalancer_crd(self, loadbalancer_crd_name, namespace):"},{"line_number":345,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":346,"context_line":"        try:"},{"line_number":347,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("},{"line_number":348,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace,"},{"line_number":349,"context_line":"                loadbalancer_crd_name))"},{"line_number":350,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":351,"context_line":"            return None"},{"line_number":352,"context_line":"        except k_exc.K8sClientException:"},{"line_number":353,"context_line":"            LOG.exception(\"Kubernetes Client Exception.\")"},{"line_number":354,"context_line":"            raise"},{"line_number":355,"context_line":"        return loadbalancer_crd"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def _create_crd_spec(self, endpoints):"},{"line_number":358,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_0b70f171","line":355,"range":{"start_line":344,"start_character":0,"end_line":355,"end_character":31},"in_reply_to":"bf51134e_49115853","updated":"2020-07-24 14:51:57.000000000","message":"This should be done in K8s client anyway, but yes, for now it can just go as a static function on top of the file.","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"6bca5e3a1c20abf113c33f9122a57fcb2ba5d684","unresolved":false,"context_lines":[{"line_number":382,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":383,"context_line":"                          \"kuryrloadbalancer CRD. %s\" %"},{"line_number":384,"context_line":"                          k_exc.K8sClientException)"},{"line_number":385,"context_line":"            raise"},{"line_number":386,"context_line":"        return loadbalancer_crd"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"    def _update_crd_spec(self, loadbalancer_crd, endpoints):"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_7260a336","line":385,"range":{"start_line":385,"start_character":12,"end_line":385,"end_character":17},"updated":"2020-07-22 21:03:58.000000000","message":"could you update this to raise resourceNotReady?","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":382,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":383,"context_line":"                          \"kuryrloadbalancer CRD. %s\" %"},{"line_number":384,"context_line":"                          k_exc.K8sClientException)"},{"line_number":385,"context_line":"            raise"},{"line_number":386,"context_line":"        return loadbalancer_crd"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"    def _update_crd_spec(self, loadbalancer_crd, endpoints):"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_9cc02053","line":385,"range":{"start_line":385,"start_character":12,"end_line":385,"end_character":17},"in_reply_to":"bf51134e_7260a336","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":382,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":383,"context_line":"                          \"kuryrloadbalancer CRD. %s\" %"},{"line_number":384,"context_line":"                          k_exc.K8sClientException)"},{"line_number":385,"context_line":"            raise"},{"line_number":386,"context_line":"        return loadbalancer_crd"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"    def _update_crd_spec(self, loadbalancer_crd, endpoints):"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_bcefe485","line":385,"range":{"start_line":385,"start_character":12,"end_line":385,"end_character":17},"in_reply_to":"bf51134e_7260a336","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"6bca5e3a1c20abf113c33f9122a57fcb2ba5d684","unresolved":false,"context_lines":[{"line_number":399,"context_line":"        except k_exc.K8sClientException:"},{"line_number":400,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027,"},{"line_number":401,"context_line":"                          loadbalancer_crd)"},{"line_number":402,"context_line":"            raise"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"        return loadbalancer_crd"},{"line_number":405,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_b25a3b80","line":402,"range":{"start_line":402,"start_character":12,"end_line":402,"end_character":17},"updated":"2020-07-22 21:03:58.000000000","message":"ditto","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":399,"context_line":"        except k_exc.K8sClientException:"},{"line_number":400,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027,"},{"line_number":401,"context_line":"                          loadbalancer_crd)"},{"line_number":402,"context_line":"            raise"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"        return loadbalancer_crd"},{"line_number":405,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_3ccf5480","line":402,"range":{"start_line":402,"start_character":12,"end_line":402,"end_character":17},"in_reply_to":"bf51134e_b25a3b80","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":399,"context_line":"        except k_exc.K8sClientException:"},{"line_number":400,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027,"},{"line_number":401,"context_line":"                          loadbalancer_crd)"},{"line_number":402,"context_line":"            raise"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"        return loadbalancer_crd"},{"line_number":405,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_fce95c80","line":402,"range":{"start_line":402,"start_character":12,"end_line":402,"end_character":17},"in_reply_to":"bf51134e_b25a3b80","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                not(self._is_supported_type(service)))"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _patch_service_finalizer(self, service):"},{"line_number":86,"context_line":"        finalizer \u003d [k_const.SERVICE_FINALIZER]"},{"line_number":87,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":88,"context_line":"        k8s.add_finalizer(service, k_const.SERVICE_FINALIZER)"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_0b0e848c","line":86,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: F841 local variable \u0027finalizer\u0027 is assigned to but never used","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"f01765b1049ad5f2df751bdbca9ec8a6c4f32445","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def on_finalize(self, service):"},{"line_number":88,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":89,"context_line":"        LOG.debug(\u0027Removing finalizer from service %s\u0027,"},{"line_number":90,"context_line":"                  service[\"metadata\"][\"name\"])"},{"line_number":91,"context_line":"        try:"},{"line_number":92,"context_line":"            k8s.remove_finalizer(service, k_const.SERVICE_FINALIZER)"},{"line_number":93,"context_line":"        except k_exc.K8sClientException:"},{"line_number":94,"context_line":"            LOG.exception(\u0027Error removing service finalizer\u0027"},{"line_number":95,"context_line":"                          \u0027for %s\u0027, service[\"metadata\"][\"name\"])"},{"line_number":96,"context_line":"            raise"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":99,"context_line":"        svc_namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"}],"source_content_type":"text/x-python","patch_set":52,"id":"9f560f44_9f73dbb1","line":96,"range":{"start_line":89,"start_character":0,"end_line":96,"end_character":17},"updated":"2020-07-29 09:47:01.000000000","message":"If the service\u0027s finalizer is removed while handling the on_finalize for the service deletion event, the service will get removed before the klb CRD is removed.\n\nTo enforce the svc is only removed when the CRD is gone, this code block should move to the lbaas.py on the on_finalize after the removal on the finalizer on the CRD.","commit_id":"4f82cc75bbd6339ba1c370cef6dba6d3daf9924b"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"e20740e27342df78dd03863564b97847df622f19","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def on_finalize(self, service):"},{"line_number":88,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":89,"context_line":"        LOG.debug(\u0027Removing finalizer from service %s\u0027,"},{"line_number":90,"context_line":"                  service[\"metadata\"][\"name\"])"},{"line_number":91,"context_line":"        try:"},{"line_number":92,"context_line":"            k8s.remove_finalizer(service, k_const.SERVICE_FINALIZER)"},{"line_number":93,"context_line":"        except k_exc.K8sClientException:"},{"line_number":94,"context_line":"            LOG.exception(\u0027Error removing service finalizer\u0027"},{"line_number":95,"context_line":"                          \u0027for %s\u0027, service[\"metadata\"][\"name\"])"},{"line_number":96,"context_line":"            raise"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":99,"context_line":"        svc_namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"}],"source_content_type":"text/x-python","patch_set":52,"id":"9f560f44_82f0a469","line":96,"range":{"start_line":89,"start_character":0,"end_line":96,"end_character":17},"in_reply_to":"9f560f44_029814be","updated":"2020-07-29 15:57:56.000000000","message":"Done","commit_id":"4f82cc75bbd6339ba1c370cef6dba6d3daf9924b"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"8b5cda882b60bbe0a11f27c3e4cd62d52b40c60c","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def on_finalize(self, service):"},{"line_number":88,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":89,"context_line":"        LOG.debug(\u0027Removing finalizer from service %s\u0027,"},{"line_number":90,"context_line":"                  service[\"metadata\"][\"name\"])"},{"line_number":91,"context_line":"        try:"},{"line_number":92,"context_line":"            k8s.remove_finalizer(service, k_const.SERVICE_FINALIZER)"},{"line_number":93,"context_line":"        except k_exc.K8sClientException:"},{"line_number":94,"context_line":"            LOG.exception(\u0027Error removing service finalizer\u0027"},{"line_number":95,"context_line":"                          \u0027for %s\u0027, service[\"metadata\"][\"name\"])"},{"line_number":96,"context_line":"            raise"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":99,"context_line":"        svc_namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"}],"source_content_type":"text/x-python","patch_set":52,"id":"9f560f44_029814be","line":96,"range":{"start_line":89,"start_character":0,"end_line":96,"end_character":17},"in_reply_to":"9f560f44_9f73dbb1","updated":"2020-07-29 10:41:47.000000000","message":"Yes, this part should go to the KuryrLoadBalancer CRD handler.","commit_id":"4f82cc75bbd6339ba1c370cef6dba6d3daf9924b"}],"kuryr_kubernetes/controller/handlers/loadbalancer.py":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c49433141e2b31a2714f6d45e4125d78edd86894","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    actual state in LBaaSState."},{"line_number":43,"context_line":"    \"\"\""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    OBJECT_KIND \u003d k_const.K8S_OBJ_ENDPOINTS"},{"line_number":46,"context_line":"    OBJECT_WATCH_PATH \u003d \"%s/%s\" % (k_const.K8S_API_BASE, \"endpoints\")"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def __init__(self):"},{"line_number":49,"context_line":"        super(LoadBalancerHandler, self).__init__()"}],"source_content_type":"text/x-python","patch_set":20,"id":"df33271e_1292954c","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":69},"updated":"2020-04-01 12:37:51.000000000","message":"This should be updated to handle the CRD object and not the endpoints.","commit_id":"37aa52f435dcc2d280b2fc0c206b41608a13b141"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def on_present(self, endpoints):"},{"line_number":66,"context_line":"        # TODO(sscavnic): Rely on CRD"},{"line_number":67,"context_line":"        # TODO naplnit crd pre endpoints"},{"line_number":68,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":69,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":70,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_c31faf69","line":67,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        # TODO naplnit crd pre endpoints"},{"line_number":68,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":69,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":70,"context_line":"        "},{"line_number":71,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd("},{"line_number":72,"context_line":"            endpoints_name, namespace)"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_2313fb67","line":70,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd("},{"line_number":72,"context_line":"            endpoints_name, namespace)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        lbaas_spec \u003d utils.get_lbaas_spec(endpoints)"},{"line_number":75,"context_line":"        if self._should_ignore(endpoints, loadbalancer_crd):"},{"line_number":76,"context_line":"            LOG.debug(\"Ignoring Kubernetes endpoints %s\","},{"line_number":77,"context_line":"                      endpoints[\u0027metadata\u0027][\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_0316b755","line":74,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: F841 local variable \u0027lbaas_spec\u0027 is assigned to but never used","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            LOG.debug(\"Ignoring Kubernetes endpoints %s\","},{"line_number":77,"context_line":"                      endpoints[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":78,"context_line":"            return"},{"line_number":79,"context_line":"        "},{"line_number":80,"context_line":"        if loadbalancer_crd is None:"},{"line_number":81,"context_line":"            loadbalancer_crd \u003d self._create_crd_spec(endpoints)"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_63106358","line":79,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":86,"context_line":"        if not lbaas_state:"},{"line_number":87,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":88,"context_line":"        "},{"line_number":89,"context_line":"        #try:"},{"line_number":90,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":91,"context_line":"        #except KeyError:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_430b9f28","line":88,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        if not lbaas_state:"},{"line_number":87,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":88,"context_line":"        "},{"line_number":89,"context_line":"        #try:"},{"line_number":90,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":91,"context_line":"        #except KeyError:"},{"line_number":92,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_a306eb1e","line":89,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":88,"context_line":"        "},{"line_number":89,"context_line":"        #try:"},{"line_number":90,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":91,"context_line":"        #except KeyError:"},{"line_number":92,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":93,"context_line":"          #          loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_83012709","line":90,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        "},{"line_number":89,"context_line":"        #try:"},{"line_number":90,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":91,"context_line":"        #except KeyError:"},{"line_number":92,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":93,"context_line":"          #          loadbalancer_crd)"},{"line_number":94,"context_line":"        lb_port_id \u003d None"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_d6012f07","line":91,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        #try:"},{"line_number":90,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":91,"context_line":"        #except KeyError:"},{"line_number":92,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":93,"context_line":"          #          loadbalancer_crd)"},{"line_number":94,"context_line":"        lb_port_id \u003d None"},{"line_number":95,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_b6046b16","line":92,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        #try:"},{"line_number":90,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":91,"context_line":"        #except KeyError:"},{"line_number":92,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":93,"context_line":"          #          loadbalancer_crd)"},{"line_number":94,"context_line":"        lb_port_id \u003d None"},{"line_number":95,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_1608b725","line":92,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":90,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":91,"context_line":"        #except KeyError:"},{"line_number":92,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":93,"context_line":"          #          loadbalancer_crd)"},{"line_number":94,"context_line":"        lb_port_id \u003d None"},{"line_number":95,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":96,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_f60a731d","line":93,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":92,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":93,"context_line":"          #          loadbalancer_crd)"},{"line_number":94,"context_line":"        lb_port_id \u003d None"},{"line_number":95,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":96,"context_line":"        "},{"line_number":97,"context_line":"        "},{"line_number":98,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_56151f3f","line":95,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":92,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":93,"context_line":"          #          loadbalancer_crd)"},{"line_number":94,"context_line":"        lb_port_id \u003d None"},{"line_number":95,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":96,"context_line":"        "},{"line_number":97,"context_line":"        "},{"line_number":98,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_36105b4e","line":95,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E116 unexpected indentation (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":93,"context_line":"          #          loadbalancer_crd)"},{"line_number":94,"context_line":"        lb_port_id \u003d None"},{"line_number":95,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":96,"context_line":"        "},{"line_number":97,"context_line":"        "},{"line_number":98,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":99,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_961b2771","line":96,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        lb_port_id \u003d None"},{"line_number":95,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":96,"context_line":"        "},{"line_number":97,"context_line":"        "},{"line_number":98,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":99,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"},{"line_number":100,"context_line":"            # associate it to LB VIP and update K8S service status"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_7616634b","line":97,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":95,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":96,"context_line":"        "},{"line_number":97,"context_line":"        "},{"line_number":98,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":99,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"},{"line_number":100,"context_line":"            # associate it to LB VIP and update K8S service status"},{"line_number":101,"context_line":"            if loadbalancer_crd[\u0027status\u0027].get(\u0027service_pub_ip_info\u0027) is None:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_d62acf7c","line":98,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":108,"context_line":"                if service_pub_ip_info:"},{"line_number":109,"context_line":"                    self._drv_service_pub_ip.associate_pub_ip("},{"line_number":110,"context_line":"                        service_pub_ip_info, lb_port_id)"},{"line_number":111,"context_line":"                    svc_pub_ip_info \u003d service_pub_ip_info"},{"line_number":112,"context_line":"                    self._update_lb_status("},{"line_number":113,"context_line":"                        endpoints, loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027].get(\u0027ip_addr\u0027), loadbalancer_crd)"},{"line_number":114,"context_line":"            # REVISIT(ivc): since _sync_lbaas_members is responsible for"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_b62d8b96","line":111,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: F841 local variable \u0027svc_pub_ip_info\u0027 is assigned to but never used","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                        service_pub_ip_info, lb_port_id)"},{"line_number":111,"context_line":"                    svc_pub_ip_info \u003d service_pub_ip_info"},{"line_number":112,"context_line":"                    self._update_lb_status("},{"line_number":113,"context_line":"                        endpoints, loadbalancer_crd[\u0027status\u0027][\u0027service_pub_ip_info\u0027].get(\u0027ip_addr\u0027), loadbalancer_crd)"},{"line_number":114,"context_line":"            # REVISIT(ivc): since _sync_lbaas_members is responsible for"},{"line_number":115,"context_line":"            # creating all lbaas components (i.e. load balancer, listeners,"},{"line_number":116,"context_line":"            # pools, members), it is currently possible for it to fail (due"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_1621d79f","line":113,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (118 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        endpoint_crd_ip \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ip\u0027)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        if endpoint_crd_ip !\u003d endpoint_ip:"},{"line_number":144,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":145,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":146,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":147,"context_line":"                       \u0027link\u0027: link})"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_f62393a5","line":144,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (89 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        if endpoint_crd_ip !\u003d endpoint_ip:"},{"line_number":144,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":145,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":146,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":147,"context_line":"                       \u0027link\u0027: link})"},{"line_number":148,"context_line":"            return True"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_563ebfc0","line":146,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":144,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":145,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":146,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":147,"context_line":"                       \u0027link\u0027: link})"},{"line_number":148,"context_line":"            return True"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_36397bd6","line":147,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        return False"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    def on_deleted(self, endpoints, lbaas_state\u003dNone):"},{"line_number":154,"context_line":"        if lbaas_state is None:"},{"line_number":155,"context_line":"            lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":156,"context_line":"        if not lbaas_state:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_9634c7df","line":153,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        LOG.debug(\"Deleting the loadbalancer CRD\")"},{"line_number":166,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":167,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":168,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd(endpoints_name, namespace)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        if not loadbalancer_crd:"},{"line_number":171,"context_line":"            LOG.warning(\"This should not happen. Probably this event is\")"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_762f8387","line":168,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        crd_name \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":174,"context_line":"        crd_namespace \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":175,"context_line":"        self._del_loadbalancer_crd(crd_name, crd_namespace) "},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def _should_ignore(self, endpoints, loadbalancer_crd):"},{"line_number":178,"context_line":"        # NOTE(ltomasbo): we must wait until service handler has annotated the"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_d64f6f68","line":175,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W291 trailing whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":199,"context_line":"        try:"},{"line_number":200,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("},{"line_number":201,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace, loadbalancer_crd_name))"},{"line_number":202,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":203,"context_line":"            return None"},{"line_number":204,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_b652ab11","line":201,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace), loadbalancer_crd)"},{"line_number":235,"context_line":"        except k_exc.K8sClientException:"},{"line_number":236,"context_line":"            LOG.exception(\"Kubernetes Client Exception creating \""},{"line_number":237,"context_line":"                          \"kuryrloadbalancer CRD. %s\" % k_exc.K8sClientException)"},{"line_number":238,"context_line":"            raise"},{"line_number":239,"context_line":"        return loadbalancer_crd"},{"line_number":240,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_1656f706","line":237,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":244,"context_line":"            endpoint_ports \u003d subset.get(\u0027ports\u0027, [])"},{"line_number":245,"context_line":"            endpoint_adrr \u003d subset.get(\u0027addresses\u0027, [])"},{"line_number":246,"context_line":"            ep_not_r_addr \u003d subset.get(\u0027notReadyAddresses\u0027, [])"},{"line_number":247,"context_line":"        "},{"line_number":248,"context_line":"        lbaas_update_crd \u003d {"},{"line_number":249,"context_line":"            \u0027subsets\u0027: {"},{"line_number":250,"context_line":"                }"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_f658b331","line":247,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            lbaas_update_crd[\u0027subsets\u0027][\u0027notReadyAddresses\u0027] \u003d ep_not_r_addr"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"        try:"},{"line_number":261,"context_line":"            kubernetes.patch_crd(\u0027spec\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], lbaas_update_crd)"},{"line_number":262,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":263,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":264,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_56435f42","line":261,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (100 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":263,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":264,"context_line":"        except k_exc.K8sClientException:"},{"line_number":265,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":266,"context_line":"            raise"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"        return loadbalancer_crd"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_363e9bb7","line":265,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":268,"context_line":"        return loadbalancer_crd"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"    def _svc_handler_annotations_updated(self, endpoints, loadbalancer_crd):"},{"line_number":272,"context_line":"        svc_link \u003d self._get_service_link(endpoints)"},{"line_number":273,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":274,"context_line":"        service \u003d k8s.get(svc_link)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_96496761","line":271,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":301,"context_line":"            changed \u003d True"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"        if (self._has_pods(endpoints) and"},{"line_number":304,"context_line":"                self._add_new_members(endpoints, lbaas_state, loadbalancer_crd)):"},{"line_number":305,"context_line":"            changed \u003d True"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_7644a347","line":304,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":445,"context_line":"            # this worker_nodes_subnet will be used"},{"line_number":446,"context_line":"            return config.CONF.pod_vif_nested.worker_nodes_subnet"},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"    def _get_port_in_pool(self, pool, lbaas_state, loadbalancer_crd): "},{"line_number":449,"context_line":"        # TODO ROBI TO SO CRD, TAK TAM DOPLN VERIFIKACIU"},{"line_number":450,"context_line":"        "},{"line_number":451,"context_line":"        for l in lbaas_state.listeners:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_d6780f91","line":448,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W291 trailing whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":446,"context_line":"            return config.CONF.pod_vif_nested.worker_nodes_subnet"},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"    def _get_port_in_pool(self, pool, lbaas_state, loadbalancer_crd): "},{"line_number":449,"context_line":"        # TODO ROBI TO SO CRD, TAK TAM DOPLN VERIFIKACIU"},{"line_number":450,"context_line":"        "},{"line_number":451,"context_line":"        for l in lbaas_state.listeners:"},{"line_number":452,"context_line":"            if l.get(\u0027id\u0027) !\u003d pool.get(\u0027listener_id\u0027):"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_b67bcb89","line":449,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":447,"context_line":""},{"line_number":448,"context_line":"    def _get_port_in_pool(self, pool, lbaas_state, loadbalancer_crd): "},{"line_number":449,"context_line":"        # TODO ROBI TO SO CRD, TAK TAM DOPLN VERIFIKACIU"},{"line_number":450,"context_line":"        "},{"line_number":451,"context_line":"        for l in lbaas_state.listeners:"},{"line_number":452,"context_line":"            if l.get(\u0027id\u0027) !\u003d pool.get(\u0027listener_id\u0027):"},{"line_number":453,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_166f17c5","line":450,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":452,"context_line":"            if l.get(\u0027id\u0027) !\u003d pool.get(\u0027listener_id\u0027):"},{"line_number":453,"context_line":"                continue"},{"line_number":454,"context_line":"            for port in loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027, []):"},{"line_number":455,"context_line":"                if l.get(\u0027port\u0027) \u003d\u003d port.get(\u0027port\u0027) and l.get(\u0027protocol\u0027) \u003d\u003d port.get(\u0027protocol\u0027):"},{"line_number":456,"context_line":"                    return port"},{"line_number":457,"context_line":"        return None"},{"line_number":458,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_f671d3a9","line":455,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (99 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":608,"context_line":"        return bool(removed_ids)"},{"line_number":609,"context_line":""},{"line_number":610,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":611,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":612,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":613,"context_line":"        "},{"line_number":614,"context_line":"        status_data \u003d {"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_566cffcc","line":611,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":609,"context_line":""},{"line_number":610,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":611,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":612,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":613,"context_line":"        "},{"line_number":614,"context_line":"        status_data \u003d {"},{"line_number":615,"context_line":"            \u0027status\u0027: {"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_3667bbeb","line":612,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":609,"context_line":""},{"line_number":610,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":611,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":612,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":613,"context_line":"        "},{"line_number":614,"context_line":"        status_data \u003d {"},{"line_number":615,"context_line":"            \u0027status\u0027: {"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_966207d7","line":612,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E117 over-indented (comment)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":610,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":611,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":612,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":613,"context_line":"        "},{"line_number":614,"context_line":"        status_data \u003d {"},{"line_number":615,"context_line":"            \u0027status\u0027: {"},{"line_number":616,"context_line":"                \u0027loadbalancer\u0027: {"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_765dc313","line":613,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":621,"context_line":""},{"line_number":622,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":623,"context_line":"        try:"},{"line_number":624,"context_line":"            kubernetes.patch_crd(\u0027spec\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], status_data)"},{"line_number":625,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":626,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":627,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_d69dafbc","line":624,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (95 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":625,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":626,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":627,"context_line":"        except k_exc.K8sClientException:"},{"line_number":628,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":629,"context_line":"            raise"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"    def _get_service_link(self, endpoints):"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_b6a0ebf5","line":628,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":721,"context_line":"                          \" A retry will be triggered.\", attempts, lb_obj.name)"},{"line_number":722,"context_line":"                attempts +\u003d 1"},{"line_number":723,"context_line":"                retry \u003d True"},{"line_number":724,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_16a43707","line":724,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W391 blank line at end of file","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":37,"context_line":"class LoadBalancerStatusHandler(k8s_base.ResourceEventHandler):"},{"line_number":38,"context_line":"    \"\"\"LoadBalancerStatusHandler handles K8s Endpoints events."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    LoadBalancerStatusHandler handles K8s Endpoints events and tracks changes in"},{"line_number":41,"context_line":"    LBaaSServiceSpec to update Neutron LBaaS accordingly and to reflect its\u0027"},{"line_number":42,"context_line":"    actual state in LBaaSState."},{"line_number":43,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_e92b1e7f","line":40,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def on_present(self, endpoints):"},{"line_number":66,"context_line":"        # TODO(sscavnic): Rely on CRD"},{"line_number":67,"context_line":"        # TODO naplnit crd pre endpoints"},{"line_number":68,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":69,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":70,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_492332a9","line":67,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        # TODO naplnit crd pre endpoints"},{"line_number":68,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":69,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":70,"context_line":"        "},{"line_number":71,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd("},{"line_number":72,"context_line":"            endpoints_name, namespace)"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_2926a6b8","line":70,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":81,"context_line":"        if not lbaas_state:"},{"line_number":82,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":83,"context_line":"        "},{"line_number":84,"context_line":"        #try:"},{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_893c1ac9","line":83,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        if not lbaas_state:"},{"line_number":82,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":83,"context_line":"        "},{"line_number":84,"context_line":"        #try:"},{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"},{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_69370ee5","line":84,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":83,"context_line":"        "},{"line_number":84,"context_line":"        #try:"},{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"},{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_c93622e7","line":85,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        "},{"line_number":84,"context_line":"        #try:"},{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"},{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_a93116ef","line":86,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        #try:"},{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"},{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_094e4a6e","line":87,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        #try:"},{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"},{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_e9503e0d","line":87,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"},{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":91,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_49585231","line":88,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":91,"context_line":"        "},{"line_number":92,"context_line":"        "},{"line_number":93,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_295b462e","line":90,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":91,"context_line":"        "},{"line_number":92,"context_line":"        "},{"line_number":93,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_8941ba3c","line":90,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E116 unexpected indentation (comment)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":91,"context_line":"        "},{"line_number":92,"context_line":"        "},{"line_number":93,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":94,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_693c2ebf","line":91,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":91,"context_line":"        "},{"line_number":92,"context_line":"        "},{"line_number":93,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":94,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"},{"line_number":95,"context_line":"            # associate it to LB VIP and update K8S service status"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_c94bc256","line":92,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":91,"context_line":"        "},{"line_number":92,"context_line":"        "},{"line_number":93,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":94,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"},{"line_number":95,"context_line":"            # associate it to LB VIP and update K8S service status"},{"line_number":96,"context_line":"            if loadbalancer_crd[\u0027status\u0027].get(\u0027service_pub_ip_info\u0027) is None:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_a946364e","line":93,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                        service_pub_ip_info, lb_port_id)"},{"line_number":106,"context_line":"                    svc_pub_ip_info \u003d service_pub_ip_info"},{"line_number":107,"context_line":"                    self._update_lb_status("},{"line_number":108,"context_line":"                        endpoints, service_pub_ip_info.get(\u0027ip_addr\u0027), loadbalancer_crd)"},{"line_number":109,"context_line":"            # REVISIT(ivc): since _sync_lbaas_members is responsible for"},{"line_number":110,"context_line":"            # creating all lbaas components (i.e. load balancer, listeners,"},{"line_number":111,"context_line":"            # pools, members), it is currently possible for it to fail (due"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_09776aa2","line":108,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (88 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            # failing items, or validate configuration) to prevent annotation"},{"line_number":118,"context_line":"            # being out of sync with the actual Neutron state."},{"line_number":119,"context_line":"            try:"},{"line_number":120,"context_line":"                # TODO This is annotating annotations, this want be needed anymore, but check"},{"line_number":121,"context_line":"                # if i need to change anything for the CRD"},{"line_number":122,"context_line":"                utils.set_lbaas_state(endpoints, lbaas_state)"},{"line_number":123,"context_line":"            except k_exc.K8sResourceNotFound:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_497172a9","line":120,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (93 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            # failing items, or validate configuration) to prevent annotation"},{"line_number":118,"context_line":"            # being out of sync with the actual Neutron state."},{"line_number":119,"context_line":"            try:"},{"line_number":120,"context_line":"                # TODO This is annotating annotations, this want be needed anymore, but check"},{"line_number":121,"context_line":"                # if i need to change anything for the CRD"},{"line_number":122,"context_line":"                utils.set_lbaas_state(endpoints, lbaas_state)"},{"line_number":123,"context_line":"            except k_exc.K8sResourceNotFound:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_e9795e93","line":120,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                # Note(yboaron) It\u0027s impossible to store neutron resources"},{"line_number":125,"context_line":"                # in K8S object since object was deleted. In that case"},{"line_number":126,"context_line":"                # we should rollback all neutron resources."},{"line_number":127,"context_line":"                LOG.debug(\"LoadBalancerStatusHandler failed to store Openstack \""},{"line_number":128,"context_line":"                          \"resources in K8S object (not found)\")"},{"line_number":129,"context_line":"                # Handle this to be deleting the CRD, after we do not use lbaas_state anymore"},{"line_number":130,"context_line":"                self.on_deleted(endpoints, lbaas_state)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_2974e698","line":127,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                # we should rollback all neutron resources."},{"line_number":127,"context_line":"                LOG.debug(\"LoadBalancerStatusHandler failed to store Openstack \""},{"line_number":128,"context_line":"                          \"resources in K8S object (not found)\")"},{"line_number":129,"context_line":"                # Handle this to be deleting the CRD, after we do not use lbaas_state anymore"},{"line_number":130,"context_line":"                self.on_deleted(endpoints, lbaas_state)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def _has_lbaas_spec_changes(self, endpoints, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_896a5ab0","line":129,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (93 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        endpoint_crd_ip \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ip\u0027)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        if endpoint_crd_ip !\u003d endpoint_ip:"},{"line_number":142,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":143,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":144,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":145,"context_line":"                       \u0027link\u0027: link})"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_69654ee1","line":142,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (89 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        if endpoint_crd_ip !\u003d endpoint_ip:"},{"line_number":142,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":143,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":144,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":145,"context_line":"                       \u0027link\u0027: link})"},{"line_number":146,"context_line":"            return True"},{"line_number":147,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_c96462e7","line":144,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":143,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":144,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":145,"context_line":"                       \u0027link\u0027: link})"},{"line_number":146,"context_line":"            return True"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_a95f560c","line":145,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        return False"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def on_deleted(self, endpoints, lbaas_state\u003dNone):"},{"line_number":152,"context_line":"        if lbaas_state is None:"},{"line_number":153,"context_line":"            lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":154,"context_line":"        if not lbaas_state:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_099c8abe","line":151,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        LOG.debug(\"Deleting the loadbalancer CRD\")"},{"line_number":164,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":165,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":166,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd(endpoints_name, namespace)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        if not loadbalancer_crd:"},{"line_number":169,"context_line":"            LOG.warning(\"This should not happen. Probably this event is\")"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_e99e7eb6","line":166,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        crd_name \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":172,"context_line":"        crd_namespace \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":173,"context_line":"        self._del_loadbalancer_crd(crd_name, crd_namespace) "},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def _should_ignore(self, endpoints, loadbalancer_crd):"},{"line_number":176,"context_line":"        # NOTE(ltomasbo): we must wait until service handler has annotated the"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_49a69212","line":173,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W291 trailing whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":196,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":197,"context_line":"        try:"},{"line_number":198,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("},{"line_number":199,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace, loadbalancer_crd_name))"},{"line_number":200,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":201,"context_line":"            return None"},{"line_number":202,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_29a986de","line":199,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":237,"context_line":"            changed \u003d True"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        if (self._has_pods(endpoints) and"},{"line_number":240,"context_line":"                self._add_new_members(endpoints, lbaas_state, loadbalancer_crd)):"},{"line_number":241,"context_line":"            changed \u003d True"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_89affae1","line":240,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":281,"context_line":"            LOG.debug(\"The svc has been deleted while processing the endpoints\""},{"line_number":282,"context_line":"                      \" update. No need to add new members.\")"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        lsnr_by_id \u003d {l.get(\u0027id\u0027): l for l in loadbalancer_crd.get(\u0027listeners\u0027, [])}"},{"line_number":285,"context_line":"        pool_by_lsnr_port \u003d {(lsnr_by_id[p.get(\u0027listener_id\u0027)].protocol,"},{"line_number":286,"context_line":"                              lsnr_by_id[p.get(\u0027listener_id\u0027)].port): p"},{"line_number":287,"context_line":"                             for p in loadbalancer_crd.get(\u0027pools\u0027, [])}"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_69aa6ed2","line":284,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        pool_by_tgt_name \u003d {}"},{"line_number":295,"context_line":"        for p in loadbalancer_crd.get(\u0027ports\u0027):"},{"line_number":296,"context_line":"            try:"},{"line_number":297,"context_line":"                pool_by_tgt_name[p.get(\u0027name\u0027)] \u003d pool_by_lsnr_port[p.get(\u0027protocol\u0027),"},{"line_number":298,"context_line":"                                                             p.get(\u0027port\u0027)]"},{"line_number":299,"context_line":"            except KeyError:"},{"line_number":300,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_c9b9022f","line":297,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":295,"context_line":"        for p in loadbalancer_crd.get(\u0027ports\u0027):"},{"line_number":296,"context_line":"            try:"},{"line_number":297,"context_line":"                pool_by_tgt_name[p.get(\u0027name\u0027)] \u003d pool_by_lsnr_port[p.get(\u0027protocol\u0027),"},{"line_number":298,"context_line":"                                                             p.get(\u0027port\u0027)]"},{"line_number":299,"context_line":"            except KeyError:"},{"line_number":300,"context_line":"                continue"},{"line_number":301,"context_line":"        current_targets \u003d {(str(m.get(\u0027ip\u0027)), m.get(\u0027port\u0027), m..get(\u0027pool_id\u0027))"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_a9b47636","line":298,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":298,"context_line":"                                                             p.get(\u0027port\u0027)]"},{"line_number":299,"context_line":"            except KeyError:"},{"line_number":300,"context_line":"                continue"},{"line_number":301,"context_line":"        current_targets \u003d {(str(m.get(\u0027ip\u0027)), m.get(\u0027port\u0027), m..get(\u0027pool_id\u0027))"},{"line_number":302,"context_line":"                           for m in loadbalancer_crd.get(\u0027members\u0027, [])}"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        for subset in endpoints.get(\u0027subsets\u0027, []):"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_0985aa5a","line":301,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E999 SyntaxError: invalid syntax","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":341,"context_line":"                        # We use the service subnet id so that the connectivity"},{"line_number":342,"context_line":"                        # from VIP to pods happens in layer 3 mode, i.e.,"},{"line_number":343,"context_line":"                        # routed."},{"line_number":344,"context_line":"                        member_subnet_id \u003d loadbalancer_crd[\u0027loadbalancer\u0027].get(\u0027subnet_id\u0027)"},{"line_number":345,"context_line":"                    first_member_of_the_pool \u003d True"},{"line_number":346,"context_line":"                    for member in loadbalancer_crd.get(\u0027members\u0027, []):"},{"line_number":347,"context_line":"                        if pool.id \u003d\u003d member.get(\u0027pool_id\u0027):"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_e9879e60","line":344,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (92 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                            break"},{"line_number":350,"context_line":"                    if first_member_of_the_pool:"},{"line_number":351,"context_line":"                        listener_port \u003d lsnr_by_id[pool.listener_id].port"},{"line_number":352,"context_line":"                    else: "},{"line_number":353,"context_line":"                        listener_port \u003d None"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"                    member \u003d self._drv_lbaas.ensure_member("}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_497fb266","line":352,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W291 trailing whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":362,"context_line":"                        target_ref_name\u003dtarget_ref[\u0027name\u0027],"},{"line_number":363,"context_line":"                        listener_port\u003dlistener_port)"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"                    loadbalancer_crd \u003d self._get_loadbalancer_crd(endpoints_name, namespace)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"                    try:"},{"line_number":368,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027members\u0027].append(new_member)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_29822650","line":365,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (92 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":365,"context_line":"                    loadbalancer_crd \u003d self._get_loadbalancer_crd(endpoints_name, namespace)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"                    try:"},{"line_number":368,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027members\u0027].append(new_member)"},{"line_number":369,"context_line":"                        can_not_update \u003d False"},{"line_number":370,"context_line":"                    except KeyError:"},{"line_number":371,"context_line":"                        can_not_update \u003d True   "}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_89989ac0","line":368,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":368,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027members\u0027].append(new_member)"},{"line_number":369,"context_line":"                        can_not_update \u003d False"},{"line_number":370,"context_line":"                    except KeyError:"},{"line_number":371,"context_line":"                        can_not_update \u003d True   "},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"                    try:"},{"line_number":374,"context_line":"                        loadbalancer_status \u003d loadbalancer_crd[\u0027status\u0027]"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_69938ea4","line":371,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W291 trailing whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":377,"context_line":"                        status_not_exist \u003d True"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"                    if (can_not_update):"},{"line_number":381,"context_line":"                        if(status_not_exist):"},{"line_number":382,"context_line":"                            loadbalancer_crd[\u0027status\u0027] \u003d {}"},{"line_number":383,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027members\u0027] \u003d member"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_c992a29e","line":380,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":384,"context_line":""},{"line_number":385,"context_line":"                    kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":386,"context_line":"                    try:"},{"line_number":387,"context_line":"                        kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":388,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":389,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":390,"context_line":"                    except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_a98d967c","line":387,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (124 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":386,"context_line":"                    try:"},{"line_number":387,"context_line":"                        kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":388,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":389,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":390,"context_line":"                    except k_exc.K8sClientException:"},{"line_number":391,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":392,"context_line":"                        raise"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_09eaca0d","line":389,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (89 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":388,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":389,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":390,"context_line":"                    except k_exc.K8sClientException:"},{"line_number":391,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":392,"context_line":"                        raise"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"                    #lbaas_state.members.append(member)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_e9ecbe2a","line":391,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (98 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":391,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":392,"context_line":"                        raise"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"                    #lbaas_state.members.append(member)"},{"line_number":395,"context_line":"                    changed \u003d True"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_49f4d2f2","line":394,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":414,"context_line":"            # this worker_nodes_subnet will be used"},{"line_number":415,"context_line":"            return config.CONF.pod_vif_nested.worker_nodes_subnet"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def _get_port_in_pool(self, pool, lbaas_state, loadbalancer_crd): "},{"line_number":418,"context_line":"        # TODO ROBI TO SO CRD, TAK TAM DOPLN VERIFIKACIU"},{"line_number":419,"context_line":"        "},{"line_number":420,"context_line":"        for l in loadbalancer_crd[\u0027status\u0027].get(\u0027listeners\u0027, []):"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_29f7c6f7","line":417,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W291 trailing whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":415,"context_line":"            return config.CONF.pod_vif_nested.worker_nodes_subnet"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def _get_port_in_pool(self, pool, lbaas_state, loadbalancer_crd): "},{"line_number":418,"context_line":"        # TODO ROBI TO SO CRD, TAK TAM DOPLN VERIFIKACIU"},{"line_number":419,"context_line":"        "},{"line_number":420,"context_line":"        for l in loadbalancer_crd[\u0027status\u0027].get(\u0027listeners\u0027, []):"},{"line_number":421,"context_line":"            if l.get(\u0027id\u0027) !\u003d pool.get(\u0027listener_id\u0027):"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_89dd3a72","line":418,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def _get_port_in_pool(self, pool, lbaas_state, loadbalancer_crd): "},{"line_number":418,"context_line":"        # TODO ROBI TO SO CRD, TAK TAM DOPLN VERIFIKACIU"},{"line_number":419,"context_line":"        "},{"line_number":420,"context_line":"        for l in loadbalancer_crd[\u0027status\u0027].get(\u0027listeners\u0027, []):"},{"line_number":421,"context_line":"            if l.get(\u0027id\u0027) !\u003d pool.get(\u0027listener_id\u0027):"},{"line_number":422,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_69d8ae7e","line":419,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":421,"context_line":"            if l.get(\u0027id\u0027) !\u003d pool.get(\u0027listener_id\u0027):"},{"line_number":422,"context_line":"                continue"},{"line_number":423,"context_line":"            for port in loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027, []):"},{"line_number":424,"context_line":"                if l.get(\u0027port\u0027) \u003d\u003d port.get(\u0027port\u0027) and l.get(\u0027protocol\u0027) \u003d\u003d port.get(\u0027protocol\u0027):"},{"line_number":425,"context_line":"                    return port"},{"line_number":426,"context_line":"        return None"},{"line_number":427,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_c9e74240","line":424,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (99 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":448,"context_line":"                pod_name \u003d member_name.split(\u0027/\u0027)[1].split(\u0027:\u0027)[0]"},{"line_number":449,"context_line":"            except AttributeError:"},{"line_number":450,"context_line":"                pod_name \u003d \"\""},{"line_number":451,"context_line":"            if ((str(member.get(\u0027ip\u0027)), pod_name, member.get(\u0027port\u0027), member.get(\u0027pool_id\u0027)) in"},{"line_number":452,"context_line":"                    current_targets):"},{"line_number":453,"context_line":"                continue"},{"line_number":454,"context_line":"            self._drv_lbaas.release_member(loadbalancer_crd[\u0027status\u0027].get(\u0027loadbalancer\u0027),"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_a9e2b62d","line":451,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (95 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":451,"context_line":"            if ((str(member.get(\u0027ip\u0027)), pod_name, member.get(\u0027port\u0027), member.get(\u0027pool_id\u0027)) in"},{"line_number":452,"context_line":"                    current_targets):"},{"line_number":453,"context_line":"                continue"},{"line_number":454,"context_line":"            self._drv_lbaas.release_member(loadbalancer_crd[\u0027status\u0027].get(\u0027loadbalancer\u0027),"},{"line_number":455,"context_line":"                                           member)"},{"line_number":456,"context_line":"            removed_ids.add(member.get(\u0027ip\u0027))"},{"line_number":457,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_09d3ea61","line":454,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (90 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":456,"context_line":"            removed_ids.add(member.get(\u0027ip\u0027))"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"        if removed_ids:"},{"line_number":459,"context_line":"            # TODO: Check if this adding data in to lbaas_state, if yes, this need to be "},{"line_number":460,"context_line":"            # patch in to the CRD"},{"line_number":461,"context_line":"            lbaas_state.members \u003d [m for m in lbaas_state.members"},{"line_number":462,"context_line":"                                   if m.id not in removed_ids]"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_49cdf2b6","line":459,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (88 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":456,"context_line":"            removed_ids.add(member.get(\u0027ip\u0027))"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"        if removed_ids:"},{"line_number":459,"context_line":"            # TODO: Check if this adding data in to lbaas_state, if yes, this need to be "},{"line_number":460,"context_line":"            # patch in to the CRD"},{"line_number":461,"context_line":"            lbaas_state.members \u003d [m for m in lbaas_state.members"},{"line_number":462,"context_line":"                                   if m.id not in removed_ids]"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_e9d5de44","line":459,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":456,"context_line":"            removed_ids.add(member.get(\u0027ip\u0027))"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"        if removed_ids:"},{"line_number":459,"context_line":"            # TODO: Check if this adding data in to lbaas_state, if yes, this need to be "},{"line_number":460,"context_line":"            # patch in to the CRD"},{"line_number":461,"context_line":"            lbaas_state.members \u003d [m for m in lbaas_state.members"},{"line_number":462,"context_line":"                                   if m.id not in removed_ids]"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_29d06650","line":459,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W291 trailing whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":464,"context_line":""},{"line_number":465,"context_line":"    def _sync_lbaas_pools(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":466,"context_line":"        changed \u003d False"},{"line_number":467,"context_line":"        # TODO: update this"},{"line_number":468,"context_line":"        if self._remove_unused_pools(lbaas_state, loadbalancer_crd):"},{"line_number":469,"context_line":"            changed \u003d True"},{"line_number":470,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_89c6da99","line":467,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":468,"context_line":"        if self._remove_unused_pools(lbaas_state, loadbalancer_crd):"},{"line_number":469,"context_line":"            changed \u003d True"},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"        if self._sync_lbaas_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":472,"context_line":"            changed \u003d True"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"        if self._add_new_pools(lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_69c1ce80","line":471,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":579,"context_line":"        return bool(removed_ids)"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":582,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":583,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":584,"context_line":"        "},{"line_number":585,"context_line":"        status_data \u003d {"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_c9c0e27e","line":582,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":580,"context_line":""},{"line_number":581,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":582,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":583,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":584,"context_line":"        "},{"line_number":585,"context_line":"        status_data \u003d {"},{"line_number":586,"context_line":"            \u0027status\u0027: {"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_a9bbd60b","line":583,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":580,"context_line":""},{"line_number":581,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":582,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":583,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":584,"context_line":"        "},{"line_number":585,"context_line":"        status_data \u003d {"},{"line_number":586,"context_line":"            \u0027status\u0027: {"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_09380a9e","line":583,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E117 over-indented (comment)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":581,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":582,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":583,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":584,"context_line":"        "},{"line_number":585,"context_line":"        status_data \u003d {"},{"line_number":586,"context_line":"            \u0027status\u0027: {"},{"line_number":587,"context_line":"                \u0027loadbalancer\u0027: {"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_e93afe95","line":584,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":592,"context_line":""},{"line_number":593,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":594,"context_line":"        try:"},{"line_number":595,"context_line":"            kubernetes.patch_crd(\u0027spec\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], status_data)"},{"line_number":596,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":597,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":598,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_49421212","line":595,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (95 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":596,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":597,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":598,"context_line":"        except k_exc.K8sClientException:"},{"line_number":599,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":600,"context_line":"            raise"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"    def _get_service_link(self, endpoints):"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_29450618","line":599,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":693,"context_line":"                attempts +\u003d 1"},{"line_number":694,"context_line":"                retry \u003d True"},{"line_number":695,"context_line":""},{"line_number":696,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_894b7a29","line":696,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W391 blank line at end of file","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":37,"context_line":"class LoadBalancerStatusHandler(k8s_base.ResourceEventHandler):"},{"line_number":38,"context_line":"    \"\"\"LoadBalancerStatusHandler handles K8s Endpoints events."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    LoadBalancerStatusHandler handles K8s Endpoints events and tracks changes in"},{"line_number":41,"context_line":"    LBaaSServiceSpec to update Neutron LBaaS accordingly and to reflect its\u0027"},{"line_number":42,"context_line":"    actual state in LBaaSState."},{"line_number":43,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_82ef2a86","line":40,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def on_present(self, endpoints):"},{"line_number":66,"context_line":"        # TODO(sscavnic): Rely on CRD"},{"line_number":67,"context_line":"        # TODO naplnit crd pre endpoints"},{"line_number":68,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":69,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":70,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_62f49e5c","line":67,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        # TODO naplnit crd pre endpoints"},{"line_number":68,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":69,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":70,"context_line":"        "},{"line_number":71,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd("},{"line_number":72,"context_line":"            endpoints_name, namespace)"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_c2e93281","line":70,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":81,"context_line":"        if not lbaas_state:"},{"line_number":82,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":83,"context_line":"        "},{"line_number":84,"context_line":"        #try:"},{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_a2eea685","line":83,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        if not lbaas_state:"},{"line_number":82,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":83,"context_line":"        "},{"line_number":84,"context_line":"        #try:"},{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"},{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_02031a44","line":84,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            lbaas_state \u003d obj_lbaas.LBaaSState()"},{"line_number":83,"context_line":"        "},{"line_number":84,"context_line":"        #try:"},{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"},{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_e2ff0e32","line":85,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        "},{"line_number":84,"context_line":"        #try:"},{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"},{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_42fd2239","line":86,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        #try:"},{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"},{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_22fa9641","line":87,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        #try:"},{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"},{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_82944aea","line":87,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":85,"context_line":"         #   lb_port_id \u003d loadbalancer_crd[\u0027status\u0027][\u0027port_id\u0027]"},{"line_number":86,"context_line":"        #except KeyError:"},{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":91,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_62993e1e","line":88,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":91,"context_line":"        "},{"line_number":92,"context_line":"        "},{"line_number":93,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_c29e5206","line":90,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":87,"context_line":"         #   LOG.debug(\"Port id  for loadbalncer %s not yet created, retrying.\","},{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":91,"context_line":"        "},{"line_number":92,"context_line":"        "},{"line_number":93,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_a2a3464f","line":90,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E116 unexpected indentation (comment)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":88,"context_line":"          #          loadbalancer_crd)"},{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":91,"context_line":"        "},{"line_number":92,"context_line":"        "},{"line_number":93,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":94,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_02883ac4","line":91,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        lb_port_id \u003d None"},{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":91,"context_line":"        "},{"line_number":92,"context_line":"        "},{"line_number":93,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":94,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"},{"line_number":95,"context_line":"            # associate it to LB VIP and update K8S service status"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_e2842eb4","line":92,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":90,"context_line":"           # raise k_exc.ResourceNotReady(loadbalancer_crd)"},{"line_number":91,"context_line":"        "},{"line_number":92,"context_line":"        "},{"line_number":93,"context_line":"        if self._sync_lbaas_members(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":94,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"},{"line_number":95,"context_line":"            # associate it to LB VIP and update K8S service status"},{"line_number":96,"context_line":"            if loadbalancer_crd[\u0027status\u0027].get(\u0027service_pub_ip_info\u0027) is None:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_429242f8","line":93,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                        service_pub_ip_info, lb_port_id)"},{"line_number":106,"context_line":"                    svc_pub_ip_info \u003d service_pub_ip_info"},{"line_number":107,"context_line":"                    self._update_lb_status("},{"line_number":108,"context_line":"                        endpoints, service_pub_ip_info.get(\u0027ip_addr\u0027), loadbalancer_crd)"},{"line_number":109,"context_line":"            # REVISIT(ivc): since _sync_lbaas_members is responsible for"},{"line_number":110,"context_line":"            # creating all lbaas components (i.e. load balancer, listeners,"},{"line_number":111,"context_line":"            # pools, members), it is currently possible for it to fail (due"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_228f36cd","line":108,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (88 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            # failing items, or validate configuration) to prevent annotation"},{"line_number":118,"context_line":"            # being out of sync with the actual Neutron state."},{"line_number":119,"context_line":"            try:"},{"line_number":120,"context_line":"                # TODO This is annotating annotations, this want be needed anymore, but check"},{"line_number":121,"context_line":"                # if i need to change anything for the CRD"},{"line_number":122,"context_line":"                utils.set_lbaas_state(endpoints, lbaas_state)"},{"line_number":123,"context_line":"            except k_exc.K8sResourceNotFound:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_62c2deeb","line":120,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (93 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            # failing items, or validate configuration) to prevent annotation"},{"line_number":118,"context_line":"            # being out of sync with the actual Neutron state."},{"line_number":119,"context_line":"            try:"},{"line_number":120,"context_line":"                # TODO This is annotating annotations, this want be needed anymore, but check"},{"line_number":121,"context_line":"                # if i need to change anything for the CRD"},{"line_number":122,"context_line":"                utils.set_lbaas_state(endpoints, lbaas_state)"},{"line_number":123,"context_line":"            except k_exc.K8sResourceNotFound:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_82bd6a6a","line":120,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                # Note(yboaron) It\u0027s impossible to store neutron resources"},{"line_number":125,"context_line":"                # in K8S object since object was deleted. In that case"},{"line_number":126,"context_line":"                # we should rollback all neutron resources."},{"line_number":127,"context_line":"                LOG.debug(\"LoadBalancerStatusHandler failed to store Openstack \""},{"line_number":128,"context_line":"                          \"resources in K8S object (not found)\")"},{"line_number":129,"context_line":"                # Handle this to be deleting the CRD, after we do not use lbaas_state anymore"},{"line_number":130,"context_line":"                self.on_deleted(endpoints, lbaas_state)"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_c2b77286","line":127,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                # we should rollback all neutron resources."},{"line_number":127,"context_line":"                LOG.debug(\"LoadBalancerStatusHandler failed to store Openstack \""},{"line_number":128,"context_line":"                          \"resources in K8S object (not found)\")"},{"line_number":129,"context_line":"                # Handle this to be deleting the CRD, after we do not use lbaas_state anymore"},{"line_number":130,"context_line":"                self.on_deleted(endpoints, lbaas_state)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def _has_lbaas_spec_changes(self, endpoints, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_a2bce669","line":129,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (93 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        endpoint_crd_ip \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ip\u0027)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        if endpoint_crd_ip !\u003d endpoint_ip:"},{"line_number":142,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":143,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":144,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":145,"context_line":"                       \u0027link\u0027: link})"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_02b15a90","line":142,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (89 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        if endpoint_crd_ip !\u003d endpoint_ip:"},{"line_number":142,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":143,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":144,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":145,"context_line":"                       \u0027link\u0027: link})"},{"line_number":146,"context_line":"            return True"},{"line_number":147,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_e2ad4e32","line":144,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            LOG.debug(\"LBaaS spec IP %(endpoint_crd_ip)s !\u003d %(endpoint_ip)s for %(link)s\""},{"line_number":143,"context_line":"                      % {\u0027endpoint_crd_ip\u0027: endpoint_crd_ip,"},{"line_number":144,"context_line":"                       \u0027endpoint_ip\u0027: endpoint_ip,"},{"line_number":145,"context_line":"                       \u0027link\u0027: link})"},{"line_number":146,"context_line":"            return True"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_42ab621c","line":145,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        return False"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def on_deleted(self, endpoints, lbaas_state\u003dNone):"},{"line_number":152,"context_line":"        if lbaas_state is None:"},{"line_number":153,"context_line":"            lbaas_state \u003d utils.get_lbaas_state(endpoints)"},{"line_number":154,"context_line":"        if not lbaas_state:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_22a8d61d","line":151,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        LOG.debug(\"Deleting the loadbalancer CRD\")"},{"line_number":164,"context_line":"        endpoints_name \u003d endpoints[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":165,"context_line":"        namespace \u003d endpoints[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":166,"context_line":"        loadbalancer_crd \u003d self._get_loadbalancer_crd(endpoints_name, namespace)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        if not loadbalancer_crd:"},{"line_number":169,"context_line":"            LOG.warning(\"This should not happen. Probably this event is\")"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_82628a15","line":166,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        crd_name \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":172,"context_line":"        crd_namespace \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":173,"context_line":"        self._del_loadbalancer_crd(crd_name, crd_namespace) "},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def _should_ignore(self, endpoints, loadbalancer_crd):"},{"line_number":176,"context_line":"        # NOTE(ltomasbo): we must wait until service handler has annotated the"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_62677e27","line":173,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W291 trailing whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":196,"context_line":"        k8s \u003d clients.get_kubernetes_client()"},{"line_number":197,"context_line":"        try:"},{"line_number":198,"context_line":"            loadbalancer_crd \u003d k8s.get(\u0027{}/{}/kuryrloadbalancers/{}\u0027.format("},{"line_number":199,"context_line":"                k_const.K8S_API_CRD_NAMESPACES, namespace, loadbalancer_crd_name))"},{"line_number":200,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":201,"context_line":"            return None"},{"line_number":202,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_c26c920a","line":199,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":237,"context_line":"            changed \u003d True"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        if (self._has_pods(endpoints) and"},{"line_number":240,"context_line":"                self._add_new_members(endpoints, lbaas_state, loadbalancer_crd)):"},{"line_number":241,"context_line":"            changed \u003d True"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_a27186e3","line":240,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":281,"context_line":"            LOG.debug(\"The svc has been deleted while processing the endpoints\""},{"line_number":282,"context_line":"                      \" update. No need to add new members.\")"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        lsnr_by_id \u003d {l.get(\u0027id\u0027): l for l in loadbalancer_crd.get(\u0027listeners\u0027, [])}"},{"line_number":285,"context_line":"        pool_by_lsnr_port \u003d {(lsnr_by_id[p.get(\u0027listener_id\u0027)].protocol,"},{"line_number":286,"context_line":"                              lsnr_by_id[p.get(\u0027listener_id\u0027)].port): p"},{"line_number":287,"context_line":"                             for p in loadbalancer_crd.get(\u0027pools\u0027, [])}"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_02767ad9","line":284,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        pool_by_tgt_name \u003d {}"},{"line_number":295,"context_line":"        for p in loadbalancer_crd.get(\u0027ports\u0027):"},{"line_number":296,"context_line":"            try:"},{"line_number":297,"context_line":"                pool_by_tgt_name[p.get(\u0027name\u0027)] \u003d pool_by_lsnr_port[p.get(\u0027protocol\u0027),"},{"line_number":298,"context_line":"                                                             p.get(\u0027port\u0027)]"},{"line_number":299,"context_line":"            except KeyError:"},{"line_number":300,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_e2726ee3","line":297,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":295,"context_line":"        for p in loadbalancer_crd.get(\u0027ports\u0027):"},{"line_number":296,"context_line":"            try:"},{"line_number":297,"context_line":"                pool_by_tgt_name[p.get(\u0027name\u0027)] \u003d pool_by_lsnr_port[p.get(\u0027protocol\u0027),"},{"line_number":298,"context_line":"                                                             p.get(\u0027port\u0027)]"},{"line_number":299,"context_line":"            except KeyError:"},{"line_number":300,"context_line":"                continue"},{"line_number":301,"context_line":"        current_targets \u003d {(str(m.get(\u0027ip\u0027)), m.get(\u0027port\u0027), m..get(\u0027pool_id\u0027))"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_4280828c","line":298,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":298,"context_line":"                                                             p.get(\u0027port\u0027)]"},{"line_number":299,"context_line":"            except KeyError:"},{"line_number":300,"context_line":"                continue"},{"line_number":301,"context_line":"        current_targets \u003d {(str(m.get(\u0027ip\u0027)), m.get(\u0027port\u0027), m..get(\u0027pool_id\u0027))"},{"line_number":302,"context_line":"                           for m in loadbalancer_crd.get(\u0027members\u0027, [])}"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        for subset in endpoints.get(\u0027subsets\u0027, []):"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_227d76b1","line":301,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E999 SyntaxError: invalid syntax","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":341,"context_line":"                        # We use the service subnet id so that the connectivity"},{"line_number":342,"context_line":"                        # from VIP to pods happens in layer 3 mode, i.e.,"},{"line_number":343,"context_line":"                        # routed."},{"line_number":344,"context_line":"                        member_subnet_id \u003d loadbalancer_crd[\u0027loadbalancer\u0027].get(\u0027subnet_id\u0027)"},{"line_number":345,"context_line":"                    first_member_of_the_pool \u003d True"},{"line_number":346,"context_line":"                    for member in loadbalancer_crd.get(\u0027members\u0027, []):"},{"line_number":347,"context_line":"                        if pool.id \u003d\u003d member.get(\u0027pool_id\u0027):"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_824baa85","line":344,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (92 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                            break"},{"line_number":350,"context_line":"                    if first_member_of_the_pool:"},{"line_number":351,"context_line":"                        listener_port \u003d lsnr_by_id[pool.listener_id].port"},{"line_number":352,"context_line":"                    else: "},{"line_number":353,"context_line":"                        listener_port \u003d None"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"                    member \u003d self._drv_lbaas.ensure_member("}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_62501e34","line":352,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W291 trailing whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":362,"context_line":"                        target_ref_name\u003dtarget_ref[\u0027name\u0027],"},{"line_number":363,"context_line":"                        listener_port\u003dlistener_port)"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"                    loadbalancer_crd \u003d self._get_loadbalancer_crd(endpoints_name, namespace)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"                    try:"},{"line_number":368,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027members\u0027].append(new_member)"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_c245b272","line":365,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (92 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":365,"context_line":"                    loadbalancer_crd \u003d self._get_loadbalancer_crd(endpoints_name, namespace)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"                    try:"},{"line_number":368,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027members\u0027].append(new_member)"},{"line_number":369,"context_line":"                        can_not_update \u003d False"},{"line_number":370,"context_line":"                    except KeyError:"},{"line_number":371,"context_line":"                        can_not_update \u003d True   "}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_a24a267d","line":368,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":368,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027members\u0027].append(new_member)"},{"line_number":369,"context_line":"                        can_not_update \u003d False"},{"line_number":370,"context_line":"                    except KeyError:"},{"line_number":371,"context_line":"                        can_not_update \u003d True   "},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"                    try:"},{"line_number":374,"context_line":"                        loadbalancer_status \u003d loadbalancer_crd[\u0027status\u0027]"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_025f9a41","line":371,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W291 trailing whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":377,"context_line":"                        status_not_exist \u003d True"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"                    if (can_not_update):"},{"line_number":381,"context_line":"                        if(status_not_exist):"},{"line_number":382,"context_line":"                            loadbalancer_crd[\u0027status\u0027] \u003d {}"},{"line_number":383,"context_line":"                        loadbalancer_crd[\u0027status\u0027][\u0027members\u0027] \u003d member"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_e25b8e51","line":380,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":384,"context_line":""},{"line_number":385,"context_line":"                    kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":386,"context_line":"                    try:"},{"line_number":387,"context_line":"                        kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":388,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":389,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":390,"context_line":"                    except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_4259a258","line":387,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (124 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":386,"context_line":"                    try:"},{"line_number":387,"context_line":"                        kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], loadbalancer_crd[\u0027status\u0027])"},{"line_number":388,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":389,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":390,"context_line":"                    except k_exc.K8sClientException:"},{"line_number":391,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":392,"context_line":"                        raise"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_2256162b","line":389,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (89 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":388,"context_line":"                    except k_exc.K8sResourceNotFound:"},{"line_number":389,"context_line":"                        LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":390,"context_line":"                    except k_exc.K8sClientException:"},{"line_number":391,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":392,"context_line":"                        raise"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"                    #lbaas_state.members.append(member)"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_8230ca09","line":391,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (98 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":391,"context_line":"                        LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":392,"context_line":"                        raise"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"                    #lbaas_state.members.append(member)"},{"line_number":395,"context_line":"                    changed \u003d True"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"        return changed"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_6235bef7","line":394,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":414,"context_line":"            # this worker_nodes_subnet will be used"},{"line_number":415,"context_line":"            return config.CONF.pod_vif_nested.worker_nodes_subnet"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def _get_port_in_pool(self, pool, lbaas_state, loadbalancer_crd): "},{"line_number":418,"context_line":"        # TODO ROBI TO SO CRD, TAK TAM DOPLN VERIFIKACIU"},{"line_number":419,"context_line":"        "},{"line_number":420,"context_line":"        for l in loadbalancer_crd[\u0027status\u0027].get(\u0027listeners\u0027, []):"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_c23ad2e5","line":417,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W291 trailing whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":415,"context_line":"            return config.CONF.pod_vif_nested.worker_nodes_subnet"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def _get_port_in_pool(self, pool, lbaas_state, loadbalancer_crd): "},{"line_number":418,"context_line":"        # TODO ROBI TO SO CRD, TAK TAM DOPLN VERIFIKACIU"},{"line_number":419,"context_line":"        "},{"line_number":420,"context_line":"        for l in loadbalancer_crd[\u0027status\u0027].get(\u0027listeners\u0027, []):"},{"line_number":421,"context_line":"            if l.get(\u0027id\u0027) !\u003d pool.get(\u0027listener_id\u0027):"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_a23fc6d4","line":418,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def _get_port_in_pool(self, pool, lbaas_state, loadbalancer_crd): "},{"line_number":418,"context_line":"        # TODO ROBI TO SO CRD, TAK TAM DOPLN VERIFIKACIU"},{"line_number":419,"context_line":"        "},{"line_number":420,"context_line":"        for l in loadbalancer_crd[\u0027status\u0027].get(\u0027listeners\u0027, []):"},{"line_number":421,"context_line":"            if l.get(\u0027id\u0027) !\u003d pool.get(\u0027listener_id\u0027):"},{"line_number":422,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_0224bac5","line":419,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":421,"context_line":"            if l.get(\u0027id\u0027) !\u003d pool.get(\u0027listener_id\u0027):"},{"line_number":422,"context_line":"                continue"},{"line_number":423,"context_line":"            for port in loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027, []):"},{"line_number":424,"context_line":"                if l.get(\u0027port\u0027) \u003d\u003d port.get(\u0027port\u0027) and l.get(\u0027protocol\u0027) \u003d\u003d port.get(\u0027protocol\u0027):"},{"line_number":425,"context_line":"                    return port"},{"line_number":426,"context_line":"        return None"},{"line_number":427,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_e220aeb3","line":424,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (99 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":448,"context_line":"                pod_name \u003d member_name.split(\u0027/\u0027)[1].split(\u0027:\u0027)[0]"},{"line_number":449,"context_line":"            except AttributeError:"},{"line_number":450,"context_line":"                pod_name \u003d \"\""},{"line_number":451,"context_line":"            if ((str(member.get(\u0027ip\u0027)), pod_name, member.get(\u0027port\u0027), member.get(\u0027pool_id\u0027)) in"},{"line_number":452,"context_line":"                    current_targets):"},{"line_number":453,"context_line":"                continue"},{"line_number":454,"context_line":"            self._drv_lbaas.release_member(loadbalancer_crd[\u0027status\u0027].get(\u0027loadbalancer\u0027),"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_422ec2a5","line":451,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (95 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":451,"context_line":"            if ((str(member.get(\u0027ip\u0027)), pod_name, member.get(\u0027port\u0027), member.get(\u0027pool_id\u0027)) in"},{"line_number":452,"context_line":"                    current_targets):"},{"line_number":453,"context_line":"                continue"},{"line_number":454,"context_line":"            self._drv_lbaas.release_member(loadbalancer_crd[\u0027status\u0027].get(\u0027loadbalancer\u0027),"},{"line_number":455,"context_line":"                                           member)"},{"line_number":456,"context_line":"            removed_ids.add(member.get(\u0027ip\u0027))"},{"line_number":457,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_222bb694","line":454,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (90 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":456,"context_line":"            removed_ids.add(member.get(\u0027ip\u0027))"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"        if removed_ids:"},{"line_number":459,"context_line":"            # TODO: Check if this adding data in to lbaas_state, if yes, this need to be "},{"line_number":460,"context_line":"            # patch in to the CRD"},{"line_number":461,"context_line":"            lbaas_state.members \u003d [m for m in lbaas_state.members"},{"line_number":462,"context_line":"                                   if m.id not in removed_ids]"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_621e5e71","line":459,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (88 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":456,"context_line":"            removed_ids.add(member.get(\u0027ip\u0027))"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"        if removed_ids:"},{"line_number":459,"context_line":"            # TODO: Check if this adding data in to lbaas_state, if yes, this need to be "},{"line_number":460,"context_line":"            # patch in to the CRD"},{"line_number":461,"context_line":"            lbaas_state.members \u003d [m for m in lbaas_state.members"},{"line_number":462,"context_line":"                                   if m.id not in removed_ids]"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_8219ea89","line":459,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":456,"context_line":"            removed_ids.add(member.get(\u0027ip\u0027))"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"        if removed_ids:"},{"line_number":459,"context_line":"            # TODO: Check if this adding data in to lbaas_state, if yes, this need to be "},{"line_number":460,"context_line":"            # patch in to the CRD"},{"line_number":461,"context_line":"            lbaas_state.members \u003d [m for m in lbaas_state.members"},{"line_number":462,"context_line":"                                   if m.id not in removed_ids]"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_c213f265","line":459,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W291 trailing whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":464,"context_line":""},{"line_number":465,"context_line":"    def _sync_lbaas_pools(self, endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":466,"context_line":"        changed \u003d False"},{"line_number":467,"context_line":"        # TODO: update this"},{"line_number":468,"context_line":"        if self._remove_unused_pools(lbaas_state, loadbalancer_crd):"},{"line_number":469,"context_line":"            changed \u003d True"},{"line_number":470,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_a2186681","line":467,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":468,"context_line":"        if self._remove_unused_pools(lbaas_state, loadbalancer_crd):"},{"line_number":469,"context_line":"            changed \u003d True"},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"        if self._sync_lbaas_listeners(endpoints, lbaas_state, loadbalancer_crd):"},{"line_number":472,"context_line":"            changed \u003d True"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"        if self._add_new_pools(lbaas_state, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_020dda3d","line":471,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":579,"context_line":"        return bool(removed_ids)"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":582,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":583,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":584,"context_line":"        "},{"line_number":585,"context_line":"        status_data \u003d {"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_e209ce31","line":582,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":580,"context_line":""},{"line_number":581,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":582,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":583,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":584,"context_line":"        "},{"line_number":585,"context_line":"        status_data \u003d {"},{"line_number":586,"context_line":"            \u0027status\u0027: {"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_4207e21d","line":583,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E114 indentation is not a multiple of four (comment)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":580,"context_line":""},{"line_number":581,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":582,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":583,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":584,"context_line":"        "},{"line_number":585,"context_line":"        status_data \u003d {"},{"line_number":586,"context_line":"            \u0027status\u0027: {"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_22045617","line":583,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E117 over-indented (comment)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":581,"context_line":"    def _update_lb_status(self, endpoints, lb_ip_address, loadbalancer_crd):"},{"line_number":582,"context_line":"        #status_data \u003d {\"loadBalancer\": {"},{"line_number":583,"context_line":"         #   \"ingress\": [{\"ip\": lb_ip_address.format()}]}}"},{"line_number":584,"context_line":"        "},{"line_number":585,"context_line":"        status_data \u003d {"},{"line_number":586,"context_line":"            \u0027status\u0027: {"},{"line_number":587,"context_line":"                \u0027loadbalancer\u0027: {"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_b6fee702","line":584,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":592,"context_line":""},{"line_number":593,"context_line":"        kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":594,"context_line":"        try:"},{"line_number":595,"context_line":"            kubernetes.patch_crd(\u0027spec\u0027, loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027], status_data)"},{"line_number":596,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":597,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":598,"context_line":"        except k_exc.K8sClientException:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_9603eb0d","line":595,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (95 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":596,"context_line":"        except k_exc.K8sResourceNotFound:"},{"line_number":597,"context_line":"            LOG.debug(\u0027KuryrLoadbalancer CRD not found %s\u0027, loadbalancer_crd)"},{"line_number":598,"context_line":"        except k_exc.K8sClientException:"},{"line_number":599,"context_line":"            LOG.exception(\u0027Error updating KuryrLoadbalancer CRD %s\u0027, loadbalancer_crd)"},{"line_number":600,"context_line":"            raise"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"    def _get_service_link(self, endpoints):"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_f6086f29","line":599,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":693,"context_line":"                attempts +\u003d 1"},{"line_number":694,"context_line":"                retry \u003d True"},{"line_number":695,"context_line":""},{"line_number":696,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_d60d7338","line":696,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W391 blank line at end of file","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"2a49076caa7f1a3abd141181d011da5d316dc4ef","unresolved":false,"context_lines":[{"line_number":34,"context_line":"SUPPORTED_SERVICE_TYPES \u003d (\u0027ClusterIP\u0027, \u0027LoadBalancer\u0027)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class LoadBalancerStatusHandler(k8s_base.ResourceEventHandler):"},{"line_number":38,"context_line":"    \"\"\"LoadBalancerStatusHandler handles K8s Endpoints events."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    LBStatusHandler handles K8s Endpoints events and tracks changes in"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_21c1e181","line":37,"range":{"start_line":37,"start_character":6,"end_line":37,"end_character":31},"updated":"2020-05-05 09:02:28.000000000","message":"As Michal suggested, perhaps this can be renamed to KuryrLoadBalancerHandler","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"2a49076caa7f1a3abd141181d011da5d316dc4ef","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    \"\"\""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    OBJECT_KIND \u003d k_const.K8S_OBJ_ENDPOINTS"},{"line_number":46,"context_line":"    OBJECT_WATCH_PATH \u003d \"%s/%s\" % (k_const.K8S_API_BASE, \"endpoints\")"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def __init__(self):"},{"line_number":49,"context_line":"        super(LoadBalancerStatusHandler, self).__init__()"}],"source_content_type":"text/x-python","patch_set":29,"id":"1f493fa4_e144191e","line":46,"range":{"start_line":46,"start_character":4,"end_line":46,"end_character":69},"updated":"2020-05-05 09:02:28.000000000","message":"Once this file is updated, make sure this handler will handle the new CRD events and not the endpoints.","commit_id":"c4cc189618fe63c39e3143988a5ebca3d3e9e39f"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e258cd74413d0a224b6ec0b88bd214242aa18df","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2016 Mirantis, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_7c4ba386","line":1,"range":{"start_line":1,"start_character":15,"end_line":1,"end_character":35},"updated":"2020-05-11 12:05:48.000000000","message":"this must be 2020 Red Hat, Inc.","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"572387298f8b3d8e143dd65751ffbe7692be1b77","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2016 Mirantis, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_e6f7238c","line":1,"range":{"start_line":1,"start_character":15,"end_line":1,"end_character":35},"in_reply_to":"ff570b3c_7c4ba386","updated":"2020-05-25 08:22:15.000000000","message":"Done","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e258cd74413d0a224b6ec0b88bd214242aa18df","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        changed \u003d False"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        if (self._has_pods(loadbalancer_crd) and"},{"line_number":132,"context_line":"                self._remove_unused_members(loadbalancer_crd)):"},{"line_number":133,"context_line":"            changed \u003d True"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        if self._sync_lbaas_pools(loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_5751580e","line":132,"range":{"start_line":132,"start_character":21,"end_line":132,"end_character":43},"updated":"2020-05-11 12:05:48.000000000","message":"The removal operations must also trigger a patching on the CRD.","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"e535c5c34a7d50a17ee3687b22565a3c005e53f6","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        changed \u003d False"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        if (self._has_pods(loadbalancer_crd) and"},{"line_number":132,"context_line":"                self._remove_unused_members(loadbalancer_crd)):"},{"line_number":133,"context_line":"            changed \u003d True"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        if self._sync_lbaas_pools(loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_7c4435b8","line":132,"range":{"start_line":132,"start_character":21,"end_line":132,"end_character":43},"in_reply_to":"ff570b3c_5751580e","updated":"2020-05-25 08:23:09.000000000","message":"Done","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e258cd74413d0a224b6ec0b88bd214242aa18df","unresolved":false,"context_lines":[{"line_number":354,"context_line":"    def _sync_lbaas_pools(self, loadbalancer_crd):"},{"line_number":355,"context_line":"        changed \u003d False"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        if self._remove_unused_pools(loadbalancer_crd):"},{"line_number":358,"context_line":"            changed \u003d True"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        if self._sync_lbaas_listeners(loadbalancer_crd):"},{"line_number":361,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_d76568e3","line":358,"range":{"start_line":357,"start_character":0,"end_line":358,"end_character":26},"updated":"2020-05-11 12:05:48.000000000","message":"ditto","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"e535c5c34a7d50a17ee3687b22565a3c005e53f6","unresolved":false,"context_lines":[{"line_number":354,"context_line":"    def _sync_lbaas_pools(self, loadbalancer_crd):"},{"line_number":355,"context_line":"        changed \u003d False"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        if self._remove_unused_pools(loadbalancer_crd):"},{"line_number":358,"context_line":"            changed \u003d True"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        if self._sync_lbaas_listeners(loadbalancer_crd):"},{"line_number":361,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_9c4789bd","line":358,"range":{"start_line":357,"start_character":0,"end_line":358,"end_character":26},"in_reply_to":"ff570b3c_d76568e3","updated":"2020-05-25 08:23:09.000000000","message":"Done","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e258cd74413d0a224b6ec0b88bd214242aa18df","unresolved":false,"context_lines":[{"line_number":426,"context_line":"    def _sync_lbaas_listeners(self, loadbalancer_crd):"},{"line_number":427,"context_line":"        changed \u003d False"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"        if self._remove_unused_listeners(loadbalancer_crd):"},{"line_number":430,"context_line":"            changed \u003d True"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"        if self._sync_lbaas_loadbalancer(loadbalancer_crd):"},{"line_number":433,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_579f98b3","line":430,"range":{"start_line":429,"start_character":0,"end_line":430,"end_character":26},"updated":"2020-05-11 12:05:48.000000000","message":"ditto","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"e535c5c34a7d50a17ee3687b22565a3c005e53f6","unresolved":false,"context_lines":[{"line_number":426,"context_line":"    def _sync_lbaas_listeners(self, loadbalancer_crd):"},{"line_number":427,"context_line":"        changed \u003d False"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"        if self._remove_unused_listeners(loadbalancer_crd):"},{"line_number":430,"context_line":"            changed \u003d True"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"        if self._sync_lbaas_loadbalancer(loadbalancer_crd):"},{"line_number":433,"context_line":"            changed \u003d True"}],"source_content_type":"text/x-python","patch_set":30,"id":"ff570b3c_3c3abd33","line":430,"range":{"start_line":429,"start_character":0,"end_line":430,"end_character":26},"in_reply_to":"ff570b3c_579f98b3","updated":"2020-05-25 08:23:09.000000000","message":"Done","commit_id":"ead97cf825fcadc8bc8b077c877cc5266c364432"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"66c635dab964ebebb395634752758d5b1214525f","unresolved":false,"context_lines":[{"line_number":578,"context_line":"                raise"},{"line_number":579,"context_line":"        return bool(removed_ids)"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"    def _sync_lbaas_loadbalancer(self, loadbalancer_crd):"},{"line_number":582,"context_line":"        changed \u003d False"},{"line_number":583,"context_line":"        try:"},{"line_number":584,"context_line":"            lb \u003d loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027]"}],"source_content_type":"text/x-python","patch_set":31,"id":"ff570b3c_ea2cf34b","line":581,"range":{"start_line":581,"start_character":8,"end_line":581,"end_character":32},"updated":"2020-05-25 10:03:57.000000000","message":"Could you verify if in each of the operations that follows this one(like _sync_lbaas_listeners) the loadbalancer_crd variable is actually filled with the new loadbalancer on the status?\nIn case it\u0027s not you\u0027ll probably need to return the updated loadbalancer_crd variable.","commit_id":"aa8110332a728ca8c7cca54c9135eaf8b126eb3a"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"73fa7afa9dd4bdde5c2fefbe28f8334bc570f63d","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                !\u003d \u0027default\u0027):"},{"line_number":60,"context_line":"            self._lb_provider \u003d ("},{"line_number":61,"context_line":"                config.CONF.kubernetes.endpoints_driver_octavia_provider)"},{"line_number":62,"context_line":"        eventlet.spawn(self._cleanup_leftover_lbaas)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def on_present(self, loadbalancer_crd):"},{"line_number":65,"context_line":"        if self._sync_lbaas_members(loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_6cf3bc9f","line":62,"range":{"start_line":62,"start_character":0,"end_line":62,"end_character":52},"updated":"2020-05-27 09:00:49.000000000","message":"not sure if this will be needed, or we should do similarly to what dulek has done in the policy CRD handling, which is also adding a finalizer on the svc itself, to ensure the svc is not removed until the associated crd is deleted.\n\nThat said, we will need to handle upgrades here...","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"73fa7afa9dd4bdde5c2fefbe28f8334bc570f63d","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                                      loadbalancer_crd)"},{"line_number":99,"context_line":"                        raise"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def on_finalize(self, loadbalancer_crd):"},{"line_number":102,"context_line":"        LOG.debug(\"Deleting the loadbalancer CRD\")"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        name \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_6c773c3c","line":101,"range":{"start_line":101,"start_character":0,"end_line":101,"end_character":44},"updated":"2020-05-27 09:00:49.000000000","message":"who triggers this? I don\u0027t see the lbaas handler triggering the CRD removal","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"61ecb4e585dbc9525ad25a546ddd8f22d0e34401","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                                                      namespace)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        if not loadbalancer_crd:"},{"line_number":110,"context_line":"            LOG.warning(\"This should not happen.\")"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        self.on_deleted()"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_2a4c1d75","line":110,"range":{"start_line":110,"start_character":25,"end_line":110,"end_character":50},"updated":"2020-05-26 09:58:59.000000000","message":"Could this be formulated to LOG.warning(\"Load Balancer CRD %s not present\", name) ?","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                                                      namespace)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        if not loadbalancer_crd:"},{"line_number":110,"context_line":"            LOG.warning(\"This should not happen.\")"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        self.on_deleted()"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_85409609","line":110,"range":{"start_line":110,"start_character":25,"end_line":110,"end_character":50},"in_reply_to":"ff570b3c_2a4c1d75","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"73fa7afa9dd4bdde5c2fefbe28f8334bc570f63d","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                          \u0027for %s\u0027, loadbalancer_crd)"},{"line_number":125,"context_line":"            raise"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def on_deleted(self, loadbalancer_crd\u003dNone):"},{"line_number":128,"context_line":"        name \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":129,"context_line":"        namespace \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_8cdf300b","line":127,"range":{"start_line":127,"start_character":0,"end_line":127,"end_character":48},"updated":"2020-05-27 09:00:49.000000000","message":"why we need this? don\u0027t we only need the finalize? that will be trigger when the lbaas handler removes the CRD that has the finalizer","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"ba9edf7f452bd5eece6c99fe4c31cf9583399c8f","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                          \u0027for %s\u0027, loadbalancer_crd)"},{"line_number":125,"context_line":"            raise"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def on_deleted(self, loadbalancer_crd\u003dNone):"},{"line_number":128,"context_line":"        name \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":129,"context_line":"        namespace \u003d loadbalancer_crd[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_6cc6184b","line":127,"range":{"start_line":127,"start_character":0,"end_line":127,"end_character":48},"updated":"2020-06-18 07:38:38.000000000","message":"I don\u0027t know why we need on_delete. We use finalizers, so this could be part of on_finalize, right?","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"ba9edf7f452bd5eece6c99fe4c31cf9583399c8f","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                   for address in subset[\u0027addresses\u0027]"},{"line_number":169,"context_line":"                   if address[\u0027targetRef\u0027][\u0027kind\u0027] \u003d\u003d \u0027Pod\u0027)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def _sync_lbaas_members(self, loadbalancer_crd):"},{"line_number":172,"context_line":"        changed \u003d False"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        if (self._has_pods(loadbalancer_crd) and"},{"line_number":175,"context_line":"                self._remove_unused_members(loadbalancer_crd)):"},{"line_number":176,"context_line":"            changed \u003d True"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        if self._sync_lbaas_pools(loadbalancer_crd):"},{"line_number":179,"context_line":"            changed \u003d True"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        if (self._has_pods(loadbalancer_crd) and"},{"line_number":182,"context_line":"                self._add_new_members(loadbalancer_crd)):"},{"line_number":183,"context_line":"            changed \u003d True"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"        return changed"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def _sync_lbaas_sgs(self, loadbalancer_crd):"},{"line_number":188,"context_line":"        # NOTE (maysams) Need to retrieve the LBaaS Spec again due to"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_cceac4aa","line":185,"range":{"start_line":171,"start_character":0,"end_line":185,"end_character":22},"updated":"2020-06-18 07:38:38.000000000","message":"we saw some races with the previous controller if the loadbalancer is deleted and we try to remove members/pools/listeners, not sure if we need to somehow modify the order now and have first ensure loadbalancer, then removal of listeners/pools/members, and then the addition","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"ba9edf7f452bd5eece6c99fe4c31cf9583399c8f","unresolved":false,"context_lines":[{"line_number":683,"context_line":""},{"line_number":684,"context_line":"        return changed"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"    def _cleanup_leftover_lbaas(self):"},{"line_number":687,"context_line":"        lbaas_client \u003d clients.get_loadbalancer_client()"},{"line_number":688,"context_line":"        services \u003d []"},{"line_number":689,"context_line":"        try:"},{"line_number":690,"context_line":"            services \u003d driver_utils.get_services().get(\u0027items\u0027)"},{"line_number":691,"context_line":"        except k_exc.K8sClientException:"},{"line_number":692,"context_line":"            LOG.debug(\"Skipping cleanup of leftover lbaas. \""},{"line_number":693,"context_line":"                      \"Error retriving Kubernetes services\")"},{"line_number":694,"context_line":"            return"},{"line_number":695,"context_line":"        services_cluster_ip \u003d set(service[\u0027spec\u0027][\u0027clusterIP\u0027]"},{"line_number":696,"context_line":"                                  for service in services"},{"line_number":697,"context_line":"                                  if service[\u0027spec\u0027].get(\u0027clusterIP\u0027))"},{"line_number":698,"context_line":"        lbaas_spec \u003d {}"},{"line_number":699,"context_line":"        self._drv_lbaas.add_tags(\u0027loadbalancer\u0027, lbaas_spec)"},{"line_number":700,"context_line":"        loadbalancers \u003d lbaas_client.load_balancers(**lbaas_spec)"},{"line_number":701,"context_line":"        for loadbalancer in loadbalancers:"},{"line_number":702,"context_line":"            if loadbalancer.vip_address not in services_cluster_ip:"},{"line_number":703,"context_line":"                lb_obj \u003d obj_lbaas.LBaaSLoadBalancer(**loadbalancer)"},{"line_number":704,"context_line":"                eventlet.spawn(self._ensure_release_lbaas, lb_obj)"},{"line_number":705,"context_line":""},{"line_number":706,"context_line":"    def _ensure_release_lbaas(self, lb_obj):"},{"line_number":707,"context_line":"        attempts \u003d 0"},{"line_number":708,"context_line":"        deadline \u003d 0"},{"line_number":709,"context_line":"        retry \u003d True"},{"line_number":710,"context_line":"        timeout \u003d config.CONF.kubernetes.watch_retry_timeout"},{"line_number":711,"context_line":"        while retry:"},{"line_number":712,"context_line":"            try:"},{"line_number":713,"context_line":"                if attempts \u003d\u003d 1:"},{"line_number":714,"context_line":"                    deadline \u003d time.time() + timeout"},{"line_number":715,"context_line":"                if (attempts \u003e 0 and"},{"line_number":716,"context_line":"                        utils.exponential_sleep(deadline, attempts) \u003d\u003d 0):"},{"line_number":717,"context_line":"                    LOG.error(\"Failed releasing lbaas \u0027%s\u0027: deadline exceeded\","},{"line_number":718,"context_line":"                              lb_obj.name)"},{"line_number":719,"context_line":"                    return"},{"line_number":720,"context_line":"                self._drv_lbaas.release_loadbalancer(lb_obj)"},{"line_number":721,"context_line":"                retry \u003d False"},{"line_number":722,"context_line":"            except k_exc.ResourceNotReady:"},{"line_number":723,"context_line":"                LOG.debug(\"Attempt (%s) of loadbalancer release %s failed.\""},{"line_number":724,"context_line":"                          \" A retry will be triggered.\", attempts, lb_obj.name)"},{"line_number":725,"context_line":"                attempts +\u003d 1"},{"line_number":726,"context_line":"                retry \u003d True"}],"source_content_type":"text/x-python","patch_set":33,"id":"bf51134e_ec99886e","line":726,"range":{"start_line":686,"start_character":0,"end_line":726,"end_character":28},"updated":"2020-06-18 07:38:38.000000000","message":"this has changed now in master, you will need to take a look and include it","commit_id":"95146057e8886d7fdb449dcd14f2233ebeec90d2"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"28490f46fa1268f87f13d4072826048310d38ef7","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        if not loadbalancer_crd:"},{"line_number":105,"context_line":"            LOG.warning(\"This should not happen.\")"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        if not loadbalancer_crd:"},{"line_number":108,"context_line":"            return"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        if loadbalancer_crd[\u0027status\u0027] !\u003d {}:"},{"line_number":111,"context_line":"            # NOTE(ivc): deleting pool deletes its members"}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_08a2acfc","line":108,"range":{"start_line":106,"start_character":0,"end_line":108,"end_character":18},"updated":"2020-07-09 07:46:16.000000000","message":"remove? and just add \"return\" at line 106?","commit_id":"2e0bcb384303054365420134a86ba9aae3f5a3e0"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f3399c4b760109a5fde6a45ab9f05934a9fa945c","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        if not loadbalancer_crd:"},{"line_number":105,"context_line":"            LOG.warning(\"This should not happen.\")"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        if not loadbalancer_crd:"},{"line_number":108,"context_line":"            return"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        if loadbalancer_crd[\u0027status\u0027] !\u003d {}:"},{"line_number":111,"context_line":"            # NOTE(ivc): deleting pool deletes its members"}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_3c44eb46","line":108,"range":{"start_line":106,"start_character":0,"end_line":108,"end_character":18},"in_reply_to":"bf51134e_08a2acfc","updated":"2020-07-12 20:56:50.000000000","message":"Done","commit_id":"2e0bcb384303054365420134a86ba9aae3f5a3e0"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"28490f46fa1268f87f13d4072826048310d38ef7","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        LOG.debug(\u0027Removing finalizer from KuryrLoadBalancer CRD %s\u0027,"},{"line_number":126,"context_line":"                  loadbalancer_crd)"},{"line_number":127,"context_line":"        try:"},{"line_number":128,"context_line":"            kubernetes.patch_crd(\u0027metadata\u0027,"},{"line_number":129,"context_line":"                                 loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":130,"context_line":"                                 \u0027finalizers\u0027,"},{"line_number":131,"context_line":"                                 action\u003d\u0027remove\u0027)"},{"line_number":132,"context_line":"        except k_exc.K8sClientException:"},{"line_number":133,"context_line":"            LOG.exception(\u0027Error removing kuryrloadbalancer CRD finalizer\u0027"},{"line_number":134,"context_line":"                          \u0027for %s\u0027, loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_a8890076","line":131,"range":{"start_line":128,"start_character":0,"end_line":131,"end_character":49},"updated":"2020-07-09 07:46:16.000000000","message":"I wonder if we need a finalizer on the service object so that we only delete the service after the loadbalancer cleanup is completed, and we ensure we don\u0027t leak loadbalancers/loadbalancers_crs (similarly to how dulek is doing for the networkpolicy CRDs)","commit_id":"2e0bcb384303054365420134a86ba9aae3f5a3e0"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f3399c4b760109a5fde6a45ab9f05934a9fa945c","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        LOG.debug(\u0027Removing finalizer from KuryrLoadBalancer CRD %s\u0027,"},{"line_number":126,"context_line":"                  loadbalancer_crd)"},{"line_number":127,"context_line":"        try:"},{"line_number":128,"context_line":"            kubernetes.patch_crd(\u0027metadata\u0027,"},{"line_number":129,"context_line":"                                 loadbalancer_crd[\u0027metadata\u0027][\u0027selfLink\u0027],"},{"line_number":130,"context_line":"                                 \u0027finalizers\u0027,"},{"line_number":131,"context_line":"                                 action\u003d\u0027remove\u0027)"},{"line_number":132,"context_line":"        except k_exc.K8sClientException:"},{"line_number":133,"context_line":"            LOG.exception(\u0027Error removing kuryrloadbalancer CRD finalizer\u0027"},{"line_number":134,"context_line":"                          \u0027for %s\u0027, loadbalancer_crd)"}],"source_content_type":"text/x-python","patch_set":34,"id":"bf51134e_9c76d7a3","line":131,"range":{"start_line":128,"start_character":0,"end_line":131,"end_character":49},"in_reply_to":"bf51134e_a8890076","updated":"2020-07-12 20:56:50.000000000","message":"I think it could be useful, I will take a look at it.","commit_id":"2e0bcb384303054365420134a86ba9aae3f5a3e0"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"4867e35420f4af3790c526dd3ad80bce8ae35566","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                        raise"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def _should_ignore(self, loadbalancer_crd):"},{"line_number":107,"context_line":"        # NOTE(ltomasbo): we must wait until service handler has annotated the"},{"line_number":108,"context_line":"        # endpoints to process them. Thus, if annotations are not updated to"},{"line_number":109,"context_line":"        # match the endpoints information, we should skip the event"},{"line_number":110,"context_line":"        return not(self._has_pods(loadbalancer_crd))"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _has_pods(self, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_f0d732be","line":109,"range":{"start_line":107,"start_character":0,"end_line":109,"end_character":67},"updated":"2020-07-13 09:12:34.000000000","message":"comment needs update","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"5663fa837c0e3db88b6d64c2a5151af03e90111e","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                        raise"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def _should_ignore(self, loadbalancer_crd):"},{"line_number":107,"context_line":"        # NOTE(ltomasbo): we must wait until service handler has annotated the"},{"line_number":108,"context_line":"        # endpoints to process them. Thus, if annotations are not updated to"},{"line_number":109,"context_line":"        # match the endpoints information, we should skip the event"},{"line_number":110,"context_line":"        return not(self._has_pods(loadbalancer_crd))"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _has_pods(self, loadbalancer_crd):"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_6126a16a","line":109,"range":{"start_line":107,"start_character":0,"end_line":109,"end_character":67},"in_reply_to":"bf51134e_f0d732be","updated":"2020-07-14 13:32:26.000000000","message":"I will update it.","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"4867e35420f4af3790c526dd3ad80bce8ae35566","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                   for address in subset[\u0027addresses\u0027]"},{"line_number":119,"context_line":"                   if address[\u0027targetRef\u0027][\u0027kind\u0027] \u003d\u003d \u0027Pod\u0027)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def on_finalize(self, loadbalancer_crd):"},{"line_number":122,"context_line":"        LOG.debug(\"Deleting the loadbalancer CRD\")"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        if not loadbalancer_crd:"},{"line_number":125,"context_line":"            LOG.warning(\"Load Balancer CRD not present\")"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_30f7ea5b","line":122,"range":{"start_line":121,"start_character":0,"end_line":122,"end_character":50},"updated":"2020-07-13 09:12:34.000000000","message":"I saw in Roman\u0027s PR for ports CRD that he still left the on_delete(...) method, just with a LOG.info(\"Deleted XXX CRD\"). I think it is good idea and good for debugging.","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"5663fa837c0e3db88b6d64c2a5151af03e90111e","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                   for address in subset[\u0027addresses\u0027]"},{"line_number":119,"context_line":"                   if address[\u0027targetRef\u0027][\u0027kind\u0027] \u003d\u003d \u0027Pod\u0027)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def on_finalize(self, loadbalancer_crd):"},{"line_number":122,"context_line":"        LOG.debug(\"Deleting the loadbalancer CRD\")"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        if not loadbalancer_crd:"},{"line_number":125,"context_line":"            LOG.warning(\"Load Balancer CRD not present\")"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_c62ea38a","line":122,"range":{"start_line":121,"start_character":0,"end_line":122,"end_character":50},"in_reply_to":"bf51134e_30f7ea5b","updated":"2020-07-14 13:32:26.000000000","message":"I look at Roman\u0027s patch and he decided to remove that\nhttps://review.opendev.org/#/c/733168/10/kuryr_kubernetes/controller/handlers/kuryrport.py@122","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"4867e35420f4af3790c526dd3ad80bce8ae35566","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            return"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        if loadbalancer_crd[\u0027status\u0027] !\u003d {}:"},{"line_number":129,"context_line":"            # NOTE(ivc): deleting pool deletes its members"},{"line_number":130,"context_line":"            self._drv_lbaas.release_loadbalancer("},{"line_number":131,"context_line":"                loadbalancer\u003dloadbalancer_crd[\u0027status\u0027].get(\u0027loadbalancer\u0027))"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_508ffecb","line":129,"range":{"start_line":129,"start_character":12,"end_line":129,"end_character":58},"updated":"2020-07-13 09:12:34.000000000","message":"remove comment","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"5663fa837c0e3db88b6d64c2a5151af03e90111e","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            return"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        if loadbalancer_crd[\u0027status\u0027] !\u003d {}:"},{"line_number":129,"context_line":"            # NOTE(ivc): deleting pool deletes its members"},{"line_number":130,"context_line":"            self._drv_lbaas.release_loadbalancer("},{"line_number":131,"context_line":"                loadbalancer\u003dloadbalancer_crd[\u0027status\u0027].get(\u0027loadbalancer\u0027))"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_665517fa","line":129,"range":{"start_line":129,"start_character":12,"end_line":129,"end_character":58},"in_reply_to":"bf51134e_508ffecb","updated":"2020-07-14 13:32:26.000000000","message":"Done","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"4867e35420f4af3790c526dd3ad80bce8ae35566","unresolved":false,"context_lines":[{"line_number":678,"context_line":""},{"line_number":679,"context_line":"        return changed"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"    def _cleanup_leftover_lbaas(self):"},{"line_number":682,"context_line":"        lbaas_client \u003d clients.get_loadbalancer_client()"},{"line_number":683,"context_line":"        services \u003d []"},{"line_number":684,"context_line":"        try:"},{"line_number":685,"context_line":"            services \u003d driver_utils.get_services().get(\u0027items\u0027)"},{"line_number":686,"context_line":"        except k_exc.K8sClientException:"},{"line_number":687,"context_line":"            LOG.debug(\"Skipping cleanup of leftover lbaas. \""},{"line_number":688,"context_line":"                      \"Error retriving Kubernetes services\")"},{"line_number":689,"context_line":"            return"},{"line_number":690,"context_line":"        services_cluster_ip \u003d {service[\u0027spec\u0027][\u0027clusterIP\u0027]: service"},{"line_number":691,"context_line":"                               for service in services"},{"line_number":692,"context_line":"                               if service[\u0027spec\u0027].get(\u0027clusterIP\u0027)}"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":"        services_without_selector \u003d set("},{"line_number":695,"context_line":"            service[\u0027spec\u0027][\u0027clusterIP\u0027] for service in services"},{"line_number":696,"context_line":"            if (service[\u0027spec\u0027].get(\u0027clusterIP\u0027) and"},{"line_number":697,"context_line":"                not service[\u0027spec\u0027].get(\u0027selector\u0027)))"},{"line_number":698,"context_line":"        lbaas_spec \u003d {}"},{"line_number":699,"context_line":"        self._drv_lbaas.add_tags(\u0027loadbalancer\u0027, lbaas_spec)"},{"line_number":700,"context_line":"        loadbalancers \u003d lbaas_client.load_balancers(**lbaas_spec)"},{"line_number":701,"context_line":"        for loadbalancer in loadbalancers:"},{"line_number":702,"context_line":"            if loadbalancer.vip_address not in services_cluster_ip.keys():"},{"line_number":703,"context_line":"                lb_obj \u003d obj_lbaas.LBaaSLoadBalancer(**loadbalancer)"},{"line_number":704,"context_line":"                eventlet.spawn(self._ensure_release_lbaas, lb_obj)"},{"line_number":705,"context_line":"            else:"},{"line_number":706,"context_line":"                # check if the provider is the right one"},{"line_number":707,"context_line":"                if (loadbalancer.vip_address not in services_without_selector"},{"line_number":708,"context_line":"                        and self._lb_provider"},{"line_number":709,"context_line":"                        and self._lb_provider !\u003d loadbalancer.provider):"},{"line_number":710,"context_line":"                    LOG.debug(\"Removing loadbalancer with old provider: %s\","},{"line_number":711,"context_line":"                              loadbalancer)"},{"line_number":712,"context_line":"                    lb_obj \u003d obj_lbaas.LBaaSLoadBalancer(**loadbalancer)"},{"line_number":713,"context_line":"                    eventlet.spawn("},{"line_number":714,"context_line":"                        self._ensure_release_lbaas,"},{"line_number":715,"context_line":"                        lb_obj,"},{"line_number":716,"context_line":"                        services_cluster_ip[loadbalancer.vip_address])"},{"line_number":717,"context_line":"                    # NOTE(ltomasbo): give some extra time in between lbs"},{"line_number":718,"context_line":"                    # recreation actions"},{"line_number":719,"context_line":"                    time.sleep(1)"},{"line_number":720,"context_line":""},{"line_number":721,"context_line":"    def _ensure_release_lbaas(self, lb_obj, svc\u003dNone):"},{"line_number":722,"context_line":"        attempts \u003d 0"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_507d3eb0","line":719,"range":{"start_line":681,"start_character":0,"end_line":719,"end_character":33},"updated":"2020-07-13 09:12:34.000000000","message":"this should be replaced by the use of finalizers on the services object, so that until the associated loadbalancer (CRD) is removed, the service does not get removed.","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"7bb1a318673f0e5ce865f08ccee65dd2a7740e84","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                        raise"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def _should_ignore(self, loadbalancer_crd):"},{"line_number":105,"context_line":"        return not(self._has_pods(loadbalancer_crd))"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def _has_pods(self, loadbalancer_crd):"},{"line_number":108,"context_line":"        ep_subsets \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027subsets\u0027)"}],"source_content_type":"text/x-python","patch_set":38,"id":"bf51134e_562fc5f4","line":105,"range":{"start_line":105,"start_character":7,"end_line":105,"end_character":51},"updated":"2020-07-15 19:19:48.000000000","message":"I guess, because of usage of the CRDs Luis comment doesn\u0027t apply anymore? I\u0027m just thinking out loud - maybe this entire method may be squished as an condition?","commit_id":"3f928b0135808b9c81c0dbcac1afef96afb700d9"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"c510b3b738330c57bbc089f4a3c87a90bc6af1eb","unresolved":false,"context_lines":[{"line_number":358,"context_line":"        for pool in pools:"},{"line_number":359,"context_line":"            port \u003d self._get_port_in_pool(pool, loadbalancer_crd)"},{"line_number":360,"context_line":"            if port:"},{"line_number":361,"context_line":"                port[\u0027name\u0027] \u003d None"},{"line_number":362,"context_line":"                spec_ports[port[\u0027name\u0027]] \u003d pool[\u0027id\u0027]"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"        subsets \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027subsets\u0027)"}],"source_content_type":"text/x-python","patch_set":38,"id":"bf51134e_2c9f1d66","line":361,"range":{"start_line":361,"start_character":16,"end_line":361,"end_character":35},"updated":"2020-07-21 09:53:04.000000000","message":"shouldn\u0027t this field only get created and assigned to None if the name key doesn\u0027t exist in the port?","commit_id":"3f928b0135808b9c81c0dbcac1afef96afb700d9"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"7dbaee08ad23fea0cca6807498d5b5ae350ab747","unresolved":false,"context_lines":[{"line_number":66,"context_line":"            LOG.debug(\"Ignoring Kubernetes service %s\","},{"line_number":67,"context_line":"                      loadbalancer_crd[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":68,"context_line":"            return"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        if self._sync_lbaas_members(loadbalancer_crd):"},{"line_number":71,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"},{"line_number":72,"context_line":"            # associate it to LB VIP and update K8S service status"},{"line_number":73,"context_line":"            # if loadbalancer_crd[\u0027status\u0027].get(\u0027service_pub_ip_info\u0027) is None:"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_69b25c4b","line":70,"range":{"start_line":69,"start_character":0,"end_line":70,"end_character":54},"updated":"2020-07-24 10:09:26.000000000","message":"should we check before syncing members (which will try to do delete actions first (members, pool, listeners) that the loadbalancer still exists? or check that out on the respective sync deletion and skip the error?\n\nMain idea is... what happen if someone manually delete a loadbalancer? the sync_loadbalancer will recreate it, but now it won\u0027t reach that point as we would fail on the removal of the members/pools/listeners.\n\nPerhaps it is enough just catching that error and skipping it","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"0b1bb81b5bccd78edcb70b93062299f9c39b150b","unresolved":false,"context_lines":[{"line_number":66,"context_line":"            LOG.debug(\"Ignoring Kubernetes service %s\","},{"line_number":67,"context_line":"                      loadbalancer_crd[\u0027metadata\u0027][\u0027name\u0027])"},{"line_number":68,"context_line":"            return"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        if self._sync_lbaas_members(loadbalancer_crd):"},{"line_number":71,"context_line":"            # Note(yboaron) For LoadBalancer services, we should allocate FIP,"},{"line_number":72,"context_line":"            # associate it to LB VIP and update K8S service status"},{"line_number":73,"context_line":"            # if loadbalancer_crd[\u0027status\u0027].get(\u0027service_pub_ip_info\u0027) is None:"}],"source_content_type":"text/x-python","patch_set":41,"id":"9f560f44_2be7ec14","line":70,"range":{"start_line":69,"start_character":0,"end_line":70,"end_character":54},"in_reply_to":"bf51134e_69b25c4b","updated":"2020-07-29 16:52:04.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"7dbaee08ad23fea0cca6807498d5b5ae350ab747","unresolved":false,"context_lines":[{"line_number":671,"context_line":""},{"line_number":672,"context_line":"        return changed"},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"    def _cleanup_leftover_lbaas(self):"},{"line_number":675,"context_line":"        lbaas_client \u003d clients.get_loadbalancer_client()"},{"line_number":676,"context_line":"        services \u003d []"},{"line_number":677,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_09dc8044","line":674,"range":{"start_line":674,"start_character":0,"end_line":674,"end_character":38},"updated":"2020-07-24 10:09:26.000000000","message":"in theory, with the finalizers usage we cannot have leaks anymore, so this is not needed. Instead, we should do a step to upgrade existing loadbalancers to CRDs","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"7dbaee08ad23fea0cca6807498d5b5ae350ab747","unresolved":false,"context_lines":[{"line_number":684,"context_line":"                               for service in services"},{"line_number":685,"context_line":"                               if service[\u0027spec\u0027].get(\u0027clusterIP\u0027)}"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"        services_without_selector \u003d set("},{"line_number":688,"context_line":"            service[\u0027spec\u0027][\u0027clusterIP\u0027] for service in services"},{"line_number":689,"context_line":"            if (service[\u0027spec\u0027].get(\u0027clusterIP\u0027) and"},{"line_number":690,"context_line":"                not service[\u0027spec\u0027].get(\u0027selector\u0027)))"},{"line_number":691,"context_line":"        lbaas_spec \u003d {}"},{"line_number":692,"context_line":"        self._drv_lbaas.add_tags(\u0027loadbalancer\u0027, lbaas_spec)"},{"line_number":693,"context_line":"        loadbalancers \u003d lbaas_client.load_balancers(**lbaas_spec)"}],"source_content_type":"text/x-python","patch_set":41,"id":"bf51134e_69153ce5","line":690,"range":{"start_line":687,"start_character":0,"end_line":690,"end_character":53},"updated":"2020-07-24 10:09:26.000000000","message":"now this is different as you allowed services without selectors, so we also need to take care of them","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"4c4e472a108acc23f58556a3e3e380c32c5e0082","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                        service_pub_ip_info, loadbalancer_crd[\u0027status\u0027]["},{"line_number":88,"context_line":"                            \u0027loadbalancer\u0027][\u0027port_id\u0027])"},{"line_number":89,"context_line":"                    loadbalancer_crd[\u0027status\u0027]["},{"line_number":90,"context_line":"                        \u0027service_pub_ip_info\u0027] \u003d service_pub_ip_info"},{"line_number":91,"context_line":"                    kubernetes \u003d clients.get_kubernetes_client()"},{"line_number":92,"context_line":"                    try:"},{"line_number":93,"context_line":"                        kubernetes.patch_crd(\u0027status\u0027, loadbalancer_crd["}],"source_content_type":"text/x-python","patch_set":52,"id":"9f560f44_c822bba4","line":90,"updated":"2020-07-29 12:20:55.000000000","message":"You\u0027re missing the update of the ingress on the Service status. Could you add it back?\n\nhttps://github.com/openstack/kuryr-kubernetes/blob/2e3fb3cd54102bc1583a21767875a32d97674c86/kuryr_kubernetes/controller/handlers/lbaas.py#L221-L223","commit_id":"4f82cc75bbd6339ba1c370cef6dba6d3daf9924b"}],"kuryr_kubernetes/k8s_client.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        url, header \u003d self._get_url_and_header(path, content_type)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        if action \u003d\u003d \u0027remove\u0027:"},{"line_number":126,"context_line":"            data \u003d [{\u0027op\u0027: action,"},{"line_number":127,"context_line":"                     \u0027path\u0027: f\u0027/{field}/{data}\u0027}]"},{"line_number":128,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_d6076fc9","line":125,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                    for crd_field, value in data.items()]"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        LOG.debug(\"Patch %(path)s: %(data)s\", {"},{"line_number":136,"context_line":"            \u0027path\u0027: path, \u0027data\u0027: data})"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        response \u003d self.session.patch(url, data\u003djsonutils.dumps(data),"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_b60aabce","line":135,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        url, header \u003d self._get_url_and_header(path, content_type)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        if action \u003d\u003d \u0027remove\u0027:"},{"line_number":126,"context_line":"            data \u003d [{\u0027op\u0027: action,"},{"line_number":127,"context_line":"                     \u0027path\u0027: f\u0027/{field}/{data}\u0027}]"},{"line_number":128,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_690eee32","line":125,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                    for crd_field, value in data.items()]"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        LOG.debug(\"Patch %(path)s: %(data)s\", {"},{"line_number":136,"context_line":"            \u0027path\u0027: path, \u0027data\u0027: data})"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        response \u003d self.session.patch(url, data\u003djsonutils.dumps(data),"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_c91d8267","line":135,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        url, header \u003d self._get_url_and_header(path, content_type)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        if action \u003d\u003d \u0027remove\u0027:"},{"line_number":126,"context_line":"            data \u003d [{\u0027op\u0027: action,"},{"line_number":127,"context_line":"                     \u0027path\u0027: f\u0027/{field}/{data}\u0027}]"},{"line_number":128,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_363bf7d1","line":125,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                    for crd_field, value in data.items()]"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        LOG.debug(\"Patch %(path)s: %(data)s\", {"},{"line_number":136,"context_line":"            \u0027path\u0027: path, \u0027data\u0027: data})"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        response \u003d self.session.patch(url, data\u003djsonutils.dumps(data),"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_16387bd1","line":135,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"}],"kuryr_kubernetes/tests/unit/controller/handlers/test_lbaas.py":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"984438d65f589232fe1d9c33c5c7eb95d8d79b68","unresolved":false,"context_lines":[{"line_number":771,"context_line":"        self.assertEqual(sorted(expected_targets.items()), observed_targets)"},{"line_number":772,"context_line":"        self.assertEqual(expected_ip, str(state.loadbalancer.ip))"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.controller.handlers.lbaas\u0027"},{"line_number":775,"context_line":"                \u0027.LoadBalancerHandler._cleanup_leftover_lbaas\u0027)"},{"line_number":776,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.controller.handlers.lbaas.\u0027"},{"line_number":777,"context_line":"                \u0027LoadBalancerHandler._sync_lbaas_sgs\u0027)"},{"line_number":778,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.controller.drivers.base\u0027"},{"line_number":779,"context_line":"                \u0027.PodSubnetsDriver.get_instance\u0027)"},{"line_number":780,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.controller.drivers.base\u0027"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_d01ad96c","line":777,"range":{"start_line":774,"start_character":0,"end_line":777,"end_character":54},"updated":"2020-07-14 14:08:14.000000000","message":"All the tests that are patching methods on LoadBalancerHandler needs to use KuryrLoadBalancerHandler now.","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7f0ed8858922366b5fbf4cc2d95711836f4a23d7","unresolved":false,"context_lines":[{"line_number":771,"context_line":"        self.assertEqual(sorted(expected_targets.items()), observed_targets)"},{"line_number":772,"context_line":"        self.assertEqual(expected_ip, str(state.loadbalancer.ip))"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.controller.handlers.lbaas\u0027"},{"line_number":775,"context_line":"                \u0027.LoadBalancerHandler._cleanup_leftover_lbaas\u0027)"},{"line_number":776,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.controller.handlers.lbaas.\u0027"},{"line_number":777,"context_line":"                \u0027LoadBalancerHandler._sync_lbaas_sgs\u0027)"},{"line_number":778,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.controller.drivers.base\u0027"},{"line_number":779,"context_line":"                \u0027.PodSubnetsDriver.get_instance\u0027)"},{"line_number":780,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.controller.drivers.base\u0027"}],"source_content_type":"text/x-python","patch_set":36,"id":"bf51134e_61d8481d","line":777,"range":{"start_line":774,"start_character":0,"end_line":777,"end_character":54},"in_reply_to":"bf51134e_d01ad96c","updated":"2020-07-15 17:37:50.000000000","message":"I put it to the new file, I am going to create a new class for endpointshandler in test_lbaas.py and test endpointshandler.","commit_id":"d7f42b7c56095d0c8c973efd2675af325e6dda08"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.set_lbaas_spec\u0027)"},{"line_number":48,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.get_lbaas_spec\u0027)"},{"line_number":49,"context_line":"    def test_on_present(self, m_get_lbaas_spec, m_set_lbaas_spec):"},{"line_number":50,"context_line":"        service \u003d  {"},{"line_number":51,"context_line":"            \"metadata\": {"},{"line_number":52,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":53,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_4f1ee870","line":50,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            }"},{"line_number":83,"context_line":"        }"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":86,"context_line":"        namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        project_id \u003d mock.sentinel.project_id"}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_af134466","line":85,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: F841 local variable \u0027svc_name\u0027 is assigned to but never used","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        }"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":86,"context_line":"        namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        project_id \u003d mock.sentinel.project_id"},{"line_number":89,"context_line":"        m_drv_project \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_8f180082","line":86,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: F841 local variable \u0027namespace\u0027 is assigned to but never used","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        m_drv_project.get_project.return_value \u003d project_id"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":93,"context_line":"        m_get_lbaas_spec.return_value \u003d old_spec"},{"line_number":94,"context_line":"        m_handler._has_lbaas_spec_changes.return_value \u003d True"},{"line_number":95,"context_line":"        m_handler._generate_lbaas_spec.return_value \u003d new_spec"},{"line_number":96,"context_line":"        m_handler._should_ignore.return_value \u003d False"}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_ef0c1c44","line":93,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: F821 undefined name \u0027old_spec\u0027","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":93,"context_line":"        m_get_lbaas_spec.return_value \u003d old_spec"},{"line_number":94,"context_line":"        m_handler._has_lbaas_spec_changes.return_value \u003d True"},{"line_number":95,"context_line":"        m_handler._generate_lbaas_spec.return_value \u003d new_spec"},{"line_number":96,"context_line":"        m_handler._should_ignore.return_value \u003d False"},{"line_number":97,"context_line":"        m_handler._drv_project \u003d m_drv_project"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_cf095832","line":95,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: F821 undefined name \u0027new_spec\u0027","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        m_handler._should_ignore.return_value \u003d False"},{"line_number":97,"context_line":"        m_handler._drv_project \u003d m_drv_project"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        h_lbaas.ServiceHandler.on_present(m_handler, svc_event)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_2f07341f","line":99,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        h_lbaas.ServiceHandler.on_present(m_handler, svc_event)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_0f04f016","line":101,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        h_lbaas.ServiceHandler.on_present(m_handler, svc_event)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_6afe3a06","line":102,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_4a03760e","line":103,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: F821 undefined name \u0027old_spec\u0027","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.set_lbaas_spec\u0027)"}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_aa085228","line":104,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.set_lbaas_spec\u0027)"},{"line_number":108,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.get_lbaas_spec\u0027)"}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_ea11aa55","line":105,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: F821 undefined name \u0027new_spec\u0027","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.set_lbaas_spec\u0027)"},{"line_number":108,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.get_lbaas_spec\u0027)"}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_8a0d8e39","line":105,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":181,"context_line":"    def test_has_lbaas_spec_changes(self):"},{"line_number":182,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":183,"context_line":"        m_port_changes \u003d mock.Mock(utils.has_port_changes)"},{"line_number":184,"context_line":"        service \u003d  {"},{"line_number":185,"context_line":"            \"metadata\": {"},{"line_number":186,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":187,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_ca0e6631","line":184,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        self.assertTrue(ret)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def test_has_ip_changes__no_changes(self):"},{"line_number":254,"context_line":"        service \u003d  {"},{"line_number":255,"context_line":"            \"metadata\": {"},{"line_number":256,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":257,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_2a1c4269","line":254,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":291,"context_line":"    def test_has_ip_changes__no_spec(self):"},{"line_number":292,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":293,"context_line":"        m_handler._get_service_ip.return_value \u003d \u00271.1.1.1\u0027"},{"line_number":294,"context_line":"        service \u003d  {"},{"line_number":295,"context_line":"            \"metadata\": {"},{"line_number":296,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":297,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_0a197e78","line":294,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    def test_has_ip_changes__no_nothing(self):"},{"line_number":324,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":325,"context_line":"        service \u003d  {"},{"line_number":326,"context_line":"            \"metadata\": {"},{"line_number":327,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":328,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_6a275ab8","line":325,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.set_lbaas_spec\u0027)"},{"line_number":48,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.get_lbaas_spec\u0027)"},{"line_number":49,"context_line":"    def test_on_present(self, m_get_lbaas_spec, m_set_lbaas_spec):"},{"line_number":50,"context_line":"        service \u003d  {"},{"line_number":51,"context_line":"            \"metadata\": {"},{"line_number":52,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":53,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_72f0d5ca","line":50,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            }"},{"line_number":83,"context_line":"        }"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":86,"context_line":"        namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        project_id \u003d mock.sentinel.project_id"}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_52edd1ed","line":85,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: F841 local variable \u0027svc_name\u0027 is assigned to but never used","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        }"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":86,"context_line":"        namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        project_id \u003d mock.sentinel.project_id"},{"line_number":89,"context_line":"        m_drv_project \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_b2bb8de3","line":86,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: F841 local variable \u0027namespace\u0027 is assigned to but never used","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        m_drv_project.get_project.return_value \u003d project_id"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":93,"context_line":"        m_get_lbaas_spec.return_value \u003d old_spec"},{"line_number":94,"context_line":"        m_handler._has_lbaas_spec_changes.return_value \u003d True"},{"line_number":95,"context_line":"        m_handler._generate_lbaas_spec.return_value \u003d new_spec"},{"line_number":96,"context_line":"        m_handler._should_ignore.return_value \u003d False"}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_92c00953","line":93,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: F821 undefined name \u0027old_spec\u0027","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":93,"context_line":"        m_get_lbaas_spec.return_value \u003d old_spec"},{"line_number":94,"context_line":"        m_handler._has_lbaas_spec_changes.return_value \u003d True"},{"line_number":95,"context_line":"        m_handler._generate_lbaas_spec.return_value \u003d new_spec"},{"line_number":96,"context_line":"        m_handler._should_ignore.return_value \u003d False"},{"line_number":97,"context_line":"        m_handler._drv_project \u003d m_drv_project"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_f2b505f0","line":95,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: F821 undefined name \u0027new_spec\u0027","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        m_handler._should_ignore.return_value \u003d False"},{"line_number":97,"context_line":"        m_handler._drv_project \u003d m_drv_project"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        h_lbaas.ServiceHandler.on_present(m_handler, svc_event)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_d2ba81dc","line":99,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        h_lbaas.ServiceHandler.on_present(m_handler, svc_event)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_32cf7d80","line":101,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        h_lbaas.ServiceHandler.on_present(m_handler, svc_event)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_12ccf987","line":102,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_72c9f576","line":103,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: F821 undefined name \u0027old_spec\u0027","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.set_lbaas_spec\u0027)"}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_52c67169","line":104,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.set_lbaas_spec\u0027)"},{"line_number":108,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.get_lbaas_spec\u0027)"}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_92a5a9b8","line":105,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: F821 undefined name \u0027new_spec\u0027","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.set_lbaas_spec\u0027)"},{"line_number":108,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.get_lbaas_spec\u0027)"}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_b2a0ada7","line":105,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":181,"context_line":"    def test_has_lbaas_spec_changes(self):"},{"line_number":182,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":183,"context_line":"        m_port_changes \u003d mock.Mock(utils.has_port_changes)"},{"line_number":184,"context_line":"        service \u003d  {"},{"line_number":185,"context_line":"            \"metadata\": {"},{"line_number":186,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":187,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_f2aa2583","line":184,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        self.assertTrue(ret)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def test_has_ip_changes__no_changes(self):"},{"line_number":254,"context_line":"        service \u003d  {"},{"line_number":255,"context_line":"            \"metadata\": {"},{"line_number":256,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":257,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_d2af2192","line":254,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":291,"context_line":"    def test_has_ip_changes__no_spec(self):"},{"line_number":292,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":293,"context_line":"        m_handler._get_service_ip.return_value \u003d \u00271.1.1.1\u0027"},{"line_number":294,"context_line":"        service \u003d  {"},{"line_number":295,"context_line":"            \"metadata\": {"},{"line_number":296,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":297,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_32949d44","line":294,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    def test_has_ip_changes__no_nothing(self):"},{"line_number":324,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":325,"context_line":"        service \u003d  {"},{"line_number":326,"context_line":"            \"metadata\": {"},{"line_number":327,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":328,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_12919953","line":325,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.set_lbaas_spec\u0027)"},{"line_number":48,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.get_lbaas_spec\u0027)"},{"line_number":49,"context_line":"    def test_on_present(self, m_get_lbaas_spec, m_set_lbaas_spec):"},{"line_number":50,"context_line":"        service \u003d  {"},{"line_number":51,"context_line":"            \"metadata\": {"},{"line_number":52,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":53,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_0b004467","line":50,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            }"},{"line_number":83,"context_line":"        }"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":86,"context_line":"        namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        project_id \u003d mock.sentinel.project_id"}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_eb04f07d","line":85,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: F841 local variable \u0027svc_name\u0027 is assigned to but never used","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        }"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        svc_name \u003d service[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":86,"context_line":"        namespace \u003d service[\u0027metadata\u0027][\u0027namespace\u0027]"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        project_id \u003d mock.sentinel.project_id"},{"line_number":89,"context_line":"        m_drv_project \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_4bf99c7e","line":86,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: F841 local variable \u0027namespace\u0027 is assigned to but never used","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        m_drv_project.get_project.return_value \u003d project_id"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":93,"context_line":"        m_get_lbaas_spec.return_value \u003d old_spec"},{"line_number":94,"context_line":"        m_handler._has_lbaas_spec_changes.return_value \u003d True"},{"line_number":95,"context_line":"        m_handler._generate_lbaas_spec.return_value \u003d new_spec"},{"line_number":96,"context_line":"        m_handler._should_ignore.return_value \u003d False"}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_2bf6e890","line":93,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: F821 undefined name \u0027old_spec\u0027","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":93,"context_line":"        m_get_lbaas_spec.return_value \u003d old_spec"},{"line_number":94,"context_line":"        m_handler._has_lbaas_spec_changes.return_value \u003d True"},{"line_number":95,"context_line":"        m_handler._generate_lbaas_spec.return_value \u003d new_spec"},{"line_number":96,"context_line":"        m_handler._should_ignore.return_value \u003d False"},{"line_number":97,"context_line":"        m_handler._drv_project \u003d m_drv_project"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_8bf3b49e","line":95,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: F821 undefined name \u0027new_spec\u0027","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        m_handler._should_ignore.return_value \u003d False"},{"line_number":97,"context_line":"        m_handler._drv_project \u003d m_drv_project"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        h_lbaas.ServiceHandler.on_present(m_handler, svc_event)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_6bf0e091","line":99,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        h_lbaas.ServiceHandler.on_present(m_handler, svc_event)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_cb2acce5","line":101,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        h_lbaas.ServiceHandler.on_present(m_handler, svc_event)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_ab2f98f4","line":102,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_0b35e446","line":103,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: F821 undefined name \u0027old_spec\u0027","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        m_get_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.set_lbaas_spec\u0027)"}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_eb399041","line":104,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.set_lbaas_spec\u0027)"},{"line_number":108,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.get_lbaas_spec\u0027)"}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_2b3b8838","line":105,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: F821 undefined name \u0027new_spec\u0027","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        m_handler._has_lbaas_spec_changes.assert_called_once_with(svc_event,"},{"line_number":103,"context_line":"                                                                  old_spec)"},{"line_number":104,"context_line":"        m_handler._generate_lbaas_spec.assert_called_once_with(svc_event)"},{"line_number":105,"context_line":"        m_set_lbaas_spec.assert_called_once_with(svc_event, new_spec)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.set_lbaas_spec\u0027)"},{"line_number":108,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.get_lbaas_spec\u0027)"}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_4b3ebc29","line":105,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: F821 undefined name \u0027svc_event\u0027","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":181,"context_line":"    def test_has_lbaas_spec_changes(self):"},{"line_number":182,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":183,"context_line":"        m_port_changes \u003d mock.Mock(utils.has_port_changes)"},{"line_number":184,"context_line":"        service \u003d  {"},{"line_number":185,"context_line":"            \"metadata\": {"},{"line_number":186,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":187,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_8b48d4cc","line":184,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        self.assertTrue(ret)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def test_has_ip_changes__no_changes(self):"},{"line_number":254,"context_line":"        service \u003d  {"},{"line_number":255,"context_line":"            \"metadata\": {"},{"line_number":256,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":257,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_6b4580b3","line":254,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":291,"context_line":"    def test_has_ip_changes__no_spec(self):"},{"line_number":292,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":293,"context_line":"        m_handler._get_service_ip.return_value \u003d \u00271.1.1.1\u0027"},{"line_number":294,"context_line":"        service \u003d  {"},{"line_number":295,"context_line":"            \"metadata\": {"},{"line_number":296,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":297,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_cb13ecb7","line":294,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    def test_has_ip_changes__no_nothing(self):"},{"line_number":324,"context_line":"        m_handler \u003d mock.Mock(spec\u003dh_lbaas.ServiceHandler)"},{"line_number":325,"context_line":"        service \u003d  {"},{"line_number":326,"context_line":"            \"metadata\": {"},{"line_number":327,"context_line":"                \"creationTimestamp\": \"2020-07-25T18:15:12Z\","},{"line_number":328,"context_line":"                \"finalizers\": ["}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_ab1838d3","line":325,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: E222 multiple spaces after operator","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"}],"kuryr_kubernetes/tests/unit/controller/handlers/test_loadbalancer.py":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"78190495832503434f2ca48ef90aa107d45ad236","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"class FakeLBaaSDriver(drv_base.LBaaSDriver):"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    def ensure_loadbalancer(self, name, project_id, subnet_id, ip,"},{"line_number":144,"context_line":"                            security_groups_ids, service_type, provider\u003dNone):"},{"line_number":145,"context_line":"        return obj_lbaas.LBaaSLoadBalancer(name\u003dname,"},{"line_number":146,"context_line":"                                           project_id\u003dproject_id,"},{"line_number":147,"context_line":"                                           subnet_id\u003dsubnet_id,"},{"line_number":148,"context_line":"                                           ip\u003dip,"},{"line_number":149,"context_line":"                                           id\u003dstr(uuid.uuid4()),"},{"line_number":150,"context_line":"                                           provider\u003dprovider)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def ensure_listener(self, loadbalancer, protocol, port,"},{"line_number":153,"context_line":"                        service_type\u003d\u0027ClusterIP\u0027):"},{"line_number":154,"context_line":"        if protocol not in _SUPPORTED_LISTENER_PROT:"},{"line_number":155,"context_line":"            return None"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        name \u003d \"%s:%s:%s\" % (loadbalancer.name, protocol, port)"},{"line_number":158,"context_line":"        return obj_lbaas.LBaaSListener(name\u003dname,"},{"line_number":159,"context_line":"                                       project_id\u003dloadbalancer.project_id,"},{"line_number":160,"context_line":"                                       loadbalancer_id\u003dloadbalancer.id,"},{"line_number":161,"context_line":"                                       protocol\u003dprotocol,"},{"line_number":162,"context_line":"                                       port\u003dport,"},{"line_number":163,"context_line":"                                       id\u003dstr(uuid.uuid4()))"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    def ensure_pool(self, loadbalancer, listener):"},{"line_number":166,"context_line":"        return obj_lbaas.LBaaSPool(name\u003dlistener.name,"},{"line_number":167,"context_line":"                                   project_id\u003dloadbalancer.project_id,"},{"line_number":168,"context_line":"                                   loadbalancer_id\u003dloadbalancer.id,"},{"line_number":169,"context_line":"                                   listener_id\u003dlistener.id,"},{"line_number":170,"context_line":"                                   protocol\u003dlistener.protocol,"},{"line_number":171,"context_line":"                                   id\u003dstr(uuid.uuid4()))"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def ensure_member(self, loadbalancer, pool, subnet_id, ip, port,"},{"line_number":174,"context_line":"                      target_ref_namespace, target_ref_name, listener_port\u003dNone"},{"line_number":175,"context_line":"                      ):"},{"line_number":176,"context_line":"        name \u003d \"%s:%s:%s\" % (loadbalancer.name, ip, port)"},{"line_number":177,"context_line":"        return obj_lbaas.LBaaSMember(name\u003dname,"},{"line_number":178,"context_line":"                                     project_id\u003dpool.project_id,"},{"line_number":179,"context_line":"                                     pool_id\u003dpool.id,"},{"line_number":180,"context_line":"                                     subnet_id\u003dsubnet_id,"},{"line_number":181,"context_line":"                                     ip\u003dip,"},{"line_number":182,"context_line":"                                     port\u003dport,"},{"line_number":183,"context_line":"                                     id\u003dstr(uuid.uuid4()))"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"class TestKuryrLoadBalancerHandler(test_base.TestCase):"}],"source_content_type":"text/x-python","patch_set":62,"id":"9f560f44_0b501b5d","line":183,"range":{"start_line":143,"start_character":0,"end_line":183,"end_character":58},"updated":"2020-07-30 12:12:45.000000000","message":"The return on these methods should now be a json instead of olso versioned objects, as they\u0027re not used anymore.","commit_id":"9784b80b2e7b376b92f02f62bee973d5f8498c55"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"c780db15f92c362d3b048d70c44080e9a0f2fc21","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"class FakeLBaaSDriver(drv_base.LBaaSDriver):"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    def ensure_loadbalancer(self, name, project_id, subnet_id, ip,"},{"line_number":144,"context_line":"                            security_groups_ids, service_type, provider\u003dNone):"},{"line_number":145,"context_line":"        return obj_lbaas.LBaaSLoadBalancer(name\u003dname,"},{"line_number":146,"context_line":"                                           project_id\u003dproject_id,"},{"line_number":147,"context_line":"                                           subnet_id\u003dsubnet_id,"},{"line_number":148,"context_line":"                                           ip\u003dip,"},{"line_number":149,"context_line":"                                           id\u003dstr(uuid.uuid4()),"},{"line_number":150,"context_line":"                                           provider\u003dprovider)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def ensure_listener(self, loadbalancer, protocol, port,"},{"line_number":153,"context_line":"                        service_type\u003d\u0027ClusterIP\u0027):"},{"line_number":154,"context_line":"        if protocol not in _SUPPORTED_LISTENER_PROT:"},{"line_number":155,"context_line":"            return None"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        name \u003d \"%s:%s:%s\" % (loadbalancer.name, protocol, port)"},{"line_number":158,"context_line":"        return obj_lbaas.LBaaSListener(name\u003dname,"},{"line_number":159,"context_line":"                                       project_id\u003dloadbalancer.project_id,"},{"line_number":160,"context_line":"                                       loadbalancer_id\u003dloadbalancer.id,"},{"line_number":161,"context_line":"                                       protocol\u003dprotocol,"},{"line_number":162,"context_line":"                                       port\u003dport,"},{"line_number":163,"context_line":"                                       id\u003dstr(uuid.uuid4()))"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    def ensure_pool(self, loadbalancer, listener):"},{"line_number":166,"context_line":"        return obj_lbaas.LBaaSPool(name\u003dlistener.name,"},{"line_number":167,"context_line":"                                   project_id\u003dloadbalancer.project_id,"},{"line_number":168,"context_line":"                                   loadbalancer_id\u003dloadbalancer.id,"},{"line_number":169,"context_line":"                                   listener_id\u003dlistener.id,"},{"line_number":170,"context_line":"                                   protocol\u003dlistener.protocol,"},{"line_number":171,"context_line":"                                   id\u003dstr(uuid.uuid4()))"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def ensure_member(self, loadbalancer, pool, subnet_id, ip, port,"},{"line_number":174,"context_line":"                      target_ref_namespace, target_ref_name, listener_port\u003dNone"},{"line_number":175,"context_line":"                      ):"},{"line_number":176,"context_line":"        name \u003d \"%s:%s:%s\" % (loadbalancer.name, ip, port)"},{"line_number":177,"context_line":"        return obj_lbaas.LBaaSMember(name\u003dname,"},{"line_number":178,"context_line":"                                     project_id\u003dpool.project_id,"},{"line_number":179,"context_line":"                                     pool_id\u003dpool.id,"},{"line_number":180,"context_line":"                                     subnet_id\u003dsubnet_id,"},{"line_number":181,"context_line":"                                     ip\u003dip,"},{"line_number":182,"context_line":"                                     port\u003dport,"},{"line_number":183,"context_line":"                                     id\u003dstr(uuid.uuid4()))"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"class TestKuryrLoadBalancerHandler(test_base.TestCase):"}],"source_content_type":"text/x-python","patch_set":62,"id":"9f560f44_ff4f5831","line":183,"range":{"start_line":143,"start_character":0,"end_line":183,"end_character":58},"in_reply_to":"9f560f44_0b501b5d","updated":"2020-07-30 19:31:53.000000000","message":"Done","commit_id":"9784b80b2e7b376b92f02f62bee973d5f8498c55"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"2c235f51d935d289752992ca0a7293d769e22918","unresolved":false,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"        self.assertEqual(subnet_id, observed_subnet_id)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    def _generate_lbaas_state(self, vip, targets, project_id, subnet_id):"},{"line_number":382,"context_line":"        name \u003d \u0027namespace/DUMMY_NAME\u0027"},{"line_number":383,"context_line":"        drv \u003d FakeLBaaSDriver()"},{"line_number":384,"context_line":"        lb \u003d drv.ensure_loadbalancer("}],"source_content_type":"text/x-python","patch_set":62,"id":"9f560f44_6bb9d7e7","line":381,"updated":"2020-07-30 12:09:19.000000000","message":"Unused?","commit_id":"9784b80b2e7b376b92f02f62bee973d5f8498c55"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"78190495832503434f2ca48ef90aa107d45ad236","unresolved":false,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"        self.assertEqual(subnet_id, observed_subnet_id)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    def _generate_lbaas_state(self, vip, targets, project_id, subnet_id):"},{"line_number":382,"context_line":"        name \u003d \u0027namespace/DUMMY_NAME\u0027"},{"line_number":383,"context_line":"        drv \u003d FakeLBaaSDriver()"},{"line_number":384,"context_line":"        lb \u003d drv.ensure_loadbalancer("}],"source_content_type":"text/x-python","patch_set":62,"id":"9f560f44_eb4a07aa","line":381,"in_reply_to":"9f560f44_6bb9d7e7","updated":"2020-07-30 12:12:45.000000000","message":"+1","commit_id":"9784b80b2e7b376b92f02f62bee973d5f8498c55"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"c780db15f92c362d3b048d70c44080e9a0f2fc21","unresolved":false,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"        self.assertEqual(subnet_id, observed_subnet_id)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    def _generate_lbaas_state(self, vip, targets, project_id, subnet_id):"},{"line_number":382,"context_line":"        name \u003d \u0027namespace/DUMMY_NAME\u0027"},{"line_number":383,"context_line":"        drv \u003d FakeLBaaSDriver()"},{"line_number":384,"context_line":"        lb \u003d drv.ensure_loadbalancer("}],"source_content_type":"text/x-python","patch_set":62,"id":"9f560f44_44f31d74","line":381,"in_reply_to":"9f560f44_6bb9d7e7","updated":"2020-07-30 19:31:53.000000000","message":"Done","commit_id":"9784b80b2e7b376b92f02f62bee973d5f8498c55"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"2c235f51d935d289752992ca0a7293d769e22918","unresolved":false,"context_lines":[{"line_number":400,"context_line":"            pools\u003dlist(pools.values()),"},{"line_number":401,"context_line":"            members\u003dlist(members.values()))"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def _generate_lbaas_spec(self, vip, targets, project_id,"},{"line_number":404,"context_line":"                             subnet_id, prot\u003d\u0027TCP\u0027, lbaas_type\u003d\u0027ClusterIP\u0027):"},{"line_number":405,"context_line":"        return obj_lbaas.LBaaSServiceSpec("},{"line_number":406,"context_line":"            ip\u003dvip,"}],"source_content_type":"text/x-python","patch_set":62,"id":"9f560f44_abcacf6a","line":403,"updated":"2020-07-30 12:09:19.000000000","message":"ditto.","commit_id":"9784b80b2e7b376b92f02f62bee973d5f8498c55"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"78190495832503434f2ca48ef90aa107d45ad236","unresolved":false,"context_lines":[{"line_number":400,"context_line":"            pools\u003dlist(pools.values()),"},{"line_number":401,"context_line":"            members\u003dlist(members.values()))"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def _generate_lbaas_spec(self, vip, targets, project_id,"},{"line_number":404,"context_line":"                             subnet_id, prot\u003d\u0027TCP\u0027, lbaas_type\u003d\u0027ClusterIP\u0027):"},{"line_number":405,"context_line":"        return obj_lbaas.LBaaSServiceSpec("},{"line_number":406,"context_line":"            ip\u003dvip,"}],"source_content_type":"text/x-python","patch_set":62,"id":"9f560f44_4bc7b313","line":403,"in_reply_to":"9f560f44_abcacf6a","updated":"2020-07-30 12:12:45.000000000","message":"+1","commit_id":"9784b80b2e7b376b92f02f62bee973d5f8498c55"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"c780db15f92c362d3b048d70c44080e9a0f2fc21","unresolved":false,"context_lines":[{"line_number":400,"context_line":"            pools\u003dlist(pools.values()),"},{"line_number":401,"context_line":"            members\u003dlist(members.values()))"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def _generate_lbaas_spec(self, vip, targets, project_id,"},{"line_number":404,"context_line":"                             subnet_id, prot\u003d\u0027TCP\u0027, lbaas_type\u003d\u0027ClusterIP\u0027):"},{"line_number":405,"context_line":"        return obj_lbaas.LBaaSServiceSpec("},{"line_number":406,"context_line":"            ip\u003dvip,"}],"source_content_type":"text/x-python","patch_set":62,"id":"9f560f44_a4eaf971","line":403,"in_reply_to":"9f560f44_abcacf6a","updated":"2020-07-30 19:31:53.000000000","message":"Done","commit_id":"9784b80b2e7b376b92f02f62bee973d5f8498c55"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"2c235f51d935d289752992ca0a7293d769e22918","unresolved":false,"context_lines":[{"line_number":413,"context_line":"                   for t in targets.values()],"},{"line_number":414,"context_line":"            type\u003dlbaas_type)"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"    def _generate_endpoints(self, targets):"},{"line_number":417,"context_line":"        def _target_to_port(item):"},{"line_number":418,"context_line":"            _, (listen_port, target_port) \u003d item"},{"line_number":419,"context_line":"            return {\u0027port\u0027: target_port, \u0027name\u0027: str(listen_port)}"}],"source_content_type":"text/x-python","patch_set":62,"id":"9f560f44_0bcadb6b","line":416,"updated":"2020-07-30 12:09:19.000000000","message":"ditto.","commit_id":"9784b80b2e7b376b92f02f62bee973d5f8498c55"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"78190495832503434f2ca48ef90aa107d45ad236","unresolved":false,"context_lines":[{"line_number":413,"context_line":"                   for t in targets.values()],"},{"line_number":414,"context_line":"            type\u003dlbaas_type)"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"    def _generate_endpoints(self, targets):"},{"line_number":417,"context_line":"        def _target_to_port(item):"},{"line_number":418,"context_line":"            _, (listen_port, target_port) \u003d item"},{"line_number":419,"context_line":"            return {\u0027port\u0027: target_port, \u0027name\u0027: str(listen_port)}"}],"source_content_type":"text/x-python","patch_set":62,"id":"9f560f44_8bd1cbd0","line":416,"in_reply_to":"9f560f44_0bcadb6b","updated":"2020-07-30 12:12:45.000000000","message":"+1","commit_id":"9784b80b2e7b376b92f02f62bee973d5f8498c55"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"c780db15f92c362d3b048d70c44080e9a0f2fc21","unresolved":false,"context_lines":[{"line_number":413,"context_line":"                   for t in targets.values()],"},{"line_number":414,"context_line":"            type\u003dlbaas_type)"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"    def _generate_endpoints(self, targets):"},{"line_number":417,"context_line":"        def _target_to_port(item):"},{"line_number":418,"context_line":"            _, (listen_port, target_port) \u003d item"},{"line_number":419,"context_line":"            return {\u0027port\u0027: target_port, \u0027name\u0027: str(listen_port)}"}],"source_content_type":"text/x-python","patch_set":62,"id":"9f560f44_84ed358d","line":416,"in_reply_to":"9f560f44_0bcadb6b","updated":"2020-07-30 19:31:53.000000000","message":"Done","commit_id":"9784b80b2e7b376b92f02f62bee973d5f8498c55"}],"kuryr_kubernetes/tests/unit/test_utils.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from kuryr_kubernetes import constants as k_const"},{"line_number":22,"context_line":"from kuryr_kubernetes import exceptions as k_exc"},{"line_number":23,"context_line":"from kuryr_kubernetes.objects import lbaas as obj_lbaas"},{"line_number":24,"context_line":"from kuryr_kubernetes.objects import vif"},{"line_number":25,"context_line":"from kuryr_kubernetes.tests import base as test_base"},{"line_number":26,"context_line":"from kuryr_kubernetes.tests.unit import kuryr_fixtures as k_fix"}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_2f2e14a5","line":23,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: F401 \u0027kuryr_kubernetes.objects.lbaas as obj_lbaas\u0027 imported but unused","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            ]"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        print()"},{"line_number":209,"context_line":"            "},{"line_number":210,"context_line":"        ret \u003d utils.has_port_changes(service, lb_crd_spec)"},{"line_number":211,"context_line":"        self.assertTrue(ret)"},{"line_number":212,"context_line":""}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_0f2b5094","line":209,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[{"line_number":238,"context_line":"            ]"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"        print()"},{"line_number":241,"context_line":"            "},{"line_number":242,"context_line":"        ret \u003d utils.has_port_changes(service, lb_crd_spec)"},{"line_number":243,"context_line":"        self.assertTrue(ret)"},{"line_number":244,"context_line":""}],"source_content_type":"text/x-python","patch_set":42,"id":"9f560f44_6f192c87","line":241,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from kuryr_kubernetes import constants as k_const"},{"line_number":22,"context_line":"from kuryr_kubernetes import exceptions as k_exc"},{"line_number":23,"context_line":"from kuryr_kubernetes.objects import lbaas as obj_lbaas"},{"line_number":24,"context_line":"from kuryr_kubernetes.objects import vif"},{"line_number":25,"context_line":"from kuryr_kubernetes.tests import base as test_base"},{"line_number":26,"context_line":"from kuryr_kubernetes.tests.unit import kuryr_fixtures as k_fix"}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_d2e1e100","line":23,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: F401 \u0027kuryr_kubernetes.objects.lbaas as obj_lbaas\u0027 imported but unused","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            ]"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        print()"},{"line_number":209,"context_line":"            "},{"line_number":210,"context_line":"        ret \u003d utils.has_port_changes(service, lb_crd_spec)"},{"line_number":211,"context_line":"        self.assertTrue(ret)"},{"line_number":212,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_32e65d18","line":209,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":238,"context_line":"            ]"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"        print()"},{"line_number":241,"context_line":"            "},{"line_number":242,"context_line":"        ret \u003d utils.has_port_changes(service, lb_crd_spec)"},{"line_number":243,"context_line":"        self.assertTrue(ret)"},{"line_number":244,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_12e35907","line":241,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from kuryr_kubernetes import constants as k_const"},{"line_number":22,"context_line":"from kuryr_kubernetes import exceptions as k_exc"},{"line_number":23,"context_line":"from kuryr_kubernetes.objects import lbaas as obj_lbaas"},{"line_number":24,"context_line":"from kuryr_kubernetes.objects import vif"},{"line_number":25,"context_line":"from kuryr_kubernetes.tests import base as test_base"},{"line_number":26,"context_line":"from kuryr_kubernetes.tests.unit import kuryr_fixtures as k_fix"}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_6bd740ef","line":23,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: F401 \u0027kuryr_kubernetes.objects.lbaas as obj_lbaas\u0027 imported but unused","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            ]"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        print()"},{"line_number":209,"context_line":"            "},{"line_number":210,"context_line":"        ret \u003d utils.has_port_changes(service, lb_crd_spec)"},{"line_number":211,"context_line":"        self.assertTrue(ret)"},{"line_number":212,"context_line":""}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_cb05ac7c","line":209,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f9275b01d68626f91b382c5a9a1fa2fc6cd87e4f","unresolved":false,"context_lines":[{"line_number":238,"context_line":"            ]"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"        print()"},{"line_number":241,"context_line":"            "},{"line_number":242,"context_line":"        ret \u003d utils.has_port_changes(service, lb_crd_spec)"},{"line_number":243,"context_line":"        self.assertTrue(ret)"},{"line_number":244,"context_line":""}],"source_content_type":"text/x-python","patch_set":46,"id":"9f560f44_ab0af886","line":241,"updated":"2020-07-28 13:03:45.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"49f895c065fcf84fa21c5a54cae836132aae09a3"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"b0ec3c3e37af69c4be47fe767d683985945cff3b","unresolved":false,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.get_service_ports\u0027)"},{"line_number":186,"context_line":"    def test_has_port_changes(self, m_get_service_ports):"},{"line_number":187,"context_line":"        service \u003d {}"},{"line_number":188,"context_line":"        service[\u0027metadata\u0027] \u003d {}"},{"line_number":189,"context_line":"        service[\u0027metadata\u0027][\u0027selfLink\u0027] \u003d \"\""},{"line_number":190,"context_line":"        service[\u0027spec\u0027] \u003d {}"},{"line_number":191,"context_line":"        service[\u0027spec\u0027][\u0027ports\u0027] \u003d ["},{"line_number":192,"context_line":"            {\u0027port\u0027: 1, \u0027name\u0027: \u0027X\u0027, \u0027protocol\u0027: \u0027TCP\u0027, \u0027targetPort\u0027: \u00271\u0027},"},{"line_number":193,"context_line":"        ]"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"        lb_crd_spec \u003d {}"},{"line_number":196,"context_line":"        lb_crd_spec[\u0027spec\u0027] \u003d {}"}],"source_content_type":"text/x-python","patch_set":52,"id":"9f560f44_a8b947ea","line":193,"range":{"start_line":187,"start_character":0,"end_line":193,"end_character":9},"updated":"2020-07-29 12:41:27.000000000","message":"why not creating this dict at once, like:\n\n    service \u003d {\u0027metadata\u0027: {\u0027selfLink\u0027: \"\"}, \n               \u0027spec\u0027: {\u0027ports\u0027: [{\u0027port\u0027: 1, \n                                   \u0027name\u0027: \u0027X\u0027, \n                                   \u0027protocol\u0027: \u0027TCP\u0027, \n                                   \u0027targetPort\u0027: \u00271\u0027}]}}\n\nI see the pattern repeats down through this module.","commit_id":"4f82cc75bbd6339ba1c370cef6dba6d3daf9924b"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"fb7ed0610768e4d7c833ed97c3d5280c330dc934","unresolved":false,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    @mock.patch(\u0027kuryr_kubernetes.utils.get_service_ports\u0027)"},{"line_number":186,"context_line":"    def test_has_port_changes(self, m_get_service_ports):"},{"line_number":187,"context_line":"        service \u003d {}"},{"line_number":188,"context_line":"        service[\u0027metadata\u0027] \u003d {}"},{"line_number":189,"context_line":"        service[\u0027metadata\u0027][\u0027selfLink\u0027] \u003d \"\""},{"line_number":190,"context_line":"        service[\u0027spec\u0027] \u003d {}"},{"line_number":191,"context_line":"        service[\u0027spec\u0027][\u0027ports\u0027] \u003d ["},{"line_number":192,"context_line":"            {\u0027port\u0027: 1, \u0027name\u0027: \u0027X\u0027, \u0027protocol\u0027: \u0027TCP\u0027, \u0027targetPort\u0027: \u00271\u0027},"},{"line_number":193,"context_line":"        ]"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"        lb_crd_spec \u003d {}"},{"line_number":196,"context_line":"        lb_crd_spec[\u0027spec\u0027] \u003d {}"}],"source_content_type":"text/x-python","patch_set":52,"id":"9f560f44_28609201","line":193,"range":{"start_line":187,"start_character":0,"end_line":193,"end_character":9},"in_reply_to":"9f560f44_a8b947ea","updated":"2020-07-29 16:28:20.000000000","message":"Done","commit_id":"4f82cc75bbd6339ba1c370cef6dba6d3daf9924b"}],"kuryr_kubernetes/utils.py":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"51f77cdaddc7fc8bcefe0365c30582d8e3c78e51","unresolved":false,"context_lines":[{"line_number":327,"context_line":"    return \"/\".join(link_parts)"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"def has_port_changes(service, loadbalancer_crd):"},{"line_number":331,"context_line":"    link \u003d service[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":334,"context_line":"    svc_port_set \u003d {tuple(port[attr] for attr in fields)"},{"line_number":335,"context_line":"                    for port in get_service_ports(service)}"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    spec_port_set \u003d {tuple(port[attr] for attr in fields)"},{"line_number":338,"context_line":"                     for port in get_loadbalancer_crd_ports(loadbalancer_crd)}"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"    if svc_port_set !\u003d spec_port_set:"},{"line_number":341,"context_line":"        LOG.debug(\"LBaaS spec ports %(spec_ports)s !\u003d %(svc_ports)s \""},{"line_number":342,"context_line":"                  \"for %(link)s\" % {\u0027spec_ports\u0027: spec_port_set,"},{"line_number":343,"context_line":"                                    \u0027svc_ports\u0027: svc_port_set,"},{"line_number":344,"context_line":"                                    \u0027link\u0027: link})"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    return svc_port_set !\u003d spec_port_set"},{"line_number":347,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_dd5aa2f1","line":344,"range":{"start_line":330,"start_character":0,"end_line":344,"end_character":50},"updated":"2020-03-02 11:13:46.000000000","message":"Why not directly checks the ports field of both? something like:\nservice[\u0027spec\u0027][\u0027ports\u0027] \u003d\u003d loadbalancer_crd[\u0027spec\u0027][\u0027ports\u0027]","commit_id":"33e34ebfe069550728a756a56b4f1d5a5a2d2eea"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"6b1db9295bb706f119655fcf45ac55fc10260b83","unresolved":false,"context_lines":[{"line_number":327,"context_line":"    return \"/\".join(link_parts)"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"def has_port_changes(service, loadbalancer_crd):"},{"line_number":331,"context_line":"    link \u003d service[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":334,"context_line":"    svc_port_set \u003d {tuple(port[attr] for attr in fields)"},{"line_number":335,"context_line":"                    for port in get_service_ports(service)}"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    spec_port_set \u003d {tuple(port[attr] for attr in fields)"},{"line_number":338,"context_line":"                     for port in get_loadbalancer_crd_ports(loadbalancer_crd)}"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"    if svc_port_set !\u003d spec_port_set:"},{"line_number":341,"context_line":"        LOG.debug(\"LBaaS spec ports %(spec_ports)s !\u003d %(svc_ports)s \""},{"line_number":342,"context_line":"                  \"for %(link)s\" % {\u0027spec_ports\u0027: spec_port_set,"},{"line_number":343,"context_line":"                                    \u0027svc_ports\u0027: svc_port_set,"},{"line_number":344,"context_line":"                                    \u0027link\u0027: link})"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    return svc_port_set !\u003d spec_port_set"},{"line_number":347,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_a4c3bb56","line":344,"range":{"start_line":330,"start_character":0,"end_line":344,"end_character":50},"in_reply_to":"1fa4df85_dd5aa2f1","updated":"2020-03-06 15:21:19.000000000","message":"This question is still valid, could you check it?","commit_id":"33e34ebfe069550728a756a56b4f1d5a5a2d2eea"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"0ea2a40996acc71e800ce50d268b4a7d0b0cb3a8","unresolved":false,"context_lines":[{"line_number":330,"context_line":"def has_port_changes(service, loadbalancer_crd):"},{"line_number":331,"context_line":"    link \u003d service[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":334,"context_line":"    svc_port_set \u003d {tuple(port[attr] for attr in fields)"},{"line_number":335,"context_line":"                    for port in get_service_ports(service)}"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    spec_port_set \u003d {tuple(port[attr] for attr in fields)"},{"line_number":338,"context_line":"                     for port in get_loadbalancer_crd_ports(loadbalancer_crd)}"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"    if svc_port_set !\u003d spec_port_set:"},{"line_number":341,"context_line":"        LOG.debug(\"LBaaS spec ports %(spec_ports)s !\u003d %(svc_ports)s \""}],"source_content_type":"text/x-python","patch_set":12,"id":"1fa4df85_50b46bd1","line":338,"range":{"start_line":333,"start_character":0,"end_line":338,"end_character":78},"updated":"2020-03-17 15:53:23.000000000","message":"Can\u0027t you directly compare the ports field from both loadbalancer_crd and service directly, without needing to iterate over them?","commit_id":"6a6a4068f597f9df033176b9f48960e3a442795f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":341,"context_line":"def has_port_changes(service, loadbalancer_crd):"},{"line_number":342,"context_line":"    link \u003d service[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":345,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":346,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":347,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_6362230c","line":344,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: F841 local variable \u0027fields\u0027 is assigned to but never used","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":342,"context_line":"    link \u003d service[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":345,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":346,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":347,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":348,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_435d5f45","line":345,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (105 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":345,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":346,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":347,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":348,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":349,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_a358ab55","line":346,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (105 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":344,"context_line":"    fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":345,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":346,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":347,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":348,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":349,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":350,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_8353e738","line":347,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (105 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":345,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":346,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":347,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":348,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":349,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":350,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":351,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_e333d312","line":348,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (105 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":347,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":348,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":349,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":350,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":351,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":352,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_c3368f03","line":349,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (105 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":347,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":348,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":349,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":350,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":351,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_233adbe5","line":350,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (105 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":348,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":349,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":350,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":351,"context_line":"    LOG.debug(\u0027#######################################################################################3\u0027)"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":354,"context_line":"    LOG.debug(svc_port_set)"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_033d17dc","line":351,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E501 line too long (105 \u003e 79 characters)","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":355,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":356,"context_line":"    LOG.debug(spec_port_set)"},{"line_number":357,"context_line":"    pairs \u003d zip(svc_port_set, spec_port_set)"},{"line_number":358,"context_line":"    "},{"line_number":359,"context_line":"    diff \u003d any(x !\u003d y for x, y in pairs)"},{"line_number":360,"context_line":"    "},{"line_number":361,"context_line":"    if diff \u003d\u003d True:"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_6327c3cb","line":358,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":357,"context_line":"    pairs \u003d zip(svc_port_set, spec_port_set)"},{"line_number":358,"context_line":"    "},{"line_number":359,"context_line":"    diff \u003d any(x !\u003d y for x, y in pairs)"},{"line_number":360,"context_line":"    "},{"line_number":361,"context_line":"    if diff \u003d\u003d True:"},{"line_number":362,"context_line":"        LOG.debug(\"LBaaS spec ports %(spec_ports)s !\u003d %(svc_ports)s \""},{"line_number":363,"context_line":"                  \"for %(link)s\" % {\u0027spec_ports\u0027: spec_port_set,"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_43227fba","line":360,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":358,"context_line":"    "},{"line_number":359,"context_line":"    diff \u003d any(x !\u003d y for x, y in pairs)"},{"line_number":360,"context_line":"    "},{"line_number":361,"context_line":"    if diff \u003d\u003d True:"},{"line_number":362,"context_line":"        LOG.debug(\"LBaaS spec ports %(spec_ports)s !\u003d %(svc_ports)s \""},{"line_number":363,"context_line":"                  \"for %(link)s\" % {\u0027spec_ports\u0027: spec_port_set,"},{"line_number":364,"context_line":"                                    \u0027svc_ports\u0027: svc_port_set,"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_a32d4ba9","line":361,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E712 comparison to True should be \u0027if cond is True:\u0027 or \u0027if cond:\u0027","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":374,"context_line":"             \u0027targetPort\u0027: str(port[\u0027targetPort\u0027])}"},{"line_number":375,"context_line":"            for port in service[\u0027spec\u0027][\u0027ports\u0027]]"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"@MEMOIZE"},{"line_number":378,"context_line":"def get_service_subnet_version():"},{"line_number":379,"context_line":"    os_net \u003d clients.get_network_client()"},{"line_number":380,"context_line":"    svc_subnet_id \u003d CONF.neutron_defaults.service_subnet"}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_83280797","line":377,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: E302 expected 2 blank lines, found 1","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b941ef963b332cee08348dc488483fe006975087","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        LOG.exception(\"Service subnet %s not found\", svc_subnet_id)"},{"line_number":385,"context_line":"        raise"},{"line_number":386,"context_line":"    return svc_subnet.ip_version"},{"line_number":387,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"df33271e_e31c7379","line":387,"updated":"2020-04-02 00:14:19.000000000","message":"pep8: W391 blank line at end of file","commit_id":"cc9b415b5b0699ee677527a228857e9de8b5b7da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":341,"context_line":"def has_port_changes(service, loadbalancer_crd):"},{"line_number":342,"context_line":"    link \u003d service[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_8e7700d5","line":344,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: F841 local variable \u0027fields\u0027 is assigned to but never used","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":348,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":349,"context_line":"    LOG.debug(spec_port_set)"},{"line_number":350,"context_line":"    pairs \u003d zip(svc_port_set, spec_port_set)"},{"line_number":351,"context_line":"    "},{"line_number":352,"context_line":"    diff \u003d any(x !\u003d y for x, y in pairs)"},{"line_number":353,"context_line":"    "},{"line_number":354,"context_line":"    if diff \u003d\u003d True:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_6e7274e5","line":351,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":350,"context_line":"    pairs \u003d zip(svc_port_set, spec_port_set)"},{"line_number":351,"context_line":"    "},{"line_number":352,"context_line":"    diff \u003d any(x !\u003d y for x, y in pairs)"},{"line_number":353,"context_line":"    "},{"line_number":354,"context_line":"    if diff \u003d\u003d True:"},{"line_number":355,"context_line":"        LOG.debug(\"LBaaS spec ports %(spec_ports)s !\u003d %(svc_ports)s \""},{"line_number":356,"context_line":"                  \"for %(link)s\" % {\u0027spec_ports\u0027: spec_port_set,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_ce810892","line":353,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":351,"context_line":"    "},{"line_number":352,"context_line":"    diff \u003d any(x !\u003d y for x, y in pairs)"},{"line_number":353,"context_line":"    "},{"line_number":354,"context_line":"    if diff \u003d\u003d True:"},{"line_number":355,"context_line":"        LOG.debug(\"LBaaS spec ports %(spec_ports)s !\u003d %(svc_ports)s \""},{"line_number":356,"context_line":"                  \"for %(link)s\" % {\u0027spec_ports\u0027: spec_port_set,"},{"line_number":357,"context_line":"                                    \u0027svc_ports\u0027: svc_port_set,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_ae7c7cb5","line":354,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E712 comparison to True should be \u0027if cond is True:\u0027 or \u0027if cond:\u0027","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":367,"context_line":"             \u0027targetPort\u0027: str(port[\u0027targetPort\u0027])}"},{"line_number":368,"context_line":"            for port in service[\u0027spec\u0027][\u0027ports\u0027]]"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"@MEMOIZE"},{"line_number":371,"context_line":"def get_service_subnet_version():"},{"line_number":372,"context_line":"    os_net \u003d clients.get_network_client()"},{"line_number":373,"context_line":"    svc_subnet_id \u003d CONF.neutron_defaults.service_subnet"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_0e4db099","line":370,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: E302 expected 2 blank lines, found 1","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ae5720d5277bc3328ab13413e4891fae1acf563","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        LOG.exception(\"Service subnet %s not found\", svc_subnet_id)"},{"line_number":378,"context_line":"        raise"},{"line_number":379,"context_line":"    return svc_subnet.ip_version"},{"line_number":380,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f4c43b2_ee4fa48f","line":380,"updated":"2020-04-17 14:28:48.000000000","message":"pep8: W391 blank line at end of file","commit_id":"7f7381be2db3bf7462426e58525ebb5dd5306188"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":341,"context_line":"def has_port_changes(service, loadbalancer_crd):"},{"line_number":342,"context_line":"    link \u003d service[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_3612d759","line":344,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: F841 local variable \u0027fields\u0027 is assigned to but never used","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":348,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":349,"context_line":"    LOG.debug(spec_port_set)"},{"line_number":350,"context_line":"    pairs \u003d zip(svc_port_set, spec_port_set)"},{"line_number":351,"context_line":"    "},{"line_number":352,"context_line":"    diff \u003d any(x !\u003d y for x, y in pairs)"},{"line_number":353,"context_line":"    "},{"line_number":354,"context_line":"    if diff \u003d\u003d True:"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_160fdb2e","line":351,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":350,"context_line":"    pairs \u003d zip(svc_port_set, spec_port_set)"},{"line_number":351,"context_line":"    "},{"line_number":352,"context_line":"    diff \u003d any(x !\u003d y for x, y in pairs)"},{"line_number":353,"context_line":"    "},{"line_number":354,"context_line":"    if diff \u003d\u003d True:"},{"line_number":355,"context_line":"        LOG.debug(\"LBaaS spec ports %(spec_ports)s !\u003d %(svc_ports)s \""},{"line_number":356,"context_line":"                  \"for %(link)s\" % {\u0027spec_ports\u0027: spec_port_set,"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_761c5f6a","line":353,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":351,"context_line":"    "},{"line_number":352,"context_line":"    diff \u003d any(x !\u003d y for x, y in pairs)"},{"line_number":353,"context_line":"    "},{"line_number":354,"context_line":"    if diff \u003d\u003d True:"},{"line_number":355,"context_line":"        LOG.debug(\"LBaaS spec ports %(spec_ports)s !\u003d %(svc_ports)s \""},{"line_number":356,"context_line":"                  \"for %(link)s\" % {\u0027spec_ports\u0027: spec_port_set,"},{"line_number":357,"context_line":"                                    \u0027svc_ports\u0027: svc_port_set,"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_56196377","line":354,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E712 comparison to True should be \u0027if cond is True:\u0027 or \u0027if cond:\u0027","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":367,"context_line":"             \u0027targetPort\u0027: str(port[\u0027targetPort\u0027])}"},{"line_number":368,"context_line":"            for port in service[\u0027spec\u0027][\u0027ports\u0027]]"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"@MEMOIZE"},{"line_number":371,"context_line":"def get_service_subnet_version():"},{"line_number":372,"context_line":"    os_net \u003d clients.get_network_client()"},{"line_number":373,"context_line":"    svc_subnet_id \u003d CONF.neutron_defaults.service_subnet"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_b62707b7","line":370,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: E302 expected 2 blank lines, found 1","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8ac5248f106a062b09a2c263df956222f0e85962","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        LOG.exception(\"Service subnet %s not found\", svc_subnet_id)"},{"line_number":378,"context_line":"        raise"},{"line_number":379,"context_line":"    return svc_subnet.ip_version"},{"line_number":380,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f493fa4_962c8b9a","line":380,"updated":"2020-04-21 15:56:27.000000000","message":"pep8: W391 blank line at end of file","commit_id":"c8559f271ee9952fab3b256dd38624fc84c6775a"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"156aeb8b904fd9d18cfb49ea273c32f27d432612","unresolved":false,"context_lines":[{"line_number":344,"context_line":"    # fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"},{"line_number":348,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":349,"context_line":"    LOG.debug(spec_port_set)"},{"line_number":350,"context_line":"    pairs \u003d zip(svc_port_set, spec_port_set)"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_33749899","line":347,"range":{"start_line":347,"start_character":0,"end_line":347,"end_character":27},"updated":"2020-05-26 12:51:05.000000000","message":"I bet that\u0027s a leftover.","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":344,"context_line":"    # fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"},{"line_number":348,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":349,"context_line":"    LOG.debug(spec_port_set)"},{"line_number":350,"context_line":"    pairs \u003d zip(svc_port_set, spec_port_set)"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_bbfdec3b","line":347,"range":{"start_line":347,"start_character":0,"end_line":347,"end_character":27},"in_reply_to":"ff570b3c_33749899","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"156aeb8b904fd9d18cfb49ea273c32f27d432612","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"},{"line_number":348,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":349,"context_line":"    LOG.debug(spec_port_set)"},{"line_number":350,"context_line":"    pairs \u003d zip(svc_port_set, spec_port_set)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    diff \u003d any(x !\u003d y for x, y in pairs)"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_736570e1","line":349,"range":{"start_line":349,"start_character":0,"end_line":349,"end_character":28},"updated":"2020-05-26 12:51:05.000000000","message":"Same here.","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"f77c486e94f725d92cac840ffa4340cba6c8cade","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"},{"line_number":348,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":349,"context_line":"    LOG.debug(spec_port_set)"},{"line_number":350,"context_line":"    pairs \u003d zip(svc_port_set, spec_port_set)"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    diff \u003d any(x !\u003d y for x, y in pairs)"}],"source_content_type":"text/x-python","patch_set":32,"id":"ff570b3c_fb9484ea","line":349,"range":{"start_line":349,"start_character":0,"end_line":349,"end_character":28},"in_reply_to":"ff570b3c_736570e1","updated":"2020-06-17 13:29:28.000000000","message":"Done","commit_id":"b15648b49e58b6772c85915c2a062f14d7a7451c"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"984438d65f589232fe1d9c33c5c7eb95d8d79b68","unresolved":false,"context_lines":[{"line_number":341,"context_line":"def has_port_changes(service, loadbalancer_crd):"},{"line_number":342,"context_line":"    link \u003d service[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    # fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_c1004d05","line":344,"range":{"start_line":344,"start_character":4,"end_line":344,"end_character":45},"updated":"2020-07-14 14:08:14.000000000","message":"leftover?","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7f0ed8858922366b5fbf4cc2d95711836f4a23d7","unresolved":false,"context_lines":[{"line_number":341,"context_line":"def has_port_changes(service, loadbalancer_crd):"},{"line_number":342,"context_line":"    link \u003d service[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    # fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_214010a5","line":344,"range":{"start_line":344,"start_character":4,"end_line":344,"end_character":45},"in_reply_to":"bf51134e_c1004d05","updated":"2020-07-15 17:37:50.000000000","message":"Done","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"984438d65f589232fe1d9c33c5c7eb95d8d79b68","unresolved":false,"context_lines":[{"line_number":344,"context_line":"    # fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    for port in svc_port_set:"},{"line_number":350,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_fc03760b","line":347,"range":{"start_line":347,"start_character":0,"end_line":347,"end_character":27},"updated":"2020-07-14 14:08:14.000000000","message":"ditto","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7f0ed8858922366b5fbf4cc2d95711836f4a23d7","unresolved":false,"context_lines":[{"line_number":344,"context_line":"    # fields \u003d obj_lbaas.LBaaSPortSpec.fields"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    for port in svc_port_set:"},{"line_number":350,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_013b4c37","line":347,"range":{"start_line":347,"start_character":0,"end_line":347,"end_character":27},"in_reply_to":"bf51134e_fc03760b","updated":"2020-07-15 17:37:50.000000000","message":"Done","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d630d3c4e148a00e9cb871051019428d08882811","unresolved":false,"context_lines":[{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    for port in svc_port_set:"},{"line_number":350,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":351,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u002688888888888888888888\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":352,"context_line":"        LOG.debug(port)"},{"line_number":353,"context_line":"        if type(port[\u0027targetPort\u0027]) \u003d\u003d int:"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_682e818c","line":350,"updated":"2020-07-14 16:38:52.000000000","message":"pep8: E501 line too long (110 \u003e 79 characters)","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7f0ed8858922366b5fbf4cc2d95711836f4a23d7","unresolved":false,"context_lines":[{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    for port in svc_port_set:"},{"line_number":350,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":351,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u002688888888888888888888\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":352,"context_line":"        LOG.debug(port)"},{"line_number":353,"context_line":"        if type(port[\u0027targetPort\u0027]) \u003d\u003d int:"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_614688c2","line":350,"in_reply_to":"bf51134e_682e818c","updated":"2020-07-15 17:37:50.000000000","message":"Done","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d630d3c4e148a00e9cb871051019428d08882811","unresolved":false,"context_lines":[{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    for port in svc_port_set:"},{"line_number":350,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":351,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u002688888888888888888888\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":352,"context_line":"        LOG.debug(port)"},{"line_number":353,"context_line":"        if type(port[\u0027targetPort\u0027]) \u003d\u003d int:"},{"line_number":354,"context_line":"            port[\u0027targetPort\u0027] \u003d str(port[\u0027targetPort\u0027])"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_c84ead6d","line":351,"updated":"2020-07-14 16:38:52.000000000","message":"pep8: E501 line too long (104 \u003e 79 characters)","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7f0ed8858922366b5fbf4cc2d95711836f4a23d7","unresolved":false,"context_lines":[{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    for port in svc_port_set:"},{"line_number":350,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":351,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u002688888888888888888888\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":352,"context_line":"        LOG.debug(port)"},{"line_number":353,"context_line":"        if type(port[\u0027targetPort\u0027]) \u003d\u003d int:"},{"line_number":354,"context_line":"            port[\u0027targetPort\u0027] \u003d str(port[\u0027targetPort\u0027])"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_c10e748a","line":351,"in_reply_to":"bf51134e_c84ead6d","updated":"2020-07-15 17:37:50.000000000","message":"Done","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"984438d65f589232fe1d9c33c5c7eb95d8d79b68","unresolved":false,"context_lines":[{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    for port in svc_port_set:"},{"line_number":350,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":351,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u002688888888888888888888\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":352,"context_line":"        LOG.debug(port)"},{"line_number":353,"context_line":"        if type(port[\u0027targetPort\u0027]) \u003d\u003d int:"},{"line_number":354,"context_line":"            port[\u0027targetPort\u0027] \u003d str(port[\u0027targetPort\u0027])"},{"line_number":355,"context_line":""}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_1c010a06","line":352,"range":{"start_line":350,"start_character":0,"end_line":352,"end_character":23},"updated":"2020-07-14 14:08:14.000000000","message":"ditto","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7f0ed8858922366b5fbf4cc2d95711836f4a23d7","unresolved":false,"context_lines":[{"line_number":347,"context_line":"    LOG.debug(svc_port_set)"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    for port in svc_port_set:"},{"line_number":350,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":351,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u002688888888888888888888\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":352,"context_line":"        LOG.debug(port)"},{"line_number":353,"context_line":"        if type(port[\u0027targetPort\u0027]) \u003d\u003d int:"},{"line_number":354,"context_line":"            port[\u0027targetPort\u0027] \u003d str(port[\u0027targetPort\u0027])"},{"line_number":355,"context_line":""}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_212930e5","line":352,"range":{"start_line":350,"start_character":0,"end_line":352,"end_character":23},"in_reply_to":"bf51134e_1c010a06","updated":"2020-07-15 17:37:50.000000000","message":"Done","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"984438d65f589232fe1d9c33c5c7eb95d8d79b68","unresolved":false,"context_lines":[{"line_number":350,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":351,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u002688888888888888888888\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":352,"context_line":"        LOG.debug(port)"},{"line_number":353,"context_line":"        if type(port[\u0027targetPort\u0027]) \u003d\u003d int:"},{"line_number":354,"context_line":"            port[\u0027targetPort\u0027] \u003d str(port[\u0027targetPort\u0027])"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027)"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_e1059115","line":353,"range":{"start_line":353,"start_character":8,"end_line":353,"end_character":43},"updated":"2020-07-14 14:08:14.000000000","message":"can\u0027t it always be converted to string?","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"7f0ed8858922366b5fbf4cc2d95711836f4a23d7","unresolved":false,"context_lines":[{"line_number":350,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":351,"context_line":"        LOG.debug(\u0027\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u0026\u002688888888888888888888\u0026\u0026\u0026\u0026\u0026\u0026\u0027)"},{"line_number":352,"context_line":"        LOG.debug(port)"},{"line_number":353,"context_line":"        if type(port[\u0027targetPort\u0027]) \u003d\u003d int:"},{"line_number":354,"context_line":"            port[\u0027targetPort\u0027] \u003d str(port[\u0027targetPort\u0027])"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027)"}],"source_content_type":"text/x-python","patch_set":37,"id":"bf51134e_c1eaf471","line":353,"range":{"start_line":353,"start_character":8,"end_line":353,"end_character":43},"in_reply_to":"bf51134e_e1059115","updated":"2020-07-15 17:37:50.000000000","message":"Here it is only comparing the one from service and the one from loadbalancer, in the service it int or string, in loadbalancer it is always string, here I am converting targetport from service if it is int to string so it can be compared with targetport in loadbalancer.","commit_id":"0ee5944b192e3eedda9e4ff9fe867a2f0233ba47"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"1b9d2259a828a83916e85f3f7e76c15546ae8c0d","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"def has_port_changes(service, loadbalancer_crd):"},{"line_number":342,"context_line":"    link \u003d service[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":343,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    for port in svc_port_set:"},{"line_number":346,"context_line":"        if type(port[\u0027targetPort\u0027]) \u003d\u003d int:"}],"source_content_type":"text/x-python","patch_set":38,"id":"bf51134e_eefc070e","line":343,"range":{"start_line":343,"start_character":4,"end_line":343,"end_character":47},"updated":"2020-07-20 16:07:06.000000000","message":"Looks like you\u0027re missing the subsets field here.\nNote that the ports exist only inside the subset on the spec:\n\n  subsets:\n  - addresses:\n    - ip: 10.0.1.29\n      nodeName: maysams-devstack\n      targetRef:\n        kind: Pod\n        name: demo-f87976f9c-jqlf5\n        namespace: default\n        resourceVersion: \"10494\"\n        uid: d0447fed-6000-4c0c-9168-6655e5ab7070\n    ports:\n    - port: 8080\n      protocol: TCP","commit_id":"3f928b0135808b9c81c0dbcac1afef96afb700d9"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"fe0d5e130c88f11d39a0c8d2212dab5994cf8e8f","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"def has_port_changes(service, loadbalancer_crd):"},{"line_number":342,"context_line":"    link \u003d service[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":343,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    for port in svc_port_set:"},{"line_number":346,"context_line":"        if type(port[\u0027targetPort\u0027]) \u003d\u003d int:"}],"source_content_type":"text/x-python","patch_set":38,"id":"bf51134e_0fe5f2dc","line":343,"range":{"start_line":343,"start_character":4,"end_line":343,"end_character":47},"in_reply_to":"bf51134e_eefc070e","updated":"2020-07-20 23:58:21.000000000","message":"disregard this comment.","commit_id":"3f928b0135808b9c81c0dbcac1afef96afb700d9"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"7bb1a318673f0e5ce865f08ccee65dd2a7740e84","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    for port in svc_port_set:"},{"line_number":346,"context_line":"        if type(port[\u0027targetPort\u0027]) \u003d\u003d int:"},{"line_number":347,"context_line":"            port[\u0027targetPort\u0027] \u003d str(port[\u0027targetPort\u0027])"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":350,"context_line":"    pairs \u003d zip(svc_port_set, spec_port_set)"}],"source_content_type":"text/x-python","patch_set":38,"id":"bf51134e_d6511564","line":347,"range":{"start_line":346,"start_character":0,"end_line":347,"end_character":56},"updated":"2020-07-15 19:19:48.000000000","message":"Perhaps you might want ot have it like:\n\n   port[\u0027targetPort\u0027] \u003d str(port[\u0027targetPort\u0027])\n\nwithout checking, since at the end of the day you expect to have that number being string, right? The only corner case I could think of is that targetPort is None, so it\u0027ll be another case.","commit_id":"3f928b0135808b9c81c0dbcac1afef96afb700d9"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"1b9d2259a828a83916e85f3f7e76c15546ae8c0d","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    for port in svc_port_set:"},{"line_number":346,"context_line":"        if type(port[\u0027targetPort\u0027]) \u003d\u003d int:"},{"line_number":347,"context_line":"            port[\u0027targetPort\u0027] \u003d str(port[\u0027targetPort\u0027])"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":350,"context_line":"    pairs \u003d zip(svc_port_set, spec_port_set)"}],"source_content_type":"text/x-python","patch_set":38,"id":"bf51134e_0e0cdb39","line":347,"range":{"start_line":346,"start_character":0,"end_line":347,"end_character":56},"in_reply_to":"bf51134e_d6511564","updated":"2020-07-20 16:07:06.000000000","message":"+1","commit_id":"3f928b0135808b9c81c0dbcac1afef96afb700d9"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    svc_port_set \u003d service[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    for port in svc_port_set:"},{"line_number":346,"context_line":"        if type(port[\u0027targetPort\u0027]) \u003d\u003d int:"},{"line_number":347,"context_line":"            port[\u0027targetPort\u0027] \u003d str(port[\u0027targetPort\u0027])"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027)"},{"line_number":350,"context_line":"    pairs \u003d zip(svc_port_set, spec_port_set)"}],"source_content_type":"text/x-python","patch_set":38,"id":"9f560f44_b22c4448","line":347,"range":{"start_line":346,"start_character":0,"end_line":347,"end_character":56},"in_reply_to":"bf51134e_d6511564","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"3f928b0135808b9c81c0dbcac1afef96afb700d9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":42,"id":"9f560f44_8f3f60d5","line":395,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":42,"id":"9f560f44_ef237cbd","line":397,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3d89b78ecf27484bc3a50ee4c71f62b35215aaf4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":42,"id":"9f560f44_cf2038b4","line":400,"updated":"2020-07-26 23:26:11.000000000","message":"pep8: E303 too many blank lines (3)","commit_id":"3c5b7ca389f32b3d4e17d05b5cd7180d48e40740"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":392,"context_line":"                                        \u0027svc_ports\u0027: svc_port_set,"},{"line_number":393,"context_line":"                                        \u0027link\u0027: link})"},{"line_number":394,"context_line":"        return diff"},{"line_number":395,"context_line":"    "},{"line_number":396,"context_line":"    return False"},{"line_number":397,"context_line":"    "},{"line_number":398,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_b2d26d33","line":395,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":394,"context_line":"        return diff"},{"line_number":395,"context_line":"    "},{"line_number":396,"context_line":"    return False"},{"line_number":397,"context_line":"    "},{"line_number":398,"context_line":""},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"def get_service_ports(service):"}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_92d76924","line":397,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e147efaef0a84b014cd7111ab790c30d11e4789b","unresolved":false,"context_lines":[{"line_number":397,"context_line":"    "},{"line_number":398,"context_line":""},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"def get_service_ports(service):"},{"line_number":401,"context_line":"    return [{\u0027name\u0027: port.get(\u0027name\u0027),"},{"line_number":402,"context_line":"             \u0027protocol\u0027: port.get(\u0027protocol\u0027, \u0027TCP\u0027),"},{"line_number":403,"context_line":"             \u0027port\u0027: port[\u0027port\u0027],"}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_f2dce547","line":400,"updated":"2020-07-28 10:34:16.000000000","message":"pep8: E303 too many blank lines (3)","commit_id":"4fec12cf645db14fba94e353fd9caa69bedd6ffe"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"2c235f51d935d289752992ca0a7293d769e22918","unresolved":false,"context_lines":[{"line_number":385,"context_line":""},{"line_number":386,"context_line":"    for port in svc_port_set:"},{"line_number":387,"context_line":"        port[\u0027targetPort\u0027] \u003d str(port[\u0027targetPort\u0027])"},{"line_number":388,"context_line":"    if not loadbalancer_crd:"},{"line_number":389,"context_line":"        return False"},{"line_number":390,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027, [])"},{"line_number":391,"context_line":"    if spec_port_set:"},{"line_number":392,"context_line":"        if len(svc_port_set) !\u003d len(spec_port_set):"}],"source_content_type":"text/x-python","patch_set":62,"id":"9f560f44_eb996779","line":389,"range":{"start_line":388,"start_character":0,"end_line":389,"end_character":20},"updated":"2020-07-30 12:09:19.000000000","message":"Perhaps this could be checked as a first thing in a function body - perfect example of an \"early exit\" :)","commit_id":"9784b80b2e7b376b92f02f62bee973d5f8498c55"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"c780db15f92c362d3b048d70c44080e9a0f2fc21","unresolved":false,"context_lines":[{"line_number":385,"context_line":""},{"line_number":386,"context_line":"    for port in svc_port_set:"},{"line_number":387,"context_line":"        port[\u0027targetPort\u0027] \u003d str(port[\u0027targetPort\u0027])"},{"line_number":388,"context_line":"    if not loadbalancer_crd:"},{"line_number":389,"context_line":"        return False"},{"line_number":390,"context_line":"    spec_port_set \u003d loadbalancer_crd[\u0027spec\u0027].get(\u0027ports\u0027, [])"},{"line_number":391,"context_line":"    if spec_port_set:"},{"line_number":392,"context_line":"        if len(svc_port_set) !\u003d len(spec_port_set):"}],"source_content_type":"text/x-python","patch_set":62,"id":"9f560f44_c41f2d6e","line":389,"range":{"start_line":388,"start_character":0,"end_line":389,"end_character":20},"in_reply_to":"9f560f44_eb996779","updated":"2020-07-30 19:31:53.000000000","message":"Done","commit_id":"9784b80b2e7b376b92f02f62bee973d5f8498c55"}],"setup.cfg":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3cb272b34f1f873bf7dfefdba28f717fe2cb293c","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"kuryr_kubernetes.controller.handlers \u003d"},{"line_number":100,"context_line":"    vif \u003d kuryr_kubernetes.controller.handlers.vif:VIFHandler"},{"line_number":101,"context_line":"    lbaasspec \u003d kuryr_kubernetes.controller.handlers.lbaas:ServiceHandler"},{"line_number":102,"context_line":"    lb \u003d kuryr_kubernetes.controller.handlers.lbaas:EndpointsHandler"},{"line_number":103,"context_line":"    kuryrloadbalancer \u003d kuryr_kubernetes.controller.handlers.loadbalancer:KuryrLoadBalancerHandler"},{"line_number":104,"context_line":"    namespace \u003d kuryr_kubernetes.controller.handlers.namespace:NamespaceHandler"},{"line_number":105,"context_line":"    policy \u003d kuryr_kubernetes.controller.handlers.policy:NetworkPolicyHandler"}],"source_content_type":"text/x-ttcn-cfg","patch_set":41,"id":"bf51134e_a878ebf7","line":102,"range":{"start_line":101,"start_character":0,"end_line":102,"end_character":68},"updated":"2020-07-24 14:51:57.000000000","message":"Oh, let\u0027s take an opportunity to rename the aliases too! In order to keep some kind of backward compatibility, let\u0027s just double the entries:\n\n    lbaasspec \u003d kuryr_kubernetes.controller.handlers.lbaas:ServiceHandler\n    service \u003d kuryr_kubernetes.controller.handlers.lbaas:ServiceHandler\n    lb \u003d kuryr_kubernetes.controller.handlers.lbaas:EndpointsHandler\n    endpoints \u003d kuryr_kubernetes.controller.handlers.lbaas:EndpointsHandler","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"},{"author":{"_account_id":30963,"name":"Sarka Scavnicka","display_name":"sscavnic","email":"scavnicka.sarka@gmail.com","username":"sarka_scavnicka"},"change_message_id":"649a6aa2a12e28dd587723693a49dcf80cda59bf","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"kuryr_kubernetes.controller.handlers \u003d"},{"line_number":100,"context_line":"    vif \u003d kuryr_kubernetes.controller.handlers.vif:VIFHandler"},{"line_number":101,"context_line":"    lbaasspec \u003d kuryr_kubernetes.controller.handlers.lbaas:ServiceHandler"},{"line_number":102,"context_line":"    lb \u003d kuryr_kubernetes.controller.handlers.lbaas:EndpointsHandler"},{"line_number":103,"context_line":"    kuryrloadbalancer \u003d kuryr_kubernetes.controller.handlers.loadbalancer:KuryrLoadBalancerHandler"},{"line_number":104,"context_line":"    namespace \u003d kuryr_kubernetes.controller.handlers.namespace:NamespaceHandler"},{"line_number":105,"context_line":"    policy \u003d kuryr_kubernetes.controller.handlers.policy:NetworkPolicyHandler"}],"source_content_type":"text/x-ttcn-cfg","patch_set":41,"id":"9f560f44_68c58b8e","line":102,"range":{"start_line":101,"start_character":0,"end_line":102,"end_character":68},"in_reply_to":"bf51134e_a878ebf7","updated":"2020-07-28 13:31:54.000000000","message":"Done","commit_id":"770b09a1a0dee0cf18a30350daefdd3209167188"}]}
