)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d0b473a1203d97e2ac6b7f4254fb2728834a2ebd","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Delegate authentication to quantumclient"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Quantumclient can deal with authentication, getting the token and"},{"line_number":10,"context_line":"refreshing it when needed. There should be no need for nova do do"},{"line_number":11,"context_line":"those explicitly. Additionally nova can save some time not having"},{"line_number":12,"context_line":"to recreate the Client object on each request."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAPH%2F%2F9VQ%3D","line":9,"updated":"2013-05-17 19:03:22.000000000","message":"Nit - Typo here \u0027nova to do\u0027","commit_id":"260f53105ff21f586e8165b25744b5ff87cf5323"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2b3749a7c6b20d1150b7ce58937ab3d207c0f632","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Fix a couple of places that relied on the exceptions module being"},{"line_number":15,"context_line":"imported inside quantumv2."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Part of blueprint fewer-networking-token-checks"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I007cef1f0bd688036fa45d79792e6e350c145f05"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"AAAAPH%2F%2Ft60%3D","line":17,"updated":"2013-05-24 15:54:45.000000000","message":"I\u0027d also like to see \"Fixes bug 1177579\" in the commit message because it does fix that bug and might help speed this up.  I created a patch of the fix and the originator of the bug verified it resolved his issue (note that he\u0027s only using the admin context).","commit_id":"27569463dba908dc4f0183bbca7a822bcf4f659e"}],"nova/network/quantumv2/__init__.py":[{"author":{"_account_id":642,"name":"Matt Dietz","email":"matthew.dietz@gmail.com","username":"cerberus"},"change_message_id":"d8b4bb4ae52b9f20ad3f6efa99624c0d5ef1298f","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    if admin:"},{"line_number":74,"context_line":"        if cached_admin_client is not None:"},{"line_number":75,"context_line":"            return cached_admin_client"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        token \u003d None"},{"line_number":78,"context_line":"    else:"},{"line_number":79,"context_line":"        token \u003d context.auth_token"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOX%2F%2F5pk%3D","line":76,"updated":"2013-04-08 15:09:19.000000000","message":"What happens when (if?) the token associated with this client expires? The context provided here makes it hard to tell, and I haven\u0027t dove into the code around this lately.","commit_id":"812f36be6ed0682c318020e621d644ab9d0925ee"},{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"628a4c26630fa8aa6206dde5777071bb448da5fe","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    if admin:"},{"line_number":74,"context_line":"        if cached_admin_client is not None:"},{"line_number":75,"context_line":"            return cached_admin_client"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        token \u003d None"},{"line_number":78,"context_line":"    else:"},{"line_number":79,"context_line":"        token \u003d context.auth_token"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOX%2F%2F5i8%3D","line":76,"in_reply_to":"AAAAOX%2F%2F5pk%3D","updated":"2013-04-08 16:22:29.000000000","message":"There is no token associated with the cached client in this code. Or to be more precise - if there\u0027s only a token and no credentials, the client is recreated. If there isn\u0027t a context token and the admin credentials are used, it\u0027s up to quantumclient to deal with it.\n\nAnd quantumclient does that. In HTTPClient.do_request it will retry authentication on the first \"exceptions.Unauthorized\" to get a new token in case of expiry.","commit_id":"812f36be6ed0682c318020e621d644ab9d0925ee"}]}
