)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16788,"name":"Ramanjaneya Reddy Palleti","email":"ramanjaneya.palleti@huawei.com","username":"Ramanjaneya"},"change_message_id":"f3ccc719eda20d867d42d7c9e277683d3960702c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fixed the help CLI info of lbaas-pool-update"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron lbaas-pool-update --help command should show the particular "},{"line_number":10,"context_line":"info just like neutron lbaas-pool-create --help command showed in"},{"line_number":11,"context_line":"neutron-client"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3a50d1a3_5151940d","line":9,"updated":"2015-07-24 04:47:26.000000000","message":"remove extra space","commit_id":"dd80e9098ee97554f0dcb81e46fb9e036fb06a90"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"219f60400bb92ae12e4cac45d6204eea53effaf0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fixed the help CLI info of lbaas-pool-update"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron lbaas-pool-update --help command should show the particular "},{"line_number":10,"context_line":"info just like neutron lbaas-pool-create --help command showed in"},{"line_number":11,"context_line":"neutron-client"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3a50d1a3_5830d007","line":9,"in_reply_to":"3a50d1a3_5151940d","updated":"2015-07-24 09:42:20.000000000","message":"Done","commit_id":"dd80e9098ee97554f0dcb81e46fb9e036fb06a90"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"bca164ae7ac73c3b289b553ab83730dab3ef1a03","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fixed the help CLI info of lbaas-pool-update"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron lbaas-pool-update --help command should show the particular"},{"line_number":10,"context_line":"info just like lbaas-pool-create --help command showed in neutron-client"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I92bc0cc73bd33ef859624d156e95a090e90ff441"},{"line_number":13,"context_line":"Closes-Bug:#1463790"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"da20952f_27e38fa5","line":10,"updated":"2015-09-08 05:43:05.000000000","message":"Add \u0027DocImpact\u0027 tag.","commit_id":"3bbb3abfd1fc1e8be2db69dc100bc00625b0a011"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6e9320cf673ee31924c5a24799b676af437a6c5b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fixed the help CLI info of lbaas-pool-update"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron lbaas-pool-update --help command should show the particular"},{"line_number":10,"context_line":"info just like lbaas-pool-create --help command showed in neutron-client"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I92bc0cc73bd33ef859624d156e95a090e90ff441"},{"line_number":13,"context_line":"Closes-Bug:#1463790"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"ba8a016a_3d132a0f","line":10,"updated":"2015-11-18 06:28:37.000000000","message":"Nits:73 characters and Full Stop missing.\nPlease fix them as well","commit_id":"0a45ce828259f2b4f96fa89eb73ff2b1805f6a66"}],"neutronclient/common/utils.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"51e9d61460300203c4264456be0290a36d5889aa","unresolved":false,"context_lines":[{"line_number":183,"context_line":"def add_admin_state_argument(parser):"},{"line_number":184,"context_line":"        group \u003d parser.add_mutually_exclusive_group()"},{"line_number":185,"context_line":"        name_actions_mapping \u003d {"},{"line_number":186,"context_line":"            \u0027--admin-state-up\u0027: [\u0027store_true\u0027, \u0027true\u0027],"},{"line_number":187,"context_line":"            \u0027--admin-state-down\u0027: [\u0027store_false\u0027, \u0027false\u0027]"},{"line_number":188,"context_line":"        }"},{"line_number":189,"context_line":"        for name in name_actions_mapping.keys():"}],"source_content_type":"text/x-python","patch_set":22,"id":"ba15a1d1_ee05c410","line":186,"range":{"start_line":186,"start_character":32,"end_line":186,"end_character":54},"updated":"2015-09-17 05:02:21.000000000","message":"Consider using dict:\n\n  \u0027--admin-state-up\u0027: {\u0027action\u0027: \u0027store_true\u0027, \u0027value\u0027: \u0027true\u0027}","commit_id":"8ce201bb561a4acabdc2d3576f2417938bc995b9"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"594df72ac0932a9d895702431c5b3a2b27cb580f","unresolved":false,"context_lines":[{"line_number":183,"context_line":"def add_admin_state_argument(parser):"},{"line_number":184,"context_line":"        group \u003d parser.add_mutually_exclusive_group()"},{"line_number":185,"context_line":"        name_actions_mapping \u003d {"},{"line_number":186,"context_line":"            \u0027--admin-state-up\u0027: [\u0027store_true\u0027, \u0027true\u0027],"},{"line_number":187,"context_line":"            \u0027--admin-state-down\u0027: [\u0027store_false\u0027, \u0027false\u0027]"},{"line_number":188,"context_line":"        }"},{"line_number":189,"context_line":"        for name in name_actions_mapping.keys():"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_759c420f","line":186,"in_reply_to":"7a2fa921_2ccc6069","updated":"2015-10-08 03:22:48.000000000","message":"Thanks for review.","commit_id":"8ce201bb561a4acabdc2d3576f2417938bc995b9"},{"author":{"_account_id":16707,"name":"Mohankumar","email":"nmohankumar1011@gmail.com","username":"mohankumar_n"},"change_message_id":"9302c517b8de4c3512aeb6536d44b47893d5efed","unresolved":false,"context_lines":[{"line_number":183,"context_line":"def add_admin_state_argument(parser):"},{"line_number":184,"context_line":"        group \u003d parser.add_mutually_exclusive_group()"},{"line_number":185,"context_line":"        name_actions_mapping \u003d {"},{"line_number":186,"context_line":"            \u0027--admin-state-up\u0027: [\u0027store_true\u0027, \u0027true\u0027],"},{"line_number":187,"context_line":"            \u0027--admin-state-down\u0027: [\u0027store_false\u0027, \u0027false\u0027]"},{"line_number":188,"context_line":"        }"},{"line_number":189,"context_line":"        for name in name_actions_mapping.keys():"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_2ccc6069","line":186,"in_reply_to":"ba15a1d1_ee05c410","updated":"2015-10-07 14:47:57.000000000","message":"Akihiro: +1","commit_id":"8ce201bb561a4acabdc2d3576f2417938bc995b9"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"594df72ac0932a9d895702431c5b3a2b27cb580f","unresolved":false,"context_lines":[{"line_number":183,"context_line":"def add_admin_state_argument(parser):"},{"line_number":184,"context_line":"        group \u003d parser.add_mutually_exclusive_group()"},{"line_number":185,"context_line":"        name_actions_mapping \u003d {"},{"line_number":186,"context_line":"            \u0027--admin-state-up\u0027: [\u0027store_true\u0027, \u0027true\u0027],"},{"line_number":187,"context_line":"            \u0027--admin-state-down\u0027: [\u0027store_false\u0027, \u0027false\u0027]"},{"line_number":188,"context_line":"        }"},{"line_number":189,"context_line":"        for name in name_actions_mapping.keys():"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_95fa3e42","line":186,"in_reply_to":"ba15a1d1_ee05c410","updated":"2015-10-08 03:22:48.000000000","message":"Thank you for review. The suggestion is wonderful.","commit_id":"8ce201bb561a4acabdc2d3576f2417938bc995b9"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"51e9d61460300203c4264456be0290a36d5889aa","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            \u0027--admin-state-up\u0027: [\u0027store_true\u0027, \u0027true\u0027],"},{"line_number":187,"context_line":"            \u0027--admin-state-down\u0027: [\u0027store_false\u0027, \u0027false\u0027]"},{"line_number":188,"context_line":"        }"},{"line_number":189,"context_line":"        for name in name_actions_mapping.keys():"},{"line_number":190,"context_line":"            helpinfo \u003d (\u0027Set admin state up to %s\u0027 %"},{"line_number":191,"context_line":"                        name_actions_mapping[name][1])"},{"line_number":192,"context_line":"            group.add_argument("}],"source_content_type":"text/x-python","patch_set":22,"id":"ba15a1d1_ae0b4c23","line":189,"range":{"start_line":189,"start_character":7,"end_line":189,"end_character":48},"updated":"2015-09-17 05:02:21.000000000","message":"Consider:\n\n  for name, item in name_actions_mapping.items():","commit_id":"8ce201bb561a4acabdc2d3576f2417938bc995b9"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"594df72ac0932a9d895702431c5b3a2b27cb580f","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            \u0027--admin-state-up\u0027: [\u0027store_true\u0027, \u0027true\u0027],"},{"line_number":187,"context_line":"            \u0027--admin-state-down\u0027: [\u0027store_false\u0027, \u0027false\u0027]"},{"line_number":188,"context_line":"        }"},{"line_number":189,"context_line":"        for name in name_actions_mapping.keys():"},{"line_number":190,"context_line":"            helpinfo \u003d (\u0027Set admin state up to %s\u0027 %"},{"line_number":191,"context_line":"                        name_actions_mapping[name][1])"},{"line_number":192,"context_line":"            group.add_argument("}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_35a24a4c","line":189,"in_reply_to":"ba15a1d1_ae0b4c23","updated":"2015-10-08 03:22:48.000000000","message":"Thanks, the way is more simple to work.","commit_id":"8ce201bb561a4acabdc2d3576f2417938bc995b9"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"51e9d61460300203c4264456be0290a36d5889aa","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        }"},{"line_number":189,"context_line":"        for name in name_actions_mapping.keys():"},{"line_number":190,"context_line":"            helpinfo \u003d (\u0027Set admin state up to %s\u0027 %"},{"line_number":191,"context_line":"                        name_actions_mapping[name][1])"},{"line_number":192,"context_line":"            group.add_argument("},{"line_number":193,"context_line":"                name,"},{"line_number":194,"context_line":"                dest\u003d\u0027admin_state\u0027, action\u003dname_actions_mapping[name][0],"}],"source_content_type":"text/x-python","patch_set":22,"id":"ba15a1d1_ce27a0b4","line":191,"range":{"start_line":191,"start_character":24,"end_line":191,"end_character":53},"updated":"2015-09-17 05:02:21.000000000","message":"If you follow the above comments, it will be:\n\n  item[\u0027value\u0027]\n\nand L.194 would be:\n\n  action\u003ditem[\u0027action\u0027]","commit_id":"8ce201bb561a4acabdc2d3576f2417938bc995b9"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"594df72ac0932a9d895702431c5b3a2b27cb580f","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        }"},{"line_number":189,"context_line":"        for name in name_actions_mapping.keys():"},{"line_number":190,"context_line":"            helpinfo \u003d (\u0027Set admin state up to %s\u0027 %"},{"line_number":191,"context_line":"                        name_actions_mapping[name][1])"},{"line_number":192,"context_line":"            group.add_argument("},{"line_number":193,"context_line":"                name,"},{"line_number":194,"context_line":"                dest\u003d\u0027admin_state\u0027, action\u003dname_actions_mapping[name][0],"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_f58852c7","line":191,"in_reply_to":"ba15a1d1_ce27a0b4","updated":"2015-10-08 03:22:48.000000000","message":"Done","commit_id":"8ce201bb561a4acabdc2d3576f2417938bc995b9"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"51e9d61460300203c4264456be0290a36d5889aa","unresolved":false,"context_lines":[{"line_number":192,"context_line":"            group.add_argument("},{"line_number":193,"context_line":"                name,"},{"line_number":194,"context_line":"                dest\u003d\u0027admin_state\u0027, action\u003dname_actions_mapping[name][0],"},{"line_number":195,"context_line":"                help\u003d_(helpinfo)"},{"line_number":196,"context_line":"            )"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"ba15a1d1_6b5d2646","line":195,"range":{"start_line":195,"start_character":15,"end_line":195,"end_character":32},"updated":"2015-09-17 05:02:21.000000000","message":"We need to pass a string directly to _().\n\n help\u003d_(\"Set admin state up to %s\") % name_actions_mapping[name][1])\n\nor use _() at L.190.","commit_id":"8ce201bb561a4acabdc2d3576f2417938bc995b9"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"594df72ac0932a9d895702431c5b3a2b27cb580f","unresolved":false,"context_lines":[{"line_number":192,"context_line":"            group.add_argument("},{"line_number":193,"context_line":"                name,"},{"line_number":194,"context_line":"                dest\u003d\u0027admin_state\u0027, action\u003dname_actions_mapping[name][0],"},{"line_number":195,"context_line":"                help\u003d_(helpinfo)"},{"line_number":196,"context_line":"            )"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_55bee665","line":195,"in_reply_to":"7a2fa921_956ef094","updated":"2015-10-08 03:22:48.000000000","message":"Thanks for review.","commit_id":"8ce201bb561a4acabdc2d3576f2417938bc995b9"},{"author":{"_account_id":16788,"name":"Ramanjaneya Reddy Palleti","email":"ramanjaneya.palleti@huawei.com","username":"Ramanjaneya"},"change_message_id":"54f7884a4e41d903c62f2cef60d746057fff5bb4","unresolved":false,"context_lines":[{"line_number":192,"context_line":"            group.add_argument("},{"line_number":193,"context_line":"                name,"},{"line_number":194,"context_line":"                dest\u003d\u0027admin_state\u0027, action\u003dname_actions_mapping[name][0],"},{"line_number":195,"context_line":"                help\u003d_(helpinfo)"},{"line_number":196,"context_line":"            )"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_956ef094","line":195,"in_reply_to":"ba15a1d1_6b5d2646","updated":"2015-10-07 05:52:41.000000000","message":"+1","commit_id":"8ce201bb561a4acabdc2d3576f2417938bc995b9"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"594df72ac0932a9d895702431c5b3a2b27cb580f","unresolved":false,"context_lines":[{"line_number":192,"context_line":"            group.add_argument("},{"line_number":193,"context_line":"                name,"},{"line_number":194,"context_line":"                dest\u003d\u0027admin_state\u0027, action\u003dname_actions_mapping[name][0],"},{"line_number":195,"context_line":"                help\u003d_(helpinfo)"},{"line_number":196,"context_line":"            )"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"7a2fa921_9591def3","line":195,"in_reply_to":"ba15a1d1_6b5d2646","updated":"2015-10-08 03:22:48.000000000","message":"Done","commit_id":"8ce201bb561a4acabdc2d3576f2417938bc995b9"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"40a04dbeb189e95c601a81311a9fe25bdbbe3184","unresolved":false,"context_lines":[{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"def add_admin_state_argument(parser):"},{"line_number":184,"context_line":"        group \u003d parser.add_mutually_exclusive_group()"},{"line_number":185,"context_line":"        name_actions_mapping \u003d {"},{"line_number":186,"context_line":"            \u0027--admin-state-up\u0027: {\u0027action\u0027: \u0027store_true\u0027, \u0027value\u0027: \u0027true\u0027},"},{"line_number":187,"context_line":"            \u0027--admin-state-down\u0027: {\u0027action\u0027: \u0027store_false\u0027, \u0027value\u0027: \u0027false\u0027}"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a2fa921_e315f53f","line":184,"updated":"2015-10-08 06:43:00.000000000","message":"IMHO, this could be much simpler as:\n\ndef add_admin_state_argument(parser):\n    group \u003d parser.add_mutually_exclusive_group()\n    group.add_argument(\u0027--admin-state-up\u0027,\n                       dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_true\u0027,\n                       help\u003d_(\"Set admin state up to true\"))\n    group.add_argument(\u0027--admin-state-down\u0027,\n                      dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,\n                      help\u003d_(\"Set admin state up to false\"))","commit_id":"fac5d0c33e2dddea288b91e8c6a7ba6ff88bc5f6"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"1b3d4b284cd2eac55c4cfbcdf88eb07248faa605","unresolved":false,"context_lines":[{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"def add_admin_state_argument(parser):"},{"line_number":184,"context_line":"        group \u003d parser.add_mutually_exclusive_group()"},{"line_number":185,"context_line":"        name_actions_mapping \u003d {"},{"line_number":186,"context_line":"            \u0027--admin-state-up\u0027: {\u0027action\u0027: \u0027store_true\u0027, \u0027value\u0027: \u0027true\u0027},"},{"line_number":187,"context_line":"            \u0027--admin-state-down\u0027: {\u0027action\u0027: \u0027store_false\u0027, \u0027value\u0027: \u0027false\u0027}"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a2fa921_f3e915b8","line":184,"in_reply_to":"7a2fa921_e315f53f","updated":"2015-10-09 01:27:44.000000000","message":"Thanks for review. This function should not add a loop here..","commit_id":"fac5d0c33e2dddea288b91e8c6a7ba6ff88bc5f6"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"3e1f9c6f5dc799ffaa5546d4b3acf1124677c05b","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        group.add_argument(\u0027--admin-state-up\u0027,"},{"line_number":186,"context_line":"                           dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":187,"context_line":"                           help\u003d_(\"Set admin state up to true\"))"},{"line_number":188,"context_line":"        group.add_argument(\u0027--admin-state-down\u0027,"},{"line_number":189,"context_line":"                           dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":190,"context_line":"                           help\u003d_(\"Set admin state up to false\"))"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"7a2fa921_a4403135","line":188,"updated":"2015-10-09 02:58:43.000000000","message":"Hi,\nCan you also confirm if the following are applicable :\n--admin_state_up\n--admin_state_down ?\nI think they are applicable in some CLIs , but confirmation may be required.","commit_id":"0afa8cd47d48ec0a87ce1ad6a8518eaaf414a2a5"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"1c1fc2c1a0beeeed7a181a169ca37928735964a9","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        group.add_argument(\u0027--admin-state-up\u0027,"},{"line_number":186,"context_line":"                           dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":187,"context_line":"                           help\u003d_(\"Set admin state up to true\"))"},{"line_number":188,"context_line":"        group.add_argument(\u0027--admin-state-down\u0027,"},{"line_number":189,"context_line":"                           dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":190,"context_line":"                           help\u003d_(\"Set admin state up to false\"))"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"7a2fa921_0ed26328","line":188,"in_reply_to":"7a2fa921_a4403135","updated":"2015-10-09 06:06:36.000000000","message":"Hi , Thanks for review. It is applicable as you said.","commit_id":"0afa8cd47d48ec0a87ce1ad6a8518eaaf414a2a5"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4ac80c12d2f487a24c02fa99fb34afb5c76394d9","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        group.add_argument(\u0027--admin-state-up\u0027,"},{"line_number":186,"context_line":"                           dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":187,"context_line":"                           help\u003d_(\"Set admin state up to true\"))"},{"line_number":188,"context_line":"        group.add_argument(\u0027--admin-state-down\u0027,"},{"line_number":189,"context_line":"                           dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":190,"context_line":"                           help\u003d_(\"Set admin state up to false\"))"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"7a2fa921_fea63c52","line":188,"updated":"2015-10-13 08:51:45.000000000","message":"Will this be able to handle --admin-state-up\u003dTrue ?","commit_id":"a700f6cbfa7dac6fca20bd5e7c789d763927428f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"a2c3a2cd0f56384cc84124576639c487b54b7366","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        group.add_argument(\u0027--admin-state-up\u0027,"},{"line_number":186,"context_line":"                           dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":187,"context_line":"                           help\u003d_(\"Set admin state up to true\"))"},{"line_number":188,"context_line":"        group.add_argument(\u0027--admin-state-down\u0027,"},{"line_number":189,"context_line":"                           dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":190,"context_line":"                           help\u003d_(\"Set admin state up to false\"))"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"5a2ca52d_3b3a9637","line":188,"in_reply_to":"5a2ca52d_9b1aca16","updated":"2015-10-14 02:06:07.000000000","message":"Hi ZhaoBo,\nThen it would create a problem.\nAs per discussion with Ihar, this syntax MUST work as otherwise it would break backward compatibility.\n\nFor reference: https://bugs.launchpad.net/python-neutronclient/+bug/1504411/comments/1","commit_id":"a700f6cbfa7dac6fca20bd5e7c789d763927428f"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"39a5985eb1b8db1993850655abd4cfea2f649b6a","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        group.add_argument(\u0027--admin-state-up\u0027,"},{"line_number":186,"context_line":"                           dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":187,"context_line":"                           help\u003d_(\"Set admin state up to true\"))"},{"line_number":188,"context_line":"        group.add_argument(\u0027--admin-state-down\u0027,"},{"line_number":189,"context_line":"                           dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":190,"context_line":"                           help\u003d_(\"Set admin state up to false\"))"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"5a2ca52d_9b1aca16","line":188,"in_reply_to":"7a2fa921_fea63c52","updated":"2015-10-14 02:02:11.000000000","message":"Hi , thanks for your patience, I had add \u0027--admin_state_up\u0027 and \u0027--admin_state_down\u0027 here. \"--admin-state-up\u003dTrue\" will not be applicable. It will show \"ignored explicit argument \u0027True\u0027\"","commit_id":"a700f6cbfa7dac6fca20bd5e7c789d763927428f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"68687ddf812f6e7d287f93aa31547ca48ea02d6e","unresolved":false,"context_lines":[{"line_number":183,"context_line":"def add_admin_state_argument(parser):"},{"line_number":184,"context_line":"        group \u003d parser.add_mutually_exclusive_group()"},{"line_number":185,"context_line":"        group.add_argument(\u0027--admin-state-up\u0027,"},{"line_number":186,"context_line":"                           dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":187,"context_line":"                           help\u003d_(\"Set admin state up to true\"))"},{"line_number":188,"context_line":"        group.add_argument(\u0027--admin-state-down\u0027,"},{"line_number":189,"context_line":"                           dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a2ca52d_e9776600","line":186,"updated":"2015-10-14 11:23:47.000000000","message":"I think this is not backward compatible.\nDoes the following command line works?\n\n neutron \u003csomething\u003e-update \u003cID\u003e --admin-state-up False\n\nIt now works.","commit_id":"0a45ce828259f2b4f96fa89eb73ff2b1805f6a66"}],"neutronclient/neutron/v2_0/lb/pool.py":[{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"e40853098b462d506acafd82d5f9e2cee5fe93a4","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"},{"line_number":110,"context_line":"        parser.add_argument("},{"line_number":111,"context_line":"            \u0027--lb-method\u0027,"},{"line_number":112,"context_line":"            required\u003dFalse,"},{"line_number":113,"context_line":"            choices\u003d[\u0027ROUND_ROBIN\u0027, \u0027LEAST_CONNECTIONS\u0027, \u0027SOURCE_IP\u0027],"},{"line_number":114,"context_line":"            help\u003d_(\u0027The algorithm used to distribute load between the members \u0027"},{"line_number":115,"context_line":"                   \u0027of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_517e7eaf","line":112,"updated":"2015-06-13 02:30:09.000000000","message":"what is the difference between the args with required\u003dFalse and without it?","commit_id":"ab03be3a183c9cce3ef985f3bb1c3045ceb96bb2"}],"neutronclient/neutron/v2_0/lb/v2/pool.py":[{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"475bd3b6381dee540ec9b30390116f36bfea8634","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"},{"line_number":121,"context_line":"        parser.add_argument("},{"line_number":122,"context_line":"            \u0027--lb-method\u0027,"},{"line_number":123,"context_line":"            required\u003dFalse,"},{"line_number":124,"context_line":"            choices\u003d[\u0027ROUND_ROBIN\u0027, \u0027LEAST_CONNECTIONS\u0027, \u0027SOURCE_IP\u0027],"},{"line_number":125,"context_line":"            help\u003d_(\u0027The algorithm used to distribute load between the members \u0027"},{"line_number":126,"context_line":"                   \u0027of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_6d84490a","line":123,"updated":"2015-06-18 01:19:36.000000000","message":"isn\u0027t the required\u003dFalse default?","commit_id":"8b9106e03be370694b2f5863eb3d0315309600ab"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"cd6384a151c94370ba73b958a358623f4cfca1e0","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"},{"line_number":121,"context_line":"        parser.add_argument("},{"line_number":122,"context_line":"            \u0027--lb-method\u0027,"},{"line_number":123,"context_line":"            required\u003dFalse,"},{"line_number":124,"context_line":"            choices\u003d[\u0027ROUND_ROBIN\u0027, \u0027LEAST_CONNECTIONS\u0027, \u0027SOURCE_IP\u0027],"},{"line_number":125,"context_line":"            help\u003d_(\u0027The algorithm used to distribute load between the members \u0027"},{"line_number":126,"context_line":"                   \u0027of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_5f59e78c","line":123,"in_reply_to":"fa32b979_6d84490a","updated":"2015-06-18 06:52:48.000000000","message":"Thank you for your tip. I recheck this value. The required\u0027s default value indeed be False.","commit_id":"8b9106e03be370694b2f5863eb3d0315309600ab"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"1b4e6d0c0f2454a01d236c83abaca08a39bc8f1f","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    shadow_resource \u003d \u0027lbaas_pool\u0027"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        parser.add_argument("},{"line_number":115,"context_line":"            \u0027--admin-state-up\u0027,"},{"line_number":116,"context_line":"            choices\u003d[\u0027True\u0027, \u0027False\u0027],"},{"line_number":117,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_747e826b","line":114,"updated":"2015-06-23 18:39:48.000000000","message":"Can we use neutronclient.common.utils.add_boolean_argument?\nIt supports true/false (lower case) too.","commit_id":"166ceca06eeb037aa0c5d722c176d7b941426fc8"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"3c1c3645f8511dc3babb66141ed3d86e75cebc95","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    shadow_resource \u003d \u0027lbaas_pool\u0027"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        parser.add_argument("},{"line_number":115,"context_line":"            \u0027--admin-state-up\u0027,"},{"line_number":116,"context_line":"            choices\u003d[\u0027True\u0027, \u0027False\u0027],"},{"line_number":117,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_0ceda2b6","line":114,"in_reply_to":"fa32b979_747e826b","updated":"2015-06-24 00:31:29.000000000","message":"Thank you for your suggestion","commit_id":"166ceca06eeb037aa0c5d722c176d7b941426fc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"615dc76a9e6e6c5b709d142cf86ee76245cefde7","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":138,"context_line":"                options.append(option)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource], options)"},{"line_number":141,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_89b58132","line":138,"updated":"2015-07-21 01:35:13.000000000","message":"Can you consider using neutronV20.update_dict? It seems the above logic does the same.","commit_id":"ea797c5390eff8248bccc499d84d8c1516806419"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"99be56f9a02bd1be6a4642805e20efc7f963c92c","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":138,"context_line":"                options.append(option)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource], options)"},{"line_number":141,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_a97ddd1d","line":138,"in_reply_to":"3a50d1a3_89b58132","updated":"2015-07-21 01:47:17.000000000","message":"Thank you for review. Did you mean use neutronV20.update_dict? I use it just below,and collect the necessary info to process.Could you give some farther suggestions? Thank you very much.","commit_id":"ea797c5390eff8248bccc499d84d8c1516806419"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"a3cd8d7ba83a3b238bf4d90ff058a08ff7d741fe","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":138,"context_line":"                options.append(option)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource], options)"},{"line_number":141,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_3406fdce","line":138,"in_reply_to":"3a50d1a3_918fe3cb","updated":"2015-07-21 04:20:38.000000000","message":"Hi gongysh, thanks for review. If remove args2body , it will never update the request body based on user, or just receive _extra_values.It is no meaning.Others, just the cmd like \u0027xxx list\u0027,the cmd didn\u0027t need the input from user, the 2 function here should be not needed.","commit_id":"ea797c5390eff8248bccc499d84d8c1516806419"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"71f5984e70d767ed0b4449b36753c573c14c973b","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":138,"context_line":"                options.append(option)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource], options)"},{"line_number":141,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_a9d2bdfe","line":138,"in_reply_to":"3a50d1a3_a97ddd1d","updated":"2015-07-21 01:52:44.000000000","message":"Yes. I mean neutronV20.update_dict. Can\u0027t we simply pass an option list to udpate_dict? Could you explain how update_dict is not sufficient? Doesn\u0027t the following work?\n\n  update_dict(...., [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027])","commit_id":"ea797c5390eff8248bccc499d84d8c1516806419"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"71f5984e70d767ed0b4449b36753c573c14c973b","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":138,"context_line":"                options.append(option)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource], options)"},{"line_number":141,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_c9cdc95e","line":138,"in_reply_to":"3a50d1a3_a97ddd1d","updated":"2015-07-21 01:52:44.000000000","message":"Yes. I mean neutronV20.update_dict. Can\u0027t we simply pass an option list to udpate_dict? Could you explain how update_dict is not sufficient? Doesn\u0027t the following work?\n\n  update_dict(...., [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027])","commit_id":"ea797c5390eff8248bccc499d84d8c1516806419"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"eb75d87744234aa5e5a8ab15939607a24ef50dd8","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":138,"context_line":"                options.append(option)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource], options)"},{"line_number":141,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_f1dd0743","line":138,"in_reply_to":"3a50d1a3_c9cdc95e","updated":"2015-07-21 03:39:46.000000000","message":"Hi Akihiro Motoki, I recheck this code on my env. As there is a view like user exec cmd contains some of the options instead of all.So the args2body need to check the input option from user.And the original logic collect the option and then let the flow goes on. So I think the code is OK.If there is any problem, I wish you could point it out. Thank you for your kindly guidance.","commit_id":"ea797c5390eff8248bccc499d84d8c1516806419"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"f3f34648a6949447905a845dbb2383448f3ada82","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":138,"context_line":"                options.append(option)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource], options)"},{"line_number":141,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_2996adf0","line":138,"in_reply_to":"3a50d1a3_c9cdc95e","updated":"2015-07-21 02:00:29.000000000","message":"Thanks again. I agree with you and I know that is redundancy now. I will rework it.","commit_id":"ea797c5390eff8248bccc499d84d8c1516806419"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"d54f80472ce559a50daf90403802e4c56dc09574","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":138,"context_line":"                options.append(option)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource], options)"},{"line_number":141,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_918fe3cb","line":138,"in_reply_to":"3a50d1a3_f1dd0743","updated":"2015-07-21 03:58:15.000000000","message":"what will happen if we remove the args2body in this patch?","commit_id":"ea797c5390eff8248bccc499d84d8c1516806419"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"f0cdb71f33cce899ca4f7847a5b57f79683728f0","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        utils.add_boolean_argument("},{"line_number":115,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state_up\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_34e87616","line":115,"updated":"2015-07-24 05:29:43.000000000","message":"Do we something called \"--admin-state-down\" as well? Just a query?","commit_id":"dd80e9098ee97554f0dcb81e46fb9e036fb06a90"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"219f60400bb92ae12e4cac45d6204eea53effaf0","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        utils.add_boolean_argument("},{"line_number":115,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state_up\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_2e9d7e59","line":115,"in_reply_to":"3a50d1a3_34e87616","updated":"2015-07-24 09:42:20.000000000","message":"Thank you very much for review.I check the restapi of this operation before.And the returned info didn\u0027t contain the \u0027--admin-state-down\u0027, i think the server not allow to update this field.So I tried \u0027--admin-state-up\u0027 is OK.Also maybe I didn\u0027t check them all.Thank you","commit_id":"dd80e9098ee97554f0dcb81e46fb9e036fb06a90"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"f0cdb71f33cce899ca4f7847a5b57f79683728f0","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"},{"line_number":119,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"},{"line_number":120,"context_line":"        parser.add_argument("},{"line_number":121,"context_line":"            \u0027--lb-method\u0027,"},{"line_number":122,"context_line":"            choices\u003d[\u0027ROUND_ROBIN\u0027, \u0027LEAST_CONNECTIONS\u0027, \u0027SOURCE_IP\u0027],"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_b4aec6e5","line":119,"updated":"2015-07-24 05:29:43.000000000","message":"Can we specify what type of pool? IMHO, pool is too generic.","commit_id":"dd80e9098ee97554f0dcb81e46fb9e036fb06a90"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"219f60400bb92ae12e4cac45d6204eea53effaf0","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"},{"line_number":119,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"},{"line_number":120,"context_line":"        parser.add_argument("},{"line_number":121,"context_line":"            \u0027--lb-method\u0027,"},{"line_number":122,"context_line":"            choices\u003d[\u0027ROUND_ROBIN\u0027, \u0027LEAST_CONNECTIONS\u0027, \u0027SOURCE_IP\u0027],"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_2eec9e8e","line":119,"in_reply_to":"3a50d1a3_b4aec6e5","updated":"2015-07-24 09:42:20.000000000","message":"Yeah,I think so.But this field just allow users to make the pools distinctively.Users can describe the pool what they want.Thanks.","commit_id":"dd80e9098ee97554f0dcb81e46fb9e036fb06a90"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"f0cdb71f33cce899ca4f7847a5b57f79683728f0","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                   \u0027of the pool.\u0027))"},{"line_number":125,"context_line":"        parser.add_argument("},{"line_number":126,"context_line":"            \u0027--name\u0027,"},{"line_number":127,"context_line":"            help\u003d_(\u0027The name of the pool.\u0027))"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def args2body(self, parsed_args):"},{"line_number":130,"context_line":"        options \u003d []"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_3481564e","line":127,"updated":"2015-07-24 05:29:43.000000000","message":"Can we specify what type of pool? IMHO, pool is too generic.","commit_id":"dd80e9098ee97554f0dcb81e46fb9e036fb06a90"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"219f60400bb92ae12e4cac45d6204eea53effaf0","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                   \u0027of the pool.\u0027))"},{"line_number":125,"context_line":"        parser.add_argument("},{"line_number":126,"context_line":"            \u0027--name\u0027,"},{"line_number":127,"context_line":"            help\u003d_(\u0027The name of the pool.\u0027))"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def args2body(self, parsed_args):"},{"line_number":130,"context_line":"        options \u003d []"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_6e99461f","line":127,"in_reply_to":"3a50d1a3_3481564e","updated":"2015-07-24 09:42:20.000000000","message":"ditto","commit_id":"dd80e9098ee97554f0dcb81e46fb9e036fb06a90"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"f0cdb71f33cce899ca4f7847a5b57f79683728f0","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        body \u003d {"},{"line_number":132,"context_line":"            self.resource: {}"},{"line_number":133,"context_line":"        }"},{"line_number":134,"context_line":"        for option in parsed_args.__dict__.keys():"},{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_343636b5","line":134,"updated":"2015-07-24 05:29:43.000000000","message":"Why we need to do like this? Can\u0027t we do it like \"https://github.com/openstack/python-neutronclient/blob/master/neutronclient/neutron/v2_0/fw/firewallrule.py#L114-118\" directly?","commit_id":"dd80e9098ee97554f0dcb81e46fb9e036fb06a90"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"219f60400bb92ae12e4cac45d6204eea53effaf0","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        body \u003d {"},{"line_number":132,"context_line":"            self.resource: {}"},{"line_number":133,"context_line":"        }"},{"line_number":134,"context_line":"        for option in parsed_args.__dict__.keys():"},{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_2b7250ae","line":134,"in_reply_to":"3a50d1a3_343636b5","updated":"2015-07-24 09:42:20.000000000","message":"Hi vikram.choudhary,I had explain it in the past patch. I recheck this code on my env. As there is a view like user exec cmd contains some of the options instead of all.So the args2body need to check the input option from user.And the original logic collect the option and then let the flow goes on. So I think the code is OK.If there is any problem, I wish you could point it out. Thank you for your kindly guidance.","commit_id":"dd80e9098ee97554f0dcb81e46fb9e036fb06a90"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"eaba12d5b6f7b59930de91e648a7dea24a496553","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            self.resource: {}"},{"line_number":133,"context_line":"        }"},{"line_number":134,"context_line":"        for option in parsed_args.__dict__.keys():"},{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":138,"context_line":"                options.append(option)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_26545afc","line":135,"updated":"2015-07-27 21:02:35.000000000","message":"nit: we try not to have \\. Instead wrap the statement around in parenthesis","commit_id":"dff42d8aafbb845d864d3e132c861333e7b48423"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"00f674b5879dc63b364befc6c34baf9bcfeebaa8","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            self.resource: {}"},{"line_number":133,"context_line":"        }"},{"line_number":134,"context_line":"        for option in parsed_args.__dict__.keys():"},{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":138,"context_line":"                options.append(option)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_031637f1","line":135,"in_reply_to":"3a50d1a3_26545afc","updated":"2015-07-31 04:23:05.000000000","message":"Thank you very much for your guidance.It\u0027s my mistake.","commit_id":"dff42d8aafbb845d864d3e132c861333e7b48423"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"eaba12d5b6f7b59930de91e648a7dea24a496553","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        }"},{"line_number":134,"context_line":"        for option in parsed_args.__dict__.keys():"},{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":138,"context_line":"                options.append(option)"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_66d4a21f","line":136,"updated":"2015-07-27 21:02:35.000000000","message":"will this work?\nfor option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027]:\n    if hasattr(parsed_args, option):\n        body[self.resource][option] \u003d getattr(parsed_args, option)\n        options.append(option)","commit_id":"dff42d8aafbb845d864d3e132c861333e7b48423"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"00f674b5879dc63b364befc6c34baf9bcfeebaa8","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        }"},{"line_number":134,"context_line":"        for option in parsed_args.__dict__.keys():"},{"line_number":135,"context_line":"            if option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027] \\"},{"line_number":136,"context_line":"                    and parsed_args.__dict__.get(option) is not None:"},{"line_number":137,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":138,"context_line":"                options.append(option)"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_03739716","line":136,"in_reply_to":"3a50d1a3_66d4a21f","updated":"2015-07-31 04:23:05.000000000","message":"good suggestion!Thank you","commit_id":"dff42d8aafbb845d864d3e132c861333e7b48423"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7959b02e6de8a8cc41915d019f19244854ad2989","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        body \u003d {"},{"line_number":132,"context_line":"            self.resource: {}"},{"line_number":133,"context_line":"        }"},{"line_number":134,"context_line":"        for option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027]:"},{"line_number":135,"context_line":"            if hasattr(parsed_args, option):"},{"line_number":136,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":137,"context_line":"                options.append(option)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_3f79a8c8","line":134,"updated":"2015-08-11 22:16:11.000000000","message":"Why is L.134-137 needed? update_dict() checks an attribute exists or not by using hasattr(), so I think you are doing the same as neutronV20.update_dict() does. Could you check the inside of update_dict()?","commit_id":"ebdd6324da751868872f617590367248326b7d88"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"1c4a9bc299494b15562ec9a7607b0d5824eebe1b","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        body \u003d {"},{"line_number":132,"context_line":"            self.resource: {}"},{"line_number":133,"context_line":"        }"},{"line_number":134,"context_line":"        for option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027]:"},{"line_number":135,"context_line":"            if hasattr(parsed_args, option):"},{"line_number":136,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":137,"context_line":"                options.append(option)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_55dfb0d5","line":134,"in_reply_to":"1a4dcd0f_3f79a8c8","updated":"2015-08-12 03:25:09.000000000","message":"Thank you for review.In my opinion,L 134-137 is needed for collect the options and fill the body dict.And the code of neutronV20.update_dict() is:\ndef update_dict(obj, dict, attributes):\n    \"\"\"Update dict with fields from obj.attributes.\n\n    :param obj: the object updated into dict\n    :param dict: the result dictionary\n    :param attributes: a list of attributes belonging to obj\n    \"\"\"\n    for attribute in attributes:\n        if hasattr(obj, attribute) and getattr(obj, attribute) is not None:\n            dict[attribute] \u003d getattr(obj, attribute)\n\nWhat I do is just like the above CreatePool\u0027s args2body. I feel they are not same.Thank you again, if there is any error else, could you please point it out for me?","commit_id":"ebdd6324da751868872f617590367248326b7d88"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"a02cfcad4f2350404e8dfd9b8be9dab435a5a11d","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            \u0027--description\u0027,"},{"line_number":119,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"},{"line_number":120,"context_line":"        parser.add_argument("},{"line_number":121,"context_line":"            \u0027--lb-method\u0027,"},{"line_number":122,"context_line":"            choices\u003d[\u0027ROUND_ROBIN\u0027, \u0027LEAST_CONNECTIONS\u0027, \u0027SOURCE_IP\u0027],"},{"line_number":123,"context_line":"            help\u003d_(\u0027The algorithm used to distribute load between the members \u0027"},{"line_number":124,"context_line":"                   \u0027of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_b6792aca","line":121,"updated":"2015-09-07 12:21:35.000000000","message":"should be \u0027lb-algorithm\u0027.","commit_id":"3bbb3abfd1fc1e8be2db69dc100bc00625b0a011"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"f9265b615380c7ada8898c22d0fee92950619f5b","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            \u0027--description\u0027,"},{"line_number":119,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"},{"line_number":120,"context_line":"        parser.add_argument("},{"line_number":121,"context_line":"            \u0027--lb-method\u0027,"},{"line_number":122,"context_line":"            choices\u003d[\u0027ROUND_ROBIN\u0027, \u0027LEAST_CONNECTIONS\u0027, \u0027SOURCE_IP\u0027],"},{"line_number":123,"context_line":"            help\u003d_(\u0027The algorithm used to distribute load between the members \u0027"},{"line_number":124,"context_line":"                   \u0027of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_2a04b915","line":121,"in_reply_to":"da20952f_b6792aca","updated":"2015-09-08 01:40:21.000000000","message":"Thank you for review, Mr. choudhary.\nThis patch is not change for a long time. I will rework and recheck it.","commit_id":"3bbb3abfd1fc1e8be2db69dc100bc00625b0a011"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"a02cfcad4f2350404e8dfd9b8be9dab435a5a11d","unresolved":false,"context_lines":[{"line_number":122,"context_line":"            choices\u003d[\u0027ROUND_ROBIN\u0027, \u0027LEAST_CONNECTIONS\u0027, \u0027SOURCE_IP\u0027],"},{"line_number":123,"context_line":"            help\u003d_(\u0027The algorithm used to distribute load between the members \u0027"},{"line_number":124,"context_line":"                   \u0027of the pool.\u0027))"},{"line_number":125,"context_line":"        parser.add_argument("},{"line_number":126,"context_line":"            \u0027--name\u0027,"},{"line_number":127,"context_line":"            help\u003d_(\u0027The name of the pool.\u0027))"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_96518632","line":125,"updated":"2015-09-07 12:21:35.000000000","message":"I can find \u0027session-persistence\u0027 is also an updated attribute. Please add that as well.\n\nhttps://github.com/openstack/neutron-lbaas/blob/master/neutron_lbaas/extensions/loadbalancerv2.py#L249","commit_id":"3bbb3abfd1fc1e8be2db69dc100bc00625b0a011"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"f9265b615380c7ada8898c22d0fee92950619f5b","unresolved":false,"context_lines":[{"line_number":122,"context_line":"            choices\u003d[\u0027ROUND_ROBIN\u0027, \u0027LEAST_CONNECTIONS\u0027, \u0027SOURCE_IP\u0027],"},{"line_number":123,"context_line":"            help\u003d_(\u0027The algorithm used to distribute load between the members \u0027"},{"line_number":124,"context_line":"                   \u0027of the pool.\u0027))"},{"line_number":125,"context_line":"        parser.add_argument("},{"line_number":126,"context_line":"            \u0027--name\u0027,"},{"line_number":127,"context_line":"            help\u003d_(\u0027The name of the pool.\u0027))"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_4affad01","line":125,"in_reply_to":"da20952f_96518632","updated":"2015-09-08 01:40:21.000000000","message":"Thanks very much.","commit_id":"3bbb3abfd1fc1e8be2db69dc100bc00625b0a011"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"a02cfcad4f2350404e8dfd9b8be9dab435a5a11d","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        body \u003d {"},{"line_number":132,"context_line":"            self.resource: {}"},{"line_number":133,"context_line":"        }"},{"line_number":134,"context_line":"        for option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027]:"},{"line_number":135,"context_line":"            if hasattr(parsed_args, option):"},{"line_number":136,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":137,"context_line":"                options.append(option)"}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_c13c16ca","line":134,"updated":"2015-09-07 12:21:35.000000000","message":"should be \u0027lb-algorithm\u0027.","commit_id":"3bbb3abfd1fc1e8be2db69dc100bc00625b0a011"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"f9265b615380c7ada8898c22d0fee92950619f5b","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        body \u003d {"},{"line_number":132,"context_line":"            self.resource: {}"},{"line_number":133,"context_line":"        }"},{"line_number":134,"context_line":"        for option in [\u0027admin_state_up\u0027, \u0027description\u0027, \u0027lb_method\u0027, \u0027name\u0027]:"},{"line_number":135,"context_line":"            if hasattr(parsed_args, option):"},{"line_number":136,"context_line":"                body[self.resource][option] \u003d getattr(parsed_args, option)"},{"line_number":137,"context_line":"                options.append(option)"}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_15047a12","line":134,"in_reply_to":"da20952f_c13c16ca","updated":"2015-09-08 01:40:21.000000000","message":"OK. I will correct it.Thank you","commit_id":"3bbb3abfd1fc1e8be2db69dc100bc00625b0a011"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"56d62398785dca7898a8861361f7b19a9266c8c8","unresolved":false,"context_lines":[{"line_number":139,"context_line":"                   \u0027session_persistence\u0027]"},{"line_number":140,"context_line":"        body \u003d {"},{"line_number":141,"context_line":"            self.resource: {"},{"line_number":142,"context_line":"                \u0027admin_state_up\u0027: parsed_args.admin_state"},{"line_number":143,"context_line":"                if hasattr(parsed_args, \u0027admin_state\u0027) else None,"},{"line_number":144,"context_line":"                \u0027description\u0027: parsed_args.description"},{"line_number":145,"context_line":"                if hasattr(parsed_args, \u0027description\u0027) else None,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da20952f_8117a244","line":142,"updated":"2015-09-09 14:05:46.000000000","message":"Why we need this block? I think L152 will be sufficient. Moreover, I feel we don\u0027t we need to specify the parameter value as None if it\u0027s not specified. If we do this then the previous configuration will be lost.","commit_id":"1c4456a6fddda0df3823ec86eb52f3faa4125b08"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"ecce601265ce03e87aab6116914503c6dc573fa5","unresolved":false,"context_lines":[{"line_number":139,"context_line":"                   \u0027session_persistence\u0027]"},{"line_number":140,"context_line":"        body \u003d {"},{"line_number":141,"context_line":"            self.resource: {"},{"line_number":142,"context_line":"                \u0027admin_state_up\u0027: parsed_args.admin_state"},{"line_number":143,"context_line":"                if hasattr(parsed_args, \u0027admin_state\u0027) else None,"},{"line_number":144,"context_line":"                \u0027description\u0027: parsed_args.description"},{"line_number":145,"context_line":"                if hasattr(parsed_args, \u0027description\u0027) else None,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da20952f_f86e3aff","line":142,"in_reply_to":"da20952f_63060987","updated":"2015-09-10 01:32:14.000000000","message":"Thanks for review, it\u0027s my mistake.","commit_id":"1c4456a6fddda0df3823ec86eb52f3faa4125b08"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"f0507cdf197b491d8b6915efdbbd645d8d81518a","unresolved":false,"context_lines":[{"line_number":139,"context_line":"                   \u0027session_persistence\u0027]"},{"line_number":140,"context_line":"        body \u003d {"},{"line_number":141,"context_line":"            self.resource: {"},{"line_number":142,"context_line":"                \u0027admin_state_up\u0027: parsed_args.admin_state"},{"line_number":143,"context_line":"                if hasattr(parsed_args, \u0027admin_state\u0027) else None,"},{"line_number":144,"context_line":"                \u0027description\u0027: parsed_args.description"},{"line_number":145,"context_line":"                if hasattr(parsed_args, \u0027description\u0027) else None,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da20952f_63060987","line":142,"in_reply_to":"da20952f_8117a244","updated":"2015-09-09 18:13:13.000000000","message":"As vikram commented, update_dict checks if parsed_args has a specified attribute and set a value only if it has, so you don\u0027t need to use hasattr() here.","commit_id":"1c4456a6fddda0df3823ec86eb52f3faa4125b08"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"ecce601265ce03e87aab6116914503c6dc573fa5","unresolved":false,"context_lines":[{"line_number":139,"context_line":"                   \u0027session_persistence\u0027]"},{"line_number":140,"context_line":"        body \u003d {"},{"line_number":141,"context_line":"            self.resource: {"},{"line_number":142,"context_line":"                \u0027admin_state_up\u0027: parsed_args.admin_state"},{"line_number":143,"context_line":"                if hasattr(parsed_args, \u0027admin_state\u0027) else None,"},{"line_number":144,"context_line":"                \u0027description\u0027: parsed_args.description"},{"line_number":145,"context_line":"                if hasattr(parsed_args, \u0027description\u0027) else None,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da20952f_58a96623","line":142,"in_reply_to":"da20952f_8117a244","updated":"2015-09-10 01:32:14.000000000","message":"Thanks for review. It\u0027s my mistake. The function \u0027neutronV20 update_dict\u0027 was mistaken in my brief that it will get the data from dict and update the info in dict. I will rework.Thanks.","commit_id":"1c4456a6fddda0df3823ec86eb52f3faa4125b08"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"f0507cdf197b491d8b6915efdbbd645d8d81518a","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        body \u003d {"},{"line_number":141,"context_line":"            self.resource: {"},{"line_number":142,"context_line":"                \u0027admin_state_up\u0027: parsed_args.admin_state"},{"line_number":143,"context_line":"                if hasattr(parsed_args, \u0027admin_state\u0027) else None,"},{"line_number":144,"context_line":"                \u0027description\u0027: parsed_args.description"},{"line_number":145,"context_line":"                if hasattr(parsed_args, \u0027description\u0027) else None,"},{"line_number":146,"context_line":"                \u0027lb_algorithm\u0027: parsed_args.lb_algorithm"}],"source_content_type":"text/x-python","patch_set":13,"id":"da20952f_432ae5e8","line":143,"range":{"start_line":143,"start_character":40,"end_line":143,"end_character":53},"updated":"2015-09-09 18:13:13.000000000","message":"In L.115, the option is stored to parsed_args.admin_state_up, so the condition always return False. update_dict with options (defined at L.138) addresses this comment.","commit_id":"1c4456a6fddda0df3823ec86eb52f3faa4125b08"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"ecce601265ce03e87aab6116914503c6dc573fa5","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        body \u003d {"},{"line_number":141,"context_line":"            self.resource: {"},{"line_number":142,"context_line":"                \u0027admin_state_up\u0027: parsed_args.admin_state"},{"line_number":143,"context_line":"                if hasattr(parsed_args, \u0027admin_state\u0027) else None,"},{"line_number":144,"context_line":"                \u0027description\u0027: parsed_args.description"},{"line_number":145,"context_line":"                if hasattr(parsed_args, \u0027description\u0027) else None,"},{"line_number":146,"context_line":"                \u0027lb_algorithm\u0027: parsed_args.lb_algorithm"}],"source_content_type":"text/x-python","patch_set":13,"id":"da20952f_b871a2e0","line":143,"in_reply_to":"da20952f_432ae5e8","updated":"2015-09-10 01:32:14.000000000","message":"Thanks for correct.","commit_id":"1c4456a6fddda0df3823ec86eb52f3faa4125b08"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"d7b055cd15b742ac401db5b09696ad7d037baf5a","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        utils.add_boolean_argument("},{"line_number":115,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state_up\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"da20952f_52f8567c","line":115,"updated":"2015-09-10 11:01:32.000000000","message":"I cannot find \"--admin-state-up\" in the create section. \"--admin-state-down\" is being defined there. Refer L58. I feel we can keep the argument instead of defining a new one.","commit_id":"ab1726d7f596fdcf1d931a4090e69721f9934e0b"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"46e00b12c7543bea04ac8c7d335c1c56ac487dba","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        utils.add_boolean_argument("},{"line_number":115,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state_up\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"da20952f_7eee6523","line":115,"in_reply_to":"da20952f_52f8567c","updated":"2015-09-11 01:36:22.000000000","message":"Thanks for review, Mr.choudhary. I think the way you mentioned is the appropriate. Thank you","commit_id":"ab1726d7f596fdcf1d931a4090e69721f9934e0b"},{"author":{"_account_id":16788,"name":"Ramanjaneya Reddy Palleti","email":"ramanjaneya.palleti@huawei.com","username":"Ramanjaneya"},"change_message_id":"c70716ba86fb38f41c62983ed71461812937464e","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        utils.add_boolean_argument("},{"line_number":115,"context_line":"            parser, \u0027--admin-state-down\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"},{"line_number":119,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_864d2b74","line":116,"updated":"2015-09-11 05:26:05.000000000","message":"+1","commit_id":"bde45cc7a774c11fc8e0b3e8ec95b629424b52d8"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"74a661bd39160b78a23ffcc46be858c2f7942e97","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        utils.add_boolean_argument("},{"line_number":115,"context_line":"            parser, \u0027--admin-state-down\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"},{"line_number":119,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_abb59832","line":116,"updated":"2015-09-11 04:37:20.000000000","message":"+1","commit_id":"bde45cc7a774c11fc8e0b3e8ec95b629424b52d8"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"fb6cd901f4f98422a2711a275f85568724a27002","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        utils.add_boolean_argument("},{"line_number":115,"context_line":"            parser, \u0027--admin-state-down\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"},{"line_number":119,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_6b26a0bb","line":116,"updated":"2015-09-11 04:30:30.000000000","message":"Also up -\u003e down","commit_id":"bde45cc7a774c11fc8e0b3e8ec95b629424b52d8"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"73354f6263554b70e32c7833259fce906b7cc606","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        utils.add_boolean_argument("},{"line_number":115,"context_line":"            parser, \u0027--admin-state-down\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"},{"line_number":119,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_28374eff","line":116,"updated":"2015-09-11 04:26:36.000000000","message":"port -\u003e pool","commit_id":"bde45cc7a774c11fc8e0b3e8ec95b629424b52d8"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"3146fc70e9fecddacd9dffa87651608104fe899d","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        utils.add_boolean_argument("},{"line_number":115,"context_line":"            parser, \u0027--admin-state-down\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"},{"line_number":119,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_c1a9cd7d","line":116,"in_reply_to":"da20952f_2ba748bd","updated":"2015-09-11 06:44:32.000000000","message":"Hi Mr.choudhary, I think this option should be removed or imitate what the port\u0027s code.","commit_id":"bde45cc7a774c11fc8e0b3e8ec95b629424b52d8"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"fffe6a3ad1f34438219f22f97c79a28d37374893","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        utils.add_boolean_argument("},{"line_number":115,"context_line":"            parser, \u0027--admin-state-down\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"},{"line_number":119,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_668497d2","line":116,"in_reply_to":"da20952f_2ba748bd","updated":"2015-09-11 05:58:22.000000000","message":"Maybe it should just read \"Set admin state up to false.\"  I think that\u0027s clearer and more in line with the wording used for other LBaaSv2 objects.","commit_id":"bde45cc7a774c11fc8e0b3e8ec95b629424b52d8"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"3146fc70e9fecddacd9dffa87651608104fe899d","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        utils.add_boolean_argument("},{"line_number":115,"context_line":"            parser, \u0027--admin-state-down\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"},{"line_number":119,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_41b05dfd","line":116,"in_reply_to":"da20952f_864d2b74","updated":"2015-09-11 06:44:32.000000000","message":"Thank you all for review.","commit_id":"bde45cc7a774c11fc8e0b3e8ec95b629424b52d8"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e4b612ab506a92bd8a4908ec61542a67a2f7ccc3","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        utils.add_boolean_argument("},{"line_number":115,"context_line":"            parser, \u0027--admin-state-down\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Set admin state up for the port.\u0027))"},{"line_number":117,"context_line":"        parser.add_argument("},{"line_number":118,"context_line":"            \u0027--description\u0027,"},{"line_number":119,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_2ba748bd","line":116,"in_reply_to":"da20952f_abb59832","updated":"2015-09-11 04:52:32.000000000","message":"I feel this is tricky, We can even make the state UP by making --admin-state-down as false.","commit_id":"bde45cc7a774c11fc8e0b3e8ec95b629424b52d8"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"315a408f14bcb673c2580fe190aac7bffdbb79c2","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    resource \u003d \u0027pool\u0027"},{"line_number":111,"context_line":"    shadow_resource \u003d \u0027lbaas_pool\u0027"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        parser.add_argument("},{"line_number":115,"context_line":"            \u0027--description\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":17,"id":"da20952f_349b1275","line":113,"updated":"2015-09-11 16:57:08.000000000","message":"Removing the --admin-state-down argument is not the right solution here since literally all the other LBaaSv2 objects that can be manipulated via the CLI allow it, and because the pool object in the database has that attribute, which should be manipulable.","commit_id":"2a8fdff9d88bbca0327259432d50b3ba0f098faa"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"177b6e4271f170c3dbdd67ee689fef274c0a6d90","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    resource \u003d \u0027pool\u0027"},{"line_number":111,"context_line":"    shadow_resource \u003d \u0027lbaas_pool\u0027"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        parser.add_argument("},{"line_number":115,"context_line":"            \u0027--description\u0027,"},{"line_number":116,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":17,"id":"ba15a1d1_4a9b0aca","line":113,"in_reply_to":"da20952f_349b1275","updated":"2015-09-14 11:02:32.000000000","message":"Thanks very much for review. I see the result of show lb resource, there is a field named admin-state-up , so I think I should make that field can be updated. According to the latest comments about PS16, I\u0027m confused. I question that maybe this field shouldn\u0027t add here.I see other code about the update operations, some just update \u0027admin-state-down\u0027, some update \u0027admin-state-up\u0027, but all of them contains \u0027admin-state-down\u0027 option in their creation.","commit_id":"2a8fdff9d88bbca0327259432d50b3ba0f098faa"},{"author":{"_account_id":16788,"name":"Ramanjaneya Reddy Palleti","email":"ramanjaneya.palleti@huawei.com","username":"Ramanjaneya"},"change_message_id":"2d838c381a17d9939ed2f5ee14a1ee640ea2c532","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        parser.add_argument("},{"line_number":119,"context_line":"            \u0027--admin-state-up\u0027,"},{"line_number":120,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":121,"context_line":"            help\u003d_(\u0027Set admin state up to true.\u0027))"},{"line_number":122,"context_line":"        parser.add_argument("},{"line_number":123,"context_line":"            \u0027--description\u0027,"},{"line_number":124,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_922b73eb","line":121,"updated":"2015-09-15 04:29:16.000000000","message":"User can be config both \"--admin-state-down\" and \"--admin-state-up\", in this case admin-state will be over right.\n\ncan be use add_mutually_exclusive_group() to avoid both parameters to onfig.","commit_id":"c544abd8bbd62d04b3bf771bc8dd1d635f8cf8b0"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"179602d1bb19f303c94709d0e278a27ffce5c481","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        parser.add_argument("},{"line_number":119,"context_line":"            \u0027--admin-state-up\u0027,"},{"line_number":120,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":121,"context_line":"            help\u003d_(\u0027Set admin state up to true.\u0027))"},{"line_number":122,"context_line":"        parser.add_argument("},{"line_number":123,"context_line":"            \u0027--description\u0027,"},{"line_number":124,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_23057c79","line":121,"in_reply_to":"ba15a1d1_922b73eb","updated":"2015-09-15 06:22:52.000000000","message":"Thanks for review. Yeah,  you are right. I miss this view. Thanks very much.","commit_id":"c544abd8bbd62d04b3bf771bc8dd1d635f8cf8b0"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"afdf4a098ef1d01174bc23533df8074a7b9fc0b6","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    shadow_resource \u003d \u0027lbaas_pool\u0027"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        group_sg \u003d parser.add_mutually_exclusive_group()"},{"line_number":115,"context_line":"        group_sg.add_argument("},{"line_number":116,"context_line":"            \u0027--admin-state-down\u0027,"},{"line_number":117,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba15a1d1_af560a28","line":114,"range":{"start_line":114,"start_character":7,"end_line":114,"end_character":17},"updated":"2015-09-16 13:27:35.000000000","message":"\"group_sg\" looks odd.\nIn the original context, \"sg\" means \"security group\".","commit_id":"9104c4497e436813f75b3d1fe9f5623dcb0744f8"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"5f5ae322bf3f5d9a5b0e0227e3ce95af66cf33b6","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    shadow_resource \u003d \u0027lbaas_pool\u0027"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":114,"context_line":"        group_sg \u003d parser.add_mutually_exclusive_group()"},{"line_number":115,"context_line":"        group_sg.add_argument("},{"line_number":116,"context_line":"            \u0027--admin-state-down\u0027,"},{"line_number":117,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba15a1d1_185401fd","line":114,"in_reply_to":"ba15a1d1_af560a28","updated":"2015-09-17 01:53:38.000000000","message":"Thanks for review. I rework it.","commit_id":"9104c4497e436813f75b3d1fe9f5623dcb0744f8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"afdf4a098ef1d01174bc23533df8074a7b9fc0b6","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        group_sg.add_argument("},{"line_number":120,"context_line":"            \u0027--admin-state-up\u0027,"},{"line_number":121,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":122,"context_line":"            help\u003d_(\u0027Set admin state up to true.\u0027))"},{"line_number":123,"context_line":"        parser.add_argument("},{"line_number":124,"context_line":"            \u0027--description\u0027,"},{"line_number":125,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba15a1d1_0f25b6bf","line":122,"updated":"2015-09-16 13:27:35.000000000","message":"L.114-122 can be used elsewhere.\nCould you define a method in common/utils.py\nas we define add_boolean_argument().","commit_id":"9104c4497e436813f75b3d1fe9f5623dcb0744f8"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"40a04dbeb189e95c601a81311a9fe25bdbbe3184","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                   \u0027of the pool.\u0027))"},{"line_number":119,"context_line":"        parser.add_argument("},{"line_number":120,"context_line":"            \u0027--name\u0027,"},{"line_number":121,"context_line":"            help\u003d_(\u0027The name of the pool.\u0027))"},{"line_number":122,"context_line":"        parser.add_argument("},{"line_number":123,"context_line":"            \u0027--session-persistence\u0027,"},{"line_number":124,"context_line":"            metavar\u003d\u0027type\u003dTYPE[,cookie_name\u003dCOOKIE_NAME]\u0027,"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a2fa921_634fa56b","line":121,"updated":"2015-10-08 06:43:00.000000000","message":"Only name will be accepted? How about the ID?","commit_id":"fac5d0c33e2dddea288b91e8c6a7ba6ff88bc5f6"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"1b3d4b284cd2eac55c4cfbcdf88eb07248faa605","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                   \u0027of the pool.\u0027))"},{"line_number":119,"context_line":"        parser.add_argument("},{"line_number":120,"context_line":"            \u0027--name\u0027,"},{"line_number":121,"context_line":"            help\u003d_(\u0027The name of the pool.\u0027))"},{"line_number":122,"context_line":"        parser.add_argument("},{"line_number":123,"context_line":"            \u0027--session-persistence\u0027,"},{"line_number":124,"context_line":"            metavar\u003d\u0027type\u003dTYPE[,cookie_name\u003dCOOKIE_NAME]\u0027,"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a2fa921_ae0b598d","line":121,"in_reply_to":"7a2fa921_634fa56b","updated":"2015-10-09 01:27:44.000000000","message":"Hi Mr.choudhary, Thanks for review. I think ID should not be updated as ID is just readable. ID is unique towards a resource.","commit_id":"fac5d0c33e2dddea288b91e8c6a7ba6ff88bc5f6"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"573d0c8f460a5ce76ff5a4f7fdef861650661725","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                   \u0027of the pool.\u0027))"},{"line_number":119,"context_line":"        parser.add_argument("},{"line_number":120,"context_line":"            \u0027--name\u0027,"},{"line_number":121,"context_line":"            help\u003d_(\u0027The name of the pool.\u0027))"},{"line_number":122,"context_line":"        parser.add_argument("},{"line_number":123,"context_line":"            \u0027--session-persistence\u0027,"},{"line_number":124,"context_line":"            metavar\u003d\u0027type\u003dTYPE[,cookie_name\u003dCOOKIE_NAME]\u0027,"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a2fa921_7e3f3087","line":121,"in_reply_to":"7a2fa921_634fa56b","updated":"2015-10-08 12:31:19.000000000","message":"Ignore.. This is correct.","commit_id":"fac5d0c33e2dddea288b91e8c6a7ba6ff88bc5f6"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"17a7a05aadf191a3119ceec8ac2e1a7c47ad9ea8","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            \u0027--name\u0027,"},{"line_number":121,"context_line":"            help\u003d_(\u0027The name of the pool.\u0027))"},{"line_number":122,"context_line":"        parser.add_argument("},{"line_number":123,"context_line":"            \u0027--session-persistence\u0027,"},{"line_number":124,"context_line":"            metavar\u003d\u0027type\u003dTYPE[,cookie_name\u003dCOOKIE_NAME]\u0027,"},{"line_number":125,"context_line":"            help\u003d_(\u0027The type of session persistence to use and associated \u0027"},{"line_number":126,"context_line":"                   \u0027cookie name\u0027))"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a2fa921_de544400","line":123,"updated":"2015-10-08 12:23:22.000000000","message":"I think you can define type\u003dutils.str2dict and get rid of L129-131","commit_id":"fac5d0c33e2dddea288b91e8c6a7ba6ff88bc5f6"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"40a04dbeb189e95c601a81311a9fe25bdbbe3184","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        options \u003d [\u0027description\u0027, \u0027lb_algorithm\u0027, \u0027name\u0027,"},{"line_number":133,"context_line":"                   \u0027session_persistence\u0027]"},{"line_number":134,"context_line":"        body \u003d {"},{"line_number":135,"context_line":"            self.resource: {"},{"line_number":136,"context_line":"                \u0027admin_state_up\u0027: parsed_args.admin_state,"},{"line_number":137,"context_line":"            },"},{"line_number":138,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a2fa921_236c4dcf","line":135,"updated":"2015-10-08 06:43:00.000000000","message":"Latest code is being refactored to put \u0027self.resource\u0027 while returning from the function. Request you to kindly follow the new coding style?","commit_id":"fac5d0c33e2dddea288b91e8c6a7ba6ff88bc5f6"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"573d0c8f460a5ce76ff5a4f7fdef861650661725","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        options \u003d [\u0027description\u0027, \u0027lb_algorithm\u0027, \u0027name\u0027,"},{"line_number":133,"context_line":"                   \u0027session_persistence\u0027]"},{"line_number":134,"context_line":"        body \u003d {"},{"line_number":135,"context_line":"            self.resource: {"},{"line_number":136,"context_line":"                \u0027admin_state_up\u0027: parsed_args.admin_state,"},{"line_number":137,"context_line":"            },"},{"line_number":138,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a2fa921_3e98d877","line":135,"in_reply_to":"7a2fa921_236c4dcf","updated":"2015-10-08 12:31:19.000000000","message":"You can check the re-factoring done as part of \n\nhttps://review.openstack.org/#/q/status:merged+project:openstack/python-neutronclient+branch:master+topic:neutron-command-refacotr,n,z","commit_id":"fac5d0c33e2dddea288b91e8c6a7ba6ff88bc5f6"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"1b3d4b284cd2eac55c4cfbcdf88eb07248faa605","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        options \u003d [\u0027description\u0027, \u0027lb_algorithm\u0027, \u0027name\u0027,"},{"line_number":133,"context_line":"                   \u0027session_persistence\u0027]"},{"line_number":134,"context_line":"        body \u003d {"},{"line_number":135,"context_line":"            self.resource: {"},{"line_number":136,"context_line":"                \u0027admin_state_up\u0027: parsed_args.admin_state,"},{"line_number":137,"context_line":"            },"},{"line_number":138,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a2fa921_93fa2174","line":135,"in_reply_to":"7a2fa921_3e98d877","updated":"2015-10-09 01:27:44.000000000","message":"Thanks. The suggestion is correct.","commit_id":"fac5d0c33e2dddea288b91e8c6a7ba6ff88bc5f6"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"40a04dbeb189e95c601a81311a9fe25bdbbe3184","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                \u0027admin_state_up\u0027: parsed_args.admin_state,"},{"line_number":137,"context_line":"            },"},{"line_number":138,"context_line":"        }"},{"line_number":139,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource], options)"},{"line_number":140,"context_line":"        return body"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"7a2fa921_43a869db","line":139,"updated":"2015-10-08 06:43:00.000000000","message":"I think we don\u0027t use \u0027neutronV20.update_dict\u0027 anymore. Please check the latest coding style.","commit_id":"fac5d0c33e2dddea288b91e8c6a7ba6ff88bc5f6"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"573d0c8f460a5ce76ff5a4f7fdef861650661725","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                \u0027admin_state_up\u0027: parsed_args.admin_state,"},{"line_number":137,"context_line":"            },"},{"line_number":138,"context_line":"        }"},{"line_number":139,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource], options)"},{"line_number":140,"context_line":"        return body"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"7a2fa921_9e9c8c5e","line":139,"in_reply_to":"7a2fa921_43a869db","updated":"2015-10-08 12:31:19.000000000","message":"Please do as re-factored:\n\nhttps://review.openstack.org/#/q/status:merged+project:openstack/python-neutronclient+branch:master+topic:neutron-command-refacotr,n,z","commit_id":"fac5d0c33e2dddea288b91e8c6a7ba6ff88bc5f6"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"1b3d4b284cd2eac55c4cfbcdf88eb07248faa605","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                \u0027admin_state_up\u0027: parsed_args.admin_state,"},{"line_number":137,"context_line":"            },"},{"line_number":138,"context_line":"        }"},{"line_number":139,"context_line":"        neutronV20.update_dict(parsed_args, body[self.resource], options)"},{"line_number":140,"context_line":"        return body"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"7a2fa921_738e65d1","line":139,"in_reply_to":"7a2fa921_9e9c8c5e","updated":"2015-10-09 01:27:44.000000000","message":"Thanks, I read the new code once more, I think \u0027neutronV20.update_dict\u0027 should still be used here according to neutronclient.neutron.v2_0.securitygroup:UpdateSecurityGroup or neutronclient.neutron.v2_0.floatingup:CreateFloatingip. Their body argument which input neutronV20.update_dict are the same as the situation here, like body is blank dict or only 1 element. I will rework the code style to follow the new one. Thanks very much for reminding me again.","commit_id":"fac5d0c33e2dddea288b91e8c6a7ba6ff88bc5f6"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"82a293648368fdc9b8a90e7cf9a499752f701429","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            \u0027--name\u0027,"},{"line_number":121,"context_line":"            help\u003d_(\u0027The name of the pool.\u0027))"},{"line_number":122,"context_line":"        parser.add_argument("},{"line_number":123,"context_line":"            \u0027--session-persistence\u0027,"},{"line_number":124,"context_line":"            metavar\u003d\u0027type\u003dTYPE[,cookie_name\u003dCOOKIE_NAME]\u0027,"},{"line_number":125,"context_line":"            help\u003d_(\u0027The type of session persistence to use and associated \u0027"},{"line_number":126,"context_line":"                   \u0027cookie name\u0027))"}],"source_content_type":"text/x-python","patch_set":24,"id":"7a2fa921_a4afd128","line":123,"updated":"2015-10-09 03:28:43.000000000","message":"Please address PS23 comment.","commit_id":"0afa8cd47d48ec0a87ce1ad6a8518eaaf414a2a5"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"1c1fc2c1a0beeeed7a181a169ca37928735964a9","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            \u0027--name\u0027,"},{"line_number":121,"context_line":"            help\u003d_(\u0027The name of the pool.\u0027))"},{"line_number":122,"context_line":"        parser.add_argument("},{"line_number":123,"context_line":"            \u0027--session-persistence\u0027,"},{"line_number":124,"context_line":"            metavar\u003d\u0027type\u003dTYPE[,cookie_name\u003dCOOKIE_NAME]\u0027,"},{"line_number":125,"context_line":"            help\u003d_(\u0027The type of session persistence to use and associated \u0027"},{"line_number":126,"context_line":"                   \u0027cookie name\u0027))"}],"source_content_type":"text/x-python","patch_set":24,"id":"7a2fa921_779baa66","line":123,"in_reply_to":"7a2fa921_a4afd128","updated":"2015-10-09 06:06:36.000000000","message":"Hi Mr.choudhary, Thanks for review. I\u0027m sorry for miss it.","commit_id":"0afa8cd47d48ec0a87ce1ad6a8518eaaf414a2a5"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"57084232e744ac954f7b06080df1fba1b1aa3093","unresolved":false,"context_lines":[{"line_number":127,"context_line":"                   \u0027cookie name\u0027))"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def args2body(self, parsed_args):"},{"line_number":130,"context_line":"        body \u003d {\u0027admin_state_up\u0027: parsed_args.admin_state}"},{"line_number":131,"context_line":"        neutronV20.update_dict(parsed_args,"},{"line_number":132,"context_line":"                               body, [\u0027description\u0027, \u0027lb_algorithm\u0027, \u0027name\u0027,"},{"line_number":133,"context_line":"                                      \u0027session_persistence\u0027])"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a2ca52d_6175b4c9","line":130,"updated":"2015-10-14 08:57:24.000000000","message":"Since this file doesn\u0027t add argument about \"admin_states\" so it would be better if you can write a parse function in the utils as well.","commit_id":"0a45ce828259f2b4f96fa89eb73ff2b1805f6a66"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"e708e1c8dd7012bf42366b35af473a091e28997f","unresolved":false,"context_lines":[{"line_number":127,"context_line":"                   \u0027cookie name\u0027))"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def args2body(self, parsed_args):"},{"line_number":130,"context_line":"        body \u003d {\u0027admin_state_up\u0027: parsed_args.admin_state}"},{"line_number":131,"context_line":"        neutronV20.update_dict(parsed_args,"},{"line_number":132,"context_line":"                               body, [\u0027description\u0027, \u0027lb_algorithm\u0027, \u0027name\u0027,"},{"line_number":133,"context_line":"                                      \u0027session_persistence\u0027])"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a2ca52d_93f865e7","line":130,"in_reply_to":"5a2ca52d_6175b4c9","updated":"2015-10-14 09:37:56.000000000","message":"Hi Mr.choudhary, Thanks.\nDo you mean I should do like:\n1.add a function named add_admin_state_to_body in utils.py..\n2. \ndef add_admin_state_to_body(parsed_args):\n    if hasattr(parsed_args, \u0027admin_state\u0027):\n        body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state\n3.code here will change to :\ndef args2body(self, parsed_args):\n    body\u003d{}\n    utils.add_admin_state_to_body(parsed_args)\n    neutronV20.update_dict.....\n    ........\n\nI think this may cause more issues, we should consider more situations about this. I think your suggestion is make this part code more readable , and should wipe out the info which I didn\u0027t done in this code. Or I lost..Could you correct me or the code if there is any problem ?","commit_id":"0a45ce828259f2b4f96fa89eb73ff2b1805f6a66"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"14be037f3f221dcb7ce01fa0749a1fabff3bb7f4","unresolved":false,"context_lines":[{"line_number":127,"context_line":"                   \u0027cookie name\u0027))"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def args2body(self, parsed_args):"},{"line_number":130,"context_line":"        body \u003d {\u0027admin_state_up\u0027: parsed_args.admin_state}"},{"line_number":131,"context_line":"        neutronV20.update_dict(parsed_args,"},{"line_number":132,"context_line":"                               body, [\u0027description\u0027, \u0027lb_algorithm\u0027, \u0027name\u0027,"},{"line_number":133,"context_line":"                                      \u0027session_persistence\u0027])"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a2ca52d_2773224f","line":130,"in_reply_to":"5a2ca52d_93f865e7","updated":"2015-10-15 04:12:52.000000000","message":"@zhaoBo, let\u0027s have a discussion and come to a common understanding via the etherpad started by amotoki. Till then, I feel you can suspend this work.","commit_id":"0a45ce828259f2b4f96fa89eb73ff2b1805f6a66"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"88d70a4e59f900fca2d0bbd4b1a3d94d71c096db","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            help\u003d_(\u0027Specify the administrative state of the subnetpool\u0027"},{"line_number":116,"context_line":"                   \u0027 (True meaning \"Up\")\u0027))"},{"line_number":117,"context_line":"        utils.add_boolean_argument("},{"line_number":118,"context_line":"            parser, \u0027--admin_state_up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":119,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":120,"context_line":"        parser.add_argument("},{"line_number":121,"context_line":"            \u0027--description\u0027,"}],"source_content_type":"text/x-python","patch_set":28,"id":"5a710552_ed4be6ae","line":118,"updated":"2015-12-15 16:10:31.000000000","message":"IMO, this parameter is no more required.","commit_id":"7c9a3a5e4ab8e5e66dcbf24cee918c623265460c"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"f8a7d6e9933bf1176ef2cbe3cf03a1c837ddea0e","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            help\u003d_(\u0027Specify the administrative state of the subnetpool\u0027"},{"line_number":116,"context_line":"                   \u0027 (True meaning \"Up\")\u0027))"},{"line_number":117,"context_line":"        utils.add_boolean_argument("},{"line_number":118,"context_line":"            parser, \u0027--admin_state_up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":119,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":120,"context_line":"        parser.add_argument("},{"line_number":121,"context_line":"            \u0027--description\u0027,"}],"source_content_type":"text/x-python","patch_set":28,"id":"5a710552_52687f87","line":118,"in_reply_to":"5a710552_ed4be6ae","updated":"2015-12-16 02:19:51.000000000","message":"It is not required.... @ZhaoBo: I have got similar changes in https://review.openstack.org/#/c/255093/4/neutronclient/neutron/v2_0/lb/v2/pool.py\n\nI would be removing the changes as you are taking care of these changes. But maybe the changes which I have mentioned can be incorporated here.( Forgot to add the admin-state-up though .. :D )","commit_id":"7c9a3a5e4ab8e5e66dcbf24cee918c623265460c"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"5f1075662bac73f85dd42f894182edcdaaf144a0","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            help\u003d_(\u0027Specify the administrative state of the subnetpool\u0027"},{"line_number":116,"context_line":"                   \u0027 (True meaning \"Up\")\u0027))"},{"line_number":117,"context_line":"        utils.add_boolean_argument("},{"line_number":118,"context_line":"            parser, \u0027--admin_state_up\u0027, dest\u003d\u0027admin_state\u0027,"},{"line_number":119,"context_line":"            help\u003dargparse.SUPPRESS)"},{"line_number":120,"context_line":"        parser.add_argument("},{"line_number":121,"context_line":"            \u0027--description\u0027,"}],"source_content_type":"text/x-python","patch_set":28,"id":"5a710552_485f7141","line":118,"in_reply_to":"5a710552_ed4be6ae","updated":"2015-12-16 00:55:34.000000000","message":"Thanks, I may miss something..","commit_id":"7c9a3a5e4ab8e5e66dcbf24cee918c623265460c"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"88d70a4e59f900fca2d0bbd4b1a3d94d71c096db","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            \u0027--description\u0027,"},{"line_number":122,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"},{"line_number":123,"context_line":"        parser.add_argument("},{"line_number":124,"context_line":"            \u0027--lb-algorithm\u0027,"},{"line_number":125,"context_line":"            choices\u003d[\u0027ROUND_ROBIN\u0027, \u0027LEAST_CONNECTIONS\u0027, \u0027SOURCE_IP\u0027],"},{"line_number":126,"context_line":"            help\u003d_(\u0027The algorithm used to distribute load between the members \u0027"},{"line_number":127,"context_line":"                   \u0027of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":28,"id":"5a710552_cdfcea40","line":124,"updated":"2015-12-15 16:10:31.000000000","message":"I think we can have a common function for adding common known args and use the same in both create and update.","commit_id":"7c9a3a5e4ab8e5e66dcbf24cee918c623265460c"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"f8a7d6e9933bf1176ef2cbe3cf03a1c837ddea0e","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            \u0027--description\u0027,"},{"line_number":122,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"},{"line_number":123,"context_line":"        parser.add_argument("},{"line_number":124,"context_line":"            \u0027--lb-algorithm\u0027,"},{"line_number":125,"context_line":"            choices\u003d[\u0027ROUND_ROBIN\u0027, \u0027LEAST_CONNECTIONS\u0027, \u0027SOURCE_IP\u0027],"},{"line_number":126,"context_line":"            help\u003d_(\u0027The algorithm used to distribute load between the members \u0027"},{"line_number":127,"context_line":"                   \u0027of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":28,"id":"5a710552_72fa5bbf","line":124,"in_reply_to":"5a710552_a847f575","updated":"2015-12-16 02:19:51.000000000","message":"+1 to both of us :D","commit_id":"7c9a3a5e4ab8e5e66dcbf24cee918c623265460c"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"5f1075662bac73f85dd42f894182edcdaaf144a0","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            \u0027--description\u0027,"},{"line_number":122,"context_line":"            help\u003d_(\u0027Description of the pool.\u0027))"},{"line_number":123,"context_line":"        parser.add_argument("},{"line_number":124,"context_line":"            \u0027--lb-algorithm\u0027,"},{"line_number":125,"context_line":"            choices\u003d[\u0027ROUND_ROBIN\u0027, \u0027LEAST_CONNECTIONS\u0027, \u0027SOURCE_IP\u0027],"},{"line_number":126,"context_line":"            help\u003d_(\u0027The algorithm used to distribute load between the members \u0027"},{"line_number":127,"context_line":"                   \u0027of the pool.\u0027))"}],"source_content_type":"text/x-python","patch_set":28,"id":"5a710552_a847f575","line":124,"in_reply_to":"5a710552_cdfcea40","updated":"2015-12-16 00:55:34.000000000","message":"I saw Reedip\u0027s patch, I will update this.Thanks","commit_id":"7c9a3a5e4ab8e5e66dcbf24cee918c623265460c"}],"neutronclient/tests/unit/lb/v2/test_cli20_pool.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"f0cdb71f33cce899ca4f7847a5b57f79683728f0","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                                   [\u0027myid\u0027,"},{"line_number":131,"context_line":"                                    \u0027--name\u0027, \u0027newname\u0027,"},{"line_number":132,"context_line":"                                    \u0027--description\u0027, \u0027SuperPool\u0027,"},{"line_number":133,"context_line":"                                    \u0027--lb-method\u0027, \"SOURCE_IP\","},{"line_number":134,"context_line":"                                    \u0027--admin-state-up\u0027, \u0027True\u0027],"},{"line_number":135,"context_line":"                                   {\u0027name\u0027: \u0027newname\u0027,"},{"line_number":136,"context_line":"                                    \"description\": \"SuperPool\","}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_345dd6ec","line":133,"updated":"2015-07-24 05:29:43.000000000","message":"How about adding a negative test-case for a choice not defined for --lb-method?","commit_id":"dd80e9098ee97554f0dcb81e46fb9e036fb06a90"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"219f60400bb92ae12e4cac45d6204eea53effaf0","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                                   [\u0027myid\u0027,"},{"line_number":131,"context_line":"                                    \u0027--name\u0027, \u0027newname\u0027,"},{"line_number":132,"context_line":"                                    \u0027--description\u0027, \u0027SuperPool\u0027,"},{"line_number":133,"context_line":"                                    \u0027--lb-method\u0027, \"SOURCE_IP\","},{"line_number":134,"context_line":"                                    \u0027--admin-state-up\u0027, \u0027True\u0027],"},{"line_number":135,"context_line":"                                   {\u0027name\u0027: \u0027newname\u0027,"},{"line_number":136,"context_line":"                                    \"description\": \"SuperPool\","}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_ce1f3a08","line":133,"in_reply_to":"3a50d1a3_345dd6ec","updated":"2015-07-24 09:42:20.000000000","message":"I think the negative case should not be added as other operations don\u0027t contain the negative ones.And the error -b-method input may be disappeared by users when they input the wrong info about it.How about you? And thanks for your suggestion again.","commit_id":"dd80e9098ee97554f0dcb81e46fb9e036fb06a90"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"849832698c8a846bd6e860df83bbe19725da93a6","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            \u0027name\u0027: \u0027newname\u0027,"},{"line_number":135,"context_line":"            \"description\": \"SuperPool\","},{"line_number":136,"context_line":"            \"lb_algorithm\": \"SOURCE_IP\","},{"line_number":137,"context_line":"            \"admin_state_up\": True,"},{"line_number":138,"context_line":"            \u0027session_persistence\u0027: {"},{"line_number":139,"context_line":"                \u0027type\u0027: \u0027HTTP_COOKIE\u0027,"},{"line_number":140,"context_line":"                \u0027cookie_name\u0027: \u0027pie\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"7a2fa921_c66bceb5","line":137,"updated":"2015-10-09 17:24:45.000000000","message":"Can you validate \u0027admin_state_down\u0027 as well?","commit_id":"a700f6cbfa7dac6fca20bd5e7c789d763927428f"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"39a5985eb1b8db1993850655abd4cfea2f649b6a","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            \u0027name\u0027: \u0027newname\u0027,"},{"line_number":135,"context_line":"            \"description\": \"SuperPool\","},{"line_number":136,"context_line":"            \"lb_algorithm\": \"SOURCE_IP\","},{"line_number":137,"context_line":"            \"admin_state_up\": True,"},{"line_number":138,"context_line":"            \u0027session_persistence\u0027: {"},{"line_number":139,"context_line":"                \u0027type\u0027: \u0027HTTP_COOKIE\u0027,"},{"line_number":140,"context_line":"                \u0027cookie_name\u0027: \u0027pie\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"5a2ca52d_5bb672dd","line":137,"in_reply_to":"7a2fa921_c66bceb5","updated":"2015-10-14 02:02:11.000000000","message":"Hi, Mr.choudhary, the --admin-state-up or --admin-state-down will be showed as \"{\u0027admin_state_up\u0027: True}\" or \"{\u0027admin_state_up\u0027: False}\". There may be not the key named \"admin_state_down\" if I\u0027m right..Thanks.","commit_id":"a700f6cbfa7dac6fca20bd5e7c789d763927428f"}]}
