)]}'
{"nova/keymgr/barbican.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"e50d53de636566e2d79555077a4bcb5a09068796","unresolved":false,"context_lines":[{"line_number":22,"context_line":"import binascii"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from barbicanclient import client as barbican_client"},{"line_number":25,"context_line":"from keystoneauth1 import loading"},{"line_number":26,"context_line":"from keystoneauth1 import session"},{"line_number":27,"context_line":"from oslo_config import cfg"},{"line_number":28,"context_line":"from oslo_log import log as logging"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a740942_af54a6fe","line":25,"updated":"2015-12-07 15:38:51.000000000","message":"can we be consistent with the rest of the patch and call this ks_loading?","commit_id":"a7c037469357696d4da8dad4dac923af0adb9b47"}],"nova/network/neutronv2/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"35f6cf2afb09e9b228247393a231e18e912575fb","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        if not _ADMIN_AUTH:"},{"line_number":149,"context_line":"            _ADMIN_AUTH \u003d _load_auth_plugin(CONF)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        with lockutils.lock(\u0027neutron_admin_auth_token_lock\u0027):"},{"line_number":152,"context_line":"            # FIXME(jamielennox): We should also retrieve the endpoint from the"},{"line_number":153,"context_line":"            # catalog here rather than relying on setting it in CONF."},{"line_number":154,"context_line":"            auth_token \u003d _ADMIN_AUTH.get_token(_SESSION)"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a5de9d1_b0f68af7","side":"PARENT","line":151,"updated":"2016-01-28 16:35:35.000000000","message":"Why is this being removed?","commit_id":"2d705bea4ed3119bcfcf0717f51aa87e9c6aaef5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"37dae18dca302a7f84c1fdfba4c840206d3e9ef8","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        if not _ADMIN_AUTH:"},{"line_number":149,"context_line":"            _ADMIN_AUTH \u003d _load_auth_plugin(CONF)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        with lockutils.lock(\u0027neutron_admin_auth_token_lock\u0027):"},{"line_number":152,"context_line":"            # FIXME(jamielennox): We should also retrieve the endpoint from the"},{"line_number":153,"context_line":"            # catalog here rather than relying on setting it in CONF."},{"line_number":154,"context_line":"            auth_token \u003d _ADMIN_AUTH.get_token(_SESSION)"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a5de9d1_d0c78610","side":"PARENT","line":151,"in_reply_to":"7a5de9d1_b0f68af7","updated":"2016-01-28 16:40:07.000000000","message":"I guess because we\u0027re not calling auth_plugin.get_token anymore...","commit_id":"2d705bea4ed3119bcfcf0717f51aa87e9c6aaef5"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"1c5397e42ae1beadb153cc97c8231d4457295aa4","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        if not _ADMIN_AUTH:"},{"line_number":149,"context_line":"            _ADMIN_AUTH \u003d _load_auth_plugin(CONF)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        with lockutils.lock(\u0027neutron_admin_auth_token_lock\u0027):"},{"line_number":152,"context_line":"            # FIXME(jamielennox): We should also retrieve the endpoint from the"},{"line_number":153,"context_line":"            # catalog here rather than relying on setting it in CONF."},{"line_number":154,"context_line":"            auth_token \u003d _ADMIN_AUTH.get_token(_SESSION)"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a5de9d1_d0bc666e","side":"PARENT","line":151,"in_reply_to":"7a5de9d1_b0f68af7","updated":"2016-01-28 16:41:29.000000000","message":"Not sure on this, will look at the underlying bits on when/why this changed.","commit_id":"2d705bea4ed3119bcfcf0717f51aa87e9c6aaef5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4fb48818cc8224158cf13a88280a55ebc3744d65","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        if not _ADMIN_AUTH:"},{"line_number":149,"context_line":"            _ADMIN_AUTH \u003d _load_auth_plugin(CONF)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        with lockutils.lock(\u0027neutron_admin_auth_token_lock\u0027):"},{"line_number":152,"context_line":"            # FIXME(jamielennox): We should also retrieve the endpoint from the"},{"line_number":153,"context_line":"            # catalog here rather than relying on setting it in CONF."},{"line_number":154,"context_line":"            auth_token \u003d _ADMIN_AUTH.get_token(_SESSION)"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a5de9d1_d64d3e73","side":"PARENT","line":151,"in_reply_to":"7a5de9d1_d0bc666e","updated":"2016-01-28 16:53:55.000000000","message":"So looking at this:\n\nhttps://github.com/openstack/nova/commit/4bab641e9a5b1a9a21280bc303fc4ecd77609510\n\nWe used to have another method, _update_token, which was using the same lock, so that\u0027s why we had it. _update_token was removed in caeffad8e71d500a653ac7bc25e4594e624fb481 so we don\u0027t really need the lock anymore, so we\u0027re OK I think.","commit_id":"2d705bea4ed3119bcfcf0717f51aa87e9c6aaef5"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"1cb5c0d371d4624f281877b58f7675875e8d0da1","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        if not _ADMIN_AUTH:"},{"line_number":149,"context_line":"            _ADMIN_AUTH \u003d _load_auth_plugin(CONF)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        with lockutils.lock(\u0027neutron_admin_auth_token_lock\u0027):"},{"line_number":152,"context_line":"            # FIXME(jamielennox): We should also retrieve the endpoint from the"},{"line_number":153,"context_line":"            # catalog here rather than relying on setting it in CONF."},{"line_number":154,"context_line":"            auth_token \u003d _ADMIN_AUTH.get_token(_SESSION)"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a5de9d1_059c975b","side":"PARENT","line":151,"in_reply_to":"7a5de9d1_d64d3e73","updated":"2016-02-01 01:09:00.000000000","message":"The lock would prevent multiple threads going to fetch a new token. This is now handled by keystoneauth, using a lock[1]\n\n[1] https://github.com/openstack/keystoneauth/blob/f21def70615f079a5791da61cdb0fc6166b47c37/keystoneauth1/identity/base.py#L134","commit_id":"2d705bea4ed3119bcfcf0717f51aa87e9c6aaef5"}],"nova/tests/unit/network/test_neutronv2.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"4865a92692bc9f8e1d3fbe095bf270c06b66aac0","unresolved":false,"context_lines":[{"line_number":3853,"context_line":"        # something else before registering them."},{"line_number":3854,"context_line":"        oslo_opts \u003d [o._to_oslo_opt() for o in options]"},{"line_number":3855,"context_line":"        for opt in oslo_opts:"},{"line_number":3856,"context_line":"            self.config_fixture.register_opt(opt, \u0027neutron\u0027)"},{"line_number":3857,"context_line":""},{"line_number":3858,"context_line":"    @requests_mock.mock()"},{"line_number":3859,"context_line":"    def _test_get_client_for_admin(self, req_mock,"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa69d971_4082d995","line":3856,"updated":"2016-01-04 07:07:30.000000000","message":"Don\u0027t use private functions.\n\noslo_opts \u003d loading.get_auth_plugin_conf_options(\u0027v2password\u0027)               \nself.config_fixture.register_opts(opts, \u0027neutron\u0027)","commit_id":"b83377b26635936074f90d54d9b30fceea217029"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"32a5428af8fb6b50d7bb30cb13240f41352a6a7a","unresolved":false,"context_lines":[{"line_number":3959,"context_line":"            self.assertIsNone(admin_auth.tenant_id)"},{"line_number":3960,"context_line":"            self.assertIsNone(admin_auth.user_id)"},{"line_number":3961,"context_line":""},{"line_number":3962,"context_line":"            self.assertEqual(CONF.neutron.timeout,"},{"line_number":3963,"context_line":"                             neutronapi._SESSION.timeout)"},{"line_number":3964,"context_line":""},{"line_number":3965,"context_line":"        self.assertEqual("},{"line_number":3966,"context_line":"            token_value,"}],"source_content_type":"text/x-python","patch_set":18,"id":"da6ed579_e2175e52","line":3963,"range":{"start_line":3962,"start_character":12,"end_line":3963,"end_character":57},"updated":"2016-01-18 16:23:11.000000000","message":"just a heads up that this is now indented further, and in the else block","commit_id":"24c01c8d974bf910c1b9c46b05ad0d4371ed37cb"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f2ee67f615f40d64d9a878d8964f3ddb36954681","unresolved":false,"context_lines":[{"line_number":3995,"context_line":"            self.assertIsNone(admin_auth.user_id)"},{"line_number":3996,"context_line":""},{"line_number":3997,"context_line":"        self.assertEqual(CONF.neutron.timeout,"},{"line_number":3998,"context_line":"                         neutronapi._SESSION.timeout)"},{"line_number":3999,"context_line":""},{"line_number":4000,"context_line":"        self.assertEqual("},{"line_number":4001,"context_line":"            token_value,"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a5de9d1_965a6682","line":3998,"updated":"2016-01-28 17:03:49.000000000","message":"no need to change the formatting of this line.","commit_id":"95692ebd077f350764973c7afc0703bb2a099122"}],"requirements.txt":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"35f6cf2afb09e9b228247393a231e18e912575fb","unresolved":false,"context_lines":[{"line_number":55,"context_line":"os-brick\u003e\u003d0.4.0 # Apache-2.0"},{"line_number":56,"context_line":"os-win\u003e\u003d0.0.7 # Apache-2.0"},{"line_number":57,"context_line":"castellan\u003e\u003d0.3.1 # Apache-2.0"},{"line_number":58,"context_line":""}],"source_content_type":"text/plain","patch_set":22,"id":"7a5de9d1_b029aa39","line":58,"updated":"2016-01-28 16:35:35.000000000","message":"WTF?!?!?!","commit_id":"95692ebd077f350764973c7afc0703bb2a099122"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"1c5397e42ae1beadb153cc97c8231d4457295aa4","unresolved":false,"context_lines":[{"line_number":55,"context_line":"os-brick\u003e\u003d0.4.0 # Apache-2.0"},{"line_number":56,"context_line":"os-win\u003e\u003d0.0.7 # Apache-2.0"},{"line_number":57,"context_line":"castellan\u003e\u003d0.3.1 # Apache-2.0"},{"line_number":58,"context_line":""}],"source_content_type":"text/plain","patch_set":22,"id":"7a5de9d1_70f49286","line":58,"in_reply_to":"7a5de9d1_b029aa39","updated":"2016-01-28 16:41:29.000000000","message":"That is a rebase artifact.","commit_id":"95692ebd077f350764973c7afc0703bb2a099122"}]}
