)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"cce0e63eebe8cc8f07139592c5277751548049ce","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"FW CLIs do not show all options in help"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Firewall and firewall-update do not show all the options"},{"line_number":10,"context_line":"which can be updated by the NeutronClient CLI."},{"line_number":11,"context_line":"Firewall Policy Update has the following arguments:"},{"line_number":12,"context_line":"neutron firewall-policy-update"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a8ffd7b_02a246fc","line":9,"updated":"2015-12-03 05:20:51.000000000","message":"Firewall -\u003e Firewall-create","commit_id":"788945d529290d9a8781344be5b5889fa7f99d0c"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"16e85ec5a02170682e3b13b49104a8aff0692993","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     reedip \u003creedip.banerjee@nectechnologies.in\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-01-18 09:39:39 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"FW CLIs do not show all options in help"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"firewall-policy-update and firewall-update CLIs"},{"line_number":10,"context_line":"do not show all the options which can be updated."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"ba63e191_79dd8f13","line":7,"updated":"2016-01-19 09:44:07.000000000","message":"The commit summary should explain not what is fixed but what is done in this commit.","commit_id":"3c5551f072a3fb63c4d00c600bf20d66c545b600"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"16e85ec5a02170682e3b13b49104a8aff0692993","unresolved":false,"context_lines":[{"line_number":9,"context_line":"firewall-policy-update and firewall-update CLIs"},{"line_number":10,"context_line":"do not show all the options which can be updated."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Firewall Policy Update has the following arguments:"},{"line_number":13,"context_line":"neutron firewall-policy-update"},{"line_number":14,"context_line":"    [-h] [--request-format {json}]"},{"line_number":15,"context_line":"    [--firewall-rules FIREWALL_RULES]"},{"line_number":16,"context_line":"    FIREWALL_POLICY"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"It is missing :"},{"line_number":19,"context_line":"- shared"},{"line_number":20,"context_line":"- audited"},{"line_number":21,"context_line":"- description"},{"line_number":22,"context_line":"- name"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Firewall Update has the following arguments:"},{"line_number":25,"context_line":"neutron firewall-update"},{"line_number":26,"context_line":"    [-h] [--request-format {json}]"},{"line_number":27,"context_line":"    [--policy POLICY]"},{"line_number":28,"context_line":"    [--router ROUTER | --no-routers]"},{"line_number":29,"context_line":"    FIREWALL"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"It is missing:"},{"line_number":32,"context_line":"- admin-state"},{"line_number":33,"context_line":"- description"},{"line_number":34,"context_line":"- name"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"This patch adds the information to the above FW CLIs."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"ba63e191_59b0cbf4","line":34,"range":{"start_line":12,"start_character":0,"end_line":34,"end_character":6},"updated":"2016-01-19 09:44:07.000000000","message":"There is no need to describe the bug itself. it should be included in the bug report on launchpad.","commit_id":"3c5551f072a3fb63c4d00c600bf20d66c545b600"}],"neutronclient/neutron/v2_0/fw/firewall.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"d20da6333b9da16760e5ee2af0e5142b23c2d846","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from neutronclient.neutron import v2_0 as neutronv20"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def common_add_args(parser):"},{"line_number":23,"context_line":"    parser.add_argument("},{"line_number":24,"context_line":"        \u0027--name\u0027,"},{"line_number":25,"context_line":"        help\u003d_(\u0027Name for the firewall.\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_2aab1976","line":22,"updated":"2015-10-14 06:11:43.000000000","message":"How abt renaming to add_common_arguments?","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4d42d54140972f44411492a2b6437e8f1f50a1c7","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from neutronclient.neutron import v2_0 as neutronv20"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def common_add_args(parser):"},{"line_number":23,"context_line":"    parser.add_argument("},{"line_number":24,"context_line":"        \u0027--name\u0027,"},{"line_number":25,"context_line":"        help\u003d_(\u0027Name for the firewall.\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_801a6c6d","line":22,"in_reply_to":"5a2ca52d_2aab1976","updated":"2015-10-19 05:37:06.000000000","message":"Done","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"ab21e58427dc593f3141365d3115096742ce9e53","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from neutronclient.neutron import v2_0 as neutronv20"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def common_add_args(parser):"},{"line_number":23,"context_line":"    parser.add_argument("},{"line_number":24,"context_line":"        \u0027--name\u0027,"},{"line_number":25,"context_line":"        help\u003d_(\u0027Name for the firewall.\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_8a9fcd02","line":22,"in_reply_to":"5a2ca52d_2aab1976","updated":"2015-10-14 06:18:27.000000000","message":"Ok, will do.","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"d20da6333b9da16760e5ee2af0e5142b23c2d846","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        help\u003d_(\u0027Name for the firewall.\u0027))"},{"line_number":26,"context_line":"    parser.add_argument("},{"line_number":27,"context_line":"        \u0027--description\u0027,"},{"line_number":28,"context_line":"        help\u003d_(\u0027Description for the firewall rule.\u0027))"},{"line_number":29,"context_line":"    parser.add_argument("},{"line_number":30,"context_line":"        \u0027firewall_policy_id\u0027, metavar\u003d\u0027POLICY\u0027,"},{"line_number":31,"context_line":"        help\u003d_(\u0027Firewall policy name or ID.\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_caddc515","line":28,"updated":"2015-10-14 06:11:43.000000000","message":"firewall rule?? I think it should be firewall.","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4d42d54140972f44411492a2b6437e8f1f50a1c7","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        help\u003d_(\u0027Name for the firewall.\u0027))"},{"line_number":26,"context_line":"    parser.add_argument("},{"line_number":27,"context_line":"        \u0027--description\u0027,"},{"line_number":28,"context_line":"        help\u003d_(\u0027Description for the firewall rule.\u0027))"},{"line_number":29,"context_line":"    parser.add_argument("},{"line_number":30,"context_line":"        \u0027firewall_policy_id\u0027, metavar\u003d\u0027POLICY\u0027,"},{"line_number":31,"context_line":"        help\u003d_(\u0027Firewall policy name or ID.\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_2026f8ba","line":28,"in_reply_to":"5a2ca52d_caddc515","updated":"2015-10-19 05:37:06.000000000","message":"Done","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"ab21e58427dc593f3141365d3115096742ce9e53","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        help\u003d_(\u0027Name for the firewall.\u0027))"},{"line_number":26,"context_line":"    parser.add_argument("},{"line_number":27,"context_line":"        \u0027--description\u0027,"},{"line_number":28,"context_line":"        help\u003d_(\u0027Description for the firewall rule.\u0027))"},{"line_number":29,"context_line":"    parser.add_argument("},{"line_number":30,"context_line":"        \u0027firewall_policy_id\u0027, metavar\u003d\u0027POLICY\u0027,"},{"line_number":31,"context_line":"        help\u003d_(\u0027Firewall policy name or ID.\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_ca95c5e4","line":28,"in_reply_to":"5a2ca52d_caddc515","updated":"2015-10-14 06:18:27.000000000","message":"Oops... wrong copy paste :)\nThis commit is not yet complete.Need to add TC for this as well","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":12999,"name":"James Arendt","email":"james.arendt@hpe.com","username":"jwarendt"},"change_message_id":"8b2054a88bc346548ecf1163e276f973a57df050","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        help\u003d_(\u0027Description for the firewall rule.\u0027))"},{"line_number":29,"context_line":"    parser.add_argument("},{"line_number":30,"context_line":"        \u0027firewall_policy_id\u0027, metavar\u003d\u0027POLICY\u0027,"},{"line_number":31,"context_line":"        help\u003d_(\u0027Firewall policy name or ID.\u0027))"},{"line_number":32,"context_line":"    utils.add_admin_state_argument(parser)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_0a91f046","line":31,"updated":"2015-10-16 17:49:14.000000000","message":"Adding a positional argument for policy to the update command is just plain wrong.  The user doesn\u0027t need to set policy id on update like they are required to do on create.","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4d42d54140972f44411492a2b6437e8f1f50a1c7","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        help\u003d_(\u0027Description for the firewall rule.\u0027))"},{"line_number":29,"context_line":"    parser.add_argument("},{"line_number":30,"context_line":"        \u0027firewall_policy_id\u0027, metavar\u003d\u0027POLICY\u0027,"},{"line_number":31,"context_line":"        help\u003d_(\u0027Firewall policy name or ID.\u0027))"},{"line_number":32,"context_line":"    utils.add_admin_state_argument(parser)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_80bb4c0e","line":31,"in_reply_to":"5a2ca52d_0a91f046","updated":"2015-10-19 05:37:06.000000000","message":"Done","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":12999,"name":"James Arendt","email":"james.arendt@hpe.com","username":"jwarendt"},"change_message_id":"8b2054a88bc346548ecf1163e276f973a57df050","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    parser.add_argument("},{"line_number":30,"context_line":"        \u0027firewall_policy_id\u0027, metavar\u003d\u0027POLICY\u0027,"},{"line_number":31,"context_line":"        help\u003d_(\u0027Firewall policy name or ID.\u0027))"},{"line_number":32,"context_line":"    utils.add_admin_state_argument(parser)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class ListFirewall(neutronv20.ListCommand):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_aa01dc39","line":32,"updated":"2015-10-16 17:49:14.000000000","message":"The \u0027admin-state-up/down\u0027 parsing in the util conflicts with the extra value parsing of \u0027--admin_state_up\u0027.  \n\nAnd as written, the admin_state variable isn\u0027t used in the update arg2body anyway so this is worthless on update.","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4d42d54140972f44411492a2b6437e8f1f50a1c7","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    parser.add_argument("},{"line_number":30,"context_line":"        \u0027firewall_policy_id\u0027, metavar\u003d\u0027POLICY\u0027,"},{"line_number":31,"context_line":"        help\u003d_(\u0027Firewall policy name or ID.\u0027))"},{"line_number":32,"context_line":"    utils.add_admin_state_argument(parser)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class ListFirewall(neutronv20.ListCommand):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_a068c8bb","line":32,"in_reply_to":"5a2ca52d_aa01dc39","updated":"2015-10-19 05:37:06.000000000","message":"Would update it once the discussion on the etherpad is complete, if its ok?","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"d20da6333b9da16760e5ee2af0e5142b23c2d846","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            help\u003d_(\u0027Firewall associated router names or IDs (requires FWaaS \u0027"},{"line_number":64,"context_line":"                   \u0027router insertion extension, this option can be repeated)\u0027))"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def args2body(self, parsed_args):"},{"line_number":67,"context_line":"        client \u003d self.get_client()"},{"line_number":68,"context_line":"        _policy_id \u003d neutronv20.find_resourceid_by_name_or_id("},{"line_number":69,"context_line":"            client, \u0027firewall_policy\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_ca04e57f","line":66,"updated":"2015-10-14 06:11:43.000000000","message":"How about writing a common parse as well?","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"ab21e58427dc593f3141365d3115096742ce9e53","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            help\u003d_(\u0027Firewall associated router names or IDs (requires FWaaS \u0027"},{"line_number":64,"context_line":"                   \u0027router insertion extension, this option can be repeated)\u0027))"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def args2body(self, parsed_args):"},{"line_number":67,"context_line":"        client \u003d self.get_client()"},{"line_number":68,"context_line":"        _policy_id \u003d neutronv20.find_resourceid_by_name_or_id("},{"line_number":69,"context_line":"            client, \u0027firewall_policy\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_2a91d9f0","line":66,"in_reply_to":"5a2ca52d_ca04e57f","updated":"2015-10-14 06:18:27.000000000","message":"Like in firewallpolicy ?\nCould be done","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":12999,"name":"James Arendt","email":"james.arendt@hpe.com","username":"jwarendt"},"change_message_id":"8b2054a88bc346548ecf1163e276f973a57df050","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        router_sg.add_argument("},{"line_number":98,"context_line":"            \u0027--no-routers\u0027,"},{"line_number":99,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":100,"context_line":"            help\u003d_(\u0027Associate no routers with the firewall (requires FWaaS \u0027"},{"line_number":101,"context_line":"                   \u0027router insertion extension)\u0027))"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def args2body(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_4a56082b","line":100,"updated":"2015-10-16 17:49:14.000000000","message":"Why is this mutually exclusive on update with a \u0027--no-routers\u0027 option but not supported in same way on create?","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4d42d54140972f44411492a2b6437e8f1f50a1c7","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        router_sg.add_argument("},{"line_number":98,"context_line":"            \u0027--no-routers\u0027,"},{"line_number":99,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":100,"context_line":"            help\u003d_(\u0027Associate no routers with the firewall (requires FWaaS \u0027"},{"line_number":101,"context_line":"                   \u0027router insertion extension)\u0027))"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def args2body(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_c0486430","line":100,"in_reply_to":"5a2ca52d_4a56082b","updated":"2015-10-19 05:37:06.000000000","message":"As the --routers is optional in create firewall, there is no requirement for mutual exclusivity.\nHowever, a firewall which has been created can be later updated with one or more Routers, or the existing relation between a firewall and the routers can be removed.\n\nI guess that\u0027s why the mutual exclusivity.","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"ca88546d36d47e03a1c191122f807a14fee0f3d4","unresolved":false,"context_lines":[{"line_number":51,"context_line":"def parse_common_args(parser, parsed_args, isCreate\u003dTrue):"},{"line_number":52,"context_line":"    client \u003d parser.get_client()"},{"line_number":53,"context_line":"    body \u003d {}"},{"line_number":54,"context_line":"    if isCreate or (not not isCreate and parsed_args.policy):"},{"line_number":55,"context_line":"        if isCreate:"},{"line_number":56,"context_line":"            policy_id \u003d parsed_args.firewall_policy_id"},{"line_number":57,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a29b11f_0de8d47b","line":54,"updated":"2015-10-19 06:49:31.000000000","message":"why 2 not\u0027s?","commit_id":"62f9641f843668dc0323b1eb52c52f162f558a6f"},{"author":{"_account_id":12999,"name":"James Arendt","email":"james.arendt@hpe.com","username":"jwarendt"},"change_message_id":"7c3053e72c001fd10cbd11119fbbe34bb73a2793","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        \u0027--description\u0027,"},{"line_number":28,"context_line":"        help\u003d_(\u0027Description for the firewall.\u0027))"},{"line_number":29,"context_line":"    # The decision for Admin_state is still pending, but other args"},{"line_number":30,"context_line":"    # have been taken care of."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def parse_common_args(parser, parsed_args, isCreate\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_94faf641","line":30,"updated":"2015-11-19 05:27:03.000000000","message":"Believe folks liked the simple boolean from util.add_boolean_argument (default to argparse.SUPPRESS) with dashes (--admin-state-up True).\n\nArgument was that consistency trumps flexibility, ease of use and potential customer confusion over hidden args.  Does impact the test cases though.","commit_id":"49d4ec335d70cc5e02e3707166fed87b05ffc1ce"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"032bc15987dd028e9386a75f7bda6cfcdd3d283b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        \u0027--description\u0027,"},{"line_number":28,"context_line":"        help\u003d_(\u0027Description for the firewall.\u0027))"},{"line_number":29,"context_line":"    # The decision for Admin_state is still pending, but other args"},{"line_number":30,"context_line":"    # have been taken care of."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def parse_common_args(parser, parsed_args, isCreate\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_37aeac98","line":30,"in_reply_to":"ba8a016a_94faf641","updated":"2015-12-03 03:18:07.000000000","message":"This is not yet finalized.\nI just wanted to clean up the code with the test cases so that when the final changes are drawn up , I do not have to rework a lot ( thats why the -1 in the WF )","commit_id":"49d4ec335d70cc5e02e3707166fed87b05ffc1ce"},{"author":{"_account_id":16788,"name":"Ramanjaneya Reddy Palleti","email":"ramanjaneya.palleti@huawei.com","username":"Ramanjaneya"},"change_message_id":"9275ee47b778b7d4bea9079f565d06cdb928b8c7","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        if isCreate:"},{"line_number":38,"context_line":"            policy_id \u003d parsed_args.firewall_policy_id"},{"line_number":39,"context_line":"        else:"},{"line_number":40,"context_line":"            policy_id \u003d parsed_args.policy"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        body[\u0027firewall_policy_id\u0027] \u003d neutronv20.find_resourceid_by_name_or_id("},{"line_number":43,"context_line":"            client, \u0027firewall_policy\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_d18bb0c1","line":40,"updated":"2015-11-19 04:18:11.000000000","message":"why can\u0027t do like this..\n\n        if isCreate:\t\n            policy_id \u003d parsed_args.firewall_policy_id\t\n\n        if (not isCreate and parsed_args.policy):\n            policy_id \u003d parsed_args.policy","commit_id":"49d4ec335d70cc5e02e3707166fed87b05ffc1ce"},{"author":{"_account_id":12999,"name":"James Arendt","email":"james.arendt@hpe.com","username":"jwarendt"},"change_message_id":"7c3053e72c001fd10cbd11119fbbe34bb73a2793","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        if isCreate:"},{"line_number":38,"context_line":"            policy_id \u003d parsed_args.firewall_policy_id"},{"line_number":39,"context_line":"        else:"},{"line_number":40,"context_line":"            policy_id \u003d parsed_args.policy"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        body[\u0027firewall_policy_id\u0027] \u003d neutronv20.find_resourceid_by_name_or_id("},{"line_number":43,"context_line":"            client, \u0027firewall_policy\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_f494a243","line":40,"in_reply_to":"ba8a016a_113938f2","updated":"2015-11-19 05:27:03.000000000","message":"Why not just make the positional Create call use \u0027policy\u0027 instead of \u0027firewall-policy-id\u0027 as the parser.add_argument, then get rid of the junky isCreate nonsense in the method and make this check just:\n\nif parsed_args.policy:\n    body[\u0027...\n\nThe metavar is already overridden to \"POLICY\" so won\u0027t change what the user sees.  The \u0027policy\u0027 is always set on create, since a positional is required or will get \"too few arguments\", and will only be set on Update if argument passed which is the check done anyway.","commit_id":"49d4ec335d70cc5e02e3707166fed87b05ffc1ce"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6238b0ba78e99522520e8946035602153acb44d3","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        if isCreate:"},{"line_number":38,"context_line":"            policy_id \u003d parsed_args.firewall_policy_id"},{"line_number":39,"context_line":"        else:"},{"line_number":40,"context_line":"            policy_id \u003d parsed_args.policy"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        body[\u0027firewall_policy_id\u0027] \u003d neutronv20.find_resourceid_by_name_or_id("},{"line_number":43,"context_line":"            client, \u0027firewall_policy\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_113938f2","line":40,"in_reply_to":"ba8a016a_d18bb0c1","updated":"2015-11-19 04:23:31.000000000","message":"This was made in conjunction with the legacy code.( Wonder how it worked without this check)","commit_id":"49d4ec335d70cc5e02e3707166fed87b05ffc1ce"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"032bc15987dd028e9386a75f7bda6cfcdd3d283b","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        if isCreate:"},{"line_number":38,"context_line":"            policy_id \u003d parsed_args.firewall_policy_id"},{"line_number":39,"context_line":"        else:"},{"line_number":40,"context_line":"            policy_id \u003d parsed_args.policy"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        body[\u0027firewall_policy_id\u0027] \u003d neutronv20.find_resourceid_by_name_or_id("},{"line_number":43,"context_line":"            client, \u0027firewall_policy\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_77a8b48d","line":40,"in_reply_to":"ba8a016a_f494a243","updated":"2015-12-03 03:18:07.000000000","message":"Let me propose the change in the next patch.\nIt would allow the removal of the firewall-policy-id from the API Document.","commit_id":"49d4ec335d70cc5e02e3707166fed87b05ffc1ce"},{"author":{"_account_id":12999,"name":"James Arendt","email":"james.arendt@hpe.com","username":"jwarendt"},"change_message_id":"7c3053e72c001fd10cbd11119fbbe34bb73a2793","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        body[\u0027router_ids\u0027] \u003d ["},{"line_number":48,"context_line":"            neutronv20.find_resourceid_by_name_or_id(client, \u0027router\u0027, r)"},{"line_number":49,"context_line":"            for r in parsed_args.routers]"},{"line_number":50,"context_line":"    elif (not isCreate) and (parsed_args.no_routers):"},{"line_number":51,"context_line":"        body[\u0027router_ids\u0027] \u003d []"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    neutronv20.update_dict(parsed_args, body,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_345d4a79","line":50,"updated":"2015-11-19 05:27:03.000000000","message":"Checking for \u0027(not isCreate)\u0027 is a waste here, since key is whether parsed_args.no_routers is defined.","commit_id":"49d4ec335d70cc5e02e3707166fed87b05ffc1ce"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"032bc15987dd028e9386a75f7bda6cfcdd3d283b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        body[\u0027router_ids\u0027] \u003d ["},{"line_number":48,"context_line":"            neutronv20.find_resourceid_by_name_or_id(client, \u0027router\u0027, r)"},{"line_number":49,"context_line":"            for r in parsed_args.routers]"},{"line_number":50,"context_line":"    elif (not isCreate) and (parsed_args.no_routers):"},{"line_number":51,"context_line":"        body[\u0027router_ids\u0027] \u003d []"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    neutronv20.update_dict(parsed_args, body,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_578a501c","line":50,"in_reply_to":"ba8a016a_345d4a79","updated":"2015-12-03 03:18:07.000000000","message":"Umm, yup.Can be changed","commit_id":"49d4ec335d70cc5e02e3707166fed87b05ffc1ce"},{"author":{"_account_id":12999,"name":"James Arendt","email":"james.arendt@hpe.com","username":"jwarendt"},"change_message_id":"7c3053e72c001fd10cbd11119fbbe34bb73a2793","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            metavar\u003d\u0027ROUTER\u0027,"},{"line_number":93,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":94,"context_line":"            help\u003d_(\u0027Firewall associated router names or IDs (requires FWaaS \u0027"},{"line_number":95,"context_line":"                   \u0027router insertion extension, this option can be repeated)\u0027))"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def args2body(self, parsed_args):"},{"line_number":98,"context_line":"        body \u003d parse_common_args(self, parsed_args)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_94e3d6a3","line":95,"updated":"2015-11-19 05:27:03.000000000","message":"Still believe \u0027no_routers\u0027 should be a mutually exclusive option in both Create and Update cases, if going to stick with that unfortunate syntax, instead of forcing users to do a \"create\" then an \"update\" to get to the desired state.  Then logic can move to add_common_args.","commit_id":"49d4ec335d70cc5e02e3707166fed87b05ffc1ce"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"032bc15987dd028e9386a75f7bda6cfcdd3d283b","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            metavar\u003d\u0027ROUTER\u0027,"},{"line_number":93,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":94,"context_line":"            help\u003d_(\u0027Firewall associated router names or IDs (requires FWaaS \u0027"},{"line_number":95,"context_line":"                   \u0027router insertion extension, this option can be repeated)\u0027))"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def args2body(self, parsed_args):"},{"line_number":98,"context_line":"        body \u003d parse_common_args(self, parsed_args)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_f77b4426","line":95,"in_reply_to":"ba8a016a_94e3d6a3","updated":"2015-12-03 03:18:07.000000000","message":"Let me propose the same","commit_id":"49d4ec335d70cc5e02e3707166fed87b05ffc1ce"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"9984ea71235a45192b4416e8ddd957e4cbe4a1c9","unresolved":false,"context_lines":[{"line_number":21,"context_line":"def add_common_args(parser):"},{"line_number":22,"context_line":"    parser.add_argument("},{"line_number":23,"context_line":"        \u0027--name\u0027,"},{"line_number":24,"context_line":"        help\u003d_(\u0027Name for the firewall.\u0027))"},{"line_number":25,"context_line":"    parser.add_argument("},{"line_number":26,"context_line":"        \u0027--description\u0027,"},{"line_number":27,"context_line":"        help\u003d_(\u0027Description for the firewall.\u0027))"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a710552_2bad2c31","line":24,"updated":"2015-12-16 10:09:39.000000000","message":"The help msg is not consistent with https://review.openstack.org/#/c/255697/.\n\nPlz note, since this is a common function so we might got to have different help for Create and Update.","commit_id":"93592f09346c3aff72f6c00f8b2fbf2cc7d48651"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"9984ea71235a45192b4416e8ddd957e4cbe4a1c9","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        utils.add_boolean_argument("},{"line_number":113,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state_up\u0027,"},{"line_number":114,"context_line":"            help\u003d_(\u0027Update the admin state for the firewall\u0027"},{"line_number":115,"context_line":"                   \u0027(True means Up)\u0027))"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def args2body(self, parsed_args):"},{"line_number":118,"context_line":"        body \u003d parse_common_args(self, parsed_args)"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a710552_8b4b0087","line":115,"updated":"2015-12-16 10:09:39.000000000","message":"nit: %s/Up/UP","commit_id":"93592f09346c3aff72f6c00f8b2fbf2cc7d48651"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7a82c66798a21c30834082b73fcea6c1ec90ad28","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    parser.add_argument("},{"line_number":26,"context_line":"        \u0027--description\u0027,"},{"line_number":27,"context_line":"        help\u003d_(\u0027Description for the firewall.\u0027))"},{"line_number":28,"context_line":"    router_sg \u003d parser.add_mutually_exclusive_group()"},{"line_number":29,"context_line":"    router_sg.add_argument("},{"line_number":30,"context_line":"        \u0027--router\u0027,"},{"line_number":31,"context_line":"        dest\u003d\u0027routers\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a7b0d38_4023e9bd","line":28,"updated":"2015-12-23 18:12:31.000000000","message":"What does \u0027sg\u0027 mean?","commit_id":"12d8623c2cede541a4c6ec419c037dfcbf7e142d"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4dccf842034f4e2e2c7fe16b8e7f13ff2814da8c","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    parser.add_argument("},{"line_number":26,"context_line":"        \u0027--description\u0027,"},{"line_number":27,"context_line":"        help\u003d_(\u0027Description for the firewall.\u0027))"},{"line_number":28,"context_line":"    router_sg \u003d parser.add_mutually_exclusive_group()"},{"line_number":29,"context_line":"    router_sg.add_argument("},{"line_number":30,"context_line":"        \u0027--router\u0027,"},{"line_number":31,"context_line":"        dest\u003d\u0027routers\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a7b0d38_6d36f553","line":28,"in_reply_to":"1a7b0d38_4023e9bd","updated":"2015-12-26 01:46:16.000000000","message":"This is from the old code, I can rename it... seems it was related to Security Groups, though it doesnot map up with Firewall directly","commit_id":"12d8623c2cede541a4c6ec419c037dfcbf7e142d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7a82c66798a21c30834082b73fcea6c1ec90ad28","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        dest\u003d\u0027routers\u0027,"},{"line_number":32,"context_line":"        metavar\u003d\u0027ROUTER\u0027,"},{"line_number":33,"context_line":"        action\u003d\u0027append\u0027,"},{"line_number":34,"context_line":"        help\u003d_(\u0027Firewall associated router names or IDs (requires FWaaS \u0027"},{"line_number":35,"context_line":"               \u0027router insertion extension, this option can be repeated)\u0027))"},{"line_number":36,"context_line":"    router_sg.add_argument("},{"line_number":37,"context_line":"        \u0027--no-routers\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a7b0d38_405c494b","line":34,"updated":"2015-12-23 18:12:31.000000000","message":"-\u003e name or ID\n\nThis option takes only one router as a value.","commit_id":"12d8623c2cede541a4c6ec419c037dfcbf7e142d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7a82c66798a21c30834082b73fcea6c1ec90ad28","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            help\u003d_(\u0027Set admin state up to false.\u0027))"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def args2body(self, parsed_args):"},{"line_number":96,"context_line":"        body \u003d parse_common_args(self, parsed_args)"},{"line_number":97,"context_line":"        neutronv20.update_dict(parsed_args, body, [\u0027tenant_id\u0027])"},{"line_number":98,"context_line":"        body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":99,"context_line":"        return {self.resource: body}"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a7b0d38_4311b351","line":96,"updated":"2015-12-23 18:12:31.000000000","message":"You are passing \u0027self\u0027 as an argument. This meens the function should be a method of a class. I would suggest to use Mixin.","commit_id":"12d8623c2cede541a4c6ec419c037dfcbf7e142d"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4dccf842034f4e2e2c7fe16b8e7f13ff2814da8c","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            help\u003d_(\u0027Set admin state up to false.\u0027))"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def args2body(self, parsed_args):"},{"line_number":96,"context_line":"        body \u003d parse_common_args(self, parsed_args)"},{"line_number":97,"context_line":"        neutronv20.update_dict(parsed_args, body, [\u0027tenant_id\u0027])"},{"line_number":98,"context_line":"        body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":99,"context_line":"        return {self.resource: body}"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a7b0d38_eea409a7","line":96,"in_reply_to":"1a7b0d38_4311b351","updated":"2015-12-26 01:46:16.000000000","message":"So you are suggesting a new class to provide the functionality of parsing common arguments across multiple classes in argparser ??\nIf Yes, then it makes sense, as it would remove redundant code across multiple patches","commit_id":"12d8623c2cede541a4c6ec419c037dfcbf7e142d"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"0e76bb0476a5a1e358027363c1179da57c4eaa10","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            help\u003d_(\u0027Set admin state up to false.\u0027))"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def args2body(self, parsed_args):"},{"line_number":96,"context_line":"        body \u003d parse_common_args(self, parsed_args)"},{"line_number":97,"context_line":"        neutronv20.update_dict(parsed_args, body, [\u0027tenant_id\u0027])"},{"line_number":98,"context_line":"        body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":99,"context_line":"        return {self.resource: body}"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a7b0d38_2ee8d1b3","line":96,"in_reply_to":"1a7b0d38_eea409a7","updated":"2016-01-05 04:03:49.000000000","message":"Dear Akihiro , \nBy the way, I am passing self as an attribute, because I need to work on the parser.\nI am not sure that this means that the function has to be a method of the class.\nHowever, the proposal which I am suggesting above may still work....","commit_id":"12d8623c2cede541a4c6ec419c037dfcbf7e142d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"16e85ec5a02170682e3b13b49104a8aff0692993","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutronclient._i18n import _"},{"line_number":18,"context_line":"from neutronclient.neutron import v2_0 as neutronv20"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"ba63e191_799b4fca","side":"PARENT","line":17,"updated":"2016-01-19 09:44:07.000000000","message":"Do not revert the i18n change.","commit_id":"2a9b87976c9133ce762f66a31560538ed59701d0"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"f98fda85a60a69737140577ea482bde0fe483cd8","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutronclient._i18n import _"},{"line_number":18,"context_line":"from neutronclient.neutron import v2_0 as neutronv20"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"ba63e191_c2125162","side":"PARENT","line":17,"in_reply_to":"ba63e191_799b4fca","updated":"2016-01-20 01:35:28.000000000","message":"Sorry, my mistake","commit_id":"2a9b87976c9133ce762f66a31560538ed59701d0"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"a997dedff7be5c742fa21301d742dc93af12b3b2","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutronclient._i18n import _"},{"line_number":18,"context_line":"from neutronclient.neutron import v2_0 as neutronv20"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"dae33548_812751b5","side":"PARENT","line":16,"updated":"2016-02-16 16:42:11.000000000","message":"Don\u0027t remove this line.  If you get a change to update please put it back.","commit_id":"9f792d0b9c6ed86cea0f7efaf65817ff32e5d72d"}],"neutronclient/neutron/v2_0/fw/firewallpolicy.py":[{"author":{"_account_id":12999,"name":"James Arendt","email":"james.arendt@hpe.com","username":"jwarendt"},"change_message_id":"8b2054a88bc346548ecf1163e276f973a57df050","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    parser.add_argument("},{"line_number":36,"context_line":"        \u0027name\u0027,"},{"line_number":37,"context_line":"        metavar\u003d\u0027NAME\u0027,"},{"line_number":38,"context_line":"        help\u003d_(\u0027Name for the firewall policy.\u0027))"},{"line_number":39,"context_line":"    parser.add_argument("},{"line_number":40,"context_line":"        \u0027--description\u0027,"},{"line_number":41,"context_line":"        help\u003d_(\u0027Description for the firewall policy.\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_25d73f4c","line":38,"updated":"2015-10-16 17:49:14.000000000","message":"There is a difference between name as a positional argument target and the name as an argument for the desired new name in an update via --name.","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":12999,"name":"James Arendt","email":"james.arendt@hpe.com","username":"jwarendt"},"change_message_id":"8b2054a88bc346548ecf1163e276f973a57df050","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        dest\u003d\u0027shared\u0027,"},{"line_number":45,"context_line":"        action\u003d\u0027store_true\u0027,"},{"line_number":46,"context_line":"        help\u003d_(\u0027Create a shared policy.\u0027),"},{"line_number":47,"context_line":"        default\u003dargparse.SUPPRESS)"},{"line_number":48,"context_line":"    parser.add_argument("},{"line_number":49,"context_line":"        \u0027--audited\u0027,"},{"line_number":50,"context_line":"        action\u003d\u0027store_true\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_e5594736","line":47,"updated":"2015-10-16 17:49:14.000000000","message":"This doesn\u0027t allow the alternate forms like \u0027--shared True\u0027 or \u0027--shared\u003dTrue\u0027, breaking compatibility with older update that used the extra value parsing that supports them.","commit_id":"4de3576a6c29236d3f0cefc6c2043987f0a38d5f"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"9984ea71235a45192b4416e8ddd957e4cbe4a1c9","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        add_common_args(parser)"},{"line_number":112,"context_line":"        parser.add_argument("},{"line_number":113,"context_line":"            \u0027--name\u0027,"},{"line_number":114,"context_line":"            help\u003d_(\u0027Name for the firewall policy.\u0027))"},{"line_number":115,"context_line":"        utils.add_boolean_argument("},{"line_number":116,"context_line":"            parser, \u0027--shared\u0027, dest\u003d\u0027shared\u0027,"},{"line_number":117,"context_line":"            help\u003d_(\u0027Update the sharing status of the policy. \u0027"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a710552_cb07c81a","line":114,"updated":"2015-12-16 10:09:39.000000000","message":"The help msg is not consistent with https://review.openstack.org/#/c/255697/.","commit_id":"93592f09346c3aff72f6c00f8b2fbf2cc7d48651"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"16e85ec5a02170682e3b13b49104a8aff0692993","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            \u0027--name\u0027,"},{"line_number":114,"context_line":"            help\u003d_(\u0027Name for the firewall policy.\u0027))"},{"line_number":115,"context_line":"        utils.add_boolean_argument("},{"line_number":116,"context_line":"            parser, \u0027--shared\u0027, dest\u003d\u0027shared\u0027,"},{"line_number":117,"context_line":"            help\u003d_(\u0027Update the sharing status of the policy. \u0027"},{"line_number":118,"context_line":"                   \u0027(True means shared)\u0027))"},{"line_number":119,"context_line":"        utils.add_boolean_argument("}],"source_content_type":"text/x-python","patch_set":26,"id":"ba63e191_19c25386","line":116,"range":{"start_line":116,"start_character":32,"end_line":116,"end_character":46},"updated":"2016-01-19 09:44:07.000000000","message":"Is dest required?","commit_id":"3c5551f072a3fb63c4d00c600bf20d66c545b600"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"16e85ec5a02170682e3b13b49104a8aff0692993","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            help\u003d_(\u0027Update the sharing status of the policy. \u0027"},{"line_number":118,"context_line":"                   \u0027(True means shared)\u0027))"},{"line_number":119,"context_line":"        utils.add_boolean_argument("},{"line_number":120,"context_line":"            parser, \u0027--audited\u0027, dest\u003d\u0027audited\u0027,"},{"line_number":121,"context_line":"            help\u003d_(\u0027Update the audit status of the policy. \u0027"},{"line_number":122,"context_line":"                   \u0027(True means auditing is enabled)\u0027))"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"ba63e191_7937cfb0","line":120,"range":{"start_line":120,"start_character":33,"end_line":120,"end_character":48},"updated":"2016-01-19 09:44:07.000000000","message":"Is dest required?","commit_id":"3c5551f072a3fb63c4d00c600bf20d66c545b600"}],"neutronclient/tests/unit/fw/test_cli20_firewall.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7a82c66798a21c30834082b73fcea6c1ec90ad28","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        cmd \u003d firewall.UpdateFirewall(test_cli20.MyApp(sys.stdout), None)"},{"line_number":120,"context_line":"        self._test_update_resource(resource, cmd, \u0027myid\u0027,"},{"line_number":121,"context_line":"                                   [\u0027myid\u0027, \u0027--name\u0027, \u0027newname1\u0027],"},{"line_number":122,"context_line":"                                   {\u0027name\u0027: \u0027newname1\u0027, })"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    def test_update_firewall_using_policy_name(self):"},{"line_number":125,"context_line":"        # firewall-update myid --policy newpolicy."}],"source_content_type":"text/x-python","patch_set":17,"id":"1a7b0d38_2397c791","line":122,"updated":"2015-12-23 18:12:31.000000000","message":"is there any reason to change newname to newname1?","commit_id":"12d8623c2cede541a4c6ec419c037dfcbf7e142d"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4dccf842034f4e2e2c7fe16b8e7f13ff2814da8c","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        cmd \u003d firewall.UpdateFirewall(test_cli20.MyApp(sys.stdout), None)"},{"line_number":120,"context_line":"        self._test_update_resource(resource, cmd, \u0027myid\u0027,"},{"line_number":121,"context_line":"                                   [\u0027myid\u0027, \u0027--name\u0027, \u0027newname1\u0027],"},{"line_number":122,"context_line":"                                   {\u0027name\u0027: \u0027newname1\u0027, })"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    def test_update_firewall_using_policy_name(self):"},{"line_number":125,"context_line":"        # firewall-update myid --policy newpolicy."}],"source_content_type":"text/x-python","patch_set":17,"id":"1a7b0d38_cd7da9e8","line":122,"in_reply_to":"1a7b0d38_2397c791","updated":"2015-12-26 01:46:16.000000000","message":"No special reason, just wanted to change the name for the Update function....","commit_id":"12d8623c2cede541a4c6ec419c037dfcbf7e142d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7a82c66798a21c30834082b73fcea6c1ec90ad28","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        cmd \u003d firewall.UpdateFirewall(test_cli20.MyApp(sys.stdout), None)"},{"line_number":128,"context_line":"        self._test_update_resource(resource, cmd, \u0027myid\u0027,"},{"line_number":129,"context_line":"                                   [\u0027myid\u0027, \u0027--policy\u0027, \u0027newpolicy1\u0027],"},{"line_number":130,"context_line":"                                   {\u0027firewall_policy_id\u0027: \u0027newpolicy1\u0027})"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def test_update_firewall_with_routers(self):"},{"line_number":133,"context_line":"        resource \u003d \u0027firewall\u0027"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a7b0d38_e390df97","line":130,"updated":"2015-12-23 18:12:31.000000000","message":"same question","commit_id":"12d8623c2cede541a4c6ec419c037dfcbf7e142d"}]}
