)]}'
{"ceilometerclient/client.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"43a4629cfc6837fc03091a06e9e8effba1200064","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            elif has_user:"},{"line_number":234,"context_line":"                missing_opts.append(\u0027project_id\u0027)"},{"line_number":235,"context_line":"            else:"},{"line_number":236,"context_line":"                missing_opts.extend([\u0027project_id\u0027, \u0027user_id\u0027])"},{"line_number":237,"context_line":"            raise exceptions.AuthPluginOptionsMissing(missing_opts)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa53dc9_95f7b458","line":236,"updated":"2015-04-09 03:40:23.000000000","message":"ok, these logic seems getting more and more complicated. It seems to me that we need to simplify the logic here. How about use the following logic:\n\n1. if no_auth, just return\n2. check for password/auth_url, and based on the auth_url, let\u0027s decide whether we need v2 check or v3 check.\n3. to do a v2 or v3 check, we can have some common code/structure, e.g.\n\ndef check_missing(self, required)\n\nwhere required is a list of required options(including the alternative options like tenant_name) needed for that specific keystone version.","commit_id":"0465392a8f9df73d0f7d42fe69adc5941dad74bf"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"3ce73b3c7712c51cb6ac875e8b719eecbcefa19c","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            elif has_user:"},{"line_number":234,"context_line":"                missing_opts.append(\u0027project_id\u0027)"},{"line_number":235,"context_line":"            else:"},{"line_number":236,"context_line":"                missing_opts.extend([\u0027project_id\u0027, \u0027user_id\u0027])"},{"line_number":237,"context_line":"            raise exceptions.AuthPluginOptionsMissing(missing_opts)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa53dc9_b8562d28","line":236,"in_reply_to":"9aa53dc9_95f7b458","updated":"2015-04-09 05:12:53.000000000","message":"I will try later\n\nthanks for your advice","commit_id":"0465392a8f9df73d0f7d42fe69adc5941dad74bf"}],"doc/source/shell.rst":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"43a4629cfc6837fc03091a06e9e8effba1200064","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":".. note::"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    You can use --os-tenant-id or export OS_TENANT_ID to specify the project."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The command line tool will attempt to reauthenticate using your provided credentials"},{"line_number":43,"context_line":"for every request. You can override this behavior by manually supplying an auth"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa53dc9_35fc6871","line":40,"updated":"2015-04-09 03:40:23.000000000","message":"should this be --os-tenant-name to match the modification above?","commit_id":"0465392a8f9df73d0f7d42fe69adc5941dad74bf"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"3ce73b3c7712c51cb6ac875e8b719eecbcefa19c","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":".. note::"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    You can use --os-tenant-id or export OS_TENANT_ID to specify the project."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The command line tool will attempt to reauthenticate using your provided credentials"},{"line_number":43,"context_line":"for every request. You can override this behavior by manually supplying an auth"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa53dc9_f82715c8","line":40,"in_reply_to":"9aa53dc9_35fc6871","updated":"2015-04-09 05:12:53.000000000","message":"I wanna to say user can use tenant-id ortenant-name to specify project, but seems forget to ending with `as well`","commit_id":"0465392a8f9df73d0f7d42fe69adc5941dad74bf"}]}
