)]}'
{"ovn_octavia_provider/common/constants.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"39e56a0a45788f29f24eb3d4cc4ca16f2dbe0477","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    constants.LB_ALGORITHM_SOURCE_IP_PORT: [\"ip_dst\", \"ip_src\","},{"line_number":88,"context_line":"                                            \"tp_dst\", \"tp_src\"],"},{"line_number":89,"context_line":"    constants.LB_ALGORITHM_SOURCE_IP: [\"ip_src\", \"ip_dst\"],"},{"line_number":90,"context_line":"    None: [\"ip_src\", \"ip_dst\", \"tp_src\", \"tp_dst\"],"},{"line_number":91,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_785536c6","line":90,"range":{"start_line":90,"start_character":4,"end_line":90,"end_character":8},"updated":"2020-05-13 10:51:53.000000000","message":"heh clever :D","commit_id":"1fa270c7df415d672bc73f3fba42d696b5cd6517"}],"ovn_octavia_provider/helper.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"afc29ebe83243c4646b4c522941f795805358d2d","unresolved":false,"context_lines":[{"line_number":1410,"context_line":""},{"line_number":1411,"context_line":"            pool_listeners \u003d self._get_pool_listeners(ovn_lb, pool_key)"},{"line_number":1412,"context_line":"            listener_status \u003d []"},{"line_number":1413,"context_line":"            for l in pool_listeners:"},{"line_number":1414,"context_line":"                listener_status.append("},{"line_number":1415,"context_line":"                    {constants.ID: l,"},{"line_number":1416,"context_line":"                     constants.PROVISIONING_STATUS: constants.ACTIVE})"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_165ced49","line":1413,"updated":"2020-05-12 08:34:24.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"90db560af7c5d350d5aa5393be4c57454a925628"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"afc29ebe83243c4646b4c522941f795805358d2d","unresolved":false,"context_lines":[{"line_number":1476,"context_line":"                     constants.PROVISIONING_STATUS: constants.ACTIVE}]}"},{"line_number":1477,"context_line":"            pool_listeners \u003d self._get_pool_listeners(ovn_lb, pool_key)"},{"line_number":1478,"context_line":"            listener_status \u003d []"},{"line_number":1479,"context_line":"            for l in pool_listeners:"},{"line_number":1480,"context_line":"                listener_status.append("},{"line_number":1481,"context_line":"                    {constants.ID: l,"},{"line_number":1482,"context_line":"                     constants.PROVISIONING_STATUS: constants.ACTIVE})"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_7659e958","line":1479,"updated":"2020-05-12 08:34:24.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"90db560af7c5d350d5aa5393be4c57454a925628"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"afc29ebe83243c4646b4c522941f795805358d2d","unresolved":false,"context_lines":[{"line_number":1552,"context_line":"                     constants.PROVISIONING_STATUS: constants.ACTIVE}]}"},{"line_number":1553,"context_line":"            pool_listeners \u003d self._get_pool_listeners(ovn_lb, pool_key)"},{"line_number":1554,"context_line":"            listener_status \u003d []"},{"line_number":1555,"context_line":"            for l in pool_listeners:"},{"line_number":1556,"context_line":"                listener_status.append("},{"line_number":1557,"context_line":"                    {constants.ID: l,"},{"line_number":1558,"context_line":"                     constants.PROVISIONING_STATUS: constants.ACTIVE})"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_5656652b","line":1555,"updated":"2020-05-12 08:34:24.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"90db560af7c5d350d5aa5393be4c57454a925628"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"afc29ebe83243c4646b4c522941f795805358d2d","unresolved":false,"context_lines":[{"line_number":1616,"context_line":""},{"line_number":1617,"context_line":"            pool_listeners \u003d self._get_pool_listeners(ovn_lb, pool_key)"},{"line_number":1618,"context_line":"            listener_status \u003d []"},{"line_number":1619,"context_line":"            for l in pool_listeners:"},{"line_number":1620,"context_line":"                listener_status.append("},{"line_number":1621,"context_line":"                    {constants.ID: l,"},{"line_number":1622,"context_line":"                     constants.PROVISIONING_STATUS: constants.ACTIVE})"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_b630a109","line":1619,"updated":"2020-05-12 08:34:24.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"90db560af7c5d350d5aa5393be4c57454a925628"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a3219f44b875360fb4e29a8b53291282a28c85bf","unresolved":false,"context_lines":[{"line_number":1410,"context_line":""},{"line_number":1411,"context_line":"            pool_listeners \u003d self._get_pool_listeners(ovn_lb, pool_key)"},{"line_number":1412,"context_line":"            listener_status \u003d []"},{"line_number":1413,"context_line":"            for l in pool_listeners:"},{"line_number":1414,"context_line":"                listener_status.append("},{"line_number":1415,"context_line":"                    {constants.ID: l,"},{"line_number":1416,"context_line":"                     constants.PROVISIONING_STATUS: constants.ACTIVE})"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff570b3c_42405b36","line":1413,"updated":"2020-05-12 11:08:49.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"fe6147bb9a783a5343e8fe4ba13904a70ae7e219"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a3219f44b875360fb4e29a8b53291282a28c85bf","unresolved":false,"context_lines":[{"line_number":1476,"context_line":"                     constants.PROVISIONING_STATUS: constants.ACTIVE}]}"},{"line_number":1477,"context_line":"            pool_listeners \u003d self._get_pool_listeners(ovn_lb, pool_key)"},{"line_number":1478,"context_line":"            listener_status \u003d []"},{"line_number":1479,"context_line":"            for l in pool_listeners:"},{"line_number":1480,"context_line":"                listener_status.append("},{"line_number":1481,"context_line":"                    {constants.ID: l,"},{"line_number":1482,"context_line":"                     constants.PROVISIONING_STATUS: constants.ACTIVE})"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff570b3c_223d67bb","line":1479,"updated":"2020-05-12 11:08:49.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"fe6147bb9a783a5343e8fe4ba13904a70ae7e219"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a3219f44b875360fb4e29a8b53291282a28c85bf","unresolved":false,"context_lines":[{"line_number":1552,"context_line":"                     constants.PROVISIONING_STATUS: constants.ACTIVE}]}"},{"line_number":1553,"context_line":"            pool_listeners \u003d self._get_pool_listeners(ovn_lb, pool_key)"},{"line_number":1554,"context_line":"            listener_status \u003d []"},{"line_number":1555,"context_line":"            for l in pool_listeners:"},{"line_number":1556,"context_line":"                listener_status.append("},{"line_number":1557,"context_line":"                    {constants.ID: l,"},{"line_number":1558,"context_line":"                     constants.PROVISIONING_STATUS: constants.ACTIVE})"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff570b3c_824a7352","line":1555,"updated":"2020-05-12 11:08:49.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"fe6147bb9a783a5343e8fe4ba13904a70ae7e219"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a3219f44b875360fb4e29a8b53291282a28c85bf","unresolved":false,"context_lines":[{"line_number":1616,"context_line":""},{"line_number":1617,"context_line":"            pool_listeners \u003d self._get_pool_listeners(ovn_lb, pool_key)"},{"line_number":1618,"context_line":"            listener_status \u003d []"},{"line_number":1619,"context_line":"            for l in pool_listeners:"},{"line_number":1620,"context_line":"                listener_status.append("},{"line_number":1621,"context_line":"                    {constants.ID: l,"},{"line_number":1622,"context_line":"                     constants.PROVISIONING_STATUS: constants.ACTIVE})"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff570b3c_62475f4d","line":1619,"updated":"2020-05-12 11:08:49.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"fe6147bb9a783a5343e8fe4ba13904a70ae7e219"}],"ovn_octavia_provider/tests/functional/base.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"1788ee7f2d6f5e22f690bdccace1925399bc4fc2","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def _get_loadbalancers(self):"},{"line_number":167,"context_line":"        lbs \u003d []"},{"line_number":168,"context_line":"        for lb in self.nb_api.tables[\u0027Load_Balancer\u0027].rows.values():"},{"line_number":169,"context_line":"            external_ids \u003d dict(lb.external_ids)"},{"line_number":170,"context_line":"            ls_refs \u003d external_ids.get(ovn_const.LB_EXT_IDS_LS_REFS_KEY)"},{"line_number":171,"context_line":"            if ls_refs:"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff570b3c_59cb4352","line":168,"updated":"2020-05-11 20:58:23.000000000","message":"Maybe adding something like this here will help, as it allows the test to run with either version of OVN:\n\n+            selection_fields \u003d None\n+            try:\n+                selection_fields \u003d lb.selection_fields\n+            except AttributeError:\n+                pass\n\nThere would be more changes below, I\u0027ll leave that for you, just let me know if you need me to look at it.","commit_id":"0342f948024ae4582531fe3d371963ee8d669aba"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"caaaeb6384fbd09984b7261673d5fc818719e8c1","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def _get_loadbalancers(self):"},{"line_number":167,"context_line":"        lbs \u003d []"},{"line_number":168,"context_line":"        for lb in self.nb_api.tables[\u0027Load_Balancer\u0027].rows.values():"},{"line_number":169,"context_line":"            external_ids \u003d dict(lb.external_ids)"},{"line_number":170,"context_line":"            ls_refs \u003d external_ids.get(ovn_const.LB_EXT_IDS_LS_REFS_KEY)"},{"line_number":171,"context_line":"            if ls_refs:"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff570b3c_b39433ea","line":168,"in_reply_to":"ff570b3c_59cb4352","updated":"2020-05-13 13:57:22.000000000","message":"Done","commit_id":"0342f948024ae4582531fe3d371963ee8d669aba"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c3c0812db048fc12ada0d147b51d4c7c90c35f1c","unresolved":false,"context_lines":[{"line_number":459,"context_line":"                         \u0027protocol\u0027: [protocol] if protocol else [],"},{"line_number":460,"context_line":"                         \u0027vips\u0027: {},"},{"line_number":461,"context_line":"                         \u0027selection_fields\u0027: [\u0027ip_dst\u0027, \u0027ip_src\u0027,"},{"line_number":462,"context_line":"                                              \u0027tp_dst\u0027, \u0027tp_src\u0027],"},{"line_number":463,"context_line":"                         \u0027external_ids\u0027: copy.deepcopy(external_ids)}"},{"line_number":464,"context_line":"                        for protocol in expected_protocols]"},{"line_number":465,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ff570b3c_dee61ce9","line":462,"updated":"2020-05-11 17:23:41.000000000","message":"This should probably use the fields from the algorithm in the constants file.","commit_id":"0342f948024ae4582531fe3d371963ee8d669aba"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"caaaeb6384fbd09984b7261673d5fc818719e8c1","unresolved":false,"context_lines":[{"line_number":459,"context_line":"                         \u0027protocol\u0027: [protocol] if protocol else [],"},{"line_number":460,"context_line":"                         \u0027vips\u0027: {},"},{"line_number":461,"context_line":"                         \u0027selection_fields\u0027: [\u0027ip_dst\u0027, \u0027ip_src\u0027,"},{"line_number":462,"context_line":"                                              \u0027tp_dst\u0027, \u0027tp_src\u0027],"},{"line_number":463,"context_line":"                         \u0027external_ids\u0027: copy.deepcopy(external_ids)}"},{"line_number":464,"context_line":"                        for protocol in expected_protocols]"},{"line_number":465,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ff570b3c_93992f21","line":462,"in_reply_to":"ff570b3c_dee61ce9","updated":"2020-05-13 13:57:22.000000000","message":"Done","commit_id":"0342f948024ae4582531fe3d371963ee8d669aba"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"afc29ebe83243c4646b4c522941f795805358d2d","unresolved":false,"context_lines":[{"line_number":457,"context_line":"        # Lets fetch list of L4 protocols defined for this LB."},{"line_number":458,"context_line":"        for p in lb_data[\u0027pools\u0027]:"},{"line_number":459,"context_line":"            expected_protocols.add(p.protocol.lower())"},{"line_number":460,"context_line":"        for l in lb_data[\u0027listeners\u0027]:"},{"line_number":461,"context_line":"            expected_protocols.add(l.protocol.lower())"},{"line_number":462,"context_line":"        # If there is no protocol lets add default - empty []."},{"line_number":463,"context_line":"        expected_protocols \u003d list(expected_protocols)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_96359dfa","line":460,"updated":"2020-05-12 08:34:24.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"90db560af7c5d350d5aa5393be4c57454a925628"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"afc29ebe83243c4646b4c522941f795805358d2d","unresolved":false,"context_lines":[{"line_number":527,"context_line":"            external_ids[pool_key] \u003d p_members"},{"line_number":528,"context_line":"            pool_info[p.pool_id] \u003d p_members"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"        for l in lb_data[\u0027listeners\u0027]:"},{"line_number":531,"context_line":"            expected_vips \u003d _get_lb_field_by_protocol("},{"line_number":532,"context_line":"                l.protocol.lower(),"},{"line_number":533,"context_line":"                field\u003d\u0027vips\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_f63a19e5","line":530,"updated":"2020-05-12 08:34:24.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"90db560af7c5d350d5aa5393be4c57454a925628"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"afc29ebe83243c4646b4c522941f795805358d2d","unresolved":false,"context_lines":[{"line_number":603,"context_line":"        pool_listeners \u003d self._get_pool_listeners(lb_data, m_pool.pool_id)"},{"line_number":604,"context_line":"        expected_listener_status \u003d ["},{"line_number":605,"context_line":"            {\u0027id\u0027: l.listener_id, \u0027provisioning_status\u0027: \u0027ACTIVE\u0027}"},{"line_number":606,"context_line":"            for l in pool_listeners]"},{"line_number":607,"context_line":"        self.ovn_driver.pool_update(m_pool, m_pool)"},{"line_number":608,"context_line":"        expected_status \u003d {"},{"line_number":609,"context_line":"            \u0027pools\u0027: [{\u0027id\u0027: m_pool.pool_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_d63f15d4","line":606,"updated":"2020-05-12 08:34:24.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"90db560af7c5d350d5aa5393be4c57454a925628"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"afc29ebe83243c4646b4c522941f795805358d2d","unresolved":false,"context_lines":[{"line_number":670,"context_line":"                return p"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"    def _get_listener_from_lb_data(self, lb_data, protocol, protocol_port):"},{"line_number":673,"context_line":"        for l in lb_data[\u0027listeners\u0027]:"},{"line_number":674,"context_line":"            if (l.protocol_port \u003d\u003d protocol_port and"},{"line_number":675,"context_line":"                    l.protocol \u003d\u003d protocol):"},{"line_number":676,"context_line":"                return l"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_362491c6","line":673,"updated":"2020-05-12 08:34:24.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"90db560af7c5d350d5aa5393be4c57454a925628"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"afc29ebe83243c4646b4c522941f795805358d2d","unresolved":false,"context_lines":[{"line_number":677,"context_line":""},{"line_number":678,"context_line":"    def _get_pool_listeners(self, lb_data, pool_id):"},{"line_number":679,"context_line":"        listeners \u003d []"},{"line_number":680,"context_line":"        for l in lb_data[\u0027listeners\u0027]:"},{"line_number":681,"context_line":"            if l.default_pool_id \u003d\u003d pool_id:"},{"line_number":682,"context_line":"                listeners.append(l)"},{"line_number":683,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_16218db5","line":680,"updated":"2020-05-12 08:34:24.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"90db560af7c5d350d5aa5393be4c57454a925628"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"afc29ebe83243c4646b4c522941f795805358d2d","unresolved":false,"context_lines":[{"line_number":699,"context_line":"        pool_listeners \u003d self._get_pool_listeners(lb_data, pool_id)"},{"line_number":700,"context_line":"        expected_listener_status \u003d ["},{"line_number":701,"context_line":"            {\u0027id\u0027: l.listener_id, \u0027provisioning_status\u0027: \u0027ACTIVE\u0027}"},{"line_number":702,"context_line":"            for l in pool_listeners]"},{"line_number":703,"context_line":""},{"line_number":704,"context_line":"        expected_status \u003d {"},{"line_number":705,"context_line":"            \u0027pools\u0027: [pool_status],"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_762e09a6","line":702,"updated":"2020-05-12 08:34:24.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"90db560af7c5d350d5aa5393be4c57454a925628"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a3219f44b875360fb4e29a8b53291282a28c85bf","unresolved":false,"context_lines":[{"line_number":457,"context_line":"        # Lets fetch list of L4 protocols defined for this LB."},{"line_number":458,"context_line":"        for p in lb_data[\u0027pools\u0027]:"},{"line_number":459,"context_line":"            expected_protocols.add(p.protocol.lower())"},{"line_number":460,"context_line":"        for l in lb_data[\u0027listeners\u0027]:"},{"line_number":461,"context_line":"            expected_protocols.add(l.protocol.lower())"},{"line_number":462,"context_line":"        # If there is no protocol lets add default - empty []."},{"line_number":463,"context_line":"        expected_protocols \u003d list(expected_protocols)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff570b3c_c2758b9a","line":460,"updated":"2020-05-12 11:08:49.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"fe6147bb9a783a5343e8fe4ba13904a70ae7e219"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a3219f44b875360fb4e29a8b53291282a28c85bf","unresolved":false,"context_lines":[{"line_number":527,"context_line":"            external_ids[pool_key] \u003d p_members"},{"line_number":528,"context_line":"            pool_info[p.pool_id] \u003d p_members"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"        for l in lb_data[\u0027listeners\u0027]:"},{"line_number":531,"context_line":"            expected_vips \u003d _get_lb_field_by_protocol("},{"line_number":532,"context_line":"                l.protocol.lower(),"},{"line_number":533,"context_line":"                field\u003d\u0027vips\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff570b3c_a27a1785","line":530,"updated":"2020-05-12 11:08:49.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"fe6147bb9a783a5343e8fe4ba13904a70ae7e219"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a3219f44b875360fb4e29a8b53291282a28c85bf","unresolved":false,"context_lines":[{"line_number":603,"context_line":"        pool_listeners \u003d self._get_pool_listeners(lb_data, m_pool.pool_id)"},{"line_number":604,"context_line":"        expected_listener_status \u003d ["},{"line_number":605,"context_line":"            {\u0027id\u0027: l.listener_id, \u0027provisioning_status\u0027: \u0027ACTIVE\u0027}"},{"line_number":606,"context_line":"            for l in pool_listeners]"},{"line_number":607,"context_line":"        self.ovn_driver.pool_update(m_pool, m_pool)"},{"line_number":608,"context_line":"        expected_status \u003d {"},{"line_number":609,"context_line":"            \u0027pools\u0027: [{\u0027id\u0027: m_pool.pool_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff570b3c_027023a5","line":606,"updated":"2020-05-12 11:08:49.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"fe6147bb9a783a5343e8fe4ba13904a70ae7e219"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a3219f44b875360fb4e29a8b53291282a28c85bf","unresolved":false,"context_lines":[{"line_number":670,"context_line":"                return p"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"    def _get_listener_from_lb_data(self, lb_data, protocol, protocol_port):"},{"line_number":673,"context_line":"        for l in lb_data[\u0027listeners\u0027]:"},{"line_number":674,"context_line":"            if (l.protocol_port \u003d\u003d protocol_port and"},{"line_number":675,"context_line":"                    l.protocol \u003d\u003d protocol):"},{"line_number":676,"context_line":"                return l"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff570b3c_e2740f9c","line":673,"updated":"2020-05-12 11:08:49.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"fe6147bb9a783a5343e8fe4ba13904a70ae7e219"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a3219f44b875360fb4e29a8b53291282a28c85bf","unresolved":false,"context_lines":[{"line_number":677,"context_line":""},{"line_number":678,"context_line":"    def _get_pool_listeners(self, lb_data, pool_id):"},{"line_number":679,"context_line":"        listeners \u003d []"},{"line_number":680,"context_line":"        for l in lb_data[\u0027listeners\u0027]:"},{"line_number":681,"context_line":"            if l.default_pool_id \u003d\u003d pool_id:"},{"line_number":682,"context_line":"                listeners.append(l)"},{"line_number":683,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ff570b3c_42697bbc","line":680,"updated":"2020-05-12 11:08:49.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"fe6147bb9a783a5343e8fe4ba13904a70ae7e219"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a3219f44b875360fb4e29a8b53291282a28c85bf","unresolved":false,"context_lines":[{"line_number":699,"context_line":"        pool_listeners \u003d self._get_pool_listeners(lb_data, pool_id)"},{"line_number":700,"context_line":"        expected_listener_status \u003d ["},{"line_number":701,"context_line":"            {\u0027id\u0027: l.listener_id, \u0027provisioning_status\u0027: \u0027ACTIVE\u0027}"},{"line_number":702,"context_line":"            for l in pool_listeners]"},{"line_number":703,"context_line":""},{"line_number":704,"context_line":"        expected_status \u003d {"},{"line_number":705,"context_line":"            \u0027pools\u0027: [pool_status],"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff570b3c_226607ef","line":702,"updated":"2020-05-12 11:08:49.000000000","message":"pep8: E741 ambiguous variable name \u0027l\u0027","commit_id":"fe6147bb9a783a5343e8fe4ba13904a70ae7e219"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5e0501412d3fec14b6f8d882cc039bf8695e42a0","unresolved":false,"context_lines":[{"line_number":439,"context_line":"        def _get_lb_field_by_protocol(protocol, field\u003d\u0027external_ids\u0027):"},{"line_number":440,"context_line":"            \"Get needed external_ids and pass by reference\""},{"line_number":441,"context_line":"            lb \u003d [lb for lb in expected_lbs"},{"line_number":442,"context_line":"                  if lb.get(\u0027protocol\u0027) \u003d\u003d [protocol]]"},{"line_number":443,"context_line":"            return lb[0].get(field)"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        if not lb_data or not lb_data.get(\u0027model\u0027):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_13c0587b","line":442,"updated":"2020-05-13 13:45:27.000000000","message":"So in the lb dict protocol is a list?  I know this was copied from below, but in a follow-on should this be something like:\n\nif protocol in lb.get(\u0027protocol\u0027, []):","commit_id":"1fa270c7df415d672bc73f3fba42d696b5cd6517"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"a5aa7d2dc60df7a55e1af1c929fce048b8dcf555","unresolved":false,"context_lines":[{"line_number":439,"context_line":"        def _get_lb_field_by_protocol(protocol, field\u003d\u0027external_ids\u0027):"},{"line_number":440,"context_line":"            \"Get needed external_ids and pass by reference\""},{"line_number":441,"context_line":"            lb \u003d [lb for lb in expected_lbs"},{"line_number":442,"context_line":"                  if lb.get(\u0027protocol\u0027) \u003d\u003d [protocol]]"},{"line_number":443,"context_line":"            return lb[0].get(field)"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        if not lb_data or not lb_data.get(\u0027model\u0027):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_53ddb012","line":442,"in_reply_to":"ff570b3c_13c0587b","updated":"2020-05-13 13:58:57.000000000","message":"\u003e\u003e\u003e lb \u003d {}\n\u003e\u003e\u003e lb[\u0027protocol\u0027] \u003d []\n\u003e\u003e\u003e lb.get(\u0027protocol\u0027)\n[]","commit_id":"1fa270c7df415d672bc73f3fba42d696b5cd6517"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"caaaeb6384fbd09984b7261673d5fc818719e8c1","unresolved":false,"context_lines":[{"line_number":439,"context_line":"        def _get_lb_field_by_protocol(protocol, field\u003d\u0027external_ids\u0027):"},{"line_number":440,"context_line":"            \"Get needed external_ids and pass by reference\""},{"line_number":441,"context_line":"            lb \u003d [lb for lb in expected_lbs"},{"line_number":442,"context_line":"                  if lb.get(\u0027protocol\u0027) \u003d\u003d [protocol]]"},{"line_number":443,"context_line":"            return lb[0].get(field)"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        if not lb_data or not lb_data.get(\u0027model\u0027):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_b39d2c59","line":442,"in_reply_to":"ff570b3c_13c0587b","updated":"2020-05-13 13:57:22.000000000","message":"If protocol in the OVN LB row is not set, we can see that the column from ovn-nbctl list load_balancer \u003c\u003cuuid\u003e\u003e looks like:\n\nprotocol            : []\n\nWhen the protocol is set, its:\n\nprotocol            : tcp\n\n\nBut if you\u0027ll try to get the LB row using IDL, the protocol is is set as [] or [\u0027tcp\u0027].\n\nSo yes, you\u0027re right. It should be get that defaults to [] in case protocol not found.","commit_id":"1fa270c7df415d672bc73f3fba42d696b5cd6517"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"f11b56835e0f486e5de9c5f266afb520e0ca39c6","unresolved":false,"context_lines":[{"line_number":439,"context_line":"        def _get_lb_field_by_protocol(protocol, field\u003d\u0027external_ids\u0027):"},{"line_number":440,"context_line":"            \"Get needed external_ids and pass by reference\""},{"line_number":441,"context_line":"            lb \u003d [lb for lb in expected_lbs"},{"line_number":442,"context_line":"                  if lb.get(\u0027protocol\u0027) \u003d\u003d [protocol]]"},{"line_number":443,"context_line":"            return lb[0].get(field)"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        if not lb_data or not lb_data.get(\u0027model\u0027):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_b664fae6","line":442,"in_reply_to":"ff570b3c_13fe9836","updated":"2020-05-13 14:17:51.000000000","message":"Yes, it always has this.","commit_id":"1fa270c7df415d672bc73f3fba42d696b5cd6517"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5f4f8d20c1755209046507f1e06beb322afe8c6d","unresolved":false,"context_lines":[{"line_number":439,"context_line":"        def _get_lb_field_by_protocol(protocol, field\u003d\u0027external_ids\u0027):"},{"line_number":440,"context_line":"            \"Get needed external_ids and pass by reference\""},{"line_number":441,"context_line":"            lb \u003d [lb for lb in expected_lbs"},{"line_number":442,"context_line":"                  if lb.get(\u0027protocol\u0027) \u003d\u003d [protocol]]"},{"line_number":443,"context_line":"            return lb[0].get(field)"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        if not lb_data or not lb_data.get(\u0027model\u0027):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_13fe9836","line":442,"in_reply_to":"ff570b3c_53ddb012","updated":"2020-05-13 14:06:58.000000000","message":"I was adding the lb.get(\u0027protocol\u0027, []) to default to returning [] instead of None since I didn\u0027t want a different failure.  But if it always has this field it isn\u0027t necessary.","commit_id":"1fa270c7df415d672bc73f3fba42d696b5cd6517"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"a5aa7d2dc60df7a55e1af1c929fce048b8dcf555","unresolved":false,"context_lines":[{"line_number":439,"context_line":"        def _get_lb_field_by_protocol(protocol, field\u003d\u0027external_ids\u0027):"},{"line_number":440,"context_line":"            \"Get needed external_ids and pass by reference\""},{"line_number":441,"context_line":"            lb \u003d [lb for lb in expected_lbs"},{"line_number":442,"context_line":"                  if lb.get(\u0027protocol\u0027) \u003d\u003d [protocol]]"},{"line_number":443,"context_line":"            return lb[0].get(field)"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        if not lb_data or not lb_data.get(\u0027model\u0027):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_33e0fccc","line":442,"in_reply_to":"ff570b3c_b39d2c59","updated":"2020-05-13 13:58:57.000000000","message":"Hmm, but from the other hand:\n\n\u003e\u003e\u003e lb \u003d {}\n\u003e\u003e\u003e lb[\u0027protocol\u0027] \u003d []\n\u003e\u003e\u003e lb.get(\u0027protocol\u0027)\n[]","commit_id":"1fa270c7df415d672bc73f3fba42d696b5cd6517"}]}
