)]}'
{"ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1c6145cf19851eb729e497b12d271e113af20100","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        if node_id is not None:"},{"line_number":209,"context_line":"            port[\u0027node_uuid\u0027] \u003d node_id"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        if kwargs[\u0027address\u0027] is not None:"},{"line_number":212,"context_line":"            port[\u0027address\u0027] \u003d kwargs[\u0027address\u0027]"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        if kwargs.get(\u0027physical_network\u0027) is not None:"},{"line_number":215,"context_line":"            port[\u0027physical_network\u0027] \u003d kwargs[\u0027physical_network\u0027]"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        if kwargs.get(\u0027portgroup_uuid\u0027) is not None:"},{"line_number":218,"context_line":"            port[\u0027portgroup_uuid\u0027] \u003d kwargs[\u0027portgroup_uuid\u0027]"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        return self._create_request(\u0027ports\u0027, port)"},{"line_number":221,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1f1a1f67_9de5753b","line":218,"range":{"start_line":211,"start_character":0,"end_line":218,"end_character":61},"updated":"2017-07-21 08:57:31.000000000","message":"let\u0027s change it to\n\n for key in (\u0027address\u0027, \u0027physical_network\u0027, \u0027portgroup_uuid\u0027):\n   if kwargs.get(key) is not None:\n     port[key] \u003d kwargs[key]\n\nto avoid copy-pasting","commit_id":"724797b39aecc88da4005cc5de11f26389432d41"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2bf72202bab2e3963de1213517400694d77be3e6","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        if node_id is not None:"},{"line_number":209,"context_line":"            port[\u0027node_uuid\u0027] \u003d node_id"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        if kwargs[\u0027address\u0027] is not None:"},{"line_number":212,"context_line":"            port[\u0027address\u0027] \u003d kwargs[\u0027address\u0027]"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        if kwargs.get(\u0027physical_network\u0027) is not None:"},{"line_number":215,"context_line":"            port[\u0027physical_network\u0027] \u003d kwargs[\u0027physical_network\u0027]"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        if kwargs.get(\u0027portgroup_uuid\u0027) is not None:"},{"line_number":218,"context_line":"            port[\u0027portgroup_uuid\u0027] \u003d kwargs[\u0027portgroup_uuid\u0027]"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        return self._create_request(\u0027ports\u0027, port)"},{"line_number":221,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1f1a1f67_2693ed51","line":218,"range":{"start_line":211,"start_character":0,"end_line":218,"end_character":61},"in_reply_to":"1f1a1f67_9de5753b","updated":"2017-07-21 13:28:49.000000000","message":"Good idea.","commit_id":"724797b39aecc88da4005cc5de11f26389432d41"}],"ironic_tempest_plugin/tests/api/admin/test_ports.py":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"520400b666666e43933cc99117e762e315858091","unresolved":false,"context_lines":[{"line_number":292,"context_line":"        node_id \u003d self.node[\u0027uuid\u0027]"},{"line_number":293,"context_line":"        address \u003d data_utils.rand_mac_address()"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        _, port \u003d self.create_port(node_id\u003dnode_id, address\u003daddress)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        new_physnet \u003d \u0027physnet1\u0027"},{"line_number":298,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3f1d235d_0012f209","line":295,"range":{"start_line":295,"start_character":23,"end_line":295,"end_character":34},"updated":"2017-07-11 15:50:21.000000000","message":"The physical_network is missing here for a replace request.","commit_id":"2529bca57a40c79bee9b89ac0859474445052cf5"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2014c72d131650ca2f7c3e2b0e64e57b47cec94e","unresolved":false,"context_lines":[{"line_number":292,"context_line":"        node_id \u003d self.node[\u0027uuid\u0027]"},{"line_number":293,"context_line":"        address \u003d data_utils.rand_mac_address()"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        _, port \u003d self.create_port(node_id\u003dnode_id, address\u003daddress)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        new_physnet \u003d \u0027physnet1\u0027"},{"line_number":298,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_a69a8bc2","line":295,"range":{"start_line":295,"start_character":23,"end_line":295,"end_character":34},"in_reply_to":"3f1d235d_0012f209","updated":"2017-07-12 14:12:12.000000000","message":"Done","commit_id":"2529bca57a40c79bee9b89ac0859474445052cf5"}],"ironic_tempest_plugin/tests/api/admin/test_ports_negative.py":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"520400b666666e43933cc99117e762e315858091","unresolved":false,"context_lines":[{"line_number":415,"context_line":"                          physical_network\u003d\u0027physnet2\u0027)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    @decorators.idempotent_id(\u0027050e792c-22c9-4e4a-ae89-dfbfc52ad00d\u0027)"},{"line_number":418,"context_line":"    def test_update_ports_in_portgroup_with_invalid_physical_network(self):"},{"line_number":419,"context_line":"        node_id \u003d self.node[\u0027uuid\u0027]"},{"line_number":420,"context_line":"        address \u003d data_utils.rand_mac_address()"},{"line_number":421,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3f1d235d_80df22d5","line":418,"range":{"start_line":418,"start_character":8,"end_line":418,"end_character":68},"updated":"2017-07-11 15:50:21.000000000","message":"Sorry I don\u0027t understand this case, ports (in the same portgroup) with different physical network should not be created at the first time, do we really need to test this kind of internal inconsistency?","commit_id":"2529bca57a40c79bee9b89ac0859474445052cf5"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"685a7233ef94b4705bb8ea1ccab8c2de249b0721","unresolved":false,"context_lines":[{"line_number":415,"context_line":"                          physical_network\u003d\u0027physnet2\u0027)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    @decorators.idempotent_id(\u0027050e792c-22c9-4e4a-ae89-dfbfc52ad00d\u0027)"},{"line_number":418,"context_line":"    def test_update_ports_in_portgroup_with_invalid_physical_network(self):"},{"line_number":419,"context_line":"        node_id \u003d self.node[\u0027uuid\u0027]"},{"line_number":420,"context_line":"        address \u003d data_utils.rand_mac_address()"},{"line_number":421,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_cb4c6b78","line":418,"range":{"start_line":418,"start_character":8,"end_line":418,"end_character":68},"in_reply_to":"1f1a1f67_e6be43fe","updated":"2017-07-12 15:48:58.000000000","message":"Ah, you are right, thanks for reply.","commit_id":"2529bca57a40c79bee9b89ac0859474445052cf5"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2014c72d131650ca2f7c3e2b0e64e57b47cec94e","unresolved":false,"context_lines":[{"line_number":415,"context_line":"                          physical_network\u003d\u0027physnet2\u0027)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    @decorators.idempotent_id(\u0027050e792c-22c9-4e4a-ae89-dfbfc52ad00d\u0027)"},{"line_number":418,"context_line":"    def test_update_ports_in_portgroup_with_invalid_physical_network(self):"},{"line_number":419,"context_line":"        node_id \u003d self.node[\u0027uuid\u0027]"},{"line_number":420,"context_line":"        address \u003d data_utils.rand_mac_address()"},{"line_number":421,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_e6be43fe","line":418,"range":{"start_line":418,"start_character":8,"end_line":418,"end_character":68},"in_reply_to":"3f1d235d_80df22d5","updated":"2017-07-12 14:12:12.000000000","message":"This is test is checking that if there is a portgroup with a port in physnet1, I can\u0027t add a port with physnet2 to the same portgroup.\n\nDoes that make sense?","commit_id":"2529bca57a40c79bee9b89ac0859474445052cf5"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1c6145cf19851eb729e497b12d271e113af20100","unresolved":false,"context_lines":[{"line_number":397,"context_line":"        _, self.node \u003d self.create_node(self.chassis[\u0027uuid\u0027])"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":"    @decorators.idempotent_id(\u0027e20156fb-956b-4d5b-89a4-f379044a1d3c\u0027)"},{"line_number":400,"context_line":"    def test_create_ports_in_portgroup_with_invalid_physical_network(self):"},{"line_number":401,"context_line":"        node_id \u003d self.node[\u0027uuid\u0027]"},{"line_number":402,"context_line":"        address \u003d data_utils.rand_mac_address()"},{"line_number":403,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1f1a1f67_bd46f120","line":400,"range":{"start_line":400,"start_character":44,"end_line":400,"end_character":51},"updated":"2017-07-21 08:57:31.000000000","message":"nit: s/invalid/inconsistent/ here and below","commit_id":"724797b39aecc88da4005cc5de11f26389432d41"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2bf72202bab2e3963de1213517400694d77be3e6","unresolved":false,"context_lines":[{"line_number":397,"context_line":"        _, self.node \u003d self.create_node(self.chassis[\u0027uuid\u0027])"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":"    @decorators.idempotent_id(\u0027e20156fb-956b-4d5b-89a4-f379044a1d3c\u0027)"},{"line_number":400,"context_line":"    def test_create_ports_in_portgroup_with_invalid_physical_network(self):"},{"line_number":401,"context_line":"        node_id \u003d self.node[\u0027uuid\u0027]"},{"line_number":402,"context_line":"        address \u003d data_utils.rand_mac_address()"},{"line_number":403,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1f1a1f67_a6c7fd45","line":400,"range":{"start_line":400,"start_character":44,"end_line":400,"end_character":51},"in_reply_to":"1f1a1f67_bd46f120","updated":"2017-07-21 13:28:49.000000000","message":"Done","commit_id":"724797b39aecc88da4005cc5de11f26389432d41"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"8fa13e8cb3bc1187349b12170423ddaa8467f114","unresolved":false,"context_lines":[{"line_number":355,"context_line":"        _, self.chassis \u003d self.create_chassis()"},{"line_number":356,"context_line":"        _, self.node \u003d self.create_node(self.chassis[\u0027uuid\u0027])"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"    @decorators.idempotent_id(\u0027307e57e9-082f-4830-9480-91affcbfda08\u0027)"},{"line_number":359,"context_line":"    def test_create_port_with_physical_network_old_api(self):"},{"line_number":360,"context_line":"        node_id \u003d self.node[\u0027uuid\u0027]"},{"line_number":361,"context_line":"        address \u003d data_utils.rand_mac_address()"}],"source_content_type":"text/x-python","patch_set":12,"id":"ff346bd7_db62b43e","line":358,"updated":"2017-07-25 09:52:48.000000000","message":"please add the following decorator to all negative tests.\n@decorators.attr(type\u003d[\u0027negative\u0027])","commit_id":"975040b3e12eedb8cb0bfaa38544685ee1c7209e"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"8fa13e8cb3bc1187349b12170423ddaa8467f114","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        node_id \u003d self.node[\u0027uuid\u0027]"},{"line_number":361,"context_line":"        address \u003d data_utils.rand_mac_address()"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"        self.assertRaises(lib_exc.UnexpectedResponseCode,"},{"line_number":364,"context_line":"                          self.create_port,"},{"line_number":365,"context_line":"                          node_id\u003dnode_id, address\u003daddress,"},{"line_number":366,"context_line":"                          physical_network\u003d\u0027physnet1\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"ff346bd7_16e7f142","line":363,"updated":"2017-07-25 09:52:48.000000000","message":"This a bit confusing, here should be 406 NotAcceptable, but the exception is not handled by tempest correctly [0],  \n\n\n[0] https://github.com/openstack/tempest/blob/eb21b9cef7452ce77bc1cbe444d019872b3b7379/tempest/lib/common/rest_client.py#L839","commit_id":"975040b3e12eedb8cb0bfaa38544685ee1c7209e"}]}
