)]}'
{"networking_ovn/octavia/ovn_driver.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"c02de432ab0fd5fd56aaaca40632dda859830db2","unresolved":false,"context_lines":[{"line_number":1761,"context_line":"                member.monitor_address, o_datamodels.UnsetType) or isinstance("},{"line_number":1762,"context_line":"                    member.monitor_port, o_datamodels.UnsetType))"},{"line_number":1763,"context_line":""},{"line_number":1764,"context_line":"    def _check_member_ip_version(self, member):"},{"line_number":1765,"context_line":"        pool_key \u003d self._ovn_helper._get_pool_key(member.pool_id)"},{"line_number":1766,"context_line":"        ovn_lb \u003d self._ovn_helper._find_ovn_lb_with_pool_key(pool_key)"},{"line_number":1767,"context_line":"        if not ovn_lb:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_bf50840b","line":1764,"range":{"start_line":1764,"start_character":8,"end_line":1764,"end_character":32},"updated":"2019-08-21 11:19:05.000000000","message":"The name is a bit missleading, how about\n\n ip_version_differs\n\nthen imho it would make more sense in the code like\n\n if self._ip_version_differs():","commit_id":"137c229a242f85806ddc18ad76e3841dc1535938"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"31fc63826033e2a5179615833ead28a0af245a86","unresolved":false,"context_lines":[{"line_number":1761,"context_line":"                member.monitor_address, o_datamodels.UnsetType) or isinstance("},{"line_number":1762,"context_line":"                    member.monitor_port, o_datamodels.UnsetType))"},{"line_number":1763,"context_line":""},{"line_number":1764,"context_line":"    def _check_member_ip_version(self, member):"},{"line_number":1765,"context_line":"        pool_key \u003d self._ovn_helper._get_pool_key(member.pool_id)"},{"line_number":1766,"context_line":"        ovn_lb \u003d self._ovn_helper._find_ovn_lb_with_pool_key(pool_key)"},{"line_number":1767,"context_line":"        if not ovn_lb:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_c20803da","line":1764,"range":{"start_line":1764,"start_character":8,"end_line":1764,"end_character":32},"in_reply_to":"7faddb67_bf50840b","updated":"2019-08-21 12:26:35.000000000","message":"++ good idea","commit_id":"137c229a242f85806ddc18ad76e3841dc1535938"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"c02de432ab0fd5fd56aaaca40632dda859830db2","unresolved":false,"context_lines":[{"line_number":1769,"context_line":"                                                      is_enabled\u003dFalse)"},{"line_number":1770,"context_line":"            ovn_lb \u003d self._ovn_helper.find_ovn_lb_with_pool_key(pool_key)"},{"line_number":1771,"context_line":"        lb_vip \u003d ovn_lb.external_ids[LB_EXT_IDS_VIP_KEY]"},{"line_number":1772,"context_line":"        if netaddr.IPNetwork(lb_vip).version !\u003d ("},{"line_number":1773,"context_line":"            netaddr.IPNetwork(member.address).version):"},{"line_number":1774,"context_line":"            return True"},{"line_number":1775,"context_line":"        return False"},{"line_number":1776,"context_line":""},{"line_number":1777,"context_line":"    def member_create(self, member):"},{"line_number":1778,"context_line":"        if self._check_monitor_options(member):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_df31c0ee","line":1775,"range":{"start_line":1772,"start_character":0,"end_line":1775,"end_character":20},"updated":"2019-08-21 11:19:05.000000000","message":"return netaddr.IPNetwork(lb_vip).version !\u003d ( \n     netaddr.IPNetwork(member.address).version)","commit_id":"137c229a242f85806ddc18ad76e3841dc1535938"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"31fc63826033e2a5179615833ead28a0af245a86","unresolved":false,"context_lines":[{"line_number":1769,"context_line":"                                                      is_enabled\u003dFalse)"},{"line_number":1770,"context_line":"            ovn_lb \u003d self._ovn_helper.find_ovn_lb_with_pool_key(pool_key)"},{"line_number":1771,"context_line":"        lb_vip \u003d ovn_lb.external_ids[LB_EXT_IDS_VIP_KEY]"},{"line_number":1772,"context_line":"        if netaddr.IPNetwork(lb_vip).version !\u003d ("},{"line_number":1773,"context_line":"            netaddr.IPNetwork(member.address).version):"},{"line_number":1774,"context_line":"            return True"},{"line_number":1775,"context_line":"        return False"},{"line_number":1776,"context_line":""},{"line_number":1777,"context_line":"    def member_create(self, member):"},{"line_number":1778,"context_line":"        if self._check_monitor_options(member):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_a205c7c3","line":1775,"range":{"start_line":1772,"start_character":0,"end_line":1775,"end_character":20},"in_reply_to":"7faddb67_df31c0ee","updated":"2019-08-21 12:26:35.000000000","message":"Ah, yes, you\u0027re right","commit_id":"137c229a242f85806ddc18ad76e3841dc1535938"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"bbd243bbd8321d17e788abb95d6a8e49bb498690","unresolved":false,"context_lines":[{"line_number":1816,"context_line":"                operator_fault_string\u003dmsg)"},{"line_number":1817,"context_line":"        if self._ip_version_differs(new_member):"},{"line_number":1818,"context_line":"            msg \u003d _(\u0027OVN provider does not support mixing IPv4/IPv6 \u0027"},{"line_number":1819,"context_line":"                    \u0027configuration within the same Load Balancer.\u0027)"},{"line_number":1820,"context_line":"            raise driver_exceptions.UnsupportedOptionError("},{"line_number":1821,"context_line":"                user_fault_string\u003dmsg,"},{"line_number":1822,"context_line":"                operator_fault_string\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_9cc10032","line":1819,"updated":"2019-08-22 08:53:39.000000000","message":"nit: I see that we have the same message at L1776, usually its better to create a custom exception inheriting from UnssupportedOptionError with that message so we do not duplicated it here (it\u0027s easier on translation as well since it\u0027s a i18n string).","commit_id":"9062adbc84e1d5c1d28161ab52d0b0837972ab70"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"fd90624aec3bfa3373c6e590c9041f7ea5100b9e","unresolved":false,"context_lines":[{"line_number":1816,"context_line":"                operator_fault_string\u003dmsg)"},{"line_number":1817,"context_line":"        if self._ip_version_differs(new_member):"},{"line_number":1818,"context_line":"            msg \u003d _(\u0027OVN provider does not support mixing IPv4/IPv6 \u0027"},{"line_number":1819,"context_line":"                    \u0027configuration within the same Load Balancer.\u0027)"},{"line_number":1820,"context_line":"            raise driver_exceptions.UnsupportedOptionError("},{"line_number":1821,"context_line":"                user_fault_string\u003dmsg,"},{"line_number":1822,"context_line":"                operator_fault_string\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_dc553851","line":1819,"in_reply_to":"7faddb67_9cc10032","updated":"2019-08-22 08:58:50.000000000","message":"Good idea! Thanks. I\u0027ll do so!","commit_id":"9062adbc84e1d5c1d28161ab52d0b0837972ab70"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"994f02b05513ed2247616eb22d4f9cff7d60e94c","unresolved":false,"context_lines":[{"line_number":1850,"context_line":"        current_members \u003d self._ovn_helper.get_member_info(pool_id)"},{"line_number":1851,"context_line":"        # current_members gets a list of tuples (ID, IP:Port) for pool members"},{"line_number":1852,"context_line":"        for member in members:"},{"line_number":1853,"context_line":"            if ((self._check_monitor_options(member) or"},{"line_number":1854,"context_line":"                 self._ip_version_differs(member))):"},{"line_number":1855,"context_line":"                skipped_members.append(member.member_id)"},{"line_number":1856,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_c61f3e07","line":1853,"range":{"start_line":1853,"start_character":15,"end_line":1853,"end_character":17},"updated":"2019-08-28 13:54:02.000000000","message":"Single bracket should be fine :)","commit_id":"84ef9e15f797a4ef0f64765d788145f2a9e95b18"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"14bf0c398d3ea48d73519e93b4bf31e35457810c","unresolved":false,"context_lines":[{"line_number":1850,"context_line":"        current_members \u003d self._ovn_helper.get_member_info(pool_id)"},{"line_number":1851,"context_line":"        # current_members gets a list of tuples (ID, IP:Port) for pool members"},{"line_number":1852,"context_line":"        for member in members:"},{"line_number":1853,"context_line":"            if ((self._check_monitor_options(member) or"},{"line_number":1854,"context_line":"                 self._ip_version_differs(member))):"},{"line_number":1855,"context_line":"                skipped_members.append(member.member_id)"},{"line_number":1856,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_8904b97f","line":1853,"range":{"start_line":1853,"start_character":15,"end_line":1853,"end_character":17},"in_reply_to":"7faddb67_c61f3e07","updated":"2019-09-02 14:17:28.000000000","message":"pep8 screams","commit_id":"84ef9e15f797a4ef0f64765d788145f2a9e95b18"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"b58d4f7fa7b4d280b64e21b19dc2839f2a93ea23","unresolved":false,"context_lines":[{"line_number":1734,"context_line":"        if not ovn_lb:"},{"line_number":1735,"context_line":"            pool_key \u003d self._ovn_helper._get_pool_key(member.pool_id,"},{"line_number":1736,"context_line":"                                                      is_enabled\u003dFalse)"},{"line_number":1737,"context_line":"            ovn_lb \u003d self._ovn_helper.find_ovn_lb_with_pool_key(pool_key)"},{"line_number":1738,"context_line":"        lb_vip \u003d ovn_lb.external_ids[LB_EXT_IDS_VIP_KEY]"},{"line_number":1739,"context_line":"        return netaddr.IPNetwork(lb_vip).version !\u003d ("},{"line_number":1740,"context_line":"            netaddr.IPNetwork(member.address).version)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5faad753_153b4eeb","line":1737,"range":{"start_line":1737,"start_character":38,"end_line":1737,"end_character":42},"updated":"2019-09-10 19:56:11.000000000","message":"s/_find\n\nGuess there isn\u0027t a test that would have caught that.\n\nAnd there is now enough of these where we can probably have a method for it.  I\u0027ll try something based on this review.","commit_id":"23a1557c9627c314a4b4450ab179d5d4e0993c43"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"da0fae1c6bbf5a9d0d5457bf4f338ddb6d2c51e5","unresolved":false,"context_lines":[{"line_number":1734,"context_line":"        if not ovn_lb:"},{"line_number":1735,"context_line":"            pool_key \u003d self._ovn_helper._get_pool_key(member.pool_id,"},{"line_number":1736,"context_line":"                                                      is_enabled\u003dFalse)"},{"line_number":1737,"context_line":"            ovn_lb \u003d self._ovn_helper.find_ovn_lb_with_pool_key(pool_key)"},{"line_number":1738,"context_line":"        lb_vip \u003d ovn_lb.external_ids[LB_EXT_IDS_VIP_KEY]"},{"line_number":1739,"context_line":"        return netaddr.IPNetwork(lb_vip).version !\u003d ("},{"line_number":1740,"context_line":"            netaddr.IPNetwork(member.address).version)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5faad753_8965de47","line":1737,"range":{"start_line":1737,"start_character":38,"end_line":1737,"end_character":42},"in_reply_to":"5faad753_153b4eeb","updated":"2019-09-11 07:07:47.000000000","message":"You\u0027re right about this one. I was thinking about adding method that would do both (check for ovn_lb with pool_key enabled and if not found, for disabled).\n\nI\u0027ll add test to cover this situation for now here and on top of this change I\u0027ll create a method and replace all the existing executions of \u0027find_ovn_lb_with_pool_key\u0027.","commit_id":"23a1557c9627c314a4b4450ab179d5d4e0993c43"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c477a9c75e3b1a783cb2127ffa81eed729cfb36c","unresolved":false,"context_lines":[{"line_number":1816,"context_line":"        # current_members gets a list of tuples (ID, IP:Port) for pool members"},{"line_number":1817,"context_line":"        for member in members:"},{"line_number":1818,"context_line":"            if ((self._check_monitor_options(member) or"},{"line_number":1819,"context_line":"                 self._ip_version_differs(member))):"},{"line_number":1820,"context_line":"                skipped_members.append(member.member_id)"},{"line_number":1821,"context_line":"                continue"},{"line_number":1822,"context_line":"            admin_state_up \u003d member.admin_state_up"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_bfd6bec2","line":1819,"updated":"2019-09-11 17:19:01.000000000","message":"nit: extra set of parens here","commit_id":"ae543c4f93d939f4673d32e0ad3d1797925852c7"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"7109385a3a59d0dd8ce512f18e0afb9bda423886","unresolved":false,"context_lines":[{"line_number":1816,"context_line":"        # current_members gets a list of tuples (ID, IP:Port) for pool members"},{"line_number":1817,"context_line":"        for member in members:"},{"line_number":1818,"context_line":"            if (self._check_monitor_options(member) or"},{"line_number":1819,"context_line":"                 self._ip_version_differs(member)):"},{"line_number":1820,"context_line":"                skipped_members.append(member.member_id)"},{"line_number":1821,"context_line":"                continue"},{"line_number":1822,"context_line":"            admin_state_up \u003d member.admin_state_up"}],"source_content_type":"text/x-python","patch_set":13,"id":"5faad753_466a42ee","line":1819,"updated":"2019-09-12 21:12:54.000000000","message":"I\u0027ll fix the indentation here to make pep8 happy.","commit_id":"0230fd2b20d0352324499b22a2642eb3c09af0fb"}]}
