)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"af0e987d053853dbafcbeb5a6552584d3801f777","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add help information of \u0027firewall-rule-create\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patches add infomation about ip-version to"},{"line_number":10,"context_line":"\u0027firewall-rule-create\u0027."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I799cdb98e12c90fb83965ca32e8fa21fc925856b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a1a9d01_7bde9b40","line":9,"updated":"2015-09-28 09:30:26.000000000","message":"s/infomation/information/","commit_id":"ffe631b06ec0076039c3bdf1ce1e3769e6f42f11"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"5e45e52348fc1a82020514dc13c0c8d24c9f56be","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add help information of \u0027firewall-rule-create\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patches add infomation about ip-version to"},{"line_number":10,"context_line":"\u0027firewall-rule-create\u0027."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I799cdb98e12c90fb83965ca32e8fa21fc925856b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a1a9d01_c1b47636","line":9,"updated":"2015-09-29 00:25:22.000000000","message":"s/patches/patch\ns/add/adds\n\nBasically you can rewrite it as, \nThis patch adds information about ip-version to firewall-rule-create´s help output.","commit_id":"ffe631b06ec0076039c3bdf1ce1e3769e6f42f11"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"311944213970540b47368eaf0d1095e057639f35","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add help information of \u0027firewall-rule-create\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patches add infomation about ip-version to"},{"line_number":10,"context_line":"\u0027firewall-rule-create\u0027."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I799cdb98e12c90fb83965ca32e8fa21fc925856b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a2ca52d_c180dfc2","line":9,"in_reply_to":"9a1a9d01_7bde9b40","updated":"2015-10-16 06:30:12.000000000","message":"Done","commit_id":"ffe631b06ec0076039c3bdf1ce1e3769e6f42f11"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"311944213970540b47368eaf0d1095e057639f35","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add help information of \u0027firewall-rule-create\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patches add infomation about ip-version to"},{"line_number":10,"context_line":"\u0027firewall-rule-create\u0027."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I799cdb98e12c90fb83965ca32e8fa21fc925856b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a2ca52d_6181cbc2","line":9,"in_reply_to":"9a1a9d01_c1b47636","updated":"2015-10-16 06:30:12.000000000","message":"Done","commit_id":"ffe631b06ec0076039c3bdf1ce1e3769e6f42f11"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"e92e772c0ad416ff7611ac23e1b446cf72daf4a8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Kenji Yasui \u003ck-yasui@ti.jp.nec.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-10-20 07:51:03 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP]Add help information of \u0027firewall-rule-create\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds information about ip-version to firewall-rule-create\u0027s"},{"line_number":10,"context_line":"help output."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a29b11f_23f242d3","line":7,"updated":"2015-10-20 08:09:16.000000000","message":"Please remove [WIP] is it is already complete.","commit_id":"6a697e51d1d6f1670e590cdb176578d9e3d489c0"}],"neutronclient/neutron/v2_0/fw/firewallrule.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"ead47ee47b82f5010d082211dc7c36a1367aee33","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            default\u003dargparse.SUPPRESS)"},{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":87,"context_line":"        parser.add_argument("},{"line_number":88,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":89,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_257bbcc2","line":86,"updated":"2015-09-17 15:22:06.000000000","message":"Help says default is 4 but I cannot find a default clause for the same.\n\nparser.add_argument(\n            \u0027--ip-version\u0027,\n            type\u003dint,\n            default\u003d4, choices\u003d[4, 6],\n            help\u003d_(\u0027IP version to use (default is 4).\u0027))","commit_id":"90ab16731953573fd71e7f74a101e25e122381e7"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"575e8223d4ced7699e2231f019a336ea690eafe3","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            default\u003dargparse.SUPPRESS)"},{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":87,"context_line":"        parser.add_argument("},{"line_number":88,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":89,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_fd4226ad","line":86,"in_reply_to":"ba15a1d1_257bbcc2","updated":"2015-09-18 01:57:15.000000000","message":"Dear Vikram, \nI think there is a default value in --ip-version\n\nSample outputs in http://paste.openstack.org/show/467142/\n\nIf I do not specify an IP Version, then in that case IP Version is populated as 4 ( as given in the sample output)\nSo I think there is no problem in specifying IP Version as 4 here.","commit_id":"90ab16731953573fd71e7f74a101e25e122381e7"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"cc0c815b70c2a24e9ec2d2e0a07cdbe094e72a0a","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            default\u003dargparse.SUPPRESS)"},{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":87,"context_line":"        parser.add_argument("},{"line_number":88,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":89,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_33252d5b","line":86,"in_reply_to":"ba15a1d1_d899707a","updated":"2015-09-18 03:21:56.000000000","message":"@Randip: You are correct, After referring the server code I can find that the default value is populated by the server.\n\nhttps://github.com/openstack/neutron-fwaas/blob/master/neutron_fwaas/extensions/firewall.py#L265","commit_id":"90ab16731953573fd71e7f74a101e25e122381e7"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"90762fe0fdad275438f940e1d8383bdbdeb4fa85","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            default\u003dargparse.SUPPRESS)"},{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":87,"context_line":"        parser.add_argument("},{"line_number":88,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":89,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_d899707a","line":86,"in_reply_to":"ba15a1d1_fd4226ad","updated":"2015-09-18 02:51:17.000000000","message":"Thank you for your comments, Vikram and Reedip.\n\nI agree Reedip. I think I don\u0027t have to specify default. But \"choices\" is good idea. I\u0027ll add it.","commit_id":"90ab16731953573fd71e7f74a101e25e122381e7"},{"author":{"_account_id":12999,"name":"James Arendt","email":"james.arendt@hpe.com","username":"jwarendt"},"change_message_id":"1b95f15750c20d194c935e453a62f43307b3460d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            if d.get(\u0027protocol\u0027):"},{"line_number":36,"context_line":"                protocol \u003d d[\u0027protocol\u0027].upper()"},{"line_number":37,"context_line":"            else:"},{"line_number":38,"context_line":"                protocol \u003d \u0027no-protocol\u0027"},{"line_number":39,"context_line":"            val.append(protocol)"},{"line_number":40,"context_line":"            if \u0027source_ip_address\u0027 in d and \u0027source_port\u0027 in d:"},{"line_number":41,"context_line":"                src \u003d \u0027source: \u0027 + str(d[\u0027source_ip_address\u0027]).lower()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_694c6c9e","line":38,"updated":"2015-09-29 05:20:29.000000000","message":"Should the \u0027ip_version\u0027 now be part of the list command since on create?","commit_id":"ffe631b06ec0076039c3bdf1ce1e3769e6f42f11"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"311944213970540b47368eaf0d1095e057639f35","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            if d.get(\u0027protocol\u0027):"},{"line_number":36,"context_line":"                protocol \u003d d[\u0027protocol\u0027].upper()"},{"line_number":37,"context_line":"            else:"},{"line_number":38,"context_line":"                protocol \u003d \u0027no-protocol\u0027"},{"line_number":39,"context_line":"            val.append(protocol)"},{"line_number":40,"context_line":"            if \u0027source_ip_address\u0027 in d and \u0027source_port\u0027 in d:"},{"line_number":41,"context_line":"                src \u003d \u0027source: \u0027 + str(d[\u0027source_ip_address\u0027]).lower()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_69745167","line":38,"in_reply_to":"9a1a9d01_694c6c9e","updated":"2015-10-16 06:30:12.000000000","message":"I agree wit you. list command should show \"ip version\". But I think it is out of scope for this patch. \n\nAfter this patch is complete, I want to improve it .","commit_id":"ffe631b06ec0076039c3bdf1ce1e3769e6f42f11"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"430e7e68f6e37b2cc746836138c3cd83bcf4e379","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            default\u003dargparse.SUPPRESS)"},{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            choices\u003d[\"4\", \"6\"],"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_4479732e","line":86,"updated":"2015-09-28 12:34:25.000000000","message":"Why to define it as a string. I feel it could be an integer instead.\n\nparser.add_argument(\n            \u0027--ip-version\u0027,\n            type\u003dint,\n\t    default\u003d4, choices\u003d[4, 6],\n            help\u003d_(\u0027IP version to use, default is 4.\u0027))","commit_id":"ffe631b06ec0076039c3bdf1ce1e3769e6f42f11"},{"author":{"_account_id":7244,"name":"Victor Howard","email":"victor.r.howard@gmail.com","username":"vichoward"},"change_message_id":"cdbc1aca70b98ba94ec0f5084d43c274f4fef6f6","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            default\u003dargparse.SUPPRESS)"},{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            choices\u003d[\"4\", \"6\"],"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a2fa921_0b65b8df","line":86,"updated":"2015-10-07 20:57:28.000000000","message":"i agree with vikram","commit_id":"ffe631b06ec0076039c3bdf1ce1e3769e6f42f11"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"311944213970540b47368eaf0d1095e057639f35","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            default\u003dargparse.SUPPRESS)"},{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            choices\u003d[\"4\", \"6\"],"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_49187575","line":86,"in_reply_to":"7a2fa921_0b65b8df","updated":"2015-10-16 06:30:12.000000000","message":"I fix the problem.","commit_id":"ffe631b06ec0076039c3bdf1ce1e3769e6f42f11"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"5e45e52348fc1a82020514dc13c0c8d24c9f56be","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            choices\u003d[\"4\", \"6\"],"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":90,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_21f1b201","line":87,"updated":"2015-09-29 00:25:22.000000000","message":"I guess @Vikram , the default can be kept in the brackets (please see the help message for ´shared´ attribute).\nAnd yes, the string can be changed to an INT.","commit_id":"ffe631b06ec0076039c3bdf1ce1e3769e6f42f11"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5dc6152b06e20e1a9925f71c88f983a5f47647ca","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        body \u003d {}"},{"line_number":116,"context_line":"        neutronv20.update_dict(parsed_args, body,"},{"line_number":117,"context_line":"                               [\u0027name\u0027, \u0027description\u0027, \u0027shared\u0027, \u0027protocol\u0027,"},{"line_number":118,"context_line":"                                \u0027ip_version\u0027,"},{"line_number":119,"context_line":"                                \u0027source_ip_address\u0027, \u0027destination_ip_address\u0027,"},{"line_number":120,"context_line":"                                \u0027source_port\u0027, \u0027destination_port\u0027,"},{"line_number":121,"context_line":"                                \u0027action\u0027, \u0027enabled\u0027, \u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a29b11f_300e4335","line":118,"updated":"2015-10-19 06:51:37.000000000","message":"unnecessary line break. I think more args from the next line can be accommodated here.","commit_id":"feca6cd724b2f8f667090020c52433594346a25d"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"7e260cce2e074fd27a9478045f3cd31f503b81b8","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        body \u003d {}"},{"line_number":116,"context_line":"        neutronv20.update_dict(parsed_args, body,"},{"line_number":117,"context_line":"                               [\u0027name\u0027, \u0027description\u0027, \u0027shared\u0027, \u0027protocol\u0027,"},{"line_number":118,"context_line":"                                \u0027ip_version\u0027,"},{"line_number":119,"context_line":"                                \u0027source_ip_address\u0027, \u0027destination_ip_address\u0027,"},{"line_number":120,"context_line":"                                \u0027source_port\u0027, \u0027destination_port\u0027,"},{"line_number":121,"context_line":"                                \u0027action\u0027, \u0027enabled\u0027, \u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a29b11f_0ebe55d4","line":118,"in_reply_to":"3a29b11f_300e4335","updated":"2015-10-20 03:19:54.000000000","message":"Thank you. I\u0027 ll fix here.","commit_id":"feca6cd724b2f8f667090020c52433594346a25d"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"e92e772c0ad416ff7611ac23e1b446cf72daf4a8","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            type\u003dint, choices\u003d[4, 6],"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":90,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_230482be","line":87,"updated":"2015-10-20 08:09:16.000000000","message":"IP Version to use --\u003e IP version to be used (?)","commit_id":"6a697e51d1d6f1670e590cdb176578d9e3d489c0"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"296c00fbb84d3faa3871465a000fb93fb6b532d1","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            type\u003dint, choices\u003d[4, 6],"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":90,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a29b11f_a312d260","line":87,"in_reply_to":"3a29b11f_230482be","updated":"2015-10-20 08:24:50.000000000","message":"Thank you for your reviewing. This message is same as \"neutron help subnet-create\".","commit_id":"6a697e51d1d6f1670e590cdb176578d9e3d489c0"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"740f17812316e51abd5aa93e9c80c01ec946f4d6","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            default\u003dargparse.SUPPRESS)"},{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            type\u003dint, choices\u003d[4, 6],"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a29b11f_18dbc550","line":86,"updated":"2015-10-21 00:15:56.000000000","message":"Dear Richard, Vikram,\nPlease see https://review.openstack.org/#/c/223351/3..7/neutronclient/neutron/v2_0/fw/firewallrule.py\n\nWe had a similar discussion earlier :)\nThe server sets the value to 4 \n\nhttps://github.com/openstack/neutron-fwaas/blob/master/neutron_fwaas/extensions/firewall.py#L265\n\n\nSo I think , we can ignore the default value at the client side","commit_id":"a38985c1fe77a6303a9c8ad1d1170af49c8d92e1"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"0746b8b6ee3be685c8c4faba32034b89bdd03916","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            default\u003dargparse.SUPPRESS)"},{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            type\u003dint, choices\u003d[4, 6],"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a29b11f_4ffb92c1","line":86,"in_reply_to":"3a29b11f_18dbc550","updated":"2015-10-21 15:11:05.000000000","message":"At a minimum, a comment would be good.  However, should this code rely on the server\u0027s default?  I don\u0027t see the harm in setting the default here.","commit_id":"a38985c1fe77a6303a9c8ad1d1170af49c8d92e1"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"b4fac592b32dbc8e4c12fe6201d213bf95a2f812","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            type\u003dint, choices\u003d[4, 6],"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":90,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a29b11f_af5b892d","line":87,"updated":"2015-10-20 12:59:14.000000000","message":"I don\u0027t see the default set to 4.","commit_id":"a38985c1fe77a6303a9c8ad1d1170af49c8d92e1"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"6edd8ce285c76b975c8f935db00395c4d12a004e","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            type\u003dint, choices\u003d[4, 6],"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":90,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a29b11f_5ba3db4f","line":87,"in_reply_to":"3a29b11f_41e065fa","updated":"2015-10-26 00:57:06.000000000","message":"Thank you all. I\u0027ll add \"default\" here.","commit_id":"a38985c1fe77a6303a9c8ad1d1170af49c8d92e1"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"8380504a5cbee887b7ed876bab0aa72b8dfcb0b7","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            type\u003dint, choices\u003d[4, 6],"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":90,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a29b11f_e7a0c5a1","line":87,"in_reply_to":"3a29b11f_af5b892d","updated":"2015-10-20 13:47:03.000000000","message":"+1. Plz add default \u003d 4","commit_id":"a38985c1fe77a6303a9c8ad1d1170af49c8d92e1"},{"author":{"_account_id":16788,"name":"Ramanjaneya Reddy Palleti","email":"ramanjaneya.palleti@huawei.com","username":"Ramanjaneya"},"change_message_id":"cef3e0e2c8f5eade5a1d9961880ee63dac11955b","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            type\u003dint, choices\u003d[4, 6],"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":90,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a29b11f_41e065fa","line":87,"in_reply_to":"3a29b11f_e7a0c5a1","updated":"2015-10-21 05:05:03.000000000","message":"Yes, can make default \u003d 4","commit_id":"a38985c1fe77a6303a9c8ad1d1170af49c8d92e1"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5255411aee3a90f643c9e0668f5d08f300cc62ee","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            type\u003dint, choices\u003d[4, 6], default\u003d4,"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":90,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a26ad4f_4665e41b","line":87,"updated":"2015-10-31 00:36:02.000000000","message":"Why we want to add \"to use\"?... Can we just say it as \"IP version for the firewall rule\"","commit_id":"78613db61f746fc280bb535cd7951a06a7baa450"},{"author":{"_account_id":16788,"name":"Ramanjaneya Reddy Palleti","email":"ramanjaneya.palleti@huawei.com","username":"Ramanjaneya"},"change_message_id":"fe2040f191bd55e860b25c192a9569ecda0a8e39","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            type\u003dint, choices\u003d[4, 6], default\u003d4,"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":90,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a26ad4f_75475677","line":87,"in_reply_to":"1a26ad4f_4665e41b","updated":"2015-11-02 05:02:00.000000000","message":"+1","commit_id":"78613db61f746fc280bb535cd7951a06a7baa450"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"2b494db96237814441869914e86be661fd2a3f39","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":86,"context_line":"            type\u003dint, choices\u003d[4, 6], default\u003d4,"},{"line_number":87,"context_line":"            help\u003d_(\u0027IP version to use (default is 4).\u0027))"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--source-ip-address\u0027,"},{"line_number":90,"context_line":"            help\u003d_(\u0027Source IP address or subnet.\u0027))"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa80f949_02e896e1","line":87,"in_reply_to":"1a26ad4f_75475677","updated":"2015-11-04 00:21:23.000000000","message":"Done","commit_id":"78613db61f746fc280bb535cd7951a06a7baa450"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5255411aee3a90f643c9e0668f5d08f300cc62ee","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        body \u003d {}"},{"line_number":116,"context_line":"        neutronv20.update_dict(parsed_args, body,"},{"line_number":117,"context_line":"                               [\u0027name\u0027, \u0027description\u0027, \u0027shared\u0027, \u0027protocol\u0027,"},{"line_number":118,"context_line":"                                \u0027ip_version\u0027, \u0027source_ip_address\u0027,"},{"line_number":119,"context_line":"                                \u0027destination_ip_address\u0027, \u0027source_port\u0027,"},{"line_number":120,"context_line":"                                \u0027destination_port\u0027, \u0027action\u0027, \u0027enabled\u0027,"},{"line_number":121,"context_line":"                                \u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a26ad4f_c697b446","line":118,"updated":"2015-10-31 00:36:02.000000000","message":"I would always suggest to add at the end to minimize the diff ;)","commit_id":"78613db61f746fc280bb535cd7951a06a7baa450"},{"author":{"_account_id":16788,"name":"Ramanjaneya Reddy Palleti","email":"ramanjaneya.palleti@huawei.com","username":"Ramanjaneya"},"change_message_id":"fe2040f191bd55e860b25c192a9569ecda0a8e39","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        body \u003d {}"},{"line_number":116,"context_line":"        neutronv20.update_dict(parsed_args, body,"},{"line_number":117,"context_line":"                               [\u0027name\u0027, \u0027description\u0027, \u0027shared\u0027, \u0027protocol\u0027,"},{"line_number":118,"context_line":"                                \u0027ip_version\u0027, \u0027source_ip_address\u0027,"},{"line_number":119,"context_line":"                                \u0027destination_ip_address\u0027, \u0027source_port\u0027,"},{"line_number":120,"context_line":"                                \u0027destination_port\u0027, \u0027action\u0027, \u0027enabled\u0027,"},{"line_number":121,"context_line":"                                \u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a26ad4f_954c729f","line":118,"in_reply_to":"1a26ad4f_5686e5db","updated":"2015-11-02 05:02:00.000000000","message":"+1","commit_id":"78613db61f746fc280bb535cd7951a06a7baa450"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"2b494db96237814441869914e86be661fd2a3f39","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        body \u003d {}"},{"line_number":116,"context_line":"        neutronv20.update_dict(parsed_args, body,"},{"line_number":117,"context_line":"                               [\u0027name\u0027, \u0027description\u0027, \u0027shared\u0027, \u0027protocol\u0027,"},{"line_number":118,"context_line":"                                \u0027ip_version\u0027, \u0027source_ip_address\u0027,"},{"line_number":119,"context_line":"                                \u0027destination_ip_address\u0027, \u0027source_port\u0027,"},{"line_number":120,"context_line":"                                \u0027destination_port\u0027, \u0027action\u0027, \u0027enabled\u0027,"},{"line_number":121,"context_line":"                                \u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa80f949_22e59a08","line":118,"in_reply_to":"1a26ad4f_954c729f","updated":"2015-11-04 00:21:23.000000000","message":"Done","commit_id":"78613db61f746fc280bb535cd7951a06a7baa450"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"a93b47df682a6ead65b1ffc37a3697a7d8c3612b","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        body \u003d {}"},{"line_number":116,"context_line":"        neutronv20.update_dict(parsed_args, body,"},{"line_number":117,"context_line":"                               [\u0027name\u0027, \u0027description\u0027, \u0027shared\u0027, \u0027protocol\u0027,"},{"line_number":118,"context_line":"                                \u0027ip_version\u0027, \u0027source_ip_address\u0027,"},{"line_number":119,"context_line":"                                \u0027destination_ip_address\u0027, \u0027source_port\u0027,"},{"line_number":120,"context_line":"                                \u0027destination_port\u0027, \u0027action\u0027, \u0027enabled\u0027,"},{"line_number":121,"context_line":"                                \u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a26ad4f_5686e5db","line":118,"in_reply_to":"1a26ad4f_c697b446","updated":"2015-11-02 01:47:35.000000000","message":"+1 from the review diff perspective","commit_id":"78613db61f746fc280bb535cd7951a06a7baa450"}],"neutronclient/tests/unit/fw/test_cli20_firewallrule.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"ead47ee47b82f5010d082211dc7c36a1367aee33","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                                              None)"},{"line_number":64,"context_line":"        name \u003d \u0027my-name\u0027"},{"line_number":65,"context_line":"        description \u003d \u0027my-desc\u0027"},{"line_number":66,"context_line":"        ip_version \u003d \u00274\u0027"},{"line_number":67,"context_line":"        source_ip \u003d \u0027192.168.1.0/24\u0027"},{"line_number":68,"context_line":"        destination_ip \u003d \u0027192.168.2.0/24\u0027"},{"line_number":69,"context_line":"        source_port \u003d \u00270:65535\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_450b502a","line":66,"updated":"2015-09-17 15:22:06.000000000","message":"How about writing a tests for\n\n1. Default IP version\n\n2. Invalid IP version","commit_id":"90ab16731953573fd71e7f74a101e25e122381e7"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"90762fe0fdad275438f940e1d8383bdbdeb4fa85","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                                              None)"},{"line_number":64,"context_line":"        name \u003d \u0027my-name\u0027"},{"line_number":65,"context_line":"        description \u003d \u0027my-desc\u0027"},{"line_number":66,"context_line":"        ip_version \u003d \u00274\u0027"},{"line_number":67,"context_line":"        source_ip \u003d \u0027192.168.1.0/24\u0027"},{"line_number":68,"context_line":"        destination_ip \u003d \u0027192.168.2.0/24\u0027"},{"line_number":69,"context_line":"        source_port \u003d \u00270:65535\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_78070482","line":66,"in_reply_to":"ba15a1d1_450b502a","updated":"2015-09-18 02:51:17.000000000","message":"OK. I\u0027ll write each tests. (the tests for invalid args are not exist, so I had not written them. )","commit_id":"90ab16731953573fd71e7f74a101e25e122381e7"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"5e45e52348fc1a82020514dc13c0c8d24c9f56be","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def test_create_firewall_rule_with_proto_any(self):"},{"line_number":106,"context_line":"        self._setup_create_firewall_rule_with_all_params(protocol\u003d\u0027any\u0027)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def _test_create_firewall_rule_with_IP_version(self, ip_version\u003d\u00274\u0027):"},{"line_number":109,"context_line":"        \"\"\"firewall-rule-create with IP version.\"\"\""},{"line_number":110,"context_line":"        resource \u003d \u0027firewall_rule\u0027"},{"line_number":111,"context_line":"        cmd \u003d firewallrule.CreateFirewallRule(test_cli20.MyApp(sys.stdout),"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_8133deaa","line":108,"updated":"2015-09-29 00:25:22.000000000","message":"I think you are trying to add the information about ip_version in the help file, isnt it?\nIf so, why not display the output of help file and check if ip_version exists in the output, when a wrong ip_version is given?","commit_id":"ffe631b06ec0076039c3bdf1ce1e3769e6f42f11"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"311944213970540b47368eaf0d1095e057639f35","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def test_create_firewall_rule_with_proto_any(self):"},{"line_number":106,"context_line":"        self._setup_create_firewall_rule_with_all_params(protocol\u003d\u0027any\u0027)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def _test_create_firewall_rule_with_IP_version(self, ip_version\u003d\u00274\u0027):"},{"line_number":109,"context_line":"        \"\"\"firewall-rule-create with IP version.\"\"\""},{"line_number":110,"context_line":"        resource \u003d \u0027firewall_rule\u0027"},{"line_number":111,"context_line":"        cmd \u003d firewallrule.CreateFirewallRule(test_cli20.MyApp(sys.stdout),"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_a90ca9ec","line":108,"in_reply_to":"9a1a9d01_8133deaa","updated":"2015-10-16 06:30:12.000000000","message":"Done","commit_id":"ffe631b06ec0076039c3bdf1ce1e3769e6f42f11"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"72cf6f6ce5e6489e6c2d295fad3e2f7e54676fe9","unresolved":false,"context_lines":[{"line_number":240,"context_line":"            \u0027--os-username test --os-password test --os-project-id test \u0027"},{"line_number":241,"context_line":"            \u0027--os-auth-strategy keystone --os-auth-url \u0027"},{"line_number":242,"context_line":"            \u0027%s firewall-rule-create \u0027"},{"line_number":243,"context_line":"            \u0027--ip-version 5 --protocol tcp --action allow\u0027"},{"line_number":244,"context_line":"            % self.DEFAULT_AUTH_URL)"},{"line_number":245,"context_line":"        stdout, stderr \u003d self.shell(cmd, check\u003dTrue, retval\u003d2)"},{"line_number":246,"context_line":"        for string in stderr.split(\u0027\\n\u0027):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_3d1bf374","line":243,"updated":"2015-10-16 08:27:19.000000000","message":"Is Handling for the value 5 being done at Firewall Level or at the shell level itself?\nIf it is at the shell level, I propose you move this test to test_shell.py","commit_id":"feca6cd724b2f8f667090020c52433594346a25d"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"7e260cce2e074fd27a9478045f3cd31f503b81b8","unresolved":false,"context_lines":[{"line_number":240,"context_line":"            \u0027--os-username test --os-password test --os-project-id test \u0027"},{"line_number":241,"context_line":"            \u0027--os-auth-strategy keystone --os-auth-url \u0027"},{"line_number":242,"context_line":"            \u0027%s firewall-rule-create \u0027"},{"line_number":243,"context_line":"            \u0027--ip-version 5 --protocol tcp --action allow\u0027"},{"line_number":244,"context_line":"            % self.DEFAULT_AUTH_URL)"},{"line_number":245,"context_line":"        stdout, stderr \u003d self.shell(cmd, check\u003dTrue, retval\u003d2)"},{"line_number":246,"context_line":"        for string in stderr.split(\u0027\\n\u0027):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a29b11f_eed3d936","line":243,"in_reply_to":"3a29b11f_ed2238b9","updated":"2015-10-20 03:19:54.000000000","message":"Thank you for your reviewing and advice.\n\nThis handling is shell level. This test is relate only FirewallRule so I thought it is better to write this code in this file. I\u0027ll be careful to choice the file to write code in next time.\n\nThis time, I\u0027ll write the test in CLITestV20FirewallRuleJSON same as others.\nbut i had not understood enough well to write in it. so I\u0027ll research and learn about it, and then make and submit new patch.","commit_id":"feca6cd724b2f8f667090020c52433594346a25d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"410efaa9199f9b3c2c3f697518d39ae3802414f6","unresolved":false,"context_lines":[{"line_number":240,"context_line":"            \u0027--os-username test --os-password test --os-project-id test \u0027"},{"line_number":241,"context_line":"            \u0027--os-auth-strategy keystone --os-auth-url \u0027"},{"line_number":242,"context_line":"            \u0027%s firewall-rule-create \u0027"},{"line_number":243,"context_line":"            \u0027--ip-version 5 --protocol tcp --action allow\u0027"},{"line_number":244,"context_line":"            % self.DEFAULT_AUTH_URL)"},{"line_number":245,"context_line":"        stdout, stderr \u003d self.shell(cmd, check\u003dTrue, retval\u003d2)"},{"line_number":246,"context_line":"        for string in stderr.split(\u0027\\n\u0027):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_bddaa349","line":243,"in_reply_to":"5a2ca52d_3d1bf374","updated":"2015-10-16 08:33:58.000000000","message":"I think it is an exception from the subparser, so it seems better to use the same approach as the other tests in CLITestV20FirewallRuleJSON.","commit_id":"feca6cd724b2f8f667090020c52433594346a25d"},{"author":{"_account_id":16788,"name":"Ramanjaneya Reddy Palleti","email":"ramanjaneya.palleti@huawei.com","username":"Ramanjaneya"},"change_message_id":"9bf9284a14e12fab2b79561fafa2bf7b79dded2e","unresolved":false,"context_lines":[{"line_number":240,"context_line":"            \u0027--os-username test --os-password test --os-project-id test \u0027"},{"line_number":241,"context_line":"            \u0027--os-auth-strategy keystone --os-auth-url \u0027"},{"line_number":242,"context_line":"            \u0027%s firewall-rule-create \u0027"},{"line_number":243,"context_line":"            \u0027--ip-version 5 --protocol tcp --action allow\u0027"},{"line_number":244,"context_line":"            % self.DEFAULT_AUTH_URL)"},{"line_number":245,"context_line":"        stdout, stderr \u003d self.shell(cmd, check\u003dTrue, retval\u003d2)"},{"line_number":246,"context_line":"        for string in stderr.split(\u0027\\n\u0027):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a29b11f_ed2238b9","line":243,"in_reply_to":"5a2ca52d_bddaa349","updated":"2015-10-19 06:52:07.000000000","message":"+1","commit_id":"feca6cd724b2f8f667090020c52433594346a25d"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"0fe00ea91ccb17bf04459633bce2b2f32d8bf017","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        position_names \u003d []"},{"line_number":132,"context_line":"        position_values \u003d []"},{"line_number":133,"context_line":"        if ip_version \u003d\u003d \u00274\u0027 or ip_version \u003d\u003d \u00276\u0027:"},{"line_number":134,"context_line":"            ip_version \u003d int(ip_version)"},{"line_number":135,"context_line":"            self._test_create_resource(resource, cmd, name, my_id, args,"},{"line_number":136,"context_line":"                                       position_names, position_values,"},{"line_number":137,"context_line":"                                       ip_version\u003dip_version,"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa80f949_58376eb0","line":134,"updated":"2015-11-04 04:00:41.000000000","message":"This is a common statement (L134 \u0026 L141) and can be moved out.","commit_id":"d2102c6c6716f5ca0e874fe7cb68689bac247aef"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"436e0850763d6824346d78dc9752dc39b374ff10","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        position_names \u003d []"},{"line_number":132,"context_line":"        position_values \u003d []"},{"line_number":133,"context_line":"        if ip_version \u003d\u003d \u00274\u0027 or ip_version \u003d\u003d \u00276\u0027:"},{"line_number":134,"context_line":"            ip_version \u003d int(ip_version)"},{"line_number":135,"context_line":"            self._test_create_resource(resource, cmd, name, my_id, args,"},{"line_number":136,"context_line":"                                       position_names, position_values,"},{"line_number":137,"context_line":"                                       ip_version\u003dip_version,"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa80f949_04cf3b57","line":134,"in_reply_to":"fa80f949_58376eb0","updated":"2015-11-04 08:13:19.000000000","message":"If remove L134 \u0026 L141 (\u0026 L95), it does not go well for some reason. I will investigate the cause...","commit_id":"d2102c6c6716f5ca0e874fe7cb68689bac247aef"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"0fe00ea91ccb17bf04459633bce2b2f32d8bf017","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                              protocol\u003dprotocol, action\u003daction,"},{"line_number":147,"context_line":"                              enabled\u003denabled, tenant_id\u003dtenant_id)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def test_create_firewall_rule_with_Default_IP_version(self):"},{"line_number":150,"context_line":"        self._test_create_firewall_rule_with_IP_version()"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def test_create_firewall_rule_with_IP_version_6(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa80f949_185806fa","line":149,"updated":"2015-11-04 04:00:41.000000000","message":"IMO, this testcase and \"def _setup_create_firewall_rule_with_all_params\" validates IPv4 firewall rule. Can we remove this off?","commit_id":"d2102c6c6716f5ca0e874fe7cb68689bac247aef"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"436e0850763d6824346d78dc9752dc39b374ff10","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                              protocol\u003dprotocol, action\u003daction,"},{"line_number":147,"context_line":"                              enabled\u003denabled, tenant_id\u003dtenant_id)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def test_create_firewall_rule_with_Default_IP_version(self):"},{"line_number":150,"context_line":"        self._test_create_firewall_rule_with_IP_version()"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def test_create_firewall_rule_with_IP_version_6(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa80f949_e4a3179d","line":149,"in_reply_to":"fa80f949_185806fa","updated":"2015-11-04 08:13:19.000000000","message":"Yes. I think so. I\u0027ll remove this testcase.","commit_id":"d2102c6c6716f5ca0e874fe7cb68689bac247aef"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"08cf479445985d7374001e389216e75859ca969b","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    def test_create_firewall_rule_with_proto_any(self):"},{"line_number":110,"context_line":"        self._setup_create_firewall_rule_with_all_params(protocol\u003d\u0027any\u0027)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _test_create_firewall_rule_with_IP_version(self, ip_version\u003d\u00276\u0027):"},{"line_number":113,"context_line":"        \"\"\"firewall-rule-create with IP version.\"\"\""},{"line_number":114,"context_line":"        resource \u003d \u0027firewall_rule\u0027"},{"line_number":115,"context_line":"        cmd \u003d firewallrule.CreateFirewallRule(test_cli20.MyApp(sys.stdout),"}],"source_content_type":"text/x-python","patch_set":11,"id":"da85f559_db84485f","line":112,"updated":"2015-11-11 07:33:44.000000000","message":"This code is very similar to the one defined to Line#62\n\nProposal: Instead of redefining the whole code, please change the main code in Line #62, so that along with protocol, IP Version can also be passed.\nThat would reduce the amount of code, and allow reusability of the original  code for future UTs as well.","commit_id":"f789f6342105caad469c23350aa7a5d94dc49c14"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"1796465164499dc744802526c8a0f2eff44ba795","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    def test_create_firewall_rule_with_proto_any(self):"},{"line_number":110,"context_line":"        self._setup_create_firewall_rule_with_all_params(protocol\u003d\u0027any\u0027)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _test_create_firewall_rule_with_IP_version(self, ip_version\u003d\u00276\u0027):"},{"line_number":113,"context_line":"        \"\"\"firewall-rule-create with IP version.\"\"\""},{"line_number":114,"context_line":"        resource \u003d \u0027firewall_rule\u0027"},{"line_number":115,"context_line":"        cmd \u003d firewallrule.CreateFirewallRule(test_cli20.MyApp(sys.stdout),"}],"source_content_type":"text/x-python","patch_set":11,"id":"da85f559_cef0046a","line":112,"in_reply_to":"da85f559_db84485f","updated":"2015-11-11 08:39:13.000000000","message":"Yes, I see your point.  I\u0027ll remove this part and merge the existing code.","commit_id":"f789f6342105caad469c23350aa7a5d94dc49c14"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"08cf479445985d7374001e389216e75859ca969b","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            self.assertRaises(SystemExit, self._test_create_resource,"},{"line_number":139,"context_line":"                              resource, cmd, name, my_id, args,"},{"line_number":140,"context_line":"                              position_names, position_values,"},{"line_number":141,"context_line":"                              ip_version\u003d5,"},{"line_number":142,"context_line":"                              protocol\u003dprotocol, action\u003daction,"},{"line_number":143,"context_line":"                              enabled\u003denabled, tenant_id\u003dtenant_id)"},{"line_number":144,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"da85f559_fbf02c00","line":141,"updated":"2015-11-11 07:33:44.000000000","message":"Why do you want to enter 5 here?\nI think the if-else loop can be merged when you replace 6( in Line#134) and 5( current line) with the passed ip_version value.","commit_id":"f789f6342105caad469c23350aa7a5d94dc49c14"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"1796465164499dc744802526c8a0f2eff44ba795","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            self.assertRaises(SystemExit, self._test_create_resource,"},{"line_number":139,"context_line":"                              resource, cmd, name, my_id, args,"},{"line_number":140,"context_line":"                              position_names, position_values,"},{"line_number":141,"context_line":"                              ip_version\u003d5,"},{"line_number":142,"context_line":"                              protocol\u003dprotocol, action\u003daction,"},{"line_number":143,"context_line":"                              enabled\u003denabled, tenant_id\u003dtenant_id)"},{"line_number":144,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"da85f559_b17165aa","line":141,"in_reply_to":"da85f559_fbf02c00","updated":"2015-11-11 08:39:13.000000000","message":"I cannot understand why I can merge with the passed ip_version value.","commit_id":"f789f6342105caad469c23350aa7a5d94dc49c14"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"8e614e27b4725c23fad36e26d3e4b67bf79706d9","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        my_id \u003d \u0027myid\u0027"},{"line_number":33,"context_line":"        protocol \u003d \u0027tcp\u0027"},{"line_number":34,"context_line":"        action \u003d \u0027allow\u0027"},{"line_number":35,"context_line":"        ip_version \u003d \u00274\u0027"},{"line_number":36,"context_line":"        args \u003d [\u0027--tenant-id\u0027, tenant_id,"},{"line_number":37,"context_line":"                \u0027--admin-state-up\u0027,"},{"line_number":38,"context_line":"                \u0027--protocol\u0027, protocol,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a8ffd7b_c5e61a44","line":35,"updated":"2015-12-01 03:19:42.000000000","message":"\u00274\u0027 -\u003e 4 and  conversion in line 48 is not required.","commit_id":"8c1d768d3c93551bce7ec6431c56b700d0993ad2"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"8e614e27b4725c23fad36e26d3e4b67bf79706d9","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                \u0027--protocol\u0027, protocol,"},{"line_number":39,"context_line":"                \u0027--action\u0027, action,"},{"line_number":40,"context_line":"                \u0027--enabled\u0027, enabled,"},{"line_number":41,"context_line":"                \u0027--ip-version\u0027, ip_version]"},{"line_number":42,"context_line":"        position_names \u003d []"},{"line_number":43,"context_line":"        position_values \u003d []"},{"line_number":44,"context_line":"        self._test_create_resource(resource, cmd, name, my_id, args,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a8ffd7b_7a17c954","line":41,"updated":"2015-12-01 03:19:42.000000000","message":"I have  to  remove this change.","commit_id":"8c1d768d3c93551bce7ec6431c56b700d0993ad2"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"264c1ebba8ccc3c5f4ef18502ff6cb2bf7975cb7","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                \u0027--protocol\u0027, protocol,"},{"line_number":39,"context_line":"                \u0027--action\u0027, action,"},{"line_number":40,"context_line":"                \u0027--enabled\u0027, enabled,"},{"line_number":41,"context_line":"                \u0027--ip-version\u0027, ip_version]"},{"line_number":42,"context_line":"        position_names \u003d []"},{"line_number":43,"context_line":"        position_values \u003d []"},{"line_number":44,"context_line":"        self._test_create_resource(resource, cmd, name, my_id, args,"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a740942_c4f8057f","line":41,"in_reply_to":"7a740942_ec1f0e6a","updated":"2015-12-11 10:19:03.000000000","message":"Thank you for your review. I had submitted new patch. Please check again.","commit_id":"8c1d768d3c93551bce7ec6431c56b700d0993ad2"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"31aec9cad357e7fad9848ccceb40011bcfa0113a","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                \u0027--protocol\u0027, protocol,"},{"line_number":39,"context_line":"                \u0027--action\u0027, action,"},{"line_number":40,"context_line":"                \u0027--enabled\u0027, enabled,"},{"line_number":41,"context_line":"                \u0027--ip-version\u0027, ip_version]"},{"line_number":42,"context_line":"        position_names \u003d []"},{"line_number":43,"context_line":"        position_values \u003d []"},{"line_number":44,"context_line":"        self._test_create_resource(resource, cmd, name, my_id, args,"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a740942_ec1f0e6a","line":41,"in_reply_to":"9a8ffd7b_7a17c954","updated":"2015-12-10 18:32:42.000000000","message":"This test is for mandatory parameter, so this line is unnecessary.\nDon\u0027t you respin this patch?","commit_id":"8c1d768d3c93551bce7ec6431c56b700d0993ad2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"ce7095bb14b9a4fd8f5b142bb9afdeeceefcefdf","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                                   position_names, position_values,"},{"line_number":46,"context_line":"                                   protocol\u003dprotocol, action\u003daction,"},{"line_number":47,"context_line":"                                   enabled\u003denabled, tenant_id\u003dtenant_id,"},{"line_number":48,"context_line":"                                   ip_version\u003dint(ip_version))"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def test_create_enabled_firewall_rule_with_mandatory_params_lcase(self):"},{"line_number":51,"context_line":"        self._test_create_firewall_rule_with_mandatory_params(enabled\u003d\u0027true\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba8a016a_b0bae221","line":48,"updated":"2015-11-18 05:02:25.000000000","message":"This change is seemingly unrelated.\nYou do not need to change this","commit_id":"8c1d768d3c93551bce7ec6431c56b700d0993ad2"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"8e614e27b4725c23fad36e26d3e4b67bf79706d9","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                                   position_names, position_values,"},{"line_number":46,"context_line":"                                   protocol\u003dprotocol, action\u003daction,"},{"line_number":47,"context_line":"                                   enabled\u003denabled, tenant_id\u003dtenant_id,"},{"line_number":48,"context_line":"                                   ip_version\u003dint(ip_version))"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def test_create_enabled_firewall_rule_with_mandatory_params_lcase(self):"},{"line_number":51,"context_line":"        self._test_create_firewall_rule_with_mandatory_params(enabled\u003d\u0027true\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a8ffd7b_9fe13fd3","line":48,"in_reply_to":"ba8a016a_b0bae221","updated":"2015-12-01 03:19:42.000000000","message":"Since the default value is set on the client side, I think this change is necessary. (But  Line 41 is not necessary.)","commit_id":"8c1d768d3c93551bce7ec6431c56b700d0993ad2"}],"neutronclient/tests/unit/test_shell.py":[{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"72cf6f6ce5e6489e6c2d295fad3e2f7e54676fe9","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                fixtures.EnvironmentVariable("},{"line_number":67,"context_line":"                    var, self.FAKE_ENV[var]))"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def shell(self, argstr, check\u003dFalse, retval\u003d0):"},{"line_number":70,"context_line":"        orig \u003d (sys.stdout, sys.stderr)"},{"line_number":71,"context_line":"        clean_env \u003d {}"},{"line_number":72,"context_line":"        _old_env, os.environ \u003d os.environ, clean_env.copy()"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_fd9c9bc1","line":69,"updated":"2015-10-16 08:27:19.000000000","message":"I have already created a patch for this.\nhttps://review.openstack.org/#/c/224452/\n\nhttps://review.openstack.org/#/c/224452/10/neutronclient/tests/unit/test_shell.py\n\nPlease make this patch dependent on the above patch otherwise it would result in an unnecessary conflict.","commit_id":"feca6cd724b2f8f667090020c52433594346a25d"},{"author":{"_account_id":17104,"name":"Kenji Yasui","email":"k-yasui@ti.jp.nec.com","username":"yasui"},"change_message_id":"7e260cce2e074fd27a9478045f3cd31f503b81b8","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                fixtures.EnvironmentVariable("},{"line_number":67,"context_line":"                    var, self.FAKE_ENV[var]))"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def shell(self, argstr, check\u003dFalse, retval\u003d0):"},{"line_number":70,"context_line":"        orig \u003d (sys.stdout, sys.stderr)"},{"line_number":71,"context_line":"        clean_env \u003d {}"},{"line_number":72,"context_line":"        _old_env, os.environ \u003d os.environ, clean_env.copy()"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a29b11f_aeaba188","line":69,"in_reply_to":"5a2ca52d_fd9c9bc1","updated":"2015-10-20 03:19:54.000000000","message":"I got it. But , this time I will cancel this fix.\n\n# I do not know how to register a dependency from after posting . do you know?","commit_id":"feca6cd724b2f8f667090020c52433594346a25d"}]}
