)]}'
{"id":"openstack%2Fpython-openstackclient~215892","triplet_id":"openstack%2Fpython-openstackclient~master~I3306b4129b006ee2540b160b6d8fbd7ca1deb4d5","project":"openstack/python-openstackclient","branch":"master","topic":"replace_optional","hashtags":[],"change_id":"I3306b4129b006ee2540b160b6d8fbd7ca1deb4d5","subject":"Avoid using `required\u003dTrue` for non optional arguments.","status":"ABANDONED","created":"2015-08-22 08:24:30.000000000","updated":"2016-02-15 09:01:34.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"851ed09eb4bef0c1fd3735f8586b7a8b6f7c564b","_number":215892,"virtual_id_number":215892,"owner":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"date":"2015-08-22 10:19:36.000000000","_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":-1,"date":"2015-08-22 09:37:16.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"date":"2015-08-22 12:22:12.000000000","_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"disliked":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},{"value":-1,"date":"2015-09-08 20:55:26.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":-1,"default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2015-08-22 09:37:16.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2015-08-22 10:19:36.000000000","updated_by":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"reviewer":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"state":"REVIEWER"},{"updated":"2015-09-08 20:55:26.000000000","updated_by":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"reviewer":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"state":"REVIEWER"}],"messages":[{"id":"1477d090b4d3842c0c70e4509699c88cbb229cc5","author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"date":"2015-08-22 08:24:30.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"5da1e1c80798ee02709293935572ceba833e989f","author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"date":"2015-08-22 08:26:59.000000000","message":"Patch Set 2: Commit message was updated","accounts_in_message":[],"_revision_number":2},{"id":"9c2592dcf71a0e4051b6c95d3967cf5f999a8398","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-22 09:37:16.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-openstackclient-python26 http://logs.openstack.org/92/215892/2/check/gate-python-openstackclient-python26/d30bf04/ : FAILURE in 2m 50s\n- gate-python-openstackclient-pep8 http://logs.openstack.org/92/215892/2/check/gate-python-openstackclient-pep8/0a4de18/ : SUCCESS in 1m 27s\n- gate-python-openstackclient-docs http://docs-draft.openstack.org/92/215892/2/check/gate-python-openstackclient-docs/cdfda2d//doc/build/html/ : SUCCESS in 2m 43s\n- gate-python-openstackclient-python27 http://logs.openstack.org/92/215892/2/check/gate-python-openstackclient-python27/63ca781/ : FAILURE in 1m 56s\n- gate-python-openstackclient-python34 http://logs.openstack.org/92/215892/2/check/gate-python-openstackclient-python34/4cd2959/ : FAILURE in 2m 07s\n- gate-tempest-dsvm-neutron-src-python-openstackclient http://logs.openstack.org/92/215892/2/check/gate-tempest-dsvm-neutron-src-python-openstackclient/77d9b28/ : SUCCESS in 1h 10m 09s\n- gate-osc-dsvm-functional http://logs.openstack.org/92/215892/2/check/gate-osc-dsvm-functional/e71e060/ : FAILURE in 26m 35s","accounts_in_message":[],"_revision_number":2},{"id":"fd7e76dd2cad38e59526c57be683baf5e33d7362","author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"date":"2015-08-22 10:19:36.000000000","message":"Patch Set 2:\n\nI wouldn\u0027t put too much work in this until you get some more feedback, but you would need to add these changes to backwards-incompatible.rst \n\nPositional arguments can be a pain because order is important and if there are any changes especially changes between release (e.g.: identity v2.0 to V3) it can be very confusing to the user.","accounts_in_message":[],"_revision_number":2},{"id":"19e50bff491fcb39ab94f24e79ed512e2fd274cb","author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"date":"2015-08-22 12:22:12.000000000","message":"Patch Set 2:\n\n@Terry Howe, thanks, let\u0027s get more feedback then.","accounts_in_message":[],"_revision_number":2},{"id":"23de551110d21ec037c1d4088f99e43fd2a40dab","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2015-09-08 20:55:26.000000000","message":"Patch Set 2: Code-Review-1\n\ni remember when we decided to make these required\u003dtrue, it was to hopefully make user experience better. they are usually required when arguments are non-obvious and don\u0027t have a good default,\n\nso in the case of the oauth request token, i think its much cleaner and obvious to write:\n\n  `os request token create --client-secret 123 --client-id abc --role my_role`\n\nis much better than:\n\n  `os request token create 123 abc my_role`\n\nnames are other \"obvious\" attributes can be positional, but in cases like this, i think it\u0027s better to be explicit and leverage the required\u003dTrue that argparse provides.","accounts_in_message":[],"_revision_number":2},{"id":"845142520821855872d7ded2ceb98b1062fda23d","author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"date":"2015-09-11 02:29:21.000000000","message":"Patch Set 2: Workflow-1\n\nSteve, Terry, will figure out a better approach to avoid the confusion in the help message.","accounts_in_message":[],"_revision_number":2},{"id":"06fe7dec5b8837336fc871553f9f72f2f40fa059","author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"date":"2015-09-11 02:30:16.000000000","message":"Patch Set 2:\n\nAnd I think this is definitely one place we can improve.","accounts_in_message":[],"_revision_number":2},{"id":"bdd6dcdcf4bc89806908e8ee333aa580d5c34c57","author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"date":"2016-02-15 09:00:22.000000000","message":"Patch Set 2: -Workflow","accounts_in_message":[],"_revision_number":2},{"id":"87be8bb95ce56654febc14aad4d68ced098b165d","author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"date":"2016-02-15 09:01:34.000000000","message":"Abandoned\n\nstarred this change, will come back and see if there is anyway we can improve.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"51d74b83090df01a353aa7669e5a414602ce3539","revisions":{"2c718f8020b6b54bd9d73ae376999638342475a2":{"kind":"REWORK","_number":1,"created":"2015-08-22 08:24:30.000000000","uploader":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"ref":"refs/changes/92/215892/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/92/215892/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/215892/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/215892/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/215892/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/92/215892/1"}}},"commit":{"parents":[{"commit":"3751dbf1272bf20d82c55d61c2e20bcc0b29c983","subject":"Merge \"additional functional tests for identity providers\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/3751dbf1272bf20d82c55d61c2e20bcc0b29c983"}]}],"author":{"name":"Dave Chen","email":"wei.d.chen@intel.com","date":"2015-08-22 08:11:56.000000000","tz":480},"committer":{"name":"Dave Chen","email":"wei.d.chen@intel.com","date":"2015-08-22 08:11:56.000000000","tz":480},"subject":"Avoid using `required\u003dTrue` for non optional arguments.","message":"Avoid using `required\u003dTrue` for non optional arguments.\n\nRequired options are generally considered bad form because users\nexpect options to be optional, and thus they should be avoided\nwhen possible [1].\n\nDefault help group headings for these arguements are `optional arguments`,\nthis misleading to many people, there are already an issue opened for this\nusage [2].\n\nThe patch address these occurrences for keystone service to make these\narguments as positional arguments.\n\n[1] https://docs.python.org/3/library/argparse.html#required\n[2] https://bugs.python.org/issue9694\n\nChange-Id: I3306b4129b006ee2540b160b6d8fbd7ca1deb4d5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/2c718f8020b6b54bd9d73ae376999638342475a2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/2c718f8020b6b54bd9d73ae376999638342475a2"}]},"branch":"refs/heads/master"},"51d74b83090df01a353aa7669e5a414602ce3539":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2015-08-22 08:26:59.000000000","uploader":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"ref":"refs/changes/92/215892/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/92/215892/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/215892/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/215892/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/215892/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/92/215892/2"}}},"commit":{"parents":[{"commit":"3751dbf1272bf20d82c55d61c2e20bcc0b29c983","subject":"Merge \"additional functional tests for identity providers\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/3751dbf1272bf20d82c55d61c2e20bcc0b29c983"}]}],"author":{"name":"Dave Chen","email":"wei.d.chen@intel.com","date":"2015-08-22 08:11:56.000000000","tz":480},"committer":{"name":"Dave Chen","email":"dave.jungler@gmail.com","date":"2015-08-22 08:26:59.000000000","tz":0},"subject":"Avoid using `required\u003dTrue` for non optional arguments.","message":"Avoid using `required\u003dTrue` for non optional arguments.\n\nRequired options are generally considered bad form because users\nexpect options to be optional, and thus they should be avoided\nwhen possible [1].\n\nDefault help group headings for these arguements are `optional arguments`,\nthis misleading to many people, there are already an issue opened for this\nusage [2].\n\nThe patch address these occurrences for identity service to make these\narguments as positional arguments.\n\n[1] https://docs.python.org/3/library/argparse.html#required\n[2] https://bugs.python.org/issue9694\n\nChange-Id: I3306b4129b006ee2540b160b6d8fbd7ca1deb4d5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/51d74b83090df01a353aa7669e5a414602ce3539"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/51d74b83090df01a353aa7669e5a414602ce3539"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
