)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2711,"name":"Zhang Hua","display_name":"Zhang Hua","email":"joshua.zhang@canonical.com","username":"zhhuabj"},"change_message_id":"e51361fa51f153efe6b252f0f71eb4876aa568a2","unresolved":false,"context_lines":[{"line_number":12,"context_line":"for subsequent calls in this thread."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"NOTE: Some of the hackiness in this code will go away once"},{"line_number":15,"context_line":"we have the BP auth-plugins gets implemented.  That blue print will"},{"line_number":16,"context_line":"ensure that tokens can be shared across clients as well"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I6346281ca3516c31b195ce71942786d724e5e9df"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAATn%2F%2FMjg%3D","line":15,"updated":"2013-11-13 03:25:34.000000000","message":"I would like you move the NOTE info saying this code will go away once having the BP auth-plugins gets implemented from the commit message to the code.","commit_id":"d9b42ed49859616d71c75cda02c80b878383a652"}],"nova/network/neutronv2/__init__.py":[{"author":{"_account_id":6316,"name":"Anita Kuno","email":"anteaya@anteaya.info","username":"anteaya"},"change_message_id":"d4dc7cc2534f6222dcea12070139b2386aa5e349","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    # We did not get a user token and we should not be using"},{"line_number":65,"context_line":"    # an admin token so log an error"},{"line_number":66,"context_line":"    raise exceptions.Unauthorized()"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FN0U%3D","line":67,"updated":"2013-11-12 18:44:46.000000000","message":"Let\u0027s remove this empty line.","commit_id":"015e960b2d97625f13a5f8e3bf1cad7a90685094"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"db2000d3b1a1c6152890f33793d5ab39837c1db4","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    # thread local copy for re-using this client"},{"line_number":52,"context_line":"    # multiple times and to avoid excessive calls"},{"line_number":53,"context_line":"    # to neutron to fetch tokens. Some of the hackiness in this code"},{"line_number":54,"context_line":"    # will go away once we have the BP auth-plugins gets implemented."},{"line_number":55,"context_line":"    # That blue print will ensure that tokens can be shared"},{"line_number":56,"context_line":"    # across clients as well"},{"line_number":57,"context_line":"    if admin or context.is_admin:"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2FKtU%3D","line":54,"updated":"2013-11-13 13:22:07.000000000","message":"perhaps \u0027gets\u0027 needs to replaced with \u0027is\u0027, and \u0027we have\u0027 is superfluous but I\u0027m not really the kind of guy who should play grammar nazi.","commit_id":"deca1a7f1f917b7e22dfb75c6bfa19a8571db776"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"44b4c940caba8065acd097b1746283b1d050f142","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    if token:"},{"line_number":38,"context_line":"        params[\u0027token\u0027] \u003d token"},{"line_number":39,"context_line":"        params[\u0027auth_strategy\u0027] \u003d None"},{"line_number":40,"context_line":"    else:"},{"line_number":41,"context_line":"        params[\u0027username\u0027] \u003d CONF.neutron_admin_username"},{"line_number":42,"context_line":"        params[\u0027tenant_name\u0027] \u003d CONF.neutron_admin_tenant_name"},{"line_number":43,"context_line":"        params[\u0027password\u0027] \u003d CONF.neutron_admin_password"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2FJyA%3D","line":40,"updated":"2013-11-13 17:26:44.000000000","message":"If we change this logic to:\n\n  if token:\n    params[\u0027token\u0027]\n  params[\u0027username\u0027]\n\nSo that the client always contains the username and password, and if we pass in a expired token would neutronclient fetch a new one since it would contain all the information needed to create a new one?\n\nAFAIK that\u0027s now nova client does it","commit_id":"4374c686d58c0750f3fdfa1ea8513474c2199808"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"a0706be04c095cd86e0311516647507af65caf77","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    if token:"},{"line_number":38,"context_line":"        params[\u0027token\u0027] \u003d token"},{"line_number":39,"context_line":"        params[\u0027auth_strategy\u0027] \u003d None"},{"line_number":40,"context_line":"    else:"},{"line_number":41,"context_line":"        params[\u0027username\u0027] \u003d CONF.neutron_admin_username"},{"line_number":42,"context_line":"        params[\u0027tenant_name\u0027] \u003d CONF.neutron_admin_tenant_name"},{"line_number":43,"context_line":"        params[\u0027password\u0027] \u003d CONF.neutron_admin_password"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2FJss%3D","line":40,"in_reply_to":"AAAATn%2F%2FJyA%3D","updated":"2013-11-13 18:04:08.000000000","message":"Joe, there are multiple code paths here for one thing (one for user tokens and another for admin, the username/password in 41/42 are for admin only). Another is that every piece of code that needs to make a neutron call invoktes get_client/_get_client which mints a fresh clientv20.Client which does NOT maintain a cache and hence we will have many keystone calls. So it won\u0027t work.\n\n-- dims","commit_id":"4374c686d58c0750f3fdfa1ea8513474c2199808"}]}
