)]}'
{"nova/network/neutronv2/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"77c9bc750191af5809efdbb6842fbbae840b9e10","unresolved":false,"context_lines":[{"line_number":372,"context_line":"            ((time.time() - self.last_neutron_extension_sync)"},{"line_number":373,"context_line":"             \u003e\u003d CONF.neutron_extension_sync_interval)):"},{"line_number":374,"context_line":"            neutron \u003d neutronv2.get_client(context.get_admin_context(),"},{"line_number":375,"context_line":"                                           admin\u003dTrue)"},{"line_number":376,"context_line":"            extensions_list \u003d neutron.list_extensions()[\u0027extensions\u0027]"},{"line_number":377,"context_line":"            self.last_neutron_extension_sync \u003d time.time()"},{"line_number":378,"context_line":"            self.extensions.clear()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2B%2BSo%3D","line":375,"updated":"2013-11-17 14:52:19.000000000","message":"This seems like an unrelated or at least collateral change not called out in the commit message. You do have it covered in the tests, which is good, just seems like there should be a mention for it in the commit message.","commit_id":"1c1371c78b990447aeaa4377b512f8887e6ff3ce"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"8d84fb003d7f707a568e76db16b5cdb028314b00","unresolved":false,"context_lines":[{"line_number":372,"context_line":"            ((time.time() - self.last_neutron_extension_sync)"},{"line_number":373,"context_line":"             \u003e\u003d CONF.neutron_extension_sync_interval)):"},{"line_number":374,"context_line":"            neutron \u003d neutronv2.get_client(context.get_admin_context(),"},{"line_number":375,"context_line":"                                           admin\u003dTrue)"},{"line_number":376,"context_line":"            extensions_list \u003d neutron.list_extensions()[\u0027extensions\u0027]"},{"line_number":377,"context_line":"            self.last_neutron_extension_sync \u003d time.time()"},{"line_number":378,"context_line":"            self.extensions.clear()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BzVM%3D","line":375,"in_reply_to":"AAAATn%2F%2B%2BSo%3D","updated":"2013-11-20 00:03:13.000000000","message":"I\u0027m scratching my head over this one as well.\n\nHow does this change play with https://review.openstack.org/#/c/56258?","commit_id":"1c1371c78b990447aeaa4377b512f8887e6ff3ce"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"66485fd54ccd7282d7be6c8efe06607e3516146d","unresolved":false,"context_lines":[{"line_number":372,"context_line":"            ((time.time() - self.last_neutron_extension_sync)"},{"line_number":373,"context_line":"             \u003e\u003d CONF.neutron_extension_sync_interval)):"},{"line_number":374,"context_line":"            neutron \u003d neutronv2.get_client(context.get_admin_context(),"},{"line_number":375,"context_line":"                                           admin\u003dTrue)"},{"line_number":376,"context_line":"            extensions_list \u003d neutron.list_extensions()[\u0027extensions\u0027]"},{"line_number":377,"context_line":"            self.last_neutron_extension_sync \u003d time.time()"},{"line_number":378,"context_line":"            self.extensions.clear()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2Bv6g%3D","line":375,"in_reply_to":"AAAATn%2F%2Bv7g%3D","updated":"2013-11-20 17:54:16.000000000","message":"Fair enough.","commit_id":"1c1371c78b990447aeaa4377b512f8887e6ff3ce"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"0b84b08a74c5c74d6425a2aa3575d7f8355814a1","unresolved":false,"context_lines":[{"line_number":372,"context_line":"            ((time.time() - self.last_neutron_extension_sync)"},{"line_number":373,"context_line":"             \u003e\u003d CONF.neutron_extension_sync_interval)):"},{"line_number":374,"context_line":"            neutron \u003d neutronv2.get_client(context.get_admin_context(),"},{"line_number":375,"context_line":"                                           admin\u003dTrue)"},{"line_number":376,"context_line":"            extensions_list \u003d neutron.list_extensions()[\u0027extensions\u0027]"},{"line_number":377,"context_line":"            self.last_neutron_extension_sync \u003d time.time()"},{"line_number":378,"context_line":"            self.extensions.clear()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2Bv7g%3D","line":375,"in_reply_to":"AAAATn%2F%2BzVM%3D","updated":"2013-11-20 17:49:13.000000000","message":"The reason we need admin\u003dTrue is that what this code is trying to is to create an admin client.   In the old code this would have worked simply because auth_token is Null when you create a context like this.   \n\nBut now a null auth_token is considered an error unless you set admin\u003dTrue\n\nThe change to check the auth_token wasn\u0027t breaking this because at the same time in added the check to always auth as admin if is_admin is set in the context -but that\u0027s the part of the change I\u0027m trying to back out.\n\nHence this was and still is creating an admin Neutron client - but its now doing explicitly rather than as a side effect of a null auth_token\u003dNone  is_admin\u003dTrue in the context - neither of which are now valid ways of doing this.  \n\nThe other patch I\u0027ve posted removes the need to be admin at all at this point - but I didn\u0027t want to mix up the two changes","commit_id":"1c1371c78b990447aeaa4377b512f8887e6ff3ce"}]}
