)]}'
{"nova/network/neutronv2/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"74ba4f1ed8baee136696788d3f5e58891f675939","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    list.insert(0, auth.get_common_conf_options()[0])"},{"line_number":94,"context_line":"    # NOTE(dims): There are a lot of auth plugins, we just generate"},{"line_number":95,"context_line":"    # the config options for a few common ones"},{"line_number":96,"context_line":"    plugins \u003d [\u0027password\u0027, \u0027v2password\u0027, \u0027v3password\u0027, \u0027admin_token\u0027]"},{"line_number":97,"context_line":"    for name in plugins:"},{"line_number":98,"context_line":"        for plugin_option in auth.get_plugin_class(name).get_options():"},{"line_number":99,"context_line":"            found \u003d False"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_713fabd6","line":96,"updated":"2015-12-06 17:52:46.000000000","message":"I don\u0027t see admin_token in this list, are the docs just missing something?\n\nhttp://docs.openstack.org/developer/keystoneauth/authentication-plugins.html?loading-plugins-by-name#loading-plugins-by-name\n\nIf there is a change in the latest keystoneauth to use this, that should be called out and explained in the commit message, because this change is doing more than just removing deprecated options, so we\u0027re going to need some more background details I think.","commit_id":"67e28540b326c0311726dedc3ea71ae9837beced"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2d693c729d71922abb57d08b3c08ae1da3b1a324","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    list.insert(0, auth.get_common_conf_options()[0])"},{"line_number":94,"context_line":"    # NOTE(dims): There are a lot of auth plugins, we just generate"},{"line_number":95,"context_line":"    # the config options for a few common ones"},{"line_number":96,"context_line":"    plugins \u003d [\u0027password\u0027, \u0027v2password\u0027, \u0027v3password\u0027, \u0027admin_token\u0027]"},{"line_number":97,"context_line":"    for name in plugins:"},{"line_number":98,"context_line":"        for plugin_option in auth.get_plugin_class(name).get_options():"},{"line_number":99,"context_line":"            found \u003d False"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_8f39aaa6","line":96,"in_reply_to":"7a740942_14571159","updated":"2015-12-07 15:39:03.000000000","message":"\"admin_token\" in this context is just a way for testing to work not anything a user could have actually used.","commit_id":"67e28540b326c0311726dedc3ea71ae9837beced"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"6dd1f92afeb665f3a27b68f6c9b57bf4b0cb57e5","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    list.insert(0, auth.get_common_conf_options()[0])"},{"line_number":94,"context_line":"    # NOTE(dims): There are a lot of auth plugins, we just generate"},{"line_number":95,"context_line":"    # the config options for a few common ones"},{"line_number":96,"context_line":"    plugins \u003d [\u0027password\u0027, \u0027v2password\u0027, \u0027v3password\u0027, \u0027admin_token\u0027]"},{"line_number":97,"context_line":"    for name in plugins:"},{"line_number":98,"context_line":"        for plugin_option in auth.get_plugin_class(name).get_options():"},{"line_number":99,"context_line":"            found \u003d False"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_ea8c0081","line":96,"in_reply_to":"7a740942_7116cb56","updated":"2015-12-06 22:58:43.000000000","message":"It\u0027s possible that we don\u0027t need this at all. The previous code sent things when auth_strategy was not keystone. That\u0027s still totally possible to do with ksa - but it\u0027s possible that the intent with this deprecation was to no longer allow this and only allow nova to talk to neutron using password auth? I\u0027d be happy to take it out...","commit_id":"67e28540b326c0311726dedc3ea71ae9837beced"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"801fd46082acf22b75ccb96ee89d520dc0c849b2","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    list.insert(0, auth.get_common_conf_options()[0])"},{"line_number":94,"context_line":"    # NOTE(dims): There are a lot of auth plugins, we just generate"},{"line_number":95,"context_line":"    # the config options for a few common ones"},{"line_number":96,"context_line":"    plugins \u003d [\u0027password\u0027, \u0027v2password\u0027, \u0027v3password\u0027, \u0027admin_token\u0027]"},{"line_number":97,"context_line":"    for name in plugins:"},{"line_number":98,"context_line":"        for plugin_option in auth.get_plugin_class(name).get_options():"},{"line_number":99,"context_line":"            found \u003d False"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_7116cb56","line":96,"in_reply_to":"7a740942_713fabd6","updated":"2015-12-06 17:58:46.000000000","message":"I guess it\u0027s just the docs that are missing this:\n\nhttps://github.com/openstack/keystoneauth/blob/master/setup.cfg#L36\n\nI\u0027d still like more details in the commit message about what else is going on in this change besides just deprecated option removal.","commit_id":"67e28540b326c0311726dedc3ea71ae9837beced"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"19f084384c40c58e573b5051e556067b2d7f881f","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    list.insert(0, auth.get_common_conf_options()[0])"},{"line_number":94,"context_line":"    # NOTE(dims): There are a lot of auth plugins, we just generate"},{"line_number":95,"context_line":"    # the config options for a few common ones"},{"line_number":96,"context_line":"    plugins \u003d [\u0027password\u0027, \u0027v2password\u0027, \u0027v3password\u0027, \u0027admin_token\u0027]"},{"line_number":97,"context_line":"    for name in plugins:"},{"line_number":98,"context_line":"        for plugin_option in auth.get_plugin_class(name).get_options():"},{"line_number":99,"context_line":"            found \u003d False"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_14571159","line":96,"in_reply_to":"7a740942_a05ff7e3","updated":"2015-12-07 15:32:22.000000000","message":"Ummm, I\u0027m not sure. We probably need to rope in Matthew Edmonds (edmondsw in IRC) and Jamie since Jamie introduced the deprecation comments when adding session support and Edmonds did the change to officially deprecate everything.\n\nIf we\u0027re now removing support for something that wasn\u0027t clearly articulated in the logs or release notes in Liberty, then I tend to think we have a new deprecation cycle that we have to honor.","commit_id":"67e28540b326c0311726dedc3ea71ae9837beced"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"911d0e05784e2a954acb2c86f51a2d6512f673bb","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    list.insert(0, auth.get_common_conf_options()[0])"},{"line_number":94,"context_line":"    # NOTE(dims): There are a lot of auth plugins, we just generate"},{"line_number":95,"context_line":"    # the config options for a few common ones"},{"line_number":96,"context_line":"    plugins \u003d [\u0027password\u0027, \u0027v2password\u0027, \u0027v3password\u0027, \u0027admin_token\u0027]"},{"line_number":97,"context_line":"    for name in plugins:"},{"line_number":98,"context_line":"        for plugin_option in auth.get_plugin_class(name).get_options():"},{"line_number":99,"context_line":"            found \u003d False"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_a05ff7e3","line":96,"in_reply_to":"7a740942_ea8c0081","updated":"2015-12-07 02:29:10.000000000","message":"I would ideally like to eliminate the static auth token as a possible strategy. There is no reason that nova should use the admin_token. Can we do that?","commit_id":"67e28540b326c0311726dedc3ea71ae9837beced"}],"nova/tests/unit/network/test_neutronv2.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"531388d4f06caa1f3ef41a09275ac99aab3e289c","unresolved":false,"context_lines":[{"line_number":3833,"context_line":""},{"line_number":3834,"context_line":"class TestNeutronClientForAdminScenarios(test.NoDBTestCase):"},{"line_number":3835,"context_line":""},{"line_number":3836,"context_line":"    @mock.patch(\u0027keystoneclient.auth.identity.v2.Password.get_token\u0027)"},{"line_number":3837,"context_line":"    def _test_get_client_for_admin(self, auth_mock,"},{"line_number":3838,"context_line":"                                   use_id\u003dFalse, admin_context\u003dFalse):"},{"line_number":3839,"context_line":"        token_value \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_3410314e","side":"PARENT","line":3836,"updated":"2015-12-06 18:04:25.000000000","message":"I know this has been removed but isn\u0027t there another way to mock out the auth plugin retrieval in this test so that we still have some coverage for getting the admin neutron client?  I don\u0027t really like removing all of this coverage just because of how the v2 password auth was removed from _load_auth_plugin.","commit_id":"4685c7e9ac36c05abd0aefae34205f36528eb2d4"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"911d0e05784e2a954acb2c86f51a2d6512f673bb","unresolved":false,"context_lines":[{"line_number":3833,"context_line":""},{"line_number":3834,"context_line":"class TestNeutronClientForAdminScenarios(test.NoDBTestCase):"},{"line_number":3835,"context_line":""},{"line_number":3836,"context_line":"    @mock.patch(\u0027keystoneclient.auth.identity.v2.Password.get_token\u0027)"},{"line_number":3837,"context_line":"    def _test_get_client_for_admin(self, auth_mock,"},{"line_number":3838,"context_line":"                                   use_id\u003dFalse, admin_context\u003dFalse):"},{"line_number":3839,"context_line":"        token_value \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_8013db0c","side":"PARENT","line":3836,"in_reply_to":"7a740942_3410314e","updated":"2015-12-07 02:29:10.000000000","message":"So I don\u0027t think this is really adding a lot of coverage. This is something we should be testing both functionally and in keystoneauth. Since \"admin\" is a fluid concept with policy when talking to neutron etc.\n\nThis is encoding some assumptions that may or may not be correct as to \"what is admin\".","commit_id":"4685c7e9ac36c05abd0aefae34205f36528eb2d4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"19f084384c40c58e573b5051e556067b2d7f881f","unresolved":false,"context_lines":[{"line_number":3833,"context_line":""},{"line_number":3834,"context_line":"class TestNeutronClientForAdminScenarios(test.NoDBTestCase):"},{"line_number":3835,"context_line":""},{"line_number":3836,"context_line":"    @mock.patch(\u0027keystoneclient.auth.identity.v2.Password.get_token\u0027)"},{"line_number":3837,"context_line":"    def _test_get_client_for_admin(self, auth_mock,"},{"line_number":3838,"context_line":"                                   use_id\u003dFalse, admin_context\u003dFalse):"},{"line_number":3839,"context_line":"        token_value \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_74ebf578","side":"PARENT","line":3836,"in_reply_to":"7a740942_8013db0c","updated":"2015-12-07 15:32:22.000000000","message":"This is still the only coverage we have for the admin context case of the get_client method, so we need *some* kind of test coverage for that. If the code being removed invalidates most of this test, then maybe we should write a new test for what\u0027s left.  I expect the keystone parts to be mocked out.","commit_id":"4685c7e9ac36c05abd0aefae34205f36528eb2d4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a0a3a3cb9dc0be946a0e925dcad091eefa75c5d9","unresolved":false,"context_lines":[{"line_number":3831,"context_line":"        self._allocate_for_instance(1, dhcp_options\u003ddhcp_opts)"},{"line_number":3832,"context_line":""},{"line_number":3833,"context_line":""},{"line_number":3834,"context_line":"class TestNeutronClientForAdminScenarios(test.NoDBTestCase):"},{"line_number":3835,"context_line":""},{"line_number":3836,"context_line":"    @mock.patch(\u0027keystoneclient.auth.identity.v2.Password.get_token\u0027)"},{"line_number":3837,"context_line":"    def _test_get_client_for_admin(self, auth_mock,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_6f5b1ef7","side":"PARENT","line":3834,"updated":"2015-12-07 15:39:24.000000000","message":"I still think we need *some* kind of test coverage for the admin context case in the get_client method.","commit_id":"4685c7e9ac36c05abd0aefae34205f36528eb2d4"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"5e80b58c60b59e3b8ceae78f16273a41c019173e","unresolved":false,"context_lines":[{"line_number":3840,"context_line":"        super(TestNeutronClientForAdminScenarios, self).setUp()"},{"line_number":3841,"context_line":"        self.config_fixture \u003d self.useFixture(config_fixture.Config())"},{"line_number":3842,"context_line":"        plugin_class \u003d ksc_auth_base.get_plugin_class(\u0027v2password\u0027)"},{"line_number":3843,"context_line":"        plugin_class.register_conf_options(self.config_fixture, \u0027neutron\u0027)"},{"line_number":3844,"context_line":""},{"line_number":3845,"context_line":"    def _test_get_client_for_admin(self,"},{"line_number":3846,"context_line":"                                   use_id\u003dFalse, admin_context\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a740942_11924ef7","line":3843,"updated":"2015-12-09 11:39:10.000000000","message":"This would be the first every usage of the oslo.config fixture in nova tests. It should be explained in comment why this has to be used instead of the config fixtures in tree already.","commit_id":"ed84ee3385b67b4f3a2ea4e2e847eab2a312d09a"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"1ce3190fed248148dbccecd39cb70839e6a84f6d","unresolved":false,"context_lines":[{"line_number":3840,"context_line":"        super(TestNeutronClientForAdminScenarios, self).setUp()"},{"line_number":3841,"context_line":"        self.config_fixture \u003d self.useFixture(config_fixture.Config())"},{"line_number":3842,"context_line":"        plugin_class \u003d ksc_auth_base.get_plugin_class(\u0027v2password\u0027)"},{"line_number":3843,"context_line":"        plugin_class.register_conf_options(self.config_fixture, \u0027neutron\u0027)"},{"line_number":3844,"context_line":""},{"line_number":3845,"context_line":"    def _test_get_client_for_admin(self,"},{"line_number":3846,"context_line":"                                   use_id\u003dFalse, admin_context\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a740942_3d739b17","line":3843,"in_reply_to":"7a740942_11924ef7","updated":"2015-12-09 12:56:14.000000000","message":"Ok.","commit_id":"ed84ee3385b67b4f3a2ea4e2e847eab2a312d09a"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"5e80b58c60b59e3b8ceae78f16273a41c019173e","unresolved":false,"context_lines":[{"line_number":3847,"context_line":"        token_value \u003d uuid.uuid4().hex"},{"line_number":3848,"context_line":"        token_resp \u003d V2Token(token_id\u003dtoken_value)"},{"line_number":3849,"context_line":"        auth_url \u003d \u0027http://anyhost/auth\u0027"},{"line_number":3850,"context_line":"        with requests_mock.mock() as m:"},{"line_number":3851,"context_line":"            m.post(auth_url + \u0027/tokens\u0027, json\u003dtoken_resp)"},{"line_number":3852,"context_line":""},{"line_number":3853,"context_line":"            self.flags(url\u003d\u0027http://anyhost/\u0027, group\u003d\u0027neutron\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a740942_f166a228","line":3850,"updated":"2015-12-09 11:39:10.000000000","message":"to fit with the old style, I\u0027d set this as a decorator.","commit_id":"ed84ee3385b67b4f3a2ea4e2e847eab2a312d09a"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"1ce3190fed248148dbccecd39cb70839e6a84f6d","unresolved":false,"context_lines":[{"line_number":3847,"context_line":"        token_value \u003d uuid.uuid4().hex"},{"line_number":3848,"context_line":"        token_resp \u003d V2Token(token_id\u003dtoken_value)"},{"line_number":3849,"context_line":"        auth_url \u003d \u0027http://anyhost/auth\u0027"},{"line_number":3850,"context_line":"        with requests_mock.mock() as m:"},{"line_number":3851,"context_line":"            m.post(auth_url + \u0027/tokens\u0027, json\u003dtoken_resp)"},{"line_number":3852,"context_line":""},{"line_number":3853,"context_line":"            self.flags(url\u003d\u0027http://anyhost/\u0027, group\u003d\u0027neutron\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a740942_fd3433fc","line":3850,"in_reply_to":"7a740942_f166a228","updated":"2015-12-09 12:56:14.000000000","message":"I disagree with the use of the decorator model for mocking simply because it is always harder to read and provides less control over when/where it is used. In this case it doesn\u0027t really matter.","commit_id":"ed84ee3385b67b4f3a2ea4e2e847eab2a312d09a"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"af14b239537f8696065dce766c566abdc896d709","unresolved":false,"context_lines":[{"line_number":3847,"context_line":"        token_value \u003d uuid.uuid4().hex"},{"line_number":3848,"context_line":"        token_resp \u003d V2Token(token_id\u003dtoken_value)"},{"line_number":3849,"context_line":"        auth_url \u003d \u0027http://anyhost/auth\u0027"},{"line_number":3850,"context_line":"        with requests_mock.mock() as m:"},{"line_number":3851,"context_line":"            m.post(auth_url + \u0027/tokens\u0027, json\u003dtoken_resp)"},{"line_number":3852,"context_line":""},{"line_number":3853,"context_line":"            self.flags(url\u003d\u0027http://anyhost/\u0027, group\u003d\u0027neutron\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a740942_0809bbdd","line":3850,"in_reply_to":"7a740942_fd3433fc","updated":"2015-12-09 13:03:34.000000000","message":"and I disagree with your disagree, given that the current code did it the other way. :)","commit_id":"ed84ee3385b67b4f3a2ea4e2e847eab2a312d09a"}],"releasenotes/notes/remove-deprecated-neutron-options-5f3a782aa9082fb5.yaml":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"88531f9939fe7a160ede35cb9f234f98f70ae43d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Removed the deprecated neutron communication options"},{"line_number":4,"context_line":"    slated for removal in Mitaka."},{"line_number":5,"context_line":"upgrade:"},{"line_number":6,"context_line":"  - The old neutron communication options that were"},{"line_number":7,"context_line":"    slated for removal in Mitaka are no longer available."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7a740942_98fe5a37","line":4,"updated":"2015-12-09 14:00:49.000000000","message":"I don\u0027t think we want that bit here.","commit_id":"3b7ddb4483f4e8c2467591d13464734c1a0a350f"}]}
