)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"da5be8ab533bc5ff68cd159afac4c2f65f7ee39c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix Neutron Authentication for Metadata Service"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"A recent change to the way Nova creates a Neutron client"},{"line_number":10,"context_line":"https://review.openstack.org/#/c/52954/4 changed the conditions"},{"line_number":11,"context_line":"under which it re-authenticates using the neutron admin credentials"},{"line_number":12,"context_line":"from \"if admin\" to \"if admin or context.is_admin\".  However this"},{"line_number":13,"context_line":"meant that any user with admin role in Nova interacted with Neutron"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAATn%2F%2BJu4%3D","line":10,"updated":"2013-12-01 14:44:53.000000000","message":"Please use a commit hash instead of review URL so one can use the git log to look at the other patches.","commit_id":"7f4d6dd26c7061c1488f8890ffdb2583dffb3226"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"da5be8ab533bc5ff68cd159afac4c2f65f7ee39c","unresolved":false,"context_lines":[{"line_number":14,"context_line":"as a different tenant, preventing them from non-admin actions such"},{"line_number":15,"context_line":"as allocating floating IPS."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This was then addressed by https://review.openstack.org/#/c/56174/4"},{"line_number":18,"context_line":"which only reauthenticated as admin on the explicit use of"},{"line_number":19,"context_line":"\"admin\u003dTrue\" parameter to neutonv2.get_client()."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAATn%2F%2BJu0%3D","line":17,"updated":"2013-12-01 14:44:53.000000000","message":"same here","commit_id":"7f4d6dd26c7061c1488f8890ffdb2583dffb3226"}],"nova/network/neutronv2/__init__.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"da5be8ab533bc5ff68cd159afac4c2f65f7ee39c","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def get_client(context, admin\u003dFalse):"},{"line_number":50,"context_line":"    # NOTE(dims): We need to use admin token, let us cache a"},{"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"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BJuw%3D","line":50,"updated":"2013-12-01 14:44:53.000000000","message":"Please see Dan Prince\u0027s patch here:\n\nhttps://review.openstack.org/#/c/59290/\n\nI like how he re-works this comment block so it\u0027s more up to date with the logic.","commit_id":"7f4d6dd26c7061c1488f8890ffdb2583dffb3226"},{"author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"change_message_id":"ff4f03ed741639ff14d46be03f649e37dad6e681","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def get_client(context, admin\u003dFalse):"},{"line_number":50,"context_line":"    # NOTE(dims): We need to use admin token, let us cache a"},{"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"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BJpU%3D","line":50,"in_reply_to":"AAAATn%2F%2BJuw%3D","updated":"2013-12-01 18:24:41.000000000","message":"I added this comment in my patch so this is explicit:\n\n # NOTE(dprince): In the case where no auth_token is present\n # we allow use of neutron admin tenant credentials if\n # it is an admin context.\n # This is to support some services (metadata API) where\n # an admin context is used without an auth token.","commit_id":"7f4d6dd26c7061c1488f8890ffdb2583dffb3226"}],"nova/tests/network/test_neutronv2.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"28725aba6b052d190999c7a42d4f32b4f6e2a3b2","unresolved":false,"context_lines":[{"line_number":1930,"context_line":""},{"line_number":1931,"context_line":"        # Note that the context does not contain a token but is"},{"line_number":1932,"context_line":"        # an admin context  which will force an elevation to admin"},{"line_number":1933,"context_line":"        # credentials even though"},{"line_number":1934,"context_line":"        neutronv2.get_client(my_context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BJok%3D","line":1933,"updated":"2013-12-01 18:42:20.000000000","message":"Incomplete sentence here.","commit_id":"7f4d6dd26c7061c1488f8890ffdb2583dffb3226"}]}
