)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"a13776c0df6f0878bd3a4b3348473500a12a2001","unresolved":false,"context_lines":[{"line_number":11,"context_line":"is specifed will not result in an error."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch will raise an exception in this situation."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I7c96a2cd0e40098be5def394241600c321bfbd72"},{"line_number":16,"context_line":"Closes-Bug: #1489857"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da20952f_9a3469fc","line":14,"updated":"2015-08-31 13:40:00.000000000","message":"maybe you need add DocImpact and APIImpact","commit_id":"7b09db44d6b513e958c144da715b5d21915ba83c"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"d92a096c6e8930bd8789a1b46e919d43224f9c56","unresolved":false,"context_lines":[{"line_number":11,"context_line":"is specifed will not result in an error."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch will raise an exception in this situation."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I7c96a2cd0e40098be5def394241600c321bfbd72"},{"line_number":16,"context_line":"Closes-Bug: #1489857"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da20952f_1de04e95","line":14,"in_reply_to":"da20952f_9a3469fc","updated":"2015-08-31 15:16:19.000000000","message":"Thanks :-)","commit_id":"7b09db44d6b513e958c144da715b5d21915ba83c"},{"author":{"_account_id":17789,"name":"Zhao Lei","email":"zhaolei@cn.fujitsu.com","username":"zhaolei"},"change_message_id":"ee3d6c804ab93a14bf57dd20d6b6f60efafa2719","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Dongcan Ye \u003chellochosen@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-25 20:57:51 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix creating sg rule which ICMP code is not specifed validation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When creating security group rule, in that case"},{"line_number":10,"context_line":"where ICMP code is not specifed (None) but ICMP type"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9a1a9d01_e46c759e","line":7,"updated":"2015-09-25 17:55:01.000000000","message":"specified","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"376fc5eefa414a62cbbc19cf4fc4da279e5b9144","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Dongcan Ye \u003chellochosen@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-25 20:57:51 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix creating sg rule which ICMP code is not specifed validation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When creating security group rule, in that case"},{"line_number":10,"context_line":"where ICMP code is not specifed (None) but ICMP type"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9a1a9d01_34384ea0","line":7,"in_reply_to":"9a1a9d01_e46c759e","updated":"2015-09-26 02:21:27.000000000","message":"thanks :)","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"},{"author":{"_account_id":17789,"name":"Zhao Lei","email":"zhaolei@cn.fujitsu.com","username":"zhaolei"},"change_message_id":"ee3d6c804ab93a14bf57dd20d6b6f60efafa2719","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix creating sg rule which ICMP code is not specifed validation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When creating security group rule, in that case"},{"line_number":10,"context_line":"where ICMP code is not specifed (None) but ICMP type"},{"line_number":11,"context_line":"is specifed will not result in an error."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch will raise an exception in this situation."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9a1a9d01_046ac980","line":10,"updated":"2015-09-25 17:55:01.000000000","message":"ditto","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"},{"author":{"_account_id":17789,"name":"Zhao Lei","email":"zhaolei@cn.fujitsu.com","username":"zhaolei"},"change_message_id":"ee3d6c804ab93a14bf57dd20d6b6f60efafa2719","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When creating security group rule, in that case"},{"line_number":10,"context_line":"where ICMP code is not specifed (None) but ICMP type"},{"line_number":11,"context_line":"is specifed will not result in an error."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch will raise an exception in this situation."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9a1a9d01_c40a91d2","line":11,"updated":"2015-09-25 17:55:01.000000000","message":"ditto","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"6b1b16981c0ed406c4f6052c0f8aa372b71731da","unresolved":false,"context_lines":[{"line_number":13,"context_line":"This patch will raise an exception in this situation."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"APIImpact"},{"line_number":16,"context_line":"DocImpact"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I7c96a2cd0e40098be5def394241600c321bfbd72"},{"line_number":19,"context_line":"Closes-Bug: #1489857"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7a740942_32096c2d","line":16,"updated":"2015-12-04 01:20:01.000000000","message":"Please follow guidelines as detailed here:\n\nhttp://lists.openstack.org/pipermail/openstack-dev/2015-November/080294.html\n\n\"you will need to add a description whenever you add a DocImpact flag in your commit message.\"","commit_id":"00f40843f87310bd178cb6567453f6e70a8cc838"}],"neutron/extensions/securitygroup.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5d2d2a898b33bb1fd7133617f26c229832d89256","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"class SecurityGroupMissingIcmpCode(nexception.InvalidInput):"},{"line_number":53,"context_line":"    message \u003d _(\"ICMP type (port-range-min) %(type)s is provided \""},{"line_number":54,"context_line":"                \" but ICMP code (port-range-max) is missing.\")"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9a1a9d01_d4b788f3","line":53,"updated":"2015-09-27 07:16:37.000000000","message":"Extra space after \u0027provided \u0027 at L53. Please remove.","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"38ca13d030c2f03efad203932c317a60fcac77c2","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"class SecurityGroupMissingIcmpCode(nexception.InvalidInput):"},{"line_number":53,"context_line":"    message \u003d _(\"ICMP type (port-range-min) %(type)s is provided \""},{"line_number":54,"context_line":"                \" but ICMP code (port-range-max) is missing.\")"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9a1a9d01_34dcc411","line":53,"in_reply_to":"9a1a9d01_d4b788f3","updated":"2015-09-27 08:10:00.000000000","message":"Done","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"}],"neutron/tests/api/test_security_groups.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5d2d2a898b33bb1fd7133617f26c229832d89256","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                                                port_range_min,"},{"line_number":163,"context_line":"                                                port_range_max)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @decorators.skip_because(bug\u003d\"1490281\")"},{"line_number":166,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":167,"context_line":"    @test.idempotent_id(\u0027c9463db8-b44d-4f52-b6c0-8dbda99f26ce\u0027)"},{"line_number":168,"context_line":"    def test_create_security_group_rule_with_icmp_type_code(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a1a9d01_74cf9c7f","line":165,"updated":"2015-09-27 07:16:37.000000000","message":"Why to skip this test?","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"58bacb38f64a01fd27602601f3611d765a3cd4a6","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                                                port_range_min,"},{"line_number":163,"context_line":"                                                port_range_max)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @decorators.skip_because(bug\u003d\"1490281\")"},{"line_number":166,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":167,"context_line":"    @test.idempotent_id(\u0027c9463db8-b44d-4f52-b6c0-8dbda99f26ce\u0027)"},{"line_number":168,"context_line":"    def test_create_security_group_rule_with_icmp_type_code(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a1a9d01_7616a056","line":165,"in_reply_to":"9a1a9d01_0d971749","updated":"2015-09-28 16:10:08.000000000","message":"There\u0027s no reason to skip this test. The tests under neutron/tests/api run under the neutron API job (gate-neutron-dsvm-api). You can indeed see that the job is passing. However, what you want to do is fix this test instead of skipping it, and make sure that the gate-neutron-dsvm-api job still passes. Remember though that code changes here only affect the gate-neutron-dsvm-api job, not the Tempest jobs. To affect the tests run by Tempest (Those are located in the Tempest repo, not here), you\u0027ll have to change the tests in the Tempest repo. The procedure and proper ordering is described here: https://github.com/openstack/tempest/blob/master/HACKING.rst#2-bug-fix-on-core-project-needing-tempest-changes","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"ed419dee8256fa61bde2f05f5bb9083dcd15ed8b","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                                                port_range_min,"},{"line_number":163,"context_line":"                                                port_range_max)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @decorators.skip_because(bug\u003d\"1490281\")"},{"line_number":166,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":167,"context_line":"    @test.idempotent_id(\u0027c9463db8-b44d-4f52-b6c0-8dbda99f26ce\u0027)"},{"line_number":168,"context_line":"    def test_create_security_group_rule_with_icmp_type_code(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a1a9d01_6d2d6194","line":165,"in_reply_to":"9a1a9d01_2a5d0f79","updated":"2015-09-28 21:42:11.000000000","message":"Done","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"d9d2f9d427611bea5c199da2822d79a1fe399214","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                                                port_range_min,"},{"line_number":163,"context_line":"                                                port_range_max)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @decorators.skip_because(bug\u003d\"1490281\")"},{"line_number":166,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":167,"context_line":"    @test.idempotent_id(\u0027c9463db8-b44d-4f52-b6c0-8dbda99f26ce\u0027)"},{"line_number":168,"context_line":"    def test_create_security_group_rule_with_icmp_type_code(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a1a9d01_535b7354","line":165,"in_reply_to":"9a1a9d01_3494c4e0","updated":"2015-09-28 14:20:21.000000000","message":"I\u0027m not comfortable with this skip being added here","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"e8959d039f5b3e6b2b09cb5f5e96043e0fb12ffe","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                                                port_range_min,"},{"line_number":163,"context_line":"                                                port_range_max)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @decorators.skip_because(bug\u003d\"1490281\")"},{"line_number":166,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":167,"context_line":"    @test.idempotent_id(\u0027c9463db8-b44d-4f52-b6c0-8dbda99f26ce\u0027)"},{"line_number":168,"context_line":"    def test_create_security_group_rule_with_icmp_type_code(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a1a9d01_0d971749","line":165,"in_reply_to":"9a1a9d01_535b7354","updated":"2015-09-28 15:04:42.000000000","message":"Thanks, Ryan Moats. I can remove skip test here, but how can I pass the tempest API test?","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"38ca13d030c2f03efad203932c317a60fcac77c2","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                                                port_range_min,"},{"line_number":163,"context_line":"                                                port_range_max)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @decorators.skip_because(bug\u003d\"1490281\")"},{"line_number":166,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":167,"context_line":"    @test.idempotent_id(\u0027c9463db8-b44d-4f52-b6c0-8dbda99f26ce\u0027)"},{"line_number":168,"context_line":"    def test_create_security_group_rule_with_icmp_type_code(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a1a9d01_3494c4e0","line":165,"in_reply_to":"9a1a9d01_74cf9c7f","updated":"2015-09-27 08:10:00.000000000","message":"Thanks for your review, vikram.\nAfter done in Neutron, there are some tempest errors in tempest API test like:\ntempest_lib.exceptions.BadRequest: Bad request\nDetails: {u\u0027detail\u0027: u\u0027\u0027, u\u0027message\u0027: u\u0027ICMP type (port-range-min) 11 is provided  but ICMP code (port-range-max) is missing.\u0027, u\u0027type\u0027: u\u0027SecurityGroupMissingIcmpCode\u0027}\n\nIn tempest test it pass (11,None) as ICMP type and code.\nhttps://github.com/openstack/tempest/blob/master/tempest/api/network/test_security_groups.py#L176\n\nSo there is a conflict in Neutron and Tempest. I think here using skip decorator can fix this problem. But it seems not effect. Could you give me some advice?\n\nHere is a review in tempest:\nhttps://review.openstack.org/#/c/218660/","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"c37ebf38e8dabeb4d9055c9bc18edd00d27664da","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                                                port_range_min,"},{"line_number":163,"context_line":"                                                port_range_max)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @decorators.skip_because(bug\u003d\"1490281\")"},{"line_number":166,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":167,"context_line":"    @test.idempotent_id(\u0027c9463db8-b44d-4f52-b6c0-8dbda99f26ce\u0027)"},{"line_number":168,"context_line":"    def test_create_security_group_rule_with_icmp_type_code(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a1a9d01_cae9f3e7","line":165,"in_reply_to":"9a1a9d01_7616a056","updated":"2015-09-28 21:22:41.000000000","message":"Thanks, Assaf Muller. I got it. But when I trying to fix test s in Tempest repo, a core reviewer in Tempest said to me that if I got one +2 in Neutron, he will give +2 later.\nhttps://review.openstack.org/#/c/218660/\n\nHowerver, if the fix in Tempest repo not mergerd, Jenkins will never pass in Neutron, so I can not get +2 in Neutron repo. That\u0027s a bad circulation.\n\nHow can I process?","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"00f0f95a0cb588c8f9896e448ec39b08eef57bb7","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                                                port_range_min,"},{"line_number":163,"context_line":"                                                port_range_max)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @decorators.skip_because(bug\u003d\"1490281\")"},{"line_number":166,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":167,"context_line":"    @test.idempotent_id(\u0027c9463db8-b44d-4f52-b6c0-8dbda99f26ce\u0027)"},{"line_number":168,"context_line":"    def test_create_security_group_rule_with_icmp_type_code(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a1a9d01_2a5d0f79","line":165,"in_reply_to":"9a1a9d01_cae9f3e7","updated":"2015-09-28 21:31:56.000000000","message":"As the document said, you\u0027ll need to get a +2 on this patch (But not merge it), at which point Tempest folks will happily merge the patch to their repo, then we can merge this patch, and finally you send another patch to Tempest to fix the tests there.","commit_id":"9c700eb557e7f5cbe7e51fe7394ef2a7b7f32cd2"}],"neutron/tests/unit/extensions/test_securitygroup.py":[{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"90d93050f5cd355281f7e00e77047aae1306c926","unresolved":false,"context_lines":[{"line_number":777,"context_line":"            remote_ip_prefix \u003d \"10.0.0.0/24\""},{"line_number":778,"context_line":"            protocol \u003d const.PROTO_NAME_ICMP"},{"line_number":779,"context_line":"            # ICMP type"},{"line_number":780,"context_line":"            port_range_min \u003d 3"},{"line_number":781,"context_line":"            # ICMP code"},{"line_number":782,"context_line":"            port_range_max \u003d None"},{"line_number":783,"context_line":"            keys \u003d [(\u0027remote_ip_prefix\u0027, remote_ip_prefix),"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_8cc9c128","line":780,"updated":"2015-08-29 08:50:57.000000000","message":"i dont understand why this rule is suppose to pass ?\nyour exception should be thrown, no?","commit_id":"6a2cf75b0b8ce8b8ae2a34a348dea0fdaf1b90cc"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"ea286fc675343afb65b9bf9db12e6d2a907f06b9","unresolved":false,"context_lines":[{"line_number":777,"context_line":"            remote_ip_prefix \u003d \"10.0.0.0/24\""},{"line_number":778,"context_line":"            protocol \u003d const.PROTO_NAME_ICMP"},{"line_number":779,"context_line":"            # ICMP type"},{"line_number":780,"context_line":"            port_range_min \u003d 3"},{"line_number":781,"context_line":"            # ICMP code"},{"line_number":782,"context_line":"            port_range_max \u003d None"},{"line_number":783,"context_line":"            keys \u003d [(\u0027remote_ip_prefix\u0027, remote_ip_prefix),"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_88cd2387","line":780,"in_reply_to":"da20952f_8cc9c128","updated":"2015-08-30 01:47:06.000000000","message":"Done","commit_id":"6a2cf75b0b8ce8b8ae2a34a348dea0fdaf1b90cc"}]}
