)]}'
{"networking_ovn/common/ovn_client.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"a02f727c7cbad072bc0e7b1b2cb3813a7f585ebf","unresolved":false,"context_lines":[{"line_number":319,"context_line":"            # NOTE(mjozefcz): Do not set addresses if the port is not"},{"line_number":320,"context_line":"            # bound and has not device_owner. Possibly its VIP port."},{"line_number":321,"context_line":"            # For more details check related bug #1789686."},{"line_number":322,"context_line":"            if not port.get(\u0027device_owner\u0027) and \\"},{"line_number":323,"context_line":"                port.get(\u0027binding:vif_type\u0027) \u003d\u003d portbindings.VIF_TYPE_UNBOUND:"},{"line_number":324,"context_line":"                kwargs[\u0027addresses\u0027] \u003d []"},{"line_number":325,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_d6da2a76","line":322,"updated":"2019-05-15 13:05:02.000000000","message":"nit: parenthesis are preferred over \\","commit_id":"7114abb91267421e321af3b53c3f01da372231fa"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"5fdc542c86df0086ebcde8dd9c76a7173d9473e0","unresolved":false,"context_lines":[{"line_number":319,"context_line":"            # NOTE(mjozefcz): Do not set addresses if the port is not"},{"line_number":320,"context_line":"            # bound and has not device_owner. Possibly its VIP port."},{"line_number":321,"context_line":"            # For more details check related bug #1789686."},{"line_number":322,"context_line":"            if not port.get(\u0027device_owner\u0027) and \\"},{"line_number":323,"context_line":"                port.get(\u0027binding:vif_type\u0027) \u003d\u003d portbindings.VIF_TYPE_UNBOUND:"},{"line_number":324,"context_line":"                kwargs[\u0027addresses\u0027] \u003d []"},{"line_number":325,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_8a580256","line":322,"in_reply_to":"dfbec78f_d6da2a76","updated":"2019-05-15 14:23:13.000000000","message":"done","commit_id":"7114abb91267421e321af3b53c3f01da372231fa"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"a02f727c7cbad072bc0e7b1b2cb3813a7f585ebf","unresolved":false,"context_lines":[{"line_number":320,"context_line":"            # bound and has not device_owner. Possibly its VIP port."},{"line_number":321,"context_line":"            # For more details check related bug #1789686."},{"line_number":322,"context_line":"            if not port.get(\u0027device_owner\u0027) and \\"},{"line_number":323,"context_line":"                port.get(\u0027binding:vif_type\u0027) \u003d\u003d portbindings.VIF_TYPE_UNBOUND:"},{"line_number":324,"context_line":"                kwargs[\u0027addresses\u0027] \u003d []"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"            port_cmd \u003d txn.add(self._nb_idl.create_lswitch_port("}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_36d5c644","line":323,"range":{"start_line":323,"start_character":25,"end_line":323,"end_character":43},"updated":"2019-05-15 13:05:02.000000000","message":"portbindings.VIF_TYPE","commit_id":"7114abb91267421e321af3b53c3f01da372231fa"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"5fdc542c86df0086ebcde8dd9c76a7173d9473e0","unresolved":false,"context_lines":[{"line_number":320,"context_line":"            # bound and has not device_owner. Possibly its VIP port."},{"line_number":321,"context_line":"            # For more details check related bug #1789686."},{"line_number":322,"context_line":"            if not port.get(\u0027device_owner\u0027) and \\"},{"line_number":323,"context_line":"                port.get(\u0027binding:vif_type\u0027) \u003d\u003d portbindings.VIF_TYPE_UNBOUND:"},{"line_number":324,"context_line":"                kwargs[\u0027addresses\u0027] \u003d []"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"            port_cmd \u003d txn.add(self._nb_idl.create_lswitch_port("}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_aa538638","line":323,"range":{"start_line":323,"start_character":25,"end_line":323,"end_character":43},"in_reply_to":"dfbec78f_36d5c644","updated":"2019-05-15 14:23:13.000000000","message":"done","commit_id":"7114abb91267421e321af3b53c3f01da372231fa"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"a02f727c7cbad072bc0e7b1b2cb3813a7f585ebf","unresolved":false,"context_lines":[{"line_number":433,"context_line":"            # NOTE(mjozefcz): Do not set addresses if the port is not"},{"line_number":434,"context_line":"            # bound and has not device_owner. Possibly its VIP port."},{"line_number":435,"context_line":"            # For more details check related bug #1789686."},{"line_number":436,"context_line":"            if not port.get(\u0027device_owner\u0027) and \\"},{"line_number":437,"context_line":"                port.get(\u0027binding:vif_type\u0027) \u003d\u003d portbindings.VIF_TYPE_UNBOUND:"},{"line_number":438,"context_line":"                columns_dict[\u0027addresses\u0027] \u003d []"},{"line_number":439,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_f6cace9e","line":436,"updated":"2019-05-15 13:05:02.000000000","message":"ditto","commit_id":"7114abb91267421e321af3b53c3f01da372231fa"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"5fdc542c86df0086ebcde8dd9c76a7173d9473e0","unresolved":false,"context_lines":[{"line_number":433,"context_line":"            # NOTE(mjozefcz): Do not set addresses if the port is not"},{"line_number":434,"context_line":"            # bound and has not device_owner. Possibly its VIP port."},{"line_number":435,"context_line":"            # For more details check related bug #1789686."},{"line_number":436,"context_line":"            if not port.get(\u0027device_owner\u0027) and \\"},{"line_number":437,"context_line":"                port.get(\u0027binding:vif_type\u0027) \u003d\u003d portbindings.VIF_TYPE_UNBOUND:"},{"line_number":438,"context_line":"                columns_dict[\u0027addresses\u0027] \u003d []"},{"line_number":439,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_4a344afc","line":436,"in_reply_to":"dfbec78f_f6cace9e","updated":"2019-05-15 14:23:13.000000000","message":"done","commit_id":"7114abb91267421e321af3b53c3f01da372231fa"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"e03b136bdbe1039dd9c88893467dabef62ecac36","unresolved":false,"context_lines":[{"line_number":317,"context_line":"            }"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"            # NOTE(mjozefcz): Do not set addresses if the port is not"},{"line_number":320,"context_line":"            # bound and has not device_owner. Possibly its VIP port."},{"line_number":321,"context_line":"            # For more details check related bug #1789686."},{"line_number":322,"context_line":"            if (not port.get(\u0027device_owner\u0027) and"},{"line_number":323,"context_line":"                port.get(portbindings.VIF_TYPE) \u003d\u003d"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_7ed9d054","line":320,"range":{"start_line":320,"start_character":55,"end_line":320,"end_character":68},"updated":"2019-05-15 17:32:37.000000000","message":"nit : its a VIP port?\nI think the statement sounds incomplete otherwise","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"e03b136bdbe1039dd9c88893467dabef62ecac36","unresolved":false,"context_lines":[{"line_number":317,"context_line":"            }"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"            # NOTE(mjozefcz): Do not set addresses if the port is not"},{"line_number":320,"context_line":"            # bound and has not device_owner. Possibly its VIP port."},{"line_number":321,"context_line":"            # For more details check related bug #1789686."},{"line_number":322,"context_line":"            if (not port.get(\u0027device_owner\u0027) and"},{"line_number":323,"context_line":"                port.get(portbindings.VIF_TYPE) \u003d\u003d"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_be1508e7","line":320,"range":{"start_line":320,"start_character":28,"end_line":320,"end_character":31},"updated":"2019-05-15 17:32:37.000000000","message":"nit: no","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"d099a7bab3e9a3184988bb395701558cb9d04fbb","unresolved":false,"context_lines":[{"line_number":317,"context_line":"            }"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"            # NOTE(mjozefcz): Do not set addresses if the port is not"},{"line_number":320,"context_line":"            # bound and has not device_owner. Possibly its VIP port."},{"line_number":321,"context_line":"            # For more details check related bug #1789686."},{"line_number":322,"context_line":"            if (not port.get(\u0027device_owner\u0027) and"},{"line_number":323,"context_line":"                port.get(portbindings.VIF_TYPE) \u003d\u003d"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_7b447447","line":320,"range":{"start_line":320,"start_character":55,"end_line":320,"end_character":68},"in_reply_to":"dfbec78f_7ed9d054","updated":"2019-05-16 10:33:40.000000000","message":"++\n\nThe \"possibly\" makes it sound incomplete indeed","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"d9c4a4eef44b2def8a38998c06651e27a38d8014","unresolved":false,"context_lines":[{"line_number":317,"context_line":"            }"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"            # NOTE(mjozefcz): Do not set addresses if the port is not"},{"line_number":320,"context_line":"            # bound and has not device_owner. Possibly its VIP port."},{"line_number":321,"context_line":"            # For more details check related bug #1789686."},{"line_number":322,"context_line":"            if (not port.get(\u0027device_owner\u0027) and"},{"line_number":323,"context_line":"                port.get(portbindings.VIF_TYPE) \u003d\u003d"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_bb0bcc27","line":320,"range":{"start_line":320,"start_character":55,"end_line":320,"end_character":68},"in_reply_to":"dfbec78f_7ed9d054","updated":"2019-05-16 11:06:09.000000000","message":"Please check if in the PS3 its better.\nI mean there is a possibility it is a VirtualIP port, because it is not bound.","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"d9c4a4eef44b2def8a38998c06651e27a38d8014","unresolved":false,"context_lines":[{"line_number":317,"context_line":"            }"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"            # NOTE(mjozefcz): Do not set addresses if the port is not"},{"line_number":320,"context_line":"            # bound and has not device_owner. Possibly its VIP port."},{"line_number":321,"context_line":"            # For more details check related bug #1789686."},{"line_number":322,"context_line":"            if (not port.get(\u0027device_owner\u0027) and"},{"line_number":323,"context_line":"                port.get(portbindings.VIF_TYPE) \u003d\u003d"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_fbb94478","line":320,"range":{"start_line":320,"start_character":28,"end_line":320,"end_character":31},"in_reply_to":"dfbec78f_be1508e7","updated":"2019-05-16 11:06:09.000000000","message":"done","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"}],"networking_ovn/tests/unit/ml2/test_mech_driver.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"a02f727c7cbad072bc0e7b1b2cb3813a7f585ebf","unresolved":false,"context_lines":[{"line_number":511,"context_line":"            with self.subnet(network\u003dnet1) as subnet1:"},{"line_number":512,"context_line":"                with self.port(subnet\u003dsubnet1,"},{"line_number":513,"context_line":"                               set_context\u003dTrue, tenant_id\u003d\u0027test\u0027,"},{"line_number":514,"context_line":"                               **kwargs):"},{"line_number":515,"context_line":"                    self.assertTrue(self.nb_ovn.create_lswitch_port.called)"},{"line_number":516,"context_line":"                    called_args_dict \u003d ("},{"line_number":517,"context_line":"                        (self.nb_ovn.create_lswitch_port"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_16ce82b3","line":514,"range":{"start_line":514,"start_character":31,"end_line":514,"end_character":39},"updated":"2019-05-15 13:05:02.000000000","message":"you don\u0027t need this, it\u0027s empty","commit_id":"7114abb91267421e321af3b53c3f01da372231fa"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"5fdc542c86df0086ebcde8dd9c76a7173d9473e0","unresolved":false,"context_lines":[{"line_number":511,"context_line":"            with self.subnet(network\u003dnet1) as subnet1:"},{"line_number":512,"context_line":"                with self.port(subnet\u003dsubnet1,"},{"line_number":513,"context_line":"                               set_context\u003dTrue, tenant_id\u003d\u0027test\u0027,"},{"line_number":514,"context_line":"                               **kwargs):"},{"line_number":515,"context_line":"                    self.assertTrue(self.nb_ovn.create_lswitch_port.called)"},{"line_number":516,"context_line":"                    called_args_dict \u003d ("},{"line_number":517,"context_line":"                        (self.nb_ovn.create_lswitch_port"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_ea22deb8","line":514,"range":{"start_line":514,"start_character":31,"end_line":514,"end_character":39},"in_reply_to":"dfbec78f_16ce82b3","updated":"2019-05-15 14:23:13.000000000","message":"right!","commit_id":"7114abb91267421e321af3b53c3f01da372231fa"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"a02f727c7cbad072bc0e7b1b2cb3813a7f585ebf","unresolved":false,"context_lines":[{"line_number":719,"context_line":"                    self.nb_ovn.set_lswitch_port.reset_mock()"},{"line_number":720,"context_line":"                    self.nb_ovn.update_acls.reset_mock()"},{"line_number":721,"context_line":"                    self.nb_ovn.update_address_set.reset_mock()"},{"line_number":722,"context_line":"                    data \u003d {\u0027port\u0027: {\u0027name\u0027: \u0027rtheis\u0027}}"},{"line_number":723,"context_line":"                    self._update(\u0027ports\u0027, port1[\u0027port\u0027][\u0027id\u0027], data)"},{"line_number":724,"context_line":"                    self.assertEqual("},{"line_number":725,"context_line":"                        1, self.nb_ovn.set_lswitch_port.call_count)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_76bedeff","line":722,"range":{"start_line":722,"start_character":46,"end_line":722,"end_character":52},"updated":"2019-05-15 13:05:02.000000000","message":"ah, we use IRC nicks of former contributors instead of foo :) nice","commit_id":"7114abb91267421e321af3b53c3f01da372231fa"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"e03b136bdbe1039dd9c88893467dabef62ecac36","unresolved":false,"context_lines":[{"line_number":394,"context_line":""},{"line_number":395,"context_line":"    def test_create_port_with_disabled_security(self):"},{"line_number":396,"context_line":"        # NOTE(mjozefcz): Lets pretend this is nova port to not"},{"line_number":397,"context_line":"        # be threated as VIP."},{"line_number":398,"context_line":"        kwargs \u003d {\u0027port_security_enabled\u0027: False,"},{"line_number":399,"context_line":"                  \u0027device_owner\u0027: \u0027compute:nova\u0027}"},{"line_number":400,"context_line":"        with self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027) as net1:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_7ec2305b","line":397,"range":{"start_line":397,"start_character":13,"end_line":397,"end_character":21},"updated":"2019-05-15 17:32:37.000000000","message":"nit: treated","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"d9c4a4eef44b2def8a38998c06651e27a38d8014","unresolved":false,"context_lines":[{"line_number":394,"context_line":""},{"line_number":395,"context_line":"    def test_create_port_with_disabled_security(self):"},{"line_number":396,"context_line":"        # NOTE(mjozefcz): Lets pretend this is nova port to not"},{"line_number":397,"context_line":"        # be threated as VIP."},{"line_number":398,"context_line":"        kwargs \u003d {\u0027port_security_enabled\u0027: False,"},{"line_number":399,"context_line":"                  \u0027device_owner\u0027: \u0027compute:nova\u0027}"},{"line_number":400,"context_line":"        with self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027) as net1:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_7b01d405","line":397,"range":{"start_line":397,"start_character":13,"end_line":397,"end_character":21},"in_reply_to":"dfbec78f_7ec2305b","updated":"2019-05-16 11:06:09.000000000","message":"thx","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"e03b136bdbe1039dd9c88893467dabef62ecac36","unresolved":false,"context_lines":[{"line_number":444,"context_line":""},{"line_number":445,"context_line":"    def test_create_port_security_allowed_address_pairs(self):"},{"line_number":446,"context_line":"        # NOTE(mjozefcz): Lets pretend this is nova port to not"},{"line_number":447,"context_line":"        # be threated as VIP."},{"line_number":448,"context_line":"        kwargs \u003d {\u0027allowed_address_pairs\u0027:"},{"line_number":449,"context_line":"                  [{\"ip_address\": \"1.1.1.1\"},"},{"line_number":450,"context_line":"                   {\"ip_address\": \"2.2.2.2\","}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_9ec84474","line":447,"range":{"start_line":447,"start_character":13,"end_line":447,"end_character":21},"updated":"2019-05-15 17:32:37.000000000","message":"ditto","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"d9c4a4eef44b2def8a38998c06651e27a38d8014","unresolved":false,"context_lines":[{"line_number":444,"context_line":""},{"line_number":445,"context_line":"    def test_create_port_security_allowed_address_pairs(self):"},{"line_number":446,"context_line":"        # NOTE(mjozefcz): Lets pretend this is nova port to not"},{"line_number":447,"context_line":"        # be threated as VIP."},{"line_number":448,"context_line":"        kwargs \u003d {\u0027allowed_address_pairs\u0027:"},{"line_number":449,"context_line":"                  [{\"ip_address\": \"1.1.1.1\"},"},{"line_number":450,"context_line":"                   {\"ip_address\": \"2.2.2.2\","}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_0e02d40a","line":447,"range":{"start_line":447,"start_character":13,"end_line":447,"end_character":21},"in_reply_to":"dfbec78f_9ec84474","updated":"2019-05-16 11:06:09.000000000","message":"done","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"e03b136bdbe1039dd9c88893467dabef62ecac36","unresolved":false,"context_lines":[{"line_number":500,"context_line":"                        called_args_dict.get(\u0027addresses\u0027))"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"    def test_create_port_possible_VIP(self):"},{"line_number":503,"context_line":"        \"\"\"Test if just created LSP has not adresses set."},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"           This could be potencial VIP port. If not - next"},{"line_number":506,"context_line":"           port update will set the adresses corectly during"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_7ea790be","line":503,"range":{"start_line":503,"start_character":40,"end_line":503,"end_character":43},"updated":"2019-05-15 17:32:37.000000000","message":"nit: no","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"d099a7bab3e9a3184988bb395701558cb9d04fbb","unresolved":false,"context_lines":[{"line_number":506,"context_line":"           port update will set the adresses corectly during"},{"line_number":507,"context_line":"           binding process."},{"line_number":508,"context_line":"        \"\"\""},{"line_number":509,"context_line":"        with self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027) as net1:"},{"line_number":510,"context_line":"            with self.subnet(network\u003dnet1) as subnet1:"},{"line_number":511,"context_line":"                with self.port(subnet\u003dsubnet1,"},{"line_number":512,"context_line":"                               set_context\u003dTrue, tenant_id\u003d\u0027test\u0027):"},{"line_number":513,"context_line":"                    self.assertTrue(self.nb_ovn.create_lswitch_port.called)"},{"line_number":514,"context_line":"                    called_args_dict \u003d ("},{"line_number":515,"context_line":"                        (self.nb_ovn.create_lswitch_port"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_7b1554e4","line":512,"range":{"start_line":509,"start_character":0,"end_line":512,"end_character":67},"updated":"2019-05-16 10:33:40.000000000","message":"nit: Just an idea to avoid indentation. We could nest the \"with\" statements into a single one as:\n\n with (\n     self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027)) as net1, (\n     self.subnet(network\u003dnet1)) as subnet1, (\n     self.port(subnet\u003dsubnet1, set_context\u003dTrue, tenant_id\u003d\u0027test\u0027)):\n \n     self.assertTrue(self.nb_ovn.create_lswitch_port.called)\n     called_args_dict \u003d (\n         self.nb_ovn.create_lswitch_port.call_args_list[0][1])\n     self.assertEqual([],\n                      called_args_dict.get(\u0027addresses\u0027))","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"18ed758b356473a4a718d31abe39178f0a1bb3ed","unresolved":false,"context_lines":[{"line_number":506,"context_line":"           port update will set the adresses corectly during"},{"line_number":507,"context_line":"           binding process."},{"line_number":508,"context_line":"        \"\"\""},{"line_number":509,"context_line":"        with self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027) as net1:"},{"line_number":510,"context_line":"            with self.subnet(network\u003dnet1) as subnet1:"},{"line_number":511,"context_line":"                with self.port(subnet\u003dsubnet1,"},{"line_number":512,"context_line":"                               set_context\u003dTrue, tenant_id\u003d\u0027test\u0027):"},{"line_number":513,"context_line":"                    self.assertTrue(self.nb_ovn.create_lswitch_port.called)"},{"line_number":514,"context_line":"                    called_args_dict \u003d ("},{"line_number":515,"context_line":"                        (self.nb_ovn.create_lswitch_port"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_918b49c1","line":512,"range":{"start_line":509,"start_character":0,"end_line":512,"end_character":67},"in_reply_to":"dfbec78f_1198b919","updated":"2019-05-16 12:22:09.000000000","message":"I\u0027m putting it to my calendar","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1114aac6380d7dba7b882854b692f2ec487f6990","unresolved":false,"context_lines":[{"line_number":506,"context_line":"           port update will set the adresses corectly during"},{"line_number":507,"context_line":"           binding process."},{"line_number":508,"context_line":"        \"\"\""},{"line_number":509,"context_line":"        with self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027) as net1:"},{"line_number":510,"context_line":"            with self.subnet(network\u003dnet1) as subnet1:"},{"line_number":511,"context_line":"                with self.port(subnet\u003dsubnet1,"},{"line_number":512,"context_line":"                               set_context\u003dTrue, tenant_id\u003d\u0027test\u0027):"},{"line_number":513,"context_line":"                    self.assertTrue(self.nb_ovn.create_lswitch_port.called)"},{"line_number":514,"context_line":"                    called_args_dict \u003d ("},{"line_number":515,"context_line":"                        (self.nb_ovn.create_lswitch_port"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_8e156442","line":512,"range":{"start_line":509,"start_character":0,"end_line":512,"end_character":67},"in_reply_to":"dfbec78f_7b1554e4","updated":"2019-05-16 10:39:56.000000000","message":"Do parens work with \u0027with-statement\u0027? I always thought they don\u0027t and you need to use backslashes instead","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4a4d10e810cfc3dd81f24386199ae20f94ad9f9b","unresolved":false,"context_lines":[{"line_number":506,"context_line":"           port update will set the adresses corectly during"},{"line_number":507,"context_line":"           binding process."},{"line_number":508,"context_line":"        \"\"\""},{"line_number":509,"context_line":"        with self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027) as net1:"},{"line_number":510,"context_line":"            with self.subnet(network\u003dnet1) as subnet1:"},{"line_number":511,"context_line":"                with self.port(subnet\u003dsubnet1,"},{"line_number":512,"context_line":"                               set_context\u003dTrue, tenant_id\u003d\u0027test\u0027):"},{"line_number":513,"context_line":"                    self.assertTrue(self.nb_ovn.create_lswitch_port.called)"},{"line_number":514,"context_line":"                    called_args_dict \u003d ("},{"line_number":515,"context_line":"                        (self.nb_ovn.create_lswitch_port"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_8ec804a6","line":512,"range":{"start_line":509,"start_character":0,"end_line":512,"end_character":67},"in_reply_to":"dfbec78f_8e156442","updated":"2019-05-16 10:47:44.000000000","message":"It does yeah. I\u0027ve tested that code ^ before commenting here (you can give it a go as well).\n\nbackslashes work too but, I think we are trying to get rid of them as recommended by PEP8.","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"dda4c4630f327106b507d8fe1924b76fcb114547","unresolved":false,"context_lines":[{"line_number":506,"context_line":"           port update will set the adresses corectly during"},{"line_number":507,"context_line":"           binding process."},{"line_number":508,"context_line":"        \"\"\""},{"line_number":509,"context_line":"        with self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027) as net1:"},{"line_number":510,"context_line":"            with self.subnet(network\u003dnet1) as subnet1:"},{"line_number":511,"context_line":"                with self.port(subnet\u003dsubnet1,"},{"line_number":512,"context_line":"                               set_context\u003dTrue, tenant_id\u003d\u0027test\u0027):"},{"line_number":513,"context_line":"                    self.assertTrue(self.nb_ovn.create_lswitch_port.called)"},{"line_number":514,"context_line":"                    called_args_dict \u003d ("},{"line_number":515,"context_line":"                        (self.nb_ovn.create_lswitch_port"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_ee366051","line":512,"range":{"start_line":509,"start_character":0,"end_line":512,"end_character":67},"in_reply_to":"dfbec78f_8ec804a6","updated":"2019-05-16 11:09:04.000000000","message":"Thanks a lot for teaching me this! My life will be much better from now on.","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"d9c4a4eef44b2def8a38998c06651e27a38d8014","unresolved":false,"context_lines":[{"line_number":506,"context_line":"           port update will set the adresses corectly during"},{"line_number":507,"context_line":"           binding process."},{"line_number":508,"context_line":"        \"\"\""},{"line_number":509,"context_line":"        with self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027) as net1:"},{"line_number":510,"context_line":"            with self.subnet(network\u003dnet1) as subnet1:"},{"line_number":511,"context_line":"                with self.port(subnet\u003dsubnet1,"},{"line_number":512,"context_line":"                               set_context\u003dTrue, tenant_id\u003d\u0027test\u0027):"},{"line_number":513,"context_line":"                    self.assertTrue(self.nb_ovn.create_lswitch_port.called)"},{"line_number":514,"context_line":"                    called_args_dict \u003d ("},{"line_number":515,"context_line":"                        (self.nb_ovn.create_lswitch_port"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_eee8a0b3","line":512,"range":{"start_line":509,"start_character":0,"end_line":512,"end_character":67},"in_reply_to":"dfbec78f_8ec804a6","updated":"2019-05-16 11:06:09.000000000","message":"That looks much better! Thanks:)","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"5ff4232d7ea604f4c9167ef693ebbb82f5ade0e7","unresolved":false,"context_lines":[{"line_number":506,"context_line":"           port update will set the adresses corectly during"},{"line_number":507,"context_line":"           binding process."},{"line_number":508,"context_line":"        \"\"\""},{"line_number":509,"context_line":"        with self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027) as net1:"},{"line_number":510,"context_line":"            with self.subnet(network\u003dnet1) as subnet1:"},{"line_number":511,"context_line":"                with self.port(subnet\u003dsubnet1,"},{"line_number":512,"context_line":"                               set_context\u003dTrue, tenant_id\u003d\u0027test\u0027):"},{"line_number":513,"context_line":"                    self.assertTrue(self.nb_ovn.create_lswitch_port.called)"},{"line_number":514,"context_line":"                    called_args_dict \u003d ("},{"line_number":515,"context_line":"                        (self.nb_ovn.create_lswitch_port"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_a294998c","line":512,"range":{"start_line":509,"start_character":0,"end_line":512,"end_character":67},"in_reply_to":"dfbec78f_918b49c1","updated":"2019-05-21 12:20:06.000000000","message":"Include me as well... this is great :)","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"31876d2a367e082f1e745a15696592d571c93189","unresolved":false,"context_lines":[{"line_number":506,"context_line":"           port update will set the adresses corectly during"},{"line_number":507,"context_line":"           binding process."},{"line_number":508,"context_line":"        \"\"\""},{"line_number":509,"context_line":"        with self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027) as net1:"},{"line_number":510,"context_line":"            with self.subnet(network\u003dnet1) as subnet1:"},{"line_number":511,"context_line":"                with self.port(subnet\u003dsubnet1,"},{"line_number":512,"context_line":"                               set_context\u003dTrue, tenant_id\u003d\u0027test\u0027):"},{"line_number":513,"context_line":"                    self.assertTrue(self.nb_ovn.create_lswitch_port.called)"},{"line_number":514,"context_line":"                    called_args_dict \u003d ("},{"line_number":515,"context_line":"                        (self.nb_ovn.create_lswitch_port"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_1198b919","line":512,"range":{"start_line":509,"start_character":0,"end_line":512,"end_character":67},"in_reply_to":"dfbec78f_ee366051","updated":"2019-05-16 12:20:26.000000000","message":"lol we can cheers with some beers the power of the with statements and parentheses on the next PTG/meetup o/","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"d099a7bab3e9a3184988bb395701558cb9d04fbb","unresolved":false,"context_lines":[{"line_number":700,"context_line":"        kwargs \u003d {}"},{"line_number":701,"context_line":"        if not is_vip:"},{"line_number":702,"context_line":"            # NOTE(mjozefcz): Lets pretend this is nova port to not"},{"line_number":703,"context_line":"            # be threated as VIP."},{"line_number":704,"context_line":"            kwargs[\u0027device_owner\u0027] \u003d \u0027compute:nova\u0027"},{"line_number":705,"context_line":"        with self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027) as net1:"},{"line_number":706,"context_line":"            with self.subnet(network\u003dnet1) as subnet1:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_5b62d0d9","line":703,"range":{"start_line":703,"start_character":17,"end_line":703,"end_character":25},"updated":"2019-05-16 10:33:40.000000000","message":"treated","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"d9c4a4eef44b2def8a38998c06651e27a38d8014","unresolved":false,"context_lines":[{"line_number":700,"context_line":"        kwargs \u003d {}"},{"line_number":701,"context_line":"        if not is_vip:"},{"line_number":702,"context_line":"            # NOTE(mjozefcz): Lets pretend this is nova port to not"},{"line_number":703,"context_line":"            # be threated as VIP."},{"line_number":704,"context_line":"            kwargs[\u0027device_owner\u0027] \u003d \u0027compute:nova\u0027"},{"line_number":705,"context_line":"        with self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027) as net1:"},{"line_number":706,"context_line":"            with self.subnet(network\u003dnet1) as subnet1:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_eea6600f","line":703,"range":{"start_line":703,"start_character":17,"end_line":703,"end_character":25},"in_reply_to":"dfbec78f_5b62d0d9","updated":"2019-05-16 11:06:09.000000000","message":"done","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"d099a7bab3e9a3184988bb395701558cb9d04fbb","unresolved":false,"context_lines":[{"line_number":702,"context_line":"            # NOTE(mjozefcz): Lets pretend this is nova port to not"},{"line_number":703,"context_line":"            # be threated as VIP."},{"line_number":704,"context_line":"            kwargs[\u0027device_owner\u0027] \u003d \u0027compute:nova\u0027"},{"line_number":705,"context_line":"        with self.network(set_context\u003dTrue, tenant_id\u003d\u0027test\u0027) as net1:"},{"line_number":706,"context_line":"            with self.subnet(network\u003dnet1) as subnet1:"},{"line_number":707,"context_line":"                with self.port(subnet\u003dsubnet1,"},{"line_number":708,"context_line":"                               set_context\u003dTrue,"},{"line_number":709,"context_line":"                               tenant_id\u003d\u0027test\u0027,"},{"line_number":710,"context_line":"                               **kwargs) as port1:"},{"line_number":711,"context_line":"                    fake_lsp \u003d ("},{"line_number":712,"context_line":"                        fakes.FakeOVNPort.from_neutron_port("},{"line_number":713,"context_line":"                            port1[\u0027port\u0027]))"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_fbb704f4","line":710,"range":{"start_line":705,"start_character":0,"end_line":710,"end_character":50},"updated":"2019-05-16 10:33:40.000000000","message":"nit: ditto L512","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"d099a7bab3e9a3184988bb395701558cb9d04fbb","unresolved":false,"context_lines":[{"line_number":715,"context_line":""},{"line_number":716,"context_line":"                    # Update the port name."},{"line_number":717,"context_line":"                    self.nb_ovn.set_lswitch_port.reset_mock()"},{"line_number":718,"context_line":"                    self.nb_ovn.update_acls.reset_mock()"},{"line_number":719,"context_line":"                    self.nb_ovn.update_address_set.reset_mock()"},{"line_number":720,"context_line":"                    data \u003d {\u0027port\u0027: {\u0027name\u0027: \u0027rtheis\u0027}}"},{"line_number":721,"context_line":"                    self._update(\u0027ports\u0027, port1[\u0027port\u0027][\u0027id\u0027], data)"},{"line_number":722,"context_line":"                    self.assertEqual("}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_1b09b894","line":719,"range":{"start_line":718,"start_character":0,"end_line":719,"end_character":63},"updated":"2019-05-16 10:33:40.000000000","message":"nit: we are not really asserting anything around those two methods, do we need to reset their mock state ?","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"d9c4a4eef44b2def8a38998c06651e27a38d8014","unresolved":false,"context_lines":[{"line_number":715,"context_line":""},{"line_number":716,"context_line":"                    # Update the port name."},{"line_number":717,"context_line":"                    self.nb_ovn.set_lswitch_port.reset_mock()"},{"line_number":718,"context_line":"                    self.nb_ovn.update_acls.reset_mock()"},{"line_number":719,"context_line":"                    self.nb_ovn.update_address_set.reset_mock()"},{"line_number":720,"context_line":"                    data \u003d {\u0027port\u0027: {\u0027name\u0027: \u0027rtheis\u0027}}"},{"line_number":721,"context_line":"                    self._update(\u0027ports\u0027, port1[\u0027port\u0027][\u0027id\u0027], data)"},{"line_number":722,"context_line":"                    self.assertEqual("}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_aedaa874","line":719,"range":{"start_line":718,"start_character":0,"end_line":719,"end_character":63},"in_reply_to":"dfbec78f_1b09b894","updated":"2019-05-16 11:06:09.000000000","message":"you\u0027re right, those mocks resets are not needed. thanks!","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"e03b136bdbe1039dd9c88893467dabef62ecac36","unresolved":false,"context_lines":[{"line_number":725,"context_line":"                        (self.nb_ovn.set_lswitch_port"},{"line_number":726,"context_line":"                         ).call_args_list[0][1])"},{"line_number":727,"context_line":"                    self.assertEqual("},{"line_number":728,"context_line":"                        \u0027rtheis\u0027,"},{"line_number":729,"context_line":"                        called_args_dict[\u0027external_ids\u0027][\u0027neutron:port_name\u0027]"},{"line_number":730,"context_line":"                    )"},{"line_number":731,"context_line":"                    if is_vip:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfbec78f_de979c47","line":728,"range":{"start_line":728,"start_character":25,"end_line":728,"end_character":31},"updated":"2019-05-15 17:32:37.000000000","message":"JFYI: its Richard Theis :)","commit_id":"9360be3a71dee86cc988b6c00b0dc04296721072"}]}
