)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17096,"name":"Aditi Rajagopal","email":"arajagopal@us.ibm.com","username":"aditirajagopal"},"change_message_id":"ece4b16e75bfe9443a2adefa7e5a44df8abdd584","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Now, with this patch complete help info is"},{"line_number":12,"context_line":"displayed to the user. Apart from the existing"},{"line_number":13,"context_line":"information, the following information will"},{"line_number":14,"context_line":"also be displayed:-"},{"line_number":15,"context_line":"    --name"},{"line_number":16,"context_line":"    --admin-state-up"},{"line_number":17,"context_line":"    --shared"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"ba15a1d1_f18683b8","line":14,"updated":"2015-09-14 16:30:49.000000000","message":"nit: you don\u0027t need the \u0027-\u0027 after the colon here","commit_id":"0d3a3096b45dacd48574a09694dc8a0a2b2fd2a6"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"810dc47f1a48f597af3cedeb93fb1bfce2705843","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Now, with this patch complete help info is"},{"line_number":12,"context_line":"displayed to the user. Apart from the existing"},{"line_number":13,"context_line":"information, the following information will"},{"line_number":14,"context_line":"also be displayed:-"},{"line_number":15,"context_line":"    --name"},{"line_number":16,"context_line":"    --admin-state-up"},{"line_number":17,"context_line":"    --shared"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9a1a9d01_3a6b10f3","line":14,"in_reply_to":"ba15a1d1_f18683b8","updated":"2015-09-29 07:09:25.000000000","message":"Done","commit_id":"0d3a3096b45dacd48574a09694dc8a0a2b2fd2a6"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"984baaa1b0ba3bdf615a449545fbbc0d9a4296e4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"\"neutron help net-update\" help info updated"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Initially we were unable to see complete help information"},{"line_number":10,"context_line":"for \"neutron net-update\" command.Now, with this patch"},{"line_number":11,"context_line":"complete help information isdisplayed to the user."},{"line_number":12,"context_line":"Apart from the existing information, the following information will"},{"line_number":13,"context_line":"also be displayed:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"9a1a9d01_201ff0b8","line":10,"updated":"2015-10-01 13:17:27.000000000","message":"nit...space after period","commit_id":"ef1d14ae4749088d8ed308bcaf435b5c35067aa3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"984baaa1b0ba3bdf615a449545fbbc0d9a4296e4","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Initially we were unable to see complete help information"},{"line_number":10,"context_line":"for \"neutron net-update\" command.Now, with this patch"},{"line_number":11,"context_line":"complete help information isdisplayed to the user."},{"line_number":12,"context_line":"Apart from the existing information, the following information will"},{"line_number":13,"context_line":"also be displayed:"},{"line_number":14,"context_line":"    --name"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"9a1a9d01_40730416","line":11,"updated":"2015-10-01 13:17:27.000000000","message":"nit...space between is and displayed","commit_id":"ef1d14ae4749088d8ed308bcaf435b5c35067aa3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"984baaa1b0ba3bdf615a449545fbbc0d9a4296e4","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The option --router-external has been removed by"},{"line_number":19,"context_line":"Idbae5461dcaeff3da48d773e323977afcdc6f85e"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: Ib2874bc93979d338d598cc542d349b3517008e49"},{"line_number":22,"context_line":"Closes-Bug: #1320796"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"9a1a9d01_c05dd47a","line":20,"updated":"2015-10-01 13:17:27.000000000","message":"This change also had Doc-Impact at http://docs.openstack.org/cli-reference/content/neutronclient_commands.html.","commit_id":"ef1d14ae4749088d8ed308bcaf435b5c35067aa3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"fc27034c698b3f39d2d6889170b87042470b26ee","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The option --router-external has been removed by"},{"line_number":19,"context_line":"Idbae5461dcaeff3da48d773e323977afcdc6f85e"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: Ib2874bc93979d338d598cc542d349b3517008e49"},{"line_number":22,"context_line":"Closes-Bug: #1320796"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"9a1a9d01_b4d23033","line":20,"in_reply_to":"9a1a9d01_42f20808","updated":"2015-10-02 13:01:18.000000000","message":"For now, you can add DocImpact to the commit message: See https://wiki.openstack.org/wiki/Documentation/DocImpact","commit_id":"ef1d14ae4749088d8ed308bcaf435b5c35067aa3"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"b9abcc3b2f6d2f36f95d48ccd67b81f820e9af47","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The option --router-external has been removed by"},{"line_number":19,"context_line":"Idbae5461dcaeff3da48d773e323977afcdc6f85e"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: Ib2874bc93979d338d598cc542d349b3517008e49"},{"line_number":22,"context_line":"Closes-Bug: #1320796"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"9a1a9d01_42f20808","line":20,"in_reply_to":"9a1a9d01_c05dd47a","updated":"2015-10-02 03:57:47.000000000","message":"Can you assist me with changing the Doc?\nHow can I do that?","commit_id":"ef1d14ae4749088d8ed308bcaf435b5c35067aa3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"76605b0cd17e9e9b413b0ec48afc84bfd686e63b","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Idbae5461dcaeff3da48d773e323977afcdc6f85e"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: Ib2874bc93979d338d598cc542d349b3517008e49"},{"line_number":22,"context_line":"Closes-Bug: #1320796"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"9a1a9d01_d46244ad","line":22,"updated":"2015-10-02 13:01:08.000000000","message":"Please add \"DocImpact\" line after this line.","commit_id":"6ac76f675496d216c944e31aceaff2ea233bbf4b"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"1acb1c362b793a1fa2c02cccd56456f95b4f4c4a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    --admin-state-up"},{"line_number":16,"context_line":"    --shared"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The option --router-external has been removed by"},{"line_number":19,"context_line":"Idbae5461dcaeff3da48d773e323977afcdc6f85e"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"7a740942_81051a7b","line":18,"updated":"2015-12-07 07:19:36.000000000","message":"I don\u0027t know why this option be removed? hope you can add this option in this patch","commit_id":"07729ad2601f6cd5580c4b41e8c096af6dc47145"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"2d1037245410ed45f1bbefe2ea45db170a230ccc","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    --admin-state-up"},{"line_number":16,"context_line":"    --shared"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The option --router-external has been removed by"},{"line_number":19,"context_line":"Idbae5461dcaeff3da48d773e323977afcdc6f85e"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"7a740942_c159e25b","line":18,"in_reply_to":"7a740942_2151c662","updated":"2015-12-07 07:33:04.000000000","message":"maybe I can remove my vote -1, but I don\u0027t agree with this patch https://review.openstack.org/#/c/182313/, because user does not get the help info to create a external network through CLI, what do you think?","commit_id":"07729ad2601f6cd5580c4b41e8c096af6dc47145"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"e67c0d8eed999bc3b41dd72e61e6500c8006868c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    --admin-state-up"},{"line_number":16,"context_line":"    --shared"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The option --router-external has been removed by"},{"line_number":19,"context_line":"Idbae5461dcaeff3da48d773e323977afcdc6f85e"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"7a740942_ff6ef694","line":18,"in_reply_to":"7a740942_523f02d6","updated":"2015-12-07 09:20:01.000000000","message":"Ok, then let me rework on this patch to include the --router-external(?) option.","commit_id":"07729ad2601f6cd5580c4b41e8c096af6dc47145"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"de2078e93c5f8bced7b34b916e965487c5c73055","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    --admin-state-up"},{"line_number":16,"context_line":"    --shared"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The option --router-external has been removed by"},{"line_number":19,"context_line":"Idbae5461dcaeff3da48d773e323977afcdc6f85e"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"7a740942_2151c662","line":18,"in_reply_to":"7a740942_81051a7b","updated":"2015-12-07 07:28:37.000000000","message":"Hi shihanzhang,\nI guess https://review.openstack.org/#/c/182313/ reverts this option.\nTherefore this option has not been added.\nPlease refer the same .","commit_id":"07729ad2601f6cd5580c4b41e8c096af6dc47145"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a333c189ebb9a5917572add02fb34760be18a2ea","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    --admin-state-up"},{"line_number":16,"context_line":"    --shared"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The option --router-external has been removed by"},{"line_number":19,"context_line":"Idbae5461dcaeff3da48d773e323977afcdc6f85e"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"7a740942_523f02d6","line":18,"in_reply_to":"7a740942_8c86b163","updated":"2015-12-07 09:10:34.000000000","message":"It is good to support an option for router:external, but an approach should be chosen carefully.\n\nThe reason of the revert is just because the approach was wrong and the patch broke the backward compatibility. It prevented users from using --router:external\u003dTrue.","commit_id":"07729ad2601f6cd5580c4b41e8c096af6dc47145"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"65fd6d8c6bbf80fa189ba8051db284d08de11719","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    --admin-state-up"},{"line_number":16,"context_line":"    --shared"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The option --router-external has been removed by"},{"line_number":19,"context_line":"Idbae5461dcaeff3da48d773e323977afcdc6f85e"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"7a740942_8c86b163","line":18,"in_reply_to":"7a740942_c159e25b","updated":"2015-12-07 07:40:06.000000000","message":"shihanzhang:\nI do agree with you  that the user does not get the information for creating external network.\n\nBut then again\n\na) The user does not have the option in net-create itself, so adding it in net-update would not be helpful\n\nb) The change has been approved by other core reviewers, and merged. So if the above patch needs to be again reverted( i.e. adding the option of --router-external), then it has to be discussed once again.\n\nAlso, I am not sure how and why the folllowing 2 Change IDs point to the same bug:\nhttps://review.openstack.org/#q,096fd1b175085fcc3c46a248b4afb67561fd29ef,n,z   ---\u003e https://review.openstack.org/#/c/96372/\nhttps://review.openstack.org/#q,Ibb100d54a5fd8b04ac5e1fc3a26826c695f4d951,n,z --\u003e\nhttps://review.openstack.org/#/c/96372/","commit_id":"07729ad2601f6cd5580c4b41e8c096af6dc47145"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2afd585504055f817366920e8536b8f1460e8d74","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    --admin-state-up"},{"line_number":16,"context_line":"    --shared"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The option --router-external has been removed by"},{"line_number":19,"context_line":"Idbae5461dcaeff3da48d773e323977afcdc6f85e"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"7a740942_3f51450f","line":18,"in_reply_to":"7a740942_ff6ef694","updated":"2015-12-09 15:53:09.000000000","message":"--router:external True/False looks good to me.","commit_id":"07729ad2601f6cd5580c4b41e8c096af6dc47145"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"08f8ae03536ad050a4fd0f98d5effea800f2bee0","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"DocImpact"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Co-Authored-By: Reedip Banerjee \u003creedip.banerjee@nectechnologies.in\u003e"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ib2874bc93979d338d598cc542d349b3517008e49"},{"line_number":24,"context_line":"Closes-Bug: #1320796"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"7a740942_05af5695","line":21,"updated":"2015-12-09 16:36:24.000000000","message":"why author and co-author is same ?","commit_id":"ce192ac01a7049a893ffe197fb24d79faceccec2"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"e5bc953a23558749b60b779436a476e90c407e35","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"DocImpact"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Co-Authored-By: Reedip Banerjee \u003creedip.banerjee@nectechnologies.in\u003e"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ib2874bc93979d338d598cc542d349b3517008e49"},{"line_number":24,"context_line":"Closes-Bug: #1320796"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"7a740942_b0ab22d6","line":21,"in_reply_to":"7a740942_05af5695","updated":"2015-12-09 16:48:09.000000000","message":"The change owner is P. Watsalya Mishra, so the Co-Authored-By tag is justified.","commit_id":"ce192ac01a7049a893ffe197fb24d79faceccec2"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"bab7c98fe17674502f686add4d912a4efab5e0e1","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"DocImpact"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Co-Authored-By: Reedip Banerjee \u003creedip.banerjee@nectechnologies.in\u003e"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ib2874bc93979d338d598cc542d349b3517008e49"},{"line_number":24,"context_line":"Closes-Bug: #1320796"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"7a740942_fbaf3f29","line":21,"in_reply_to":"7a740942_b0ab22d6","updated":"2015-12-09 22:14:35.000000000","message":"I am not sure which is used as an author info, the gerrit owner or the patch author.","commit_id":"ce192ac01a7049a893ffe197fb24d79faceccec2"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"b7d8b79220ec25c2ee2e66477e7bd2abcd97136e","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Co-Authored-By: Reedip Banerjee \u003creedip.banerjee@nectechnologies.in\u003e"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ib2874bc93979d338d598cc542d349b3517008e49"},{"line_number":24,"context_line":"Closes-Bug: #1320796"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"1a7b0d38_682a2392","line":24,"updated":"2015-12-28 20:46:20.000000000","message":"This also closes bug https://bugs.launchpad.net/python-neutronclient/+bug/1320793.","commit_id":"23988dbfc35797b15411dc72fd8443c1499e2a28"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"011a0dc6618e779825e7e66aa7a8411b10b1c8ff","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    --name"},{"line_number":15,"context_line":"    --admin-state-up"},{"line_number":16,"context_line":"    --shared"},{"line_number":17,"context_line":"    --router-external"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"DocImpact: Introduction of new parameters to neutron net-update CLI"},{"line_number":20,"context_line":"Co-Authored-By: Reedip Banerjee \u003creedip.banerjee@nectechnologies.in\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":33,"id":"9a68dd71_81c6a447","line":17,"range":{"start_line":17,"start_character":4,"end_line":17,"end_character":21},"updated":"2016-01-21 15:52:11.000000000","message":"--router:external","commit_id":"af4ff59fc444b197d1419ae8f51a5d43ae75009c"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"c1dca1bb6520ea0c8d3bdc79d993ad5194a426cb","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    --shared"},{"line_number":17,"context_line":"    --router-external"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"DocImpact: Introduction of new parameters to neutron net-update CLI"},{"line_number":20,"context_line":"Co-Authored-By: Reedip Banerjee \u003creedip.banerjee@nectechnologies.in\u003e"},{"line_number":21,"context_line":"Change-Id: Ib2874bc93979d338d598cc542d349b3517008e49"},{"line_number":22,"context_line":"Closes-Bug: #1320796"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":33,"id":"9a68dd71_ac3082e9","line":19,"updated":"2016-01-21 14:49:38.000000000","message":"\"Put DocImpact on a line by itself.\"  https://wiki.openstack.org/wiki/GitCommitMessages\n\nI believe that the comment explaining the DocImpact should be below the DocImpact line.","commit_id":"af4ff59fc444b197d1419ae8f51a5d43ae75009c"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"011a0dc6618e779825e7e66aa7a8411b10b1c8ff","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    --shared"},{"line_number":17,"context_line":"    --router-external"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"DocImpact: Introduction of new parameters to neutron net-update CLI"},{"line_number":20,"context_line":"Co-Authored-By: Reedip Banerjee \u003creedip.banerjee@nectechnologies.in\u003e"},{"line_number":21,"context_line":"Change-Id: Ib2874bc93979d338d598cc542d349b3517008e49"},{"line_number":22,"context_line":"Closes-Bug: #1320796"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":33,"id":"9a68dd71_61dcd0e4","line":19,"in_reply_to":"9a68dd71_ac3082e9","updated":"2016-01-21 15:52:11.000000000","message":"We can put DocImpact flag anywhere in a commit message.\n\nIt is a bug example filed due to DocImpact flag.\nhttps://bugs.launchpad.net/python-neutronclient/+bug/1482496","commit_id":"af4ff59fc444b197d1419ae8f51a5d43ae75009c"}],"neutronclient/neutron/v2_0/network.py":[{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"f85065038e3bff32d371b086e78a9cb69f47199d","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    resource \u003d \u0027network\u0027"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":147,"context_line":"        parser.add_argument("},{"line_number":148,"context_line":"            \u0027--name\u0027,"},{"line_number":149,"context_line":"            help\u003d_(\u0027Name of this network.\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_732f123f","line":146,"updated":"2014-12-17 11:22:39.000000000","message":"Please consider grouping arguments used by both CreateNetwork and UpdateNetwork. Some functions like _add_updatable_args and _updatable_args2body would reduce the code duplication.","commit_id":"2135ac830f23d85fe17a15e906a0f13bcf43d636"},{"author":{"_account_id":13467,"name":"P. Watsalya Mishra","email":"watsalya.mishra@tcs.com","username":"watsalya"},"change_message_id":"0f16795dbeef508afe6c93ec7d53150324fa31d4","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    resource \u003d \u0027network\u0027"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":147,"context_line":"        parser.add_argument("},{"line_number":148,"context_line":"            \u0027--name\u0027,"},{"line_number":149,"context_line":"            help\u003d_(\u0027Name of this network.\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_f367824f","line":146,"in_reply_to":"3a961159_732f123f","updated":"2014-12-17 11:38:26.000000000","message":"There is no common argument used by both CreateNetwork and UpdateNetwork. Please check the methods used for parsing inside both classes. Even --name and --shared argument parsing is different in both the classes. So there is no code duplication done here.\nPlease leave your comment for any further clarification.","commit_id":"2135ac830f23d85fe17a15e906a0f13bcf43d636"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"04948951067e3beb85e34f97aba615c0e32b400c","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    resource \u003d \u0027network\u0027"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":147,"context_line":"        parser.add_argument("},{"line_number":148,"context_line":"            \u0027--name\u0027,"},{"line_number":149,"context_line":"            help\u003d_(\u0027Name of this network.\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_b3a25a49","line":146,"in_reply_to":"3a961159_f367824f","updated":"2014-12-17 11:45:11.000000000","message":"I have looked though the arguments more closely and admit that I have missed that the are different. So no duplication here, sorry for confusion:)","commit_id":"2135ac830f23d85fe17a15e906a0f13bcf43d636"},{"author":{"_account_id":5950,"name":"Ilya Shakhat","email":"shakhat@gmail.com","username":"shakhat"},"change_message_id":"50a239fec28807c702e7fcc9eeec36620c57987a","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        parser.add_argument("},{"line_number":151,"context_line":"            \u0027--admin-state-up\u0027,"},{"line_number":152,"context_line":"            dest\u003d\u0027admin_state\u0027,"},{"line_number":153,"context_line":"            choices\u003d[\u0027True\u0027, \u0027False\u0027],"},{"line_number":154,"context_line":"            help\u003d_(\u0027Set a value of Admin State Up.\u0027))"},{"line_number":155,"context_line":"        parser.add_argument("},{"line_number":156,"context_line":"            \u0027--admin_state_up\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_b02b0d93","line":153,"updated":"2015-01-23 09:57:44.000000000","message":"for consistency with other the value needs to be accepted in any case (see https://github.com/openstack/python-neutronclient/blob/master/neutronclient/neutron/v2_0/router.py#L69-L74)","commit_id":"527d9c964500153dd9d3057e2eb1a06f83516623"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"d2b1bef627ce282b9e880f1aa1be5a5cf7f3e757","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        parser.add_argument("},{"line_number":151,"context_line":"            \u0027--admin-state-up\u0027,"},{"line_number":152,"context_line":"            dest\u003d\u0027admin_state\u0027,"},{"line_number":153,"context_line":"            choices\u003d[\u0027True\u0027, \u0027False\u0027],"},{"line_number":154,"context_line":"            help\u003d_(\u0027Set a value of Admin State Up.\u0027))"},{"line_number":155,"context_line":"        parser.add_argument("},{"line_number":156,"context_line":"            \u0027--admin_state_up\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_ed03b40d","line":153,"in_reply_to":"1a930d6b_b02b0d93","updated":"2015-02-04 20:36:10.000000000","message":"where case obviously means \"lower\" or \"upper\" ;)","commit_id":"527d9c964500153dd9d3057e2eb1a06f83516623"},{"author":{"_account_id":5950,"name":"Ilya Shakhat","email":"shakhat@gmail.com","username":"shakhat"},"change_message_id":"50a239fec28807c702e7fcc9eeec36620c57987a","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        parser.add_argument("},{"line_number":156,"context_line":"            \u0027--admin_state_up\u0027,"},{"line_number":157,"context_line":"            dest\u003d\u0027admin_state\u0027,"},{"line_number":158,"context_line":"            choices\u003d[\u0027True\u0027, \u0027False\u0027],"},{"line_number":159,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":160,"context_line":"        parser.add_argument("},{"line_number":161,"context_line":"            \u0027--shared\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_d0197989","line":158,"updated":"2015-01-23 09:57:44.000000000","message":"ditto","commit_id":"527d9c964500153dd9d3057e2eb1a06f83516623"},{"author":{"_account_id":5950,"name":"Ilya Shakhat","email":"shakhat@gmail.com","username":"shakhat"},"change_message_id":"50a239fec28807c702e7fcc9eeec36620c57987a","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":160,"context_line":"        parser.add_argument("},{"line_number":161,"context_line":"            \u0027--shared\u0027,"},{"line_number":162,"context_line":"            choices\u003d[\u0027True\u0027, \u0027False\u0027],"},{"line_number":163,"context_line":"            help\u003d_(\u0027Set this network as shared or not.\u0027))"},{"line_number":164,"context_line":"        parser.add_argument("},{"line_number":165,"context_line":"            \u0027--router:external\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_7008c52d","line":162,"updated":"2015-01-23 09:57:44.000000000","message":"ditto","commit_id":"527d9c964500153dd9d3057e2eb1a06f83516623"},{"author":{"_account_id":5950,"name":"Ilya Shakhat","email":"shakhat@gmail.com","username":"shakhat"},"change_message_id":"50a239fec28807c702e7fcc9eeec36620c57987a","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        parser.add_argument("},{"line_number":165,"context_line":"            \u0027--router:external\u0027,"},{"line_number":166,"context_line":"            dest\u003d\u0027router_external\u0027,"},{"line_number":167,"context_line":"            choices\u003d[\u0027True\u0027, \u0027False\u0027],"},{"line_number":168,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027))"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def args2body(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_d300a303","line":167,"updated":"2015-01-23 09:57:44.000000000","message":"ditto","commit_id":"527d9c964500153dd9d3057e2eb1a06f83516623"},{"author":{"_account_id":5950,"name":"Ilya Shakhat","email":"shakhat@gmail.com","username":"shakhat"},"change_message_id":"50a239fec28807c702e7fcc9eeec36620c57987a","unresolved":false,"context_lines":[{"line_number":180,"context_line":"            body[\u0027network\u0027].update("},{"line_number":181,"context_line":"                {\u0027router:external\u0027: parsed_args.router_external})"},{"line_number":182,"context_line":"        neutronV20.update_dict(parsed_args, body[\u0027network\u0027],"},{"line_number":183,"context_line":"                               [\u0027tenant_id\u0027])"},{"line_number":184,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_d361833a","line":183,"updated":"2015-01-23 09:57:44.000000000","message":"update_dict can automatically copy attributes from parsed_args into the object, list of attributes is specified in the 3rd parameter:\n * \u0027tenant_id\u0027 cannot be changed, so needs to be removed\n * \u0027name\u0027, \u0027shared\u0027 can be copied (so the corresponding code above is not needed)\n * \u0027admin_state_up\u0027 can be copied if renamed from \u0027admin_state\u0027 in attribute definition\n * \u0027router:external\u0027 needs to be copied manually, so the code for it remains","commit_id":"527d9c964500153dd9d3057e2eb1a06f83516623"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"8aa5d94ad77f2ccdebddf989b2685284734d8c7d","unresolved":false,"context_lines":[{"line_number":173,"context_line":"            help\u003d_(\u0027Name of this network.\u0027))"},{"line_number":174,"context_line":"        utils.add_boolean_argument("},{"line_number":175,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":176,"context_line":"            help\u003d_(\u0027Set a value of admin state up.\u0027))"},{"line_number":177,"context_line":"        utils.add_boolean_argument("},{"line_number":178,"context_line":"            parser, \u0027--admin_state_up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":179,"context_line":"            help\u003dargparse.SUPPRESS)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_8b3da8c6","line":176,"updated":"2015-03-09 13:18:48.000000000","message":"consider: specify the administrative status for the network. (True for up)","commit_id":"3c8cd075da9729190249260302b77e19973a518a"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"161ec76904300b94003e53758b34329401a59ddd","unresolved":false,"context_lines":[{"line_number":178,"context_line":"            parser, \u0027--admin_state_up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":179,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":180,"context_line":"        utils.add_boolean_argument("},{"line_number":181,"context_line":"            parser, \u0027--shared\u0027, dest\u003d\u0027shared\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Set this network as shared or not.\u0027))"},{"line_number":183,"context_line":"        utils.add_boolean_argument("},{"line_number":184,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router_external\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_b0bdc3d9","line":181,"updated":"2015-03-12 17:53:39.000000000","message":"dest\u003dshared is unnecessary.","commit_id":"3c8cd075da9729190249260302b77e19973a518a"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"161ec76904300b94003e53758b34329401a59ddd","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        utils.add_boolean_argument("},{"line_number":184,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router_external\u0027,"},{"line_number":185,"context_line":"            help\u003d_(\u0027Set this network as external or not,\u0027"},{"line_number":186,"context_line":"                   \u0027 it is only available for admin\u0027))"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def args2body(self, parsed_args):"},{"line_number":189,"context_line":"        body \u003d {self.resource: {}}"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_d0b4f7f3","line":186,"updated":"2015-03-12 17:53:39.000000000","message":"For --shared there is no mention the option is for admin, but we have it for --router:external. It looks inconsistent.\n\nAnohter point is that it depends on policy.json configuraiton. In most cases the default value is reasonable and I think it is okay.","commit_id":"3c8cd075da9729190249260302b77e19973a518a"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"8aa5d94ad77f2ccdebddf989b2685284734d8c7d","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        utils.add_boolean_argument("},{"line_number":184,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router_external\u0027,"},{"line_number":185,"context_line":"            help\u003d_(\u0027Set this network as external or not,\u0027"},{"line_number":186,"context_line":"                   \u0027 it is only available for admin\u0027))"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def args2body(self, parsed_args):"},{"line_number":189,"context_line":"        body \u003d {self.resource: {}}"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_ab38acd3","line":186,"updated":"2015-03-09 13:18:48.000000000","message":"We need to check whether this clashes with the work on discoverable extensions in the cli.","commit_id":"3c8cd075da9729190249260302b77e19973a518a"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"161ec76904300b94003e53758b34329401a59ddd","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        body \u003d {self.resource: {}}"},{"line_number":190,"context_line":"        if hasattr(parsed_args, \u0027admin_state\u0027):"},{"line_number":191,"context_line":"            body[self.resource].update("},{"line_number":192,"context_line":"                {\u0027admin_state_up\u0027: parsed_args.admin_state})"},{"line_number":193,"context_line":"        if hasattr(parsed_args, \u0027router_external\u0027):"},{"line_number":194,"context_line":"            body[self.resource].update("},{"line_number":195,"context_line":"                {\u0027router:external\u0027: parsed_args.router_external})"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_f0b73bf3","line":192,"updated":"2015-03-12 17:53:39.000000000","message":"why we need to update()? The following works. This is the bad practice in neutornclient.\n\n   body[self.resource][\u0027admin_state_up\u0027] \u003d parsed_args.admin_state","commit_id":"3c8cd075da9729190249260302b77e19973a518a"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"161ec76904300b94003e53758b34329401a59ddd","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                {\u0027admin_state_up\u0027: parsed_args.admin_state})"},{"line_number":193,"context_line":"        if hasattr(parsed_args, \u0027router_external\u0027):"},{"line_number":194,"context_line":"            body[self.resource].update("},{"line_number":195,"context_line":"                {\u0027router:external\u0027: parsed_args.router_external})"},{"line_number":196,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource],"},{"line_number":197,"context_line":"                               [\u0027name\u0027, \u0027shared\u0027])"},{"line_number":198,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_10ce8f83","line":195,"updated":"2015-03-12 17:53:39.000000000","message":"ditto","commit_id":"3c8cd075da9729190249260302b77e19973a518a"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"28db53d5c80df5f7e7235a055e91b561d4f1588a","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            help\u003d_(\u0027Set this network as shared or not.\u0027))"},{"line_number":184,"context_line":"        utils.add_boolean_argument("},{"line_number":185,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router_external\u0027,"},{"line_number":186,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027))"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def args2body(self, parsed_args):"},{"line_number":189,"context_line":"        body \u003d {self.resource: {}}"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa963961_84c126e7","line":186,"updated":"2015-03-27 08:26:28.000000000","message":"how about adding the ext hint: from ext. \u0027external-net\u0027?","commit_id":"0d3a3096b45dacd48574a09694dc8a0a2b2fd2a6"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"810dc47f1a48f597af3cedeb93fb1bfce2705843","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            help\u003d_(\u0027Set this network as shared or not.\u0027))"},{"line_number":184,"context_line":"        utils.add_boolean_argument("},{"line_number":185,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router_external\u0027,"},{"line_number":186,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027))"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def args2body(self, parsed_args):"},{"line_number":189,"context_line":"        body \u003d {self.resource: {}}"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a1a9d01_daa53447","line":186,"in_reply_to":"7a016987_7b47a777","updated":"2015-09-29 07:09:25.000000000","message":"Done","commit_id":"0d3a3096b45dacd48574a09694dc8a0a2b2fd2a6"},{"author":{"_account_id":13467,"name":"P. Watsalya Mishra","email":"watsalya.mishra@tcs.com","username":"watsalya"},"change_message_id":"d29ab0d21d6758d81f05fb2e791800a1ecbba5ea","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            help\u003d_(\u0027Set this network as shared or not.\u0027))"},{"line_number":184,"context_line":"        utils.add_boolean_argument("},{"line_number":185,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router_external\u0027,"},{"line_number":186,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027))"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def args2body(self, parsed_args):"},{"line_number":189,"context_line":"        body \u003d {self.resource: {}}"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa963961_e79354f9","line":186,"in_reply_to":"fa963961_84c126e7","updated":"2015-03-27 08:55:32.000000000","message":"I am not getting what exactly do you want. Please provide the details with reference on what is required here.","commit_id":"0d3a3096b45dacd48574a09694dc8a0a2b2fd2a6"},{"author":{"_account_id":13467,"name":"P. Watsalya Mishra","email":"watsalya.mishra@tcs.com","username":"watsalya"},"change_message_id":"c5e8ed0ff846980817ed46ee832246c171c237c6","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            help\u003d_(\u0027Set this network as shared or not.\u0027))"},{"line_number":184,"context_line":"        utils.add_boolean_argument("},{"line_number":185,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router_external\u0027,"},{"line_number":186,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027))"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def args2body(self, parsed_args):"},{"line_number":189,"context_line":"        body \u003d {self.resource: {}}"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa963961_e5c10982","line":186,"in_reply_to":"fa963961_ad9bedc8","updated":"2015-03-27 11:25:20.000000000","message":"Please suggest the proper help message as per your opinion. I will make that change in my next patch.","commit_id":"0d3a3096b45dacd48574a09694dc8a0a2b2fd2a6"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"0379b18b3199016a22bf7b82fe503e03189628a3","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            help\u003d_(\u0027Set this network as shared or not.\u0027))"},{"line_number":184,"context_line":"        utils.add_boolean_argument("},{"line_number":185,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router_external\u0027,"},{"line_number":186,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027))"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def args2body(self, parsed_args):"},{"line_number":189,"context_line":"        body \u003d {self.resource: {}}"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_7b47a777","line":186,"in_reply_to":"fa963961_e5c10982","updated":"2015-05-28 01:08:53.000000000","message":"_(\u0027Set this network as external or not. From extension \"external-net\"\u0027)","commit_id":"0d3a3096b45dacd48574a09694dc8a0a2b2fd2a6"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"c96b193f03456c4003cd13a0bfa05c762f91bdb7","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            help\u003d_(\u0027Set this network as shared or not.\u0027))"},{"line_number":184,"context_line":"        utils.add_boolean_argument("},{"line_number":185,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router_external\u0027,"},{"line_number":186,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027))"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def args2body(self, parsed_args):"},{"line_number":189,"context_line":"        body \u003d {self.resource: {}}"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa963961_ad9bedc8","line":186,"in_reply_to":"fa963961_e79354f9","updated":"2015-03-27 09:33:33.000000000","message":"--router:external is available only if the neutron server supports external-net extension. So if we want to show command help, we should indicate when this argument is available.","commit_id":"0d3a3096b45dacd48574a09694dc8a0a2b2fd2a6"},{"author":{"_account_id":16788,"name":"Ramanjaneya Reddy Palleti","email":"ramanjaneya.palleti@huawei.com","username":"Ramanjaneya"},"change_message_id":"df380a279c6f5479b5ac42ef85f1db75d0a1ec58","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        self.args2body_qos_policy(parsed_args, body[\u0027network\u0027])"},{"line_number":196,"context_line":"        if hasattr(parsed_args, \u0027admin_state\u0027):"},{"line_number":197,"context_line":"            body[self.resource]["},{"line_number":198,"context_line":"                \u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":199,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource],"},{"line_number":200,"context_line":"                               [\u0027name\u0027, \u0027shared\u0027])"},{"line_number":201,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_1f75d962","line":198,"updated":"2015-09-29 09:02:19.000000000","message":"use \"body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state\" pattern instead body[self.resource][\u0027admin_state_up\u0027] \u003d parsed_args.admin_state","commit_id":"17a7ead25fab3b97ae11c0115616ad2e1235c064"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"c8cdb145d3947ddff1b9e30dd601ff3aa962b2b9","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        self.args2body_qos_policy(parsed_args, body[\u0027network\u0027])"},{"line_number":196,"context_line":"        if hasattr(parsed_args, \u0027admin_state\u0027):"},{"line_number":197,"context_line":"            body[self.resource]["},{"line_number":198,"context_line":"                \u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":199,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource],"},{"line_number":200,"context_line":"                               [\u0027name\u0027, \u0027shared\u0027])"},{"line_number":201,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_438b7268","line":198,"in_reply_to":"9a1a9d01_1f75d962","updated":"2015-09-29 13:50:25.000000000","message":"I think you can rebase your changes on top of..\n\nhttps://review.openstack.org/#/c/228352/","commit_id":"17a7ead25fab3b97ae11c0115616ad2e1235c064"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"f513582a6160ad9f22979353a6790b0fb46566c5","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        self.args2body_qos_policy(parsed_args, body[\u0027network\u0027])"},{"line_number":196,"context_line":"        if hasattr(parsed_args, \u0027admin_state\u0027):"},{"line_number":197,"context_line":"            body[self.resource]["},{"line_number":198,"context_line":"                \u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":199,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource],"},{"line_number":200,"context_line":"                               [\u0027name\u0027, \u0027shared\u0027])"},{"line_number":201,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_ef4849b5","line":198,"in_reply_to":"9a1a9d01_438b7268","updated":"2015-09-30 05:57:17.000000000","message":"Dear Ramanjaneya, Vikram, \nI will commit further, once Akihiro´s code is merged.","commit_id":"17a7ead25fab3b97ae11c0115616ad2e1235c064"},{"author":{"_account_id":16788,"name":"Ramanjaneya Reddy Palleti","email":"ramanjaneya.palleti@huawei.com","username":"Ramanjaneya"},"change_message_id":"df380a279c6f5479b5ac42ef85f1db75d0a1ec58","unresolved":false,"context_lines":[{"line_number":198,"context_line":"                \u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":199,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource],"},{"line_number":200,"context_line":"                               [\u0027name\u0027, \u0027shared\u0027])"},{"line_number":201,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_df744137","line":201,"updated":"2015-09-29 09:02:19.000000000","message":"update_dict() checks attribute existence and non-None and most if-clause does the same.\n\nbody \u003d {}\nself.args2body_qos_policy(parsed_args, body[\u0027network\u0027])\n neutronV20.update_dict(parsed_args, body, [\u0027name\u0027, \u0027shared\u0027, \u0027\u0027admin_state_up\u0027\u0027])\n return {\u0027network\u0027: body}","commit_id":"17a7ead25fab3b97ae11c0115616ad2e1235c064"},{"author":{"_account_id":16788,"name":"Ramanjaneya Reddy Palleti","email":"ramanjaneya.palleti@huawei.com","username":"Ramanjaneya"},"change_message_id":"2b6081621ed1c85d4abe6e4f720897a449d4b50f","unresolved":false,"context_lines":[{"line_number":198,"context_line":"                \u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":199,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource],"},{"line_number":200,"context_line":"                               [\u0027name\u0027, \u0027shared\u0027])"},{"line_number":201,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_efa4c94b","line":201,"in_reply_to":"9a1a9d01_0fdfbdd9","updated":"2015-09-30 06:01:10.000000000","message":"Please refer..\n\nhttps://review.openstack.org/#/c/228352/\n\nI mean, here no need if check for admin_state, use update-dict it will do the same","commit_id":"17a7ead25fab3b97ae11c0115616ad2e1235c064"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"f513582a6160ad9f22979353a6790b0fb46566c5","unresolved":false,"context_lines":[{"line_number":198,"context_line":"                \u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":199,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource],"},{"line_number":200,"context_line":"                               [\u0027name\u0027, \u0027shared\u0027])"},{"line_number":201,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_0fdfbdd9","line":201,"in_reply_to":"9a1a9d01_df744137","updated":"2015-09-30 05:57:17.000000000","message":"I apologize but I am not sure about the above comment.\nCould you may be explain it a bit more ( the code section )","commit_id":"17a7ead25fab3b97ae11c0115616ad2e1235c064"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6144de4bc9c75e8de8f57a5dc10b7ab8c1fd2b80","unresolved":false,"context_lines":[{"line_number":198,"context_line":"                \u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":199,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource],"},{"line_number":200,"context_line":"                               [\u0027name\u0027, \u0027shared\u0027])"},{"line_number":201,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_6f3d19dc","line":201,"in_reply_to":"9a1a9d01_efa4c94b","updated":"2015-09-30 06:04:06.000000000","message":"Ok, that I understand :)\nSo just the name and shared will be updated to the dict and admin_state_up will be internally handled","commit_id":"17a7ead25fab3b97ae11c0115616ad2e1235c064"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"984baaa1b0ba3bdf615a449545fbbc0d9a4296e4","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        utils.add_boolean_argument("},{"line_number":181,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Specify the administrative state of the network\u0027"},{"line_number":183,"context_line":"                   \u0027 (True meaning \"Up\").\u0027))"},{"line_number":184,"context_line":"        utils.add_boolean_argument("},{"line_number":185,"context_line":"            parser, \u0027--admin_state_up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":186,"context_line":"            help\u003dargparse.SUPPRESS)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a1a9d01_eb80f94b","line":183,"updated":"2015-10-01 13:17:27.000000000","message":"I don\u0027t think it\u0027s necessary to state that True means up for this boolean argument.","commit_id":"ef1d14ae4749088d8ed308bcaf435b5c35067aa3"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"b9abcc3b2f6d2f36f95d48ccd67b81f820e9af47","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        utils.add_boolean_argument("},{"line_number":181,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Specify the administrative state of the network\u0027"},{"line_number":183,"context_line":"                   \u0027 (True meaning \"Up\").\u0027))"},{"line_number":184,"context_line":"        utils.add_boolean_argument("},{"line_number":185,"context_line":"            parser, \u0027--admin_state_up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":186,"context_line":"            help\u003dargparse.SUPPRESS)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a1a9d01_22acb4ec","line":183,"in_reply_to":"9a1a9d01_3c405907","updated":"2015-10-02 03:57:47.000000000","message":"Done","commit_id":"ef1d14ae4749088d8ed308bcaf435b5c35067aa3"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"305b336d80fb6584986c07e0b34f978239c489a2","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        utils.add_boolean_argument("},{"line_number":181,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Specify the administrative state of the network\u0027"},{"line_number":183,"context_line":"                   \u0027 (True meaning \"Up\").\u0027))"},{"line_number":184,"context_line":"        utils.add_boolean_argument("},{"line_number":185,"context_line":"            parser, \u0027--admin_state_up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":186,"context_line":"            help\u003dargparse.SUPPRESS)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a1a9d01_3c405907","line":183,"in_reply_to":"9a1a9d01_eb80f94b","updated":"2015-10-02 02:16:01.000000000","message":"Hmm, I kind of agree with you on this point.\nBut this being a help message would not disturb the viewer too much.\nIt is not a big change but the change required?","commit_id":"ef1d14ae4749088d8ed308bcaf435b5c35067aa3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"3ff32962f58ebebdedc79c81bf33e8917b44ec19","unresolved":false,"context_lines":[{"line_number":182,"context_line":"            help\u003d_(\u0027Specify the administrative state of the network.\u0027))"},{"line_number":183,"context_line":"        utils.add_boolean_argument("},{"line_number":184,"context_line":"            parser, \u0027--admin_state_up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":185,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":186,"context_line":"        utils.add_boolean_argument("},{"line_number":187,"context_line":"            parser, \u0027--shared\u0027,"},{"line_number":188,"context_line":"            help\u003d_(\u0027Set this network as shared or not.\u0027))"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_9f8f1275","line":185,"updated":"2015-10-02 07:44:35.000000000","message":"Consider removing L.183-185.\nI think it leads to backward-compatible change, i.e. the following command would no longer work:\n\n  neutron net-update mynetwork --admin_state_up\u003dFalse","commit_id":"6ac76f675496d216c944e31aceaff2ea233bbf4b"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"7c53f10678a7c6385afb4ec8eb346f1db86c4492","unresolved":false,"context_lines":[{"line_number":182,"context_line":"            help\u003d_(\u0027Specify the administrative state of the network.\u0027))"},{"line_number":183,"context_line":"        utils.add_boolean_argument("},{"line_number":184,"context_line":"            parser, \u0027--admin_state_up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":185,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":186,"context_line":"        utils.add_boolean_argument("},{"line_number":187,"context_line":"            parser, \u0027--shared\u0027,"},{"line_number":188,"context_line":"            help\u003d_(\u0027Set this network as shared or not.\u0027))"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_df94aa45","line":185,"in_reply_to":"9a1a9d01_9f8f1275","updated":"2015-10-02 07:53:11.000000000","message":"Ok, will remove that.","commit_id":"6ac76f675496d216c944e31aceaff2ea233bbf4b"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"4f8c78d315b537ea0bccbc3b1be98d003f492e92","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":195,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":196,"context_line":"        neutronV20.update_dict(parsed_args, body,"},{"line_number":197,"context_line":"                               [\u0027name\u0027, \u0027shared\u0027, \u0027admin_state_up\u0027])"},{"line_number":198,"context_line":"        return {\u0027network\u0027: body}"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_dc3ef828","line":197,"updated":"2015-10-02 07:23:10.000000000","message":"\u0027admin_state_up\u0027 already parsed at L194. Why to do it again?","commit_id":"6ac76f675496d216c944e31aceaff2ea233bbf4b"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"3757b86eef7ae946993ae50498688fb017519ff5","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":195,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":196,"context_line":"        neutronV20.update_dict(parsed_args, body,"},{"line_number":197,"context_line":"                               [\u0027name\u0027, \u0027shared\u0027, \u0027admin_state_up\u0027])"},{"line_number":198,"context_line":"        return {\u0027network\u0027: body}"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_1a852758","line":197,"in_reply_to":"9a1a9d01_5fb5facd","updated":"2015-10-03 07:01:42.000000000","message":"I am fine this these! One quick question, does the server expects any default value for \u0027admin_state_up\u0027 attribute?","commit_id":"6ac76f675496d216c944e31aceaff2ea233bbf4b"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"7c53f10678a7c6385afb4ec8eb346f1db86c4492","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":195,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":196,"context_line":"        neutronV20.update_dict(parsed_args, body,"},{"line_number":197,"context_line":"                               [\u0027name\u0027, \u0027shared\u0027, \u0027admin_state_up\u0027])"},{"line_number":198,"context_line":"        return {\u0027network\u0027: body}"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_5fb5facd","line":197,"in_reply_to":"9a1a9d01_7fd47e46","updated":"2015-10-02 07:53:11.000000000","message":"So I guess the following would be better:\n\nL:181 -\u003e   parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state_up\u0027,\nL:196-197 -\u003e neutronV20.update_dict(parsed_args, body,\t\n\t\t\t                               [\u0027name\u0027, \u0027shared\u0027])","commit_id":"6ac76f675496d216c944e31aceaff2ea233bbf4b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"3ff32962f58ebebdedc79c81bf33e8917b44ec19","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":195,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":196,"context_line":"        neutronV20.update_dict(parsed_args, body,"},{"line_number":197,"context_line":"                               [\u0027name\u0027, \u0027shared\u0027, \u0027admin_state_up\u0027])"},{"line_number":198,"context_line":"        return {\u0027network\u0027: body}"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_7fd47e46","line":197,"in_reply_to":"9a1a9d01_9c764005","updated":"2015-10-02 07:44:35.000000000","message":"parsed_args has no such attribute named \u0027admin_state_up\u0027, so having \u0027admin_state_up\u0027 here is meaningless.\nIf you use update_dict, L.181 should be:\n\n  dest\u003d\u0027admin_state_up\u0027\n\nI am fine with either choice, but the duplication and meaningles logic should be avoided.","commit_id":"6ac76f675496d216c944e31aceaff2ea233bbf4b"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4784d50e7238155aaa17c37c6374895b4c42defc","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":195,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":196,"context_line":"        neutronV20.update_dict(parsed_args, body,"},{"line_number":197,"context_line":"                               [\u0027name\u0027, \u0027shared\u0027, \u0027admin_state_up\u0027])"},{"line_number":198,"context_line":"        return {\u0027network\u0027: body}"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_9c764005","line":197,"in_reply_to":"9a1a9d01_dc3ef828","updated":"2015-10-02 07:26:47.000000000","message":"That was a review comment given to me in the previous patch.\nhttps://review.openstack.org/#/c/137279/10/neutronclient/neutron/v2_0/network.py\n\nPlease suggest...","commit_id":"6ac76f675496d216c944e31aceaff2ea233bbf4b"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"878c12d99761222ac7c1fbe52c0d41aee33d3b9a","unresolved":false,"context_lines":[{"line_number":178,"context_line":"            \u0027--name\u0027,"},{"line_number":179,"context_line":"            help\u003d_(\u0027Name of this network.\u0027))"},{"line_number":180,"context_line":"        utils.add_boolean_argument("},{"line_number":181,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state_up\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Specify the administrative state of the network.\u0027))"},{"line_number":183,"context_line":"        utils.add_boolean_argument("},{"line_number":184,"context_line":"            parser, \u0027--shared\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a1a9d01_6f5a5552","line":181,"updated":"2015-10-05 07:07:27.000000000","message":"\"dest\u003d\u0027admin_state_up\u0027\" is un-necessary as the param name is itself \u0027admin-state-up\u0027.","commit_id":"c8a43d4436ac32bd5543756c2d4587317020b1d0"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"d4cfc1a4cff8c2d0d5f9d53dee41da0cb3707d8d","unresolved":false,"context_lines":[{"line_number":178,"context_line":"            \u0027--name\u0027,"},{"line_number":179,"context_line":"            help\u003d_(\u0027Name of this network.\u0027))"},{"line_number":180,"context_line":"        utils.add_boolean_argument("},{"line_number":181,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state_up\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Specify the administrative state of the network.\u0027))"},{"line_number":183,"context_line":"        utils.add_boolean_argument("},{"line_number":184,"context_line":"            parser, \u0027--shared\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a1a9d01_2aba0b0b","line":181,"in_reply_to":"9a1a9d01_6f5a5552","updated":"2015-10-05 07:50:35.000000000","message":"Ok, I will fix that","commit_id":"c8a43d4436ac32bd5543756c2d4587317020b1d0"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"878c12d99761222ac7c1fbe52c0d41aee33d3b9a","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def args2body(self, parsed_args):"},{"line_number":189,"context_line":"        body \u003d {}"},{"line_number":190,"context_line":"        if hasattr(parsed_args, \u0027admin_state\u0027):"},{"line_number":191,"context_line":"            body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":192,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":193,"context_line":"        neutronV20.update_dict(parsed_args, body,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a1a9d01_8f448974","line":190,"updated":"2015-10-05 07:07:27.000000000","message":"Could not find \u0027admin_state\u0027 in \u0027def add_known_arguments(self, parser):\u0027.\n\nDid you mean \u0027admin_state_up\u0027?","commit_id":"c8a43d4436ac32bd5543756c2d4587317020b1d0"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"254433c09206b57c5fdfe1f7d097f4a1285afb00","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def args2body(self, parsed_args):"},{"line_number":189,"context_line":"        body \u003d {}"},{"line_number":190,"context_line":"        if hasattr(parsed_args, \u0027admin_state_up\u0027):"},{"line_number":191,"context_line":"            body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":192,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":193,"context_line":"        neutronV20.update_dict(parsed_args, body,"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a1a9d01_2ae1ab9a","line":190,"updated":"2015-10-05 07:59:39.000000000","message":"Since, \"dest\u003d\u0027admin_state\u0027\" defined in L181, so I believe you got to test it with \u0027admin_state\u0027\n\nif hasattr(parsed_args, \u0027admin_state\u0027):\n    body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state","commit_id":"bbc283fe4496882d00b1ca2c0bae7aeeac87f921"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"76f9583580abc5393e64922d6033ecca2918192b","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def args2body(self, parsed_args):"},{"line_number":189,"context_line":"        body \u003d {}"},{"line_number":190,"context_line":"        if hasattr(parsed_args, \u0027admin_state_up\u0027):"},{"line_number":191,"context_line":"            body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":192,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":193,"context_line":"        neutronV20.update_dict(parsed_args, body,"}],"source_content_type":"text/x-python","patch_set":15,"id":"7a2fa921_3a95c0e3","line":190,"in_reply_to":"9a1a9d01_2ae1ab9a","updated":"2015-10-06 04:53:35.000000000","message":"Done","commit_id":"bbc283fe4496882d00b1ca2c0bae7aeeac87f921"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"aabb85322e5a8f84a250fe4202348c26ac649ac6","unresolved":false,"context_lines":[{"line_number":176,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":177,"context_line":"        parser.add_argument("},{"line_number":178,"context_line":"            \u0027--name\u0027,"},{"line_number":179,"context_line":"            help\u003d_(\u0027Name of this network.\u0027))"},{"line_number":180,"context_line":"        utils.add_boolean_argument("},{"line_number":181,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Specify the administrative state of the network.\u0027))"}],"source_content_type":"text/x-python","patch_set":16,"id":"7a2fa921_1540d555","line":179,"updated":"2015-10-06 05:53:11.000000000","message":"How about rewording \"help\u003d_(\u0027Name of this network.\u0027))\" \u003d\u003d\u003e \"help\u003d_(\u0027ID or name of the network to update\u0027)\"\nCan you please check the existing helps and follow similar convention?\n\nSorry for not pointing this earlier ;(","commit_id":"2a92cf8de972c3c4da4f32ff813fded5c2d6112c"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"d27e411b49b5bee40aaacea12c7f0f0773c6de24","unresolved":false,"context_lines":[{"line_number":176,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":177,"context_line":"        parser.add_argument("},{"line_number":178,"context_line":"            \u0027--name\u0027,"},{"line_number":179,"context_line":"            help\u003d_(\u0027Name of this network.\u0027))"},{"line_number":180,"context_line":"        utils.add_boolean_argument("},{"line_number":181,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Specify the administrative state of the network.\u0027))"}],"source_content_type":"text/x-python","patch_set":16,"id":"7a2fa921_c0b344e8","line":179,"in_reply_to":"7a2fa921_1540d555","updated":"2015-10-07 06:41:50.000000000","message":"ID wont be a part of this attribute, but I will reword this and others.... no issues :)","commit_id":"2a92cf8de972c3c4da4f32ff813fded5c2d6112c"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"2c4c59bd0f9cff7c65b79362d9480e75a0ce9bd9","unresolved":false,"context_lines":[{"line_number":182,"context_line":"            help\u003d_(\u0027Specify the administrative state of the network.\u0027))"},{"line_number":183,"context_line":"        utils.add_boolean_argument("},{"line_number":184,"context_line":"            parser, \u0027--shared\u0027,"},{"line_number":185,"context_line":"            help\u003d_(\u0027Set this network as shared or not.\u0027))"},{"line_number":186,"context_line":"        self.add_arguments_qos_policy(parser)"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def args2body(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":17,"id":"7a2fa921_06671426","line":185,"updated":"2015-10-07 08:03:47.000000000","message":"\"Set this network as shared\"","commit_id":"c32a40b009bb704f9323ba0f25fb4633365c4cbb"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0eb6fd259b7d0194dd4a6cc7d591345cf1e5def4","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            parser,"},{"line_number":134,"context_line":"            \u0027--vlan-transparent\u0027,"},{"line_number":135,"context_line":"            default\u003dargparse.SUPPRESS,"},{"line_number":136,"context_line":"            help\u003d_(\u0027Create a VLAN transparent network.\u0027))"},{"line_number":137,"context_line":"        parser.add_argument("},{"line_number":138,"context_line":"            \u0027name\u0027, metavar\u003d\u0027NAME\u0027,"},{"line_number":139,"context_line":"            help\u003d_(\u0027Name of the network to be created.\u0027))"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a2ca52d_bfee8020","line":136,"updated":"2015-10-14 11:25:46.000000000","message":"unrelated change","commit_id":"022bc4e2f810d5814d26711f0bd4a0025ee90777"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0eb6fd259b7d0194dd4a6cc7d591345cf1e5def4","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            help\u003d_(\u0027Create a VLAN transparent network.\u0027))"},{"line_number":137,"context_line":"        parser.add_argument("},{"line_number":138,"context_line":"            \u0027name\u0027, metavar\u003d\u0027NAME\u0027,"},{"line_number":139,"context_line":"            help\u003d_(\u0027Name of the network to be created.\u0027))"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        self.add_arguments_qos_policy(parser)"},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"5a2ca52d_9fe9441d","line":139,"updated":"2015-10-14 11:25:46.000000000","message":"Unrelated change.","commit_id":"022bc4e2f810d5814d26711f0bd4a0025ee90777"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a333c189ebb9a5917572add02fb34760be18a2ea","unresolved":false,"context_lines":[{"line_number":174,"context_line":"    resource \u003d \u0027network\u0027"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":177,"context_line":"        parser.add_argument("},{"line_number":178,"context_line":"            \u0027--admin-state-up\u0027,"},{"line_number":179,"context_line":"            choices\u003d[\u0027True\u0027, \u0027False\u0027],"},{"line_number":180,"context_line":"            help\u003d_(\u0027Set admin state up for the network.\u0027))"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_ad2127fd","line":177,"updated":"2015-12-07 09:10:34.000000000","message":"Why don\u0027t you use utils.add_boolean_argument?","commit_id":"07729ad2601f6cd5580c4b41e8c096af6dc47145"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"e67c0d8eed999bc3b41dd72e61e6500c8006868c","unresolved":false,"context_lines":[{"line_number":174,"context_line":"    resource \u003d \u0027network\u0027"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":177,"context_line":"        parser.add_argument("},{"line_number":178,"context_line":"            \u0027--admin-state-up\u0027,"},{"line_number":179,"context_line":"            choices\u003d[\u0027True\u0027, \u0027False\u0027],"},{"line_number":180,"context_line":"            help\u003d_(\u0027Set admin state up for the network.\u0027))"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_ff64b6e5","line":177,"in_reply_to":"7a740942_ad2127fd","updated":"2015-12-07 09:20:01.000000000","message":"Doing it in the next patch set","commit_id":"07729ad2601f6cd5580c4b41e8c096af6dc47145"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"b6fa19b76c790e58f17e3bc2ffc86f1fb336518c","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        parser.add_argument("},{"line_number":182,"context_line":"            \u0027--admin_state_up\u0027,"},{"line_number":183,"context_line":"            choices\u003d[\u0027True\u0027, \u0027False\u0027],"},{"line_number":184,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":185,"context_line":"        parser.add_argument("},{"line_number":186,"context_line":"            \u0027--name\u0027,"},{"line_number":187,"context_line":"            help\u003d_(\u0027Updated Name of the network.\u0027))"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_cc19197b","line":184,"updated":"2015-12-07 07:38:18.000000000","message":"Don\\t need to add suppressed argument at the first.\nI think this is used to suppress existed arguments.","commit_id":"07729ad2601f6cd5580c4b41e8c096af6dc47145"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"e67c0d8eed999bc3b41dd72e61e6500c8006868c","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        parser.add_argument("},{"line_number":182,"context_line":"            \u0027--admin_state_up\u0027,"},{"line_number":183,"context_line":"            choices\u003d[\u0027True\u0027, \u0027False\u0027],"},{"line_number":184,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":185,"context_line":"        parser.add_argument("},{"line_number":186,"context_line":"            \u0027--name\u0027,"},{"line_number":187,"context_line":"            help\u003d_(\u0027Updated Name of the network.\u0027))"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_df977a8e","line":184,"in_reply_to":"7a740942_52a3824f","updated":"2015-12-07 09:20:01.000000000","message":"So removing this is a better option than keeping it, isnt it?\n( Would be helpful as well for some of my other  patches having similar modifications)","commit_id":"07729ad2601f6cd5580c4b41e8c096af6dc47145"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"b6bf9a999ed400521aa6418e27c111e743ff7c19","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        parser.add_argument("},{"line_number":182,"context_line":"            \u0027--admin_state_up\u0027,"},{"line_number":183,"context_line":"            choices\u003d[\u0027True\u0027, \u0027False\u0027],"},{"line_number":184,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":185,"context_line":"        parser.add_argument("},{"line_number":186,"context_line":"            \u0027--name\u0027,"},{"line_number":187,"context_line":"            help\u003d_(\u0027Updated Name of the network.\u0027))"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_ccba790a","line":184,"in_reply_to":"7a740942_cc19197b","updated":"2015-12-07 07:42:38.000000000","message":"@gongysh : I think this should be added.\nThis avoid showing the --admin_state_up  twice in the help output.\nUser might be confused if he sees --admin-state-up and --_admin_state_up [ADMIN STATE] in the help output.\n\nWhat do you think?","commit_id":"07729ad2601f6cd5580c4b41e8c096af6dc47145"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a333c189ebb9a5917572add02fb34760be18a2ea","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        parser.add_argument("},{"line_number":182,"context_line":"            \u0027--admin_state_up\u0027,"},{"line_number":183,"context_line":"            choices\u003d[\u0027True\u0027, \u0027False\u0027],"},{"line_number":184,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":185,"context_line":"        parser.add_argument("},{"line_number":186,"context_line":"            \u0027--name\u0027,"},{"line_number":187,"context_line":"            help\u003d_(\u0027Updated Name of the network.\u0027))"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_52a3824f","line":184,"in_reply_to":"7a740942_ccba790a","updated":"2015-12-07 09:10:34.000000000","message":"I think what gongysh mentioned is we don\u0027t need to add the suppressed option itself. he is not talking about argparse.SUPPRESS.\n\n--admin_state_up can be specified as an extra argument, and I guess the author added the suppressed version to support this.\nIMHO it is redundant to add this kind of duplicated variants in each option and this kind of things should be handled as the extra argument framework itself.","commit_id":"07729ad2601f6cd5580c4b41e8c096af6dc47145"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"bab7c98fe17674502f686add4d912a4efab5e0e1","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        utils.add_boolean_argument("},{"line_number":148,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":149,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027"},{"line_number":150,"context_line":"                   \u0027From extension \"external-net\"\u0027))"},{"line_number":151,"context_line":"        self.add_arguments_qos_policy(parser)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    def args2body(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_7f682d88","line":150,"updated":"2015-12-09 22:14:35.000000000","message":"Why is the last sentence required? Most users (non-developers) do not know what option is from which extension. I am -1 to have it.\n\nSee the discussion in https://bugs.launchpad.net/python-neutronclient/+bug/1094713 , particularly #5.","commit_id":"ce192ac01a7049a893ffe197fb24d79faceccec2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"8b65aa3f38dee0378e4c9f4e64e55a3f8a896b63","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        utils.add_boolean_argument("},{"line_number":148,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":149,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027"},{"line_number":150,"context_line":"                   \u0027From extension \"external-net\"\u0027))"},{"line_number":151,"context_line":"        self.add_arguments_qos_policy(parser)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    def args2body(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_60238c06","line":150,"in_reply_to":"7a740942_20aa6471","updated":"2015-12-10 05:13:20.000000000","message":"I wish to keep it similar in implementation to the one we already have in Firewall( unless you consider the statement written in firewall is also incorrect)\nI understand , extensions are not at liberty with the the users, but some information, like the rewording you suggest, should be included in the help message","commit_id":"ce192ac01a7049a893ffe197fb24d79faceccec2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6291bc5bb74082d5a7c51d623cc5e71b696d667e","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        utils.add_boolean_argument("},{"line_number":148,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":149,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027"},{"line_number":150,"context_line":"                   \u0027From extension \"external-net\"\u0027))"},{"line_number":151,"context_line":"        self.add_arguments_qos_policy(parser)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    def args2body(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_efd9b284","line":150,"in_reply_to":"7a740942_7f682d88","updated":"2015-12-10 01:25:35.000000000","message":"Hi Akihiro,\nThis was a review comment from gongysh\n\nReference:https://review.openstack.org/#/c/137279/8..23/neutronclient/neutron/v2_0/network.py Line #186\nAlso, a similar behavior is used by Firewall ( Firewall requires firewall-router extension to be enabled)\n\nI can modify this statement similar to https://github.com/openstack/python-neutronclient/blob/master/neutronclient/neutron/v2_0/fw/firewall.py#L63\n\nhelp\u003d_(´Whether to set this network to external or not.´\n             ´Requires external-net extension to be enabled´)\n\nThis way the user would have the information to enable the extension.\nSo although, it is not mapping with the discussion of bug/1094713 where help should be displayed as per the extension, it is informing the user to enable the extension if they want to use the --router:external option.\n\n\nWhat do you suggest?","commit_id":"ce192ac01a7049a893ffe197fb24d79faceccec2"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"fd135f92eb6ea694db5d77f6d4719e42f8cf7ec5","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        utils.add_boolean_argument("},{"line_number":148,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":149,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027"},{"line_number":150,"context_line":"                   \u0027From extension \"external-net\"\u0027))"},{"line_number":151,"context_line":"        self.add_arguments_qos_policy(parser)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    def args2body(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_20aa6471","line":150,"in_reply_to":"7a740942_efd9b284","updated":"2015-12-10 05:03:54.000000000","message":"It makes sense to some extent, but Users cannot control which extension are enabled. It is an operator choice and there is no such mentions in the most command lines and it looks inconsistent. Do you suggest to add such information to all related options?\n\nIf you stick to adding this, please consider rephrasing it to:\n\n  Only available when \u0027external-net\u0027 extension is enabled.\n\nAt least \"From extension \u0027external-net\u0027\" is a incomplete string and I think it is not user-friendly.","commit_id":"ce192ac01a7049a893ffe197fb24d79faceccec2"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"b7d8b79220ec25c2ee2e66477e7bd2abcd97136e","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        utils.add_boolean_argument("},{"line_number":156,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":157,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027"},{"line_number":158,"context_line":"                   \u0027Only available when \"external-net\" extension is enabled.\u0027))"},{"line_number":159,"context_line":"        self.add_arguments_qos_policy(parser)"},{"line_number":160,"context_line":"        availability_zone.add_az_hint_argument(parser, self.resource)"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"1a7b0d38_880e6f39","line":158,"updated":"2015-12-28 20:46:20.000000000","message":"This appears to need a space to separate the sentences.\n\nAlso, what happens if this is specified but the extension is not enabled?","commit_id":"23988dbfc35797b15411dc72fd8443c1499e2a28"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"46e59701d6d01f6d021702107eb33a49482fce0f","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        utils.add_boolean_argument("},{"line_number":156,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":157,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027"},{"line_number":158,"context_line":"                   \u0027Only available when \"external-net\" extension is enabled.\u0027))"},{"line_number":159,"context_line":"        self.add_arguments_qos_policy(parser)"},{"line_number":160,"context_line":"        availability_zone.add_az_hint_argument(parser, self.resource)"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"fa69d971_040fe737","line":158,"in_reply_to":"1a7b0d38_880e6f39","updated":"2016-01-20 04:19:51.000000000","message":"If the extension is not enabled, the user could not use the router:external attribute. \nSo if the user wants to use this parameter, the extension ¨router-external¨ should be enabled.","commit_id":"23988dbfc35797b15411dc72fd8443c1499e2a28"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"b7d8b79220ec25c2ee2e66477e7bd2abcd97136e","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        utils.add_boolean_argument("},{"line_number":199,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":200,"context_line":"            help\u003d_(\u0027Set this network as external or not.\u0027"},{"line_number":201,"context_line":"                   \u0027Only available when \"external-net\" extension is enabled.\u0027))"},{"line_number":202,"context_line":"        self.add_arguments_qos_policy(parser)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    def args2body(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":26,"id":"1a7b0d38_a80b2b29","line":201,"updated":"2015-12-28 20:46:20.000000000","message":"This appears to need a space to separate the sentences.","commit_id":"23988dbfc35797b15411dc72fd8443c1499e2a28"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"befd180807f98cfdd0a3dd408dfa4d80f49bac4c","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            \u0027name\u0027, metavar\u003d\u0027NAME\u0027,"},{"line_number":154,"context_line":"            help\u003d_(\u0027Name of network to create.\u0027))"},{"line_number":155,"context_line":"        utils.add_boolean_argument("},{"line_number":156,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":157,"context_line":"            help\u003d_(\u0027Set this network as external or not. \u0027"},{"line_number":158,"context_line":"                   \u0027Only available when \"external-net\" extension is enabled.\u0027))"},{"line_number":159,"context_line":"        self.add_arguments_qos_policy(parser)"}],"source_content_type":"text/x-python","patch_set":27,"id":"fa69d971_259af0b9","line":156,"updated":"2016-01-06 05:04:33.000000000","message":"dest looks un-necessary.","commit_id":"dbee3313d78b4e22692368f1ba86138749bbcbdb"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"93c37ebef94a5b7526cc5f164e7d5e0fe3da25bc","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            \u0027name\u0027, metavar\u003d\u0027NAME\u0027,"},{"line_number":154,"context_line":"            help\u003d_(\u0027Name of network to create.\u0027))"},{"line_number":155,"context_line":"        utils.add_boolean_argument("},{"line_number":156,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":157,"context_line":"            help\u003d_(\u0027Set this network as external or not. \u0027"},{"line_number":158,"context_line":"                   \u0027Only available when \"external-net\" extension is enabled.\u0027))"},{"line_number":159,"context_line":"        self.add_arguments_qos_policy(parser)"}],"source_content_type":"text/x-python","patch_set":27,"id":"fa69d971_2fd61f4f","line":156,"in_reply_to":"fa69d971_259af0b9","updated":"2016-01-07 01:57:44.000000000","message":"Done","commit_id":"dbee3313d78b4e22692368f1ba86138749bbcbdb"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"befd180807f98cfdd0a3dd408dfa4d80f49bac4c","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            help\u003d_(\u0027Name of network to create.\u0027))"},{"line_number":155,"context_line":"        utils.add_boolean_argument("},{"line_number":156,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":157,"context_line":"            help\u003d_(\u0027Set this network as external or not. \u0027"},{"line_number":158,"context_line":"                   \u0027Only available when \"external-net\" extension is enabled.\u0027))"},{"line_number":159,"context_line":"        self.add_arguments_qos_policy(parser)"},{"line_number":160,"context_line":"        availability_zone.add_az_hint_argument(parser, self.resource)"}],"source_content_type":"text/x-python","patch_set":27,"id":"fa69d971_6508e828","line":157,"updated":"2016-01-06 05:04:33.000000000","message":"How about rephrasing the help as: \"Set as external network\"","commit_id":"dbee3313d78b4e22692368f1ba86138749bbcbdb"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"93c37ebef94a5b7526cc5f164e7d5e0fe3da25bc","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            help\u003d_(\u0027Name of network to create.\u0027))"},{"line_number":155,"context_line":"        utils.add_boolean_argument("},{"line_number":156,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":157,"context_line":"            help\u003d_(\u0027Set this network as external or not. \u0027"},{"line_number":158,"context_line":"                   \u0027Only available when \"external-net\" extension is enabled.\u0027))"},{"line_number":159,"context_line":"        self.add_arguments_qos_policy(parser)"},{"line_number":160,"context_line":"        availability_zone.add_az_hint_argument(parser, self.resource)"}],"source_content_type":"text/x-python","patch_set":27,"id":"fa69d971_cf242361","line":157,"in_reply_to":"fa69d971_6508e828","updated":"2016-01-07 01:57:44.000000000","message":"That would not directly reflect the variable´s true nature( the variable is a boolean) .\nHow about:\n\n¨Specify type of network.( True sets it as an external network).¨","commit_id":"dbee3313d78b4e22692368f1ba86138749bbcbdb"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"befd180807f98cfdd0a3dd408dfa4d80f49bac4c","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":188,"context_line":"        utils.add_boolean_argument("},{"line_number":189,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state_up\u0027,"},{"line_number":190,"context_line":"            help\u003d_(\u0027Specify the administrative state of the router\u0027"},{"line_number":191,"context_line":"                   \u0027 (True meaning \"Up\")\u0027))"},{"line_number":192,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":27,"id":"fa69d971_82463279","line":189,"updated":"2016-01-06 05:04:33.000000000","message":"dest looks un-necessary.","commit_id":"dbee3313d78b4e22692368f1ba86138749bbcbdb"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"93c37ebef94a5b7526cc5f164e7d5e0fe3da25bc","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":188,"context_line":"        utils.add_boolean_argument("},{"line_number":189,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state_up\u0027,"},{"line_number":190,"context_line":"            help\u003d_(\u0027Specify the administrative state of the router\u0027"},{"line_number":191,"context_line":"                   \u0027 (True meaning \"Up\")\u0027))"},{"line_number":192,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":27,"id":"fa69d971_8f238b55","line":189,"in_reply_to":"fa69d971_82463279","updated":"2016-01-07 01:57:44.000000000","message":"Done","commit_id":"dbee3313d78b4e22692368f1ba86138749bbcbdb"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"d5ad6bf74470e9ecb6abdc8c200828d5e4c3ae64","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":188,"context_line":"        utils.add_boolean_argument("},{"line_number":189,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state_up\u0027,"},{"line_number":190,"context_line":"            help\u003d_(\u0027Specify the administrative state of the router\u0027"},{"line_number":191,"context_line":"                   \u0027 (True meaning \"Up\")\u0027))"},{"line_number":192,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":27,"id":"da6ed579_daaa8385","line":189,"in_reply_to":"fa69d971_8f238b55","updated":"2016-01-20 04:20:07.000000000","message":"Correcting my answer: dest seems necessary with the add_boolean_argument(), so keeping it.\nOtherwise the mapping done in Line 207 is not possible","commit_id":"dbee3313d78b4e22692368f1ba86138749bbcbdb"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"befd180807f98cfdd0a3dd408dfa4d80f49bac4c","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                   \u0027 (True meaning \"Up\")\u0027))"},{"line_number":192,"context_line":"        parser.add_argument("},{"line_number":193,"context_line":"            \u0027--name\u0027,"},{"line_number":194,"context_line":"            help\u003d_(\u0027Updated Name of the network.\u0027))"},{"line_number":195,"context_line":"        utils.add_boolean_argument("},{"line_number":196,"context_line":"            parser, \u0027--shared\u0027,"},{"line_number":197,"context_line":"            help\u003d_(\u0027Set the network as shared.\u0027))"}],"source_content_type":"text/x-python","patch_set":27,"id":"fa69d971_a23496fb","line":194,"updated":"2016-01-06 05:04:33.000000000","message":"Name \u003d\u003d\u003e name","commit_id":"dbee3313d78b4e22692368f1ba86138749bbcbdb"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"93c37ebef94a5b7526cc5f164e7d5e0fe3da25bc","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                   \u0027 (True meaning \"Up\")\u0027))"},{"line_number":192,"context_line":"        parser.add_argument("},{"line_number":193,"context_line":"            \u0027--name\u0027,"},{"line_number":194,"context_line":"            help\u003d_(\u0027Updated Name of the network.\u0027))"},{"line_number":195,"context_line":"        utils.add_boolean_argument("},{"line_number":196,"context_line":"            parser, \u0027--shared\u0027,"},{"line_number":197,"context_line":"            help\u003d_(\u0027Set the network as shared.\u0027))"}],"source_content_type":"text/x-python","patch_set":27,"id":"fa69d971_4f191321","line":194,"in_reply_to":"fa69d971_a23496fb","updated":"2016-01-07 01:57:44.000000000","message":"Done","commit_id":"dbee3313d78b4e22692368f1ba86138749bbcbdb"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"befd180807f98cfdd0a3dd408dfa4d80f49bac4c","unresolved":false,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    def args2body(self, parsed_args):"},{"line_number":205,"context_line":"        body \u003d parse_common_args(parsed_args)"},{"line_number":206,"context_line":"        neutronV20.update_dict(parsed_args, body,"},{"line_number":207,"context_line":"                               [\u0027admin_state_up\u0027])"},{"line_number":208,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":209,"context_line":"        return {\u0027network\u0027: body}"}],"source_content_type":"text/x-python","patch_set":27,"id":"fa69d971_85ccfcbb","line":206,"updated":"2016-01-06 05:04:33.000000000","message":"Let\u0027s have the convention same as L164","commit_id":"dbee3313d78b4e22692368f1ba86138749bbcbdb"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"93c37ebef94a5b7526cc5f164e7d5e0fe3da25bc","unresolved":false,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    def args2body(self, parsed_args):"},{"line_number":205,"context_line":"        body \u003d parse_common_args(parsed_args)"},{"line_number":206,"context_line":"        neutronV20.update_dict(parsed_args, body,"},{"line_number":207,"context_line":"                               [\u0027admin_state_up\u0027])"},{"line_number":208,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":209,"context_line":"        return {\u0027network\u0027: body}"}],"source_content_type":"text/x-python","patch_set":27,"id":"fa69d971_0fd6bb27","line":206,"in_reply_to":"fa69d971_85ccfcbb","updated":"2016-01-07 01:57:44.000000000","message":"Done","commit_id":"dbee3313d78b4e22692368f1ba86138749bbcbdb"},{"author":{"_account_id":18321,"name":"Yu Jie","email":"yujie@cmss.chinamobile.com","username":"judy-yu"},"change_message_id":"2d30bfefec6b90fc4af88260c08f5d6e4658e212","unresolved":false,"context_lines":[{"line_number":195,"context_line":"            help\u003d_(\u0027Updated name of the network.\u0027))"},{"line_number":196,"context_line":"        utils.add_boolean_argument("},{"line_number":197,"context_line":"            parser, \u0027--shared\u0027,"},{"line_number":198,"context_line":"            help\u003d_(\u0027Set the network as shared.\u0027))"},{"line_number":199,"context_line":"        utils.add_boolean_argument("},{"line_number":200,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":201,"context_line":"            help\u003d_(\u0027Set this network as external or not. \u0027"}],"source_content_type":"text/x-python","patch_set":31,"id":"9a68dd71_40b52bcb","line":198,"range":{"start_line":198,"start_character":12,"end_line":198,"end_character":49},"updated":"2016-01-21 01:52:28.000000000","message":"Only admin could set network as shard. Should we underline it？","commit_id":"c8815f9c9c1f6217c2f8348e2b3ebc2f099f2e76"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"e2eff7f67c9cf88baf683f55ca0787b36d8494e7","unresolved":false,"context_lines":[{"line_number":195,"context_line":"            help\u003d_(\u0027Updated name of the network.\u0027))"},{"line_number":196,"context_line":"        utils.add_boolean_argument("},{"line_number":197,"context_line":"            parser, \u0027--shared\u0027,"},{"line_number":198,"context_line":"            help\u003d_(\u0027Set the network as shared.\u0027))"},{"line_number":199,"context_line":"        utils.add_boolean_argument("},{"line_number":200,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":201,"context_line":"            help\u003d_(\u0027Set this network as external or not. \u0027"}],"source_content_type":"text/x-python","patch_set":31,"id":"9a68dd71_4088cbe7","line":198,"range":{"start_line":198,"start_character":12,"end_line":198,"end_character":49},"in_reply_to":"9a68dd71_40b52bcb","updated":"2016-01-21 01:58:22.000000000","message":"How do we underline it in the CLI ?\nBesides, the CLI help messages/options do not change in the display for admin/normal tenants.\nHow do you wish to notify it ?This is something dependent on the admin_state, I guess","commit_id":"c8815f9c9c1f6217c2f8348e2b3ebc2f099f2e76"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"668f3036b0ae47f618a7b81d174bb15ebfbc4705","unresolved":false,"context_lines":[{"line_number":197,"context_line":"            parser, \u0027--shared\u0027,"},{"line_number":198,"context_line":"            help\u003d_(\u0027Set the network as shared.\u0027))"},{"line_number":199,"context_line":"        utils.add_boolean_argument("},{"line_number":200,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":201,"context_line":"            help\u003d_(\u0027Set this network as external or not. \u0027"},{"line_number":202,"context_line":"                   \u0027Only available when \"external-net\" extension is enabled.\u0027))"},{"line_number":203,"context_line":"        self.add_arguments_qos_policy(parser)"}],"source_content_type":"text/x-python","patch_set":31,"id":"9a68dd71_70a3819f","line":200,"updated":"2016-01-20 14:20:18.000000000","message":"Is dest necessary?","commit_id":"c8815f9c9c1f6217c2f8348e2b3ebc2f099f2e76"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"d463d5fe4fd806378d4b6e9ac43d0c4acca014e3","unresolved":false,"context_lines":[{"line_number":197,"context_line":"            parser, \u0027--shared\u0027,"},{"line_number":198,"context_line":"            help\u003d_(\u0027Set the network as shared.\u0027))"},{"line_number":199,"context_line":"        utils.add_boolean_argument("},{"line_number":200,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":201,"context_line":"            help\u003d_(\u0027Set this network as external or not. \u0027"},{"line_number":202,"context_line":"                   \u0027Only available when \"external-net\" extension is enabled.\u0027))"},{"line_number":203,"context_line":"        self.add_arguments_qos_policy(parser)"}],"source_content_type":"text/x-python","patch_set":31,"id":"9a68dd71_80c1e3e6","line":200,"in_reply_to":"9a68dd71_70a3819f","updated":"2016-01-21 03:16:14.000000000","message":"Done","commit_id":"c8815f9c9c1f6217c2f8348e2b3ebc2f099f2e76"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"668f3036b0ae47f618a7b81d174bb15ebfbc4705","unresolved":false,"context_lines":[{"line_number":198,"context_line":"            help\u003d_(\u0027Set the network as shared.\u0027))"},{"line_number":199,"context_line":"        utils.add_boolean_argument("},{"line_number":200,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":201,"context_line":"            help\u003d_(\u0027Set this network as external or not. \u0027"},{"line_number":202,"context_line":"                   \u0027Only available when \"external-net\" extension is enabled.\u0027))"},{"line_number":203,"context_line":"        self.add_arguments_qos_policy(parser)"},{"line_number":204,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"9a68dd71_d086ed12","line":201,"updated":"2016-01-20 14:20:18.000000000","message":"I think that the help text between create and update network should be the same for this argument.  I like this text with maybe the addition about True meaning external.","commit_id":"c8815f9c9c1f6217c2f8348e2b3ebc2f099f2e76"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"d463d5fe4fd806378d4b6e9ac43d0c4acca014e3","unresolved":false,"context_lines":[{"line_number":198,"context_line":"            help\u003d_(\u0027Set the network as shared.\u0027))"},{"line_number":199,"context_line":"        utils.add_boolean_argument("},{"line_number":200,"context_line":"            parser, \u0027--router:external\u0027, dest\u003d\u0027router:external\u0027,"},{"line_number":201,"context_line":"            help\u003d_(\u0027Set this network as external or not. \u0027"},{"line_number":202,"context_line":"                   \u0027Only available when \"external-net\" extension is enabled.\u0027))"},{"line_number":203,"context_line":"        self.add_arguments_qos_policy(parser)"},{"line_number":204,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"9a68dd71_60bcef6c","line":201,"in_reply_to":"9a68dd71_d086ed12","updated":"2016-01-21 03:16:14.000000000","message":"Done","commit_id":"c8815f9c9c1f6217c2f8348e2b3ebc2f099f2e76"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"d3f9f2446642e00837366477fafdc412daa0d847","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            help\u003d_(\u0027Name of network to create.\u0027))"},{"line_number":155,"context_line":"        utils.add_boolean_argument("},{"line_number":156,"context_line":"            parser, \u0027--router:external\u0027,"},{"line_number":157,"context_line":"            help\u003d_(\u0027Specify type of network.\u0027"},{"line_number":158,"context_line":"                   \u0027( True sets it as an external network). \u0027"},{"line_number":159,"context_line":"                   \u0027Only available when \"external-net\" extension is enabled.\u0027))"},{"line_number":160,"context_line":"        self.add_arguments_qos_policy(parser)"}],"source_content_type":"text/x-python","patch_set":32,"id":"9a68dd71_6e6362dd","line":157,"updated":"2016-01-21 14:20:16.000000000","message":"I think the punctuation is a little off here.  You don\u0027t need the period here.  And on the following line, I think you want a space before ( and not after it.  This would give you something like the following...\n\nSpecify type of network (True sets it as an external network).\n\nSimilar comment on UpdateNetwork...","commit_id":"4799395592a178b57c5285aca19135f723fc0d3b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"30eb2e605e8d15ab7fa6dbfff947849d73437698","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        return \u0027\u0027"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def parse_common_args(parsed_args):"},{"line_number":36,"context_line":"    body \u003d {}"},{"line_number":37,"context_line":"    neutronV20.update_dict(parsed_args, body,"},{"line_number":38,"context_line":"                           [\u0027name\u0027, \u0027shared\u0027, \u0027router:external\u0027])"}],"source_content_type":"text/x-python","patch_set":37,"id":"9a68dd71_dd573058","line":35,"updated":"2016-01-24 17:42:52.000000000","message":"Why do we have to call this method first?\nWhat we want to do is just to call update_dict() for common args,, but I think you are doing more. Honestly I don\u0027t see any reason we deal with parse_common_args specially.\n\nI am okay with this file, but it varies case by case.\nIn general I don\u0027t think it is easy to understand:\n\n  def args2body(..):\n      parse_common_args(parsed_args)\n      \u003cNOT SHORT logic\u003e\n      parsed_xxxx(parsed_args, body)\n      return {self.resource: body}\n\nI think the following is easier to understand in such case :\n\n  def args2body(...):\n     body \u003d {....}\n     \u003cNOT SHORT logic\u003e\n     parse_common_args(parsed_args, body)\n     parse_xxxx(parsed_args, body)","commit_id":"c48ef7779933415a701455589e13c18107316470"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"c468b61b0808f5714e5b553c2160d0b7edbeda19","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    def args2body(self, parsed_args):"},{"line_number":207,"context_line":"        body \u003d parse_common_args(parsed_args)"},{"line_number":208,"context_line":"        neutronV20.update_dict(parsed_args, body, [\u0027admin_state_up\u0027])"},{"line_number":209,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":210,"context_line":"        return {\u0027network\u0027: body}"}],"source_content_type":"text/x-python","patch_set":37,"id":"5a5ae5dd_c9121a57","line":208,"updated":"2016-02-06 10:10:44.000000000","message":"Ugh, it\u0027s awful that we have admin_state_down in one operation and admin_state_up in another.","commit_id":"c48ef7779933415a701455589e13c18107316470"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"81057a9c8c6d0ac55771c5a9a9a7d9ef5bb7a419","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    def args2body(self, parsed_args):"},{"line_number":207,"context_line":"        body \u003d parse_common_args(parsed_args)"},{"line_number":208,"context_line":"        neutronV20.update_dict(parsed_args, body, [\u0027admin_state_up\u0027])"},{"line_number":209,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":210,"context_line":"        return {\u0027network\u0027: body}"}],"source_content_type":"text/x-python","patch_set":37,"id":"5a5ae5dd_af5355e1","line":208,"updated":"2016-02-05 05:06:27.000000000","message":"what is special about admin_state_up here that it is specified but not shared or router external?\n\nAn inline comment would be good because it\u0027s not obvious why it\u0027s necessary.","commit_id":"c48ef7779933415a701455589e13c18107316470"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"5c24f5a16d252b1ab53f8cc5f338f3f0881349e7","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    def args2body(self, parsed_args):"},{"line_number":207,"context_line":"        body \u003d parse_common_args(parsed_args)"},{"line_number":208,"context_line":"        neutronV20.update_dict(parsed_args, body, [\u0027admin_state_up\u0027])"},{"line_number":209,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":210,"context_line":"        return {\u0027network\u0027: body}"}],"source_content_type":"text/x-python","patch_set":37,"id":"5a5ae5dd_1e689cb8","line":208,"in_reply_to":"5a5ae5dd_af5355e1","updated":"2016-02-05 06:21:58.000000000","message":"Hi Kevin, the parse_common_args function called just above updates the name, shared and router-external values.\nadmin_state_up is present only in UpdateNetwork, while in CreateNetwork,it is admin_state_down.\nThis policy has been followed in several of the NeutronClient patches ( defining a single function for the attributes common in Create* and Update* ).\nI am not sure if an inline comment is required,because as per the code flow, I think it would be understandable (??)\n\n\nAwaiting your thoughts...","commit_id":"c48ef7779933415a701455589e13c18107316470"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6c86d1a5df0e60afb6010ba88a3c9493a480d23f","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    def args2body(self, parsed_args):"},{"line_number":207,"context_line":"        body \u003d parse_common_args(parsed_args)"},{"line_number":208,"context_line":"        neutronV20.update_dict(parsed_args, body, [\u0027admin_state_up\u0027])"},{"line_number":209,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":210,"context_line":"        return {\u0027network\u0027: body}"}],"source_content_type":"text/x-python","patch_set":37,"id":"5a5ae5dd_49f06afe","line":208,"in_reply_to":"5a5ae5dd_c9121a57","updated":"2016-02-06 10:19:59.000000000","message":"Something we can learn during transition to Openstack Client","commit_id":"c48ef7779933415a701455589e13c18107316470"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"798e99f137b24770fad0abebd4ffbc05f0dcf9a5","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from neutronclient.neutron.v2_0.qos import policy as qos_policy"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def convert_to_boolean(ip):"},{"line_number":28,"context_line":"    if utils.convert_to_uppercase(ip) \u003d\u003d \"TRUE\":"},{"line_number":29,"context_line":"        return \"True\""},{"line_number":30,"context_line":"    elif utils.convert_to_uppercase(ip) \u003d\u003d \"FALSE\":"}],"source_content_type":"text/x-python","patch_set":41,"id":"3a57f1b5_abadf189","line":27,"updated":"2016-02-10 08:57:35.000000000","message":"I know I will face flak for this, and am ready for it.\nBut just want to make sure that the basic requirement of --router:external is caught up with the earlier behavior exposed by Openstack.\n\n--is-default is a pretty new Param, and user would not have any idea about it, so we can modulate the user to use this param in a specific way","commit_id":"31b2d4f1a44b01c8c0d3f899a6cd4fc2d15bf4c0"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"6aebcccbded122eebbc8695c655b96bf8468f5f8","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def convert_to_boolean(ip):"},{"line_number":28,"context_line":"    if utils.convert_to_uppercase(ip) \u003d\u003d \"TRUE\":"},{"line_number":29,"context_line":"        return \"True\""},{"line_number":30,"context_line":"    elif utils.convert_to_uppercase(ip) \u003d\u003d \"FALSE\":"},{"line_number":31,"context_line":"        return \"False\""}],"source_content_type":"text/x-python","patch_set":42,"id":"dae33548_8773fde6","line":28,"updated":"2016-02-16 10:04:19.000000000","message":"How about defining this in Utils?","commit_id":"801425ca8380caf9a604dfef020a5b1df1cd9550"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6e281317458cf34cc60be10741ec8d9ab6790f5e","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def convert_to_boolean(ip):"},{"line_number":28,"context_line":"    if utils.convert_to_uppercase(ip) \u003d\u003d \"TRUE\":"},{"line_number":29,"context_line":"        return \"True\""},{"line_number":30,"context_line":"    elif utils.convert_to_uppercase(ip) \u003d\u003d \"FALSE\":"},{"line_number":31,"context_line":"        return \"False\""}],"source_content_type":"text/x-python","patch_set":42,"id":"dae33548_33aced9f","line":28,"in_reply_to":"dae33548_8773fde6","updated":"2016-03-07 07:44:27.000000000","message":"Will be removing it. This is not required as of now:)","commit_id":"801425ca8380caf9a604dfef020a5b1df1cd9550"}],"neutronclient/tests/unit/test_cli20_network.py":[{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"f85065038e3bff32d371b086e78a9cb69f47199d","unresolved":false,"context_lines":[{"line_number":454,"context_line":"                                    \u0027tags\u0027: [\u0027a\u0027, \u0027b\u0027], }"},{"line_number":455,"context_line":"                                   )"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    def test_update_network_admin_state(self):"},{"line_number":458,"context_line":"        \"\"\"Update net: myid --admin-state-up \u003cTrue|False\u003e.\"\"\""},{"line_number":459,"context_line":"        resource \u003d \u0027network\u0027"},{"line_number":460,"context_line":"        cmd \u003d network.UpdateNetwork(test_cli20.MyApp(sys.stdout), None)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_733ab299","line":457,"updated":"2014-12-17 11:22:39.000000000","message":"You don\u0027t have to create a separate UT for testing update of each attribute. You can easily update admin-state-up, shared and router:external with one request.","commit_id":"2135ac830f23d85fe17a15e906a0f13bcf43d636"},{"author":{"_account_id":13467,"name":"P. Watsalya Mishra","email":"watsalya.mishra@tcs.com","username":"watsalya"},"change_message_id":"0f16795dbeef508afe6c93ec7d53150324fa31d4","unresolved":false,"context_lines":[{"line_number":454,"context_line":"                                    \u0027tags\u0027: [\u0027a\u0027, \u0027b\u0027], }"},{"line_number":455,"context_line":"                                   )"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    def test_update_network_admin_state(self):"},{"line_number":458,"context_line":"        \"\"\"Update net: myid --admin-state-up \u003cTrue|False\u003e.\"\"\""},{"line_number":459,"context_line":"        resource \u003d \u0027network\u0027"},{"line_number":460,"context_line":"        cmd \u003d network.UpdateNetwork(test_cli20.MyApp(sys.stdout), None)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_b35dfa7b","line":457,"in_reply_to":"3a961159_733ab299","updated":"2014-12-17 11:38:26.000000000","message":"Thanks for the suggestion. I\u0027ll make the required changes and submit another patch for it soon.","commit_id":"2135ac830f23d85fe17a15e906a0f13bcf43d636"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0eb6fd259b7d0194dd4a6cc7d591345cf1e5def4","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        cmd \u003d network.CreateNetwork(test_cli20.MyApp(sys.stdout), None)"},{"line_number":110,"context_line":"        name \u003d \u0027myname\u0027"},{"line_number":111,"context_line":"        myid \u003d \u0027myid\u0027"},{"line_number":112,"context_line":"        args \u003d [\u0027--admin_state_down\u0027, name, ]"},{"line_number":113,"context_line":"        position_names \u003d [\u0027name\u0027, ]"},{"line_number":114,"context_line":"        position_values \u003d [name, ]"},{"line_number":115,"context_line":"        self._test_create_resource(resource, cmd, name, myid, args,"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a2ca52d_3396314d","side":"PARENT","line":112,"updated":"2015-10-14 11:25:46.000000000","message":"why are you changing the existing test?","commit_id":"0a45ce828259f2b4f96fa89eb73ff2b1805f6a66"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"592f5c769dca27c35078f9ea3665cbd1467aa118","unresolved":false,"context_lines":[{"line_number":28,"context_line":"class CLITestV20NetworkJSON(test_cli20.CLITestV20Base):"},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(CLITestV20NetworkJSON, self).setUp(plurals\u003d{\u0027tags\u0027: \u0027tag\u0027})"},{"line_number":31,"context_line":"        self.arg_dict \u003d {\u0027admin_state_up\u0027: True}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def test_create_network(self):"},{"line_number":34,"context_line":"        \"\"\"Create net: myname.\"\"\""}],"source_content_type":"text/x-python","patch_set":20,"id":"5a2ca52d_9862d0d7","line":31,"updated":"2015-10-14 02:15:54.000000000","message":"These changes have been added due to the dependency with https://review.openstack.org/#/c/190968/25\n\nAlso, it is possible that the code in #190968 might be changed.","commit_id":"022bc4e2f810d5814d26711f0bd4a0025ee90777"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0eb6fd259b7d0194dd4a6cc7d591345cf1e5def4","unresolved":false,"context_lines":[{"line_number":486,"context_line":"                                       [\u0027myid\u0027, \u0027--admin-state-up\u0027],"},{"line_number":487,"context_line":"                                       {\u0027admin_state_up\u0027: True})"},{"line_number":488,"context_line":"        except Exception as exc:"},{"line_number":489,"context_line":"            self.assertEqual(exceptions.CommandError, exc)"},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"    def test_update_network(self):"},{"line_number":492,"context_line":"        \"\"\"Update net: myid --name myname --tags a b.\"\"\""}],"source_content_type":"text/x-python","patch_set":20,"id":"5a2ca52d_7399096e","line":489,"updated":"2015-10-14 11:25:46.000000000","message":"It is not a good idea to use try/except in the test code.\nConsider specifying an expected exception explicitly instead.","commit_id":"022bc4e2f810d5814d26711f0bd4a0025ee90777"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0eb6fd259b7d0194dd4a6cc7d591345cf1e5def4","unresolved":false,"context_lines":[{"line_number":494,"context_line":"        cmd \u003d network.UpdateNetwork(test_cli20.MyApp(sys.stdout), None)"},{"line_number":495,"context_line":"        self._test_update_resource(resource, cmd, \u0027myid\u0027,"},{"line_number":496,"context_line":"                                   [\u0027myid\u0027, \u0027--name\u0027, \u0027myname\u0027,"},{"line_number":497,"context_line":"                                    \u0027--tags\u0027, \u0027a\u0027, \u0027b\u0027, \u0027--admin-state-up\u0027],"},{"line_number":498,"context_line":"                                   {\u0027name\u0027: \u0027myname\u0027, \u0027tags\u0027: [\u0027a\u0027, \u0027b\u0027],"},{"line_number":499,"context_line":"                                    \u0027admin_state_up\u0027: True, }"},{"line_number":500,"context_line":"                                   )"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a2ca52d_d3e25dd5","line":497,"updated":"2015-10-14 11:25:46.000000000","message":"Why are you changing all existing tests?\nWe need to keep the existing behavior, so the existing tests should not be touched without reasonable reasons.","commit_id":"022bc4e2f810d5814d26711f0bd4a0025ee90777"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"b61d45c179e15816c6a10a7f3db16fe7042d1545","unresolved":false,"context_lines":[{"line_number":494,"context_line":"        cmd \u003d network.UpdateNetwork(test_cli20.MyApp(sys.stdout), None)"},{"line_number":495,"context_line":"        self._test_update_resource(resource, cmd, \u0027myid\u0027,"},{"line_number":496,"context_line":"                                   [\u0027myid\u0027, \u0027--name\u0027, \u0027myname\u0027,"},{"line_number":497,"context_line":"                                    \u0027--tags\u0027, \u0027a\u0027, \u0027b\u0027, \u0027--admin-state-up\u0027],"},{"line_number":498,"context_line":"                                   {\u0027name\u0027: \u0027myname\u0027, \u0027tags\u0027: [\u0027a\u0027, \u0027b\u0027],"},{"line_number":499,"context_line":"                                    \u0027admin_state_up\u0027: True, }"},{"line_number":500,"context_line":"                                   )"}],"source_content_type":"text/x-python","patch_set":20,"id":"3a29b11f_9bd17dfe","line":497,"in_reply_to":"5a2ca52d_d3e25dd5","updated":"2015-11-02 08:37:07.000000000","message":"Hi Akihiro, \nThese changes have been reverted in the new patch.","commit_id":"022bc4e2f810d5814d26711f0bd4a0025ee90777"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"bab7c98fe17674502f686add4d912a4efab5e0e1","unresolved":false,"context_lines":[{"line_number":600,"context_line":"                        \u0027X-Auth-Token\u0027, test_cli20.TOKEN)).AndReturn(response)"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"        self._test_extend_list(mox_calls)"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"    def test_update_network_parameters_admin_state_and_shared(self):"},{"line_number":605,"context_line":"        \"\"\"Update net: myid --admin-state-up \u003cTrue|False\u003e"},{"line_number":606,"context_line":"        --shared \u003cTrue|False\u003e."}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_1c5b2c30","line":603,"updated":"2015-12-09 22:14:35.000000000","message":"There are test_update_* tests above. You should add a test around existing tests.","commit_id":"ce192ac01a7049a893ffe197fb24d79faceccec2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6291bc5bb74082d5a7c51d623cc5e71b696d667e","unresolved":false,"context_lines":[{"line_number":600,"context_line":"                        \u0027X-Auth-Token\u0027, test_cli20.TOKEN)).AndReturn(response)"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"        self._test_extend_list(mox_calls)"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"    def test_update_network_parameters_admin_state_and_shared(self):"},{"line_number":605,"context_line":"        \"\"\"Update net: myid --admin-state-up \u003cTrue|False\u003e"},{"line_number":606,"context_line":"        --shared \u003cTrue|False\u003e."}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_cf715679","line":603,"in_reply_to":"7a740942_1c5b2c30","updated":"2015-12-10 01:25:35.000000000","message":"Ok, will do it in the next patch set, once I get the confirmation for the earlier comments","commit_id":"ce192ac01a7049a893ffe197fb24d79faceccec2"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"bab7c98fe17674502f686add4d912a4efab5e0e1","unresolved":false,"context_lines":[{"line_number":601,"context_line":""},{"line_number":602,"context_line":"        self._test_extend_list(mox_calls)"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"    def test_update_network_parameters_admin_state_and_shared(self):"},{"line_number":605,"context_line":"        \"\"\"Update net: myid --admin-state-up \u003cTrue|False\u003e"},{"line_number":606,"context_line":"        --shared \u003cTrue|False\u003e."},{"line_number":607,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_5fac518c","line":604,"updated":"2015-12-09 22:14:35.000000000","message":"The method name is no longer appropriate. you specify various options.","commit_id":"ce192ac01a7049a893ffe197fb24d79faceccec2"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"bab7c98fe17674502f686add4d912a4efab5e0e1","unresolved":false,"context_lines":[{"line_number":637,"context_line":"                                    \u0027shared\u0027: \u0027false\u0027,"},{"line_number":638,"context_line":"                                    \u0027router:external\u0027: \u0027false\u0027}"},{"line_number":639,"context_line":"                                   )"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"    def test_create_network_external(self):"},{"line_number":642,"context_line":"        \"\"\"Create net: --router:external myname.\"\"\""},{"line_number":643,"context_line":"        resource \u003d \u0027network\u0027"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_5c78d48f","line":640,"updated":"2015-12-09 22:14:35.000000000","message":"Consider placing test_create tests around existing test_create_* tests.","commit_id":"ce192ac01a7049a893ffe197fb24d79faceccec2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6291bc5bb74082d5a7c51d623cc5e71b696d667e","unresolved":false,"context_lines":[{"line_number":637,"context_line":"                                    \u0027shared\u0027: \u0027false\u0027,"},{"line_number":638,"context_line":"                                    \u0027router:external\u0027: \u0027false\u0027}"},{"line_number":639,"context_line":"                                   )"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"    def test_create_network_external(self):"},{"line_number":642,"context_line":"        \"\"\"Create net: --router:external myname.\"\"\""},{"line_number":643,"context_line":"        resource \u003d \u0027network\u0027"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_8f6b4e85","line":640,"in_reply_to":"7a740942_5c78d48f","updated":"2015-12-10 01:25:35.000000000","message":"Ok, will do it in the next patch set, once I get the confirmation for the earlier comments","commit_id":"ce192ac01a7049a893ffe197fb24d79faceccec2"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"011a0dc6618e779825e7e66aa7a8411b10b1c8ff","unresolved":false,"context_lines":[{"line_number":165,"context_line":"                                   position_names, position_values)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def test_create_network_external(self):"},{"line_number":168,"context_line":"        \"\"\"Create net: --router:external myname.\"\"\""},{"line_number":169,"context_line":"        resource \u003d \u0027network\u0027"},{"line_number":170,"context_line":"        cmd \u003d network.CreateNetwork(test_cli20.MyApp(sys.stdout), None)"},{"line_number":171,"context_line":"        name \u003d \u0027myname\u0027"}],"source_content_type":"text/x-python","patch_set":33,"id":"9a68dd71_a1fe4869","line":168,"range":{"start_line":168,"start_character":8,"end_line":168,"end_character":51},"updated":"2016-01-21 15:52:11.000000000","message":"Could you rebase on top of the laster master?\n\nWe are now using \"# Create net: .... \" rather than docstring style.","commit_id":"af4ff59fc444b197d1419ae8f51a5d43ae75009c"}]}
