)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"90e655629030fcae2026dfc4d526eb1ab8acf240","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Tempest test to allow port create/update by shared nw owners"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces the tempest test for [1]"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"[1]: I1046f6b13e68b1e274cc8f62f5b30aa5f8d71cdc"},{"line_number":12,"context_line":"Depends-On: I1046f6b13e68b1e274cc8f62f5b30aa5f8d71cdc"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff82abbf_1205b8c2","line":9,"updated":"2017-11-21 08:09:29.000000000","message":"I don\u0027t think it is necessary if there is \"Depends-On\" flag set already","commit_id":"1b1e88a1fed9371daa2098525e84c814dee674bc"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"b16a7404a183ac8525ebb49528ea0cdaaa9efff6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Tempest test to allow port create/update by shared nw owners"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces the tempest test for [1]"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"[1]: I1046f6b13e68b1e274cc8f62f5b30aa5f8d71cdc"},{"line_number":12,"context_line":"Depends-On: I1046f6b13e68b1e274cc8f62f5b30aa5f8d71cdc"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"df87a7cf_d6eb0f75","line":9,"in_reply_to":"ff82abbf_1205b8c2","updated":"2017-12-11 15:40:12.000000000","message":"+1","commit_id":"1b1e88a1fed9371daa2098525e84c814dee674bc"}],"neutron_tempest_plugin/api/test_ports.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"90e655629030fcae2026dfc4d526eb1ab8acf240","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            exceptions.BadRequest,"},{"line_number":76,"context_line":"            self.alt_client.create_port,"},{"line_number":77,"context_line":"            self.network, fixed_ips\u003dfixed_ip,"},{"line_number":78,"context_line":"            tenant_id\u003dself.alt_client.tenant_id)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @decorators.idempotent_id(\u0027faf3d558-d53f-4d61-b668-7ac4c9482da8\u0027)"},{"line_number":81,"context_line":"    @test.requires_ext(extension\u003d\"rbac-policies\", service\u003d\"network\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_f22cd448","line":78,"updated":"2017-11-21 08:09:29.000000000","message":"As I wrote already in my comment in https://review.openstack.org/#/c/432850/ IMO we shouldn\u0027t rely on code execution order here. We should provide all required arguments to be sure that if it fails, it fails because of \"proper\" reason.","commit_id":"1b1e88a1fed9371daa2098525e84c814dee674bc"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6535bf1315a23951bb488be97adb00131ea37567","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            exceptions.BadRequest,"},{"line_number":76,"context_line":"            self.alt_client.create_port,"},{"line_number":77,"context_line":"            self.network, fixed_ips\u003dfixed_ip,"},{"line_number":78,"context_line":"            tenant_id\u003dself.alt_client.tenant_id)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @decorators.idempotent_id(\u0027faf3d558-d53f-4d61-b668-7ac4c9482da8\u0027)"},{"line_number":81,"context_line":"    @test.requires_ext(extension\u003d\"rbac-policies\", service\u003d\"network\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_a5a3aab1","line":78,"in_reply_to":"df87a7cf_39ab4c75","updated":"2017-12-11 18:08:10.000000000","message":"Thanks for clarification. It makes sense.\n\nI also think it is better to have more strict check to avoid this kind of errors.","commit_id":"1b1e88a1fed9371daa2098525e84c814dee674bc"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"bc7b6e8f7fca39796db79751f4fcfa16ed4b6c78","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            exceptions.BadRequest,"},{"line_number":76,"context_line":"            self.alt_client.create_port,"},{"line_number":77,"context_line":"            self.network, fixed_ips\u003dfixed_ip,"},{"line_number":78,"context_line":"            tenant_id\u003dself.alt_client.tenant_id)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @decorators.idempotent_id(\u0027faf3d558-d53f-4d61-b668-7ac4c9482da8\u0027)"},{"line_number":81,"context_line":"    @test.requires_ext(extension\u003d\"rbac-policies\", service\u003d\"network\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_39ab4c75","line":78,"in_reply_to":"df87a7cf_f99de4bb","updated":"2017-12-11 15:48:19.000000000","message":"Now BadRequest exception is raised because subnet is not created for self.network[\u0027id\u0027] so You can\u0027t be sure that it is testing what it should.\nI\u0027m not sure if error message would be different to be able to compare it but for sure test should ensure that conditions are proper (so subnet should be created in network)","commit_id":"1b1e88a1fed9371daa2098525e84c814dee674bc"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"b16a7404a183ac8525ebb49528ea0cdaaa9efff6","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            exceptions.BadRequest,"},{"line_number":76,"context_line":"            self.alt_client.create_port,"},{"line_number":77,"context_line":"            self.network, fixed_ips\u003dfixed_ip,"},{"line_number":78,"context_line":"            tenant_id\u003dself.alt_client.tenant_id)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @decorators.idempotent_id(\u0027faf3d558-d53f-4d61-b668-7ac4c9482da8\u0027)"},{"line_number":81,"context_line":"    @test.requires_ext(extension\u003d\"rbac-policies\", service\u003d\"network\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_f99de4bb","line":78,"in_reply_to":"ff82abbf_f22cd448","updated":"2017-12-11 15:40:12.000000000","message":"Slawek, I couldn\u0027t get your point. Do you mean we need to check an error message returned by an exception? If so it is nice to have.","commit_id":"1b1e88a1fed9371daa2098525e84c814dee674bc"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"b16a7404a183ac8525ebb49528ea0cdaaa9efff6","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        body \u003d self.create_port(self.network, fixed_ips\u003dfixed_ip,"},{"line_number":87,"context_line":"                                tenant_id\u003dself.alt_client.tenant_id)"},{"line_number":88,"context_line":"        subnet_id \u003d body[\u0027fixed_ips\u0027][\u0027subnet_id\u0027]"},{"line_number":89,"context_line":"        self.assertEqual(subnet[\u0027id\u0027], subnet_id)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    @decorators.idempotent_id(\u0027539fbefe-fb36-48aa-9a53-8c5fbd44e492\u0027)"},{"line_number":92,"context_line":"    @utils.requires_ext(extension\u003d\"dns-integration\","}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_79df9468","line":89,"updated":"2017-12-11 15:40:12.000000000","message":"I also would like to see tests for update_port.","commit_id":"1b1e88a1fed9371daa2098525e84c814dee674bc"}]}
