)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"5b562cc8848baa2cd1f7a4433774f1e9c1c98863","unresolved":false,"context_lines":[{"line_number":13,"context_line":"conf file, i.e. configuration within the \"keystone-paste.ini\""},{"line_number":14,"context_line":"is not (and will not) be supported."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This patch set intent to remove the legacy code which may cause user"},{"line_number":17,"context_line":"confusion when some newbies start to work and deploy keystone"},{"line_number":18,"context_line":"service in OpenStack."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a961159_aff4f5cf","line":16,"updated":"2014-12-15 17:17:22.000000000","message":"nit; \u0027This change removes the legacy ...\u0027","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"5b562cc8848baa2cd1f7a4433774f1e9c1c98863","unresolved":false,"context_lines":[{"line_number":18,"context_line":"service in OpenStack."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"This patch set is code specific changes in order to make usage more"},{"line_number":21,"context_line":"clear, documentation specific change is submitted in another "},{"line_number":22,"context_line":"patch(134125)."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a961159_4f0e31e7","line":21,"updated":"2014-12-15 17:17:22.000000000","message":"remove extra whitespace","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"5b562cc8848baa2cd1f7a4433774f1e9c1c98863","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"This patch set is code specific changes in order to make usage more"},{"line_number":21,"context_line":"clear, documentation specific change is submitted in another "},{"line_number":22,"context_line":"patch(134125)."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"DocImpact"},{"line_number":25,"context_line":"Partial-Bug: #1369388"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a961159_8ff739d4","line":22,"updated":"2014-12-15 17:17:22.000000000","message":"nit: suggest linking to the actual patch \n\nhttps://review.openstack.org/#/c/134125","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"88fe2491fb57808b6d9f0166c7069a94bc3ea6c6","unresolved":false,"context_lines":[{"line_number":24,"context_line":"patch(https://review.openstack.org/#/c/134125/)."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"DocImpact"},{"line_number":27,"context_line":"Partial-Bug: #1369388"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Change-Id: Iaf6ad869b61e4330a4ea48e606fd9eda69b9cd12"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"fa1b9901_cf7f88dd","line":27,"updated":"2015-08-26 13:49:16.000000000","message":"Why only partial?","commit_id":"db0da3faa92e48ae847f2f1e519ed3b427ca3f27"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"c0b6f81fc12d67706634dbcf8d47e46dfc732f91","unresolved":false,"context_lines":[{"line_number":24,"context_line":"patch(https://review.openstack.org/#/c/134125/)."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"DocImpact"},{"line_number":27,"context_line":"Partial-Bug: #1369388"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Change-Id: Iaf6ad869b61e4330a4ea48e606fd9eda69b9cd12"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"da20952f_45dbdb7c","line":27,"in_reply_to":"da20952f_2f7d661c","updated":"2015-08-27 14:28:29.000000000","message":"Done","commit_id":"db0da3faa92e48ae847f2f1e519ed3b427ca3f27"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"ca166f0a2c71f31dceeb02b1d40d844b605ceb10","unresolved":false,"context_lines":[{"line_number":24,"context_line":"patch(https://review.openstack.org/#/c/134125/)."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"DocImpact"},{"line_number":27,"context_line":"Partial-Bug: #1369388"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Change-Id: Iaf6ad869b61e4330a4ea48e606fd9eda69b9cd12"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"da20952f_2f7d661c","line":27,"in_reply_to":"da20952f_4aa53b02","updated":"2015-08-27 13:57:14.000000000","message":"134125 has already merged. So I think this should be a closes so that Launchpad is updated properly.","commit_id":"db0da3faa92e48ae847f2f1e519ed3b427ca3f27"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"95c5d186efa1e2ba8544eb6b1640e83a08fb4634","unresolved":false,"context_lines":[{"line_number":24,"context_line":"patch(https://review.openstack.org/#/c/134125/)."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"DocImpact"},{"line_number":27,"context_line":"Partial-Bug: #1369388"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Change-Id: Iaf6ad869b61e4330a4ea48e606fd9eda69b9cd12"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"da20952f_4aa53b02","line":27,"in_reply_to":"fa1b9901_cf7f88dd","updated":"2015-08-27 08:38:36.000000000","message":"Since doc updating is also required per the provious review (https://review.openstack.org/#/c/121439/). \n\nSo, there are two patches to address it, one is about the doc (https://review.openstack.org/#/c/134125/) and one is about the code IMPL, here it is.","commit_id":"db0da3faa92e48ae847f2f1e519ed3b427ca3f27"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"611e959365b07c6795a14502fb7d97c07b1dadfd","unresolved":false,"context_lines":[{"line_number":12,"context_line":"must be in the main keystone configuration file instead of PasteDeploy"},{"line_number":13,"context_line":"conf file."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"As we are not sure if there are deployers or thirdparty middlewares"},{"line_number":16,"context_line":"still need Paste for local configuration, and it works for application"},{"line_number":17,"context_line":"or third-party middleware so far, thus, in this patch we just accept the"},{"line_number":18,"context_line":"local conf in the WSGI middleware to avoid WSGI middleware\u0027s broken"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"9a1a9d01_a4bd8603","line":15,"updated":"2015-09-30 13:30:33.000000000","message":"third party middleware isn\u0027t affected by keystone code. They can do whatever they want, so this doesn\u0027t apply.\n\nAlso, this isn\u0027t what the code is doing anymore.","commit_id":"d36ce340e3287836c96a180c2277fb6f36779497"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b4323f96a49be0cec3e271bac710bc69273c9a4d","unresolved":false,"context_lines":[{"line_number":12,"context_line":"must be in the main keystone configuration file instead of PasteDeploy"},{"line_number":13,"context_line":"conf file."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This patch deprecate the local config for the app factories and remove"},{"line_number":16,"context_line":"`local_config` argument from wsgi middleware since it doesn\u0027t work."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"1a26ad4f_07dd0f42","line":15,"updated":"2015-10-28 01:23:08.000000000","message":"change \"deprecate\" to \"deprecates\"\n\nchange \"the local config\" to \"local config\"\n\nchange \"remove\" to \"removes the\"","commit_id":"d47bb14593f60876997e1050594babcffd37033e"}],"keystone/common/wsgi.py":[{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"72ca78b90e86aee7e1ab4c0c0cd34ed635394e89","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        \"\"\""},{"line_number":137,"context_line":"        if local_config:"},{"line_number":138,"context_line":"            raise exception.LocalConfigNotAllowed(configuration\u003dlocal_config)"},{"line_number":139,"context_line":"        return cls()"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def __call__(self, environ, start_response):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_ec45b170","line":138,"updated":"2014-11-13 14:58:19.000000000","message":"Since this patch all applications using local_config will fail, isn\u0027t it? Is it possible somebody still uses local_config?","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"77c59d2932e859d8e285757592b35beeea6f3a1c","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        \"\"\""},{"line_number":137,"context_line":"        if local_config:"},{"line_number":138,"context_line":"            raise exception.LocalConfigNotAllowed(configuration\u003dlocal_config)"},{"line_number":139,"context_line":"        return cls()"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def __call__(self, environ, start_response):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_b0012908","line":138,"in_reply_to":"5a890539_ec45b170","updated":"2014-11-14 12:01:01.000000000","message":"yes, i once submit one patch here (https://review.openstack.org/#/c/121439/) but you can check some comments there, local config seems should never be allowed, so in this patch set i just intent to clean some useless code here.","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"f478b5eb15969946ebe3236f78027d696a03bd0e","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        \"\"\""},{"line_number":137,"context_line":"        paste_deploy_config \u003d None"},{"line_number":138,"context_line":"        if global_config:"},{"line_number":139,"context_line":"            paste_deploy_config \u003d global_config.get(\"__file__\", None)"},{"line_number":140,"context_line":"        if local_config:"},{"line_number":141,"context_line":"            raise exception.LocalConfigNotAllowed("}],"source_content_type":"text/x-python","patch_set":10,"id":"da86d52c_967504fc","line":138,"updated":"2015-02-04 11:28:43.000000000","message":"Move this if 2 lines lower - inside next if block. paste_deploy_config isn\u0027t used in this scope.","commit_id":"edcb1630991fe47b470ef980aa09f1105231e02a"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"28395523910ad5cc14f511f9aa73451fbdc4f200","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        \"\"\""},{"line_number":137,"context_line":"        paste_deploy_config \u003d None"},{"line_number":138,"context_line":"        if global_config:"},{"line_number":139,"context_line":"            paste_deploy_config \u003d global_config.get(\"__file__\", None)"},{"line_number":140,"context_line":"        if local_config:"},{"line_number":141,"context_line":"            raise exception.LocalConfigNotAllowed("}],"source_content_type":"text/x-python","patch_set":10,"id":"da86d52c_a9c9c25a","line":138,"in_reply_to":"da86d52c_967504fc","updated":"2015-02-04 13:48:05.000000000","message":"Done","commit_id":"edcb1630991fe47b470ef980aa09f1105231e02a"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"f478b5eb15969946ebe3236f78027d696a03bd0e","unresolved":false,"context_lines":[{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        \"\"\""},{"line_number":392,"context_line":"        paste_deploy_config \u003d None"},{"line_number":393,"context_line":"        if global_config:"},{"line_number":394,"context_line":"            paste_deploy_config \u003d global_config.get(\"__file__\", None)"},{"line_number":395,"context_line":"        if local_config:"},{"line_number":396,"context_line":"            raise exception.LocalConfigNotAllowed("}],"source_content_type":"text/x-python","patch_set":10,"id":"da86d52c_f6ce402d","line":393,"updated":"2015-02-04 11:28:43.000000000","message":"Same here: paste_deploy_config only used for exception raising","commit_id":"edcb1630991fe47b470ef980aa09f1105231e02a"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"28395523910ad5cc14f511f9aa73451fbdc4f200","unresolved":false,"context_lines":[{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        \"\"\""},{"line_number":392,"context_line":"        paste_deploy_config \u003d None"},{"line_number":393,"context_line":"        if global_config:"},{"line_number":394,"context_line":"            paste_deploy_config \u003d global_config.get(\"__file__\", None)"},{"line_number":395,"context_line":"        if local_config:"},{"line_number":396,"context_line":"            raise exception.LocalConfigNotAllowed("}],"source_content_type":"text/x-python","patch_set":10,"id":"da86d52c_49af667d","line":393,"in_reply_to":"da86d52c_f6ce402d","updated":"2015-02-04 13:48:05.000000000","message":"Done","commit_id":"edcb1630991fe47b470ef980aa09f1105231e02a"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"f478b5eb15969946ebe3236f78027d696a03bd0e","unresolved":false,"context_lines":[{"line_number":600,"context_line":""},{"line_number":601,"context_line":"        \"\"\""},{"line_number":602,"context_line":"        paste_deploy_config \u003d None"},{"line_number":603,"context_line":"        if global_config:"},{"line_number":604,"context_line":"            paste_deploy_config \u003d global_config.get(\"__file__\", None)"},{"line_number":605,"context_line":"        if local_config:"},{"line_number":606,"context_line":"            raise exception.LocalConfigNotAllowed("}],"source_content_type":"text/x-python","patch_set":10,"id":"da86d52c_56dd4cdf","line":603,"updated":"2015-02-04 11:28:43.000000000","message":"same here","commit_id":"edcb1630991fe47b470ef980aa09f1105231e02a"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"28395523910ad5cc14f511f9aa73451fbdc4f200","unresolved":false,"context_lines":[{"line_number":600,"context_line":""},{"line_number":601,"context_line":"        \"\"\""},{"line_number":602,"context_line":"        paste_deploy_config \u003d None"},{"line_number":603,"context_line":"        if global_config:"},{"line_number":604,"context_line":"            paste_deploy_config \u003d global_config.get(\"__file__\", None)"},{"line_number":605,"context_line":"        if local_config:"},{"line_number":606,"context_line":"            raise exception.LocalConfigNotAllowed("}],"source_content_type":"text/x-python","patch_set":10,"id":"da86d52c_69b42ad1","line":603,"in_reply_to":"da86d52c_56dd4cdf","updated":"2015-02-04 13:48:05.000000000","message":"Done","commit_id":"edcb1630991fe47b470ef980aa09f1105231e02a"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"c2e7c1c2e9e5c03c5977fe08f2f77018264d1ad0","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        \"\"\""},{"line_number":137,"context_line":"        paste_deploy_config \u003d None"},{"line_number":138,"context_line":"        if local_config and global_config:"},{"line_number":139,"context_line":"            paste_deploy_config \u003d global_config.get(\"__file__\", None)"},{"line_number":140,"context_line":"            raise exception.LocalConfigNotAllowed("},{"line_number":141,"context_line":"                configuration\u003dlocal_config,"}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_fa4c5aa0","line":138,"updated":"2015-02-04 14:53:36.000000000","message":"Well, what if local_config is specified while global_config is not? Is it premature optimization or I miss something?","commit_id":"1980c7f62a625f852b8c41d289e8e66a182445d8"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"70f18232a5015e78daf9f70eeea7b8f0d63576e5","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        \"\"\""},{"line_number":137,"context_line":"        paste_deploy_config \u003d None"},{"line_number":138,"context_line":"        if local_config and global_config:"},{"line_number":139,"context_line":"            paste_deploy_config \u003d global_config.get(\"__file__\", None)"},{"line_number":140,"context_line":"            raise exception.LocalConfigNotAllowed("},{"line_number":141,"context_line":"                configuration\u003dlocal_config,"}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_c5479b75","line":138,"in_reply_to":"da86d52c_fa4c5aa0","updated":"2015-02-05 05:44:12.000000000","message":"Done","commit_id":"1980c7f62a625f852b8c41d289e8e66a182445d8"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"f9ade5fd298356c07461535683e943dd3180474e","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        \"\"\""},{"line_number":137,"context_line":"        paste_deploy_config \u003d None"},{"line_number":138,"context_line":"        if local_config and global_config:"},{"line_number":139,"context_line":"            paste_deploy_config \u003d global_config.get(\"__file__\", None)"},{"line_number":140,"context_line":"            raise exception.LocalConfigNotAllowed("},{"line_number":141,"context_line":"                configuration\u003dlocal_config,"}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_7db84dc8","line":138,"in_reply_to":"da86d52c_fa4c5aa0","updated":"2015-02-05 01:24:35.000000000","message":"we have no enough information on where is the local_config comes from if that case happens, what we want to captch here is the *local config* is defined in the *paste deploy conf* file (paste-ini) and we don\u0027t allow this behavior.\n\nIn short, that case should not happen and just let it go if that happens since it\u0027s not the behavior we expected.\n\nAny other comments? thanks.","commit_id":"1980c7f62a625f852b8c41d289e8e66a182445d8"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"5c8487980348c4b178e90bef1ce672f2604c93a2","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        paste_deploy_config \u003d None"},{"line_number":138,"context_line":"        if local_config:"},{"line_number":139,"context_line":"            if global_config:"},{"line_number":140,"context_line":"                paste_deploy_config \u003d global_config.get(\"__file__\", None)"},{"line_number":141,"context_line":"            raise exception.LocalConfigNotAllowed("},{"line_number":142,"context_line":"                configuration\u003dlocal_config,"},{"line_number":143,"context_line":"                config_file\u003dpaste_deploy_config)"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_90495a33","line":140,"updated":"2015-02-05 11:27:17.000000000","message":"I\u0027d rather put it this way:\n\nelse:\n    paste_deploy_config \u003d None","commit_id":"34b20633a4ee50e6ba1140ed7f9990ad66f6d105"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"91ac2bab8e5b9821eae6e33d59b2e37444e94353","unresolved":false,"context_lines":[{"line_number":421,"context_line":"            return cls(app)"},{"line_number":422,"context_line":"        return _factory"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    def __init__(self, application):"},{"line_number":425,"context_line":"        super(Middleware, self).__init__()"},{"line_number":426,"context_line":"        self.application \u003d application"},{"line_number":427,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"dac4157f_504ac484","line":424,"updated":"2015-04-20 09:19:07.000000000","message":"Since local config is not passed here, so this is why the exception will be thrown.","commit_id":"c535b165fee770469363d1867ab9f7a5bfde1e16"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"b6fb38e43c7d811d375fb2eb78daae5dfe18ca28","unresolved":false,"context_lines":[{"line_number":421,"context_line":"            return cls(app)"},{"line_number":422,"context_line":"        return _factory"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    def __init__(self, application):"},{"line_number":425,"context_line":"        super(Middleware, self).__init__()"},{"line_number":426,"context_line":"        self.application \u003d application"},{"line_number":427,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"bab921fb_3fba79e2","line":424,"in_reply_to":"dac4157f_29a5a203","updated":"2015-04-23 06:45:06.000000000","message":"David, after checking the usage of `versionutils.deprecated` I found that function can only be used to deprecate method and class. Besides, raise a excpeption here will broke the middleware pipeline. So I think a warning message here maybe also okay.\n\nMaybe you can help to do some adjudgement here.\n\nThanks.","commit_id":"c535b165fee770469363d1867ab9f7a5bfde1e16"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"3ae26935a4011dca0bede027ca291c95c827f40a","unresolved":false,"context_lines":[{"line_number":421,"context_line":"            return cls(app)"},{"line_number":422,"context_line":"        return _factory"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    def __init__(self, application):"},{"line_number":425,"context_line":"        super(Middleware, self).__init__()"},{"line_number":426,"context_line":"        self.application \u003d application"},{"line_number":427,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"dac4157f_29a5a203","line":424,"in_reply_to":"dac4157f_504ac484","updated":"2015-04-20 12:26:59.000000000","message":"The reason I think that this should be deprecated is that local config currently works for our application and thirdparty middleware.","commit_id":"c535b165fee770469363d1867ab9f7a5bfde1e16"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"9413c8b48b18c479f391eb80da691c991da1f7cf","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        Any local configuration (that is, values under the [app:APPNAME]"},{"line_number":133,"context_line":"        section of the paste config) will be passed into the `__init__` method"},{"line_number":134,"context_line":"        as kwargs."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        A hypothetical configuration would look like:"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_2679e3c8","side":"PARENT","line":134,"updated":"2015-09-15 20:26:45.000000000","message":"this documentation still applies according to the code below.","commit_id":"1efcc38f7277ce0310587b7f93bcbee21d0db571"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"84769f5388c57ea7547474c35636d4934e2b1e24","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        Any local configuration (that is, values under the [app:APPNAME]"},{"line_number":133,"context_line":"        section of the paste config) will be passed into the `__init__` method"},{"line_number":134,"context_line":"        as kwargs."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        A hypothetical configuration would look like:"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_e1b58eec","side":"PARENT","line":134,"in_reply_to":"ba15a1d1_2679e3c8","updated":"2015-09-18 14:31:26.000000000","message":"Done","commit_id":"1efcc38f7277ce0310587b7f93bcbee21d0db571"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"9413c8b48b18c479f391eb80da691c991da1f7cf","unresolved":false,"context_lines":[{"line_number":401,"context_line":""},{"line_number":402,"context_line":"    @classmethod"},{"line_number":403,"context_line":"    def factory(cls, global_config, **local_config):"},{"line_number":404,"context_line":"        \"\"\"Used for paste app factories in paste.deploy config files."},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"        Any local configuration (that is, values under the [filter:APPNAME]"},{"line_number":407,"context_line":"        section of the paste config) will be passed into the `__init__` method"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_266fa32c","side":"PARENT","line":404,"updated":"2015-09-15 20:26:45.000000000","message":"Keep the summary line since the purpose of this function hasn\u0027t changed.","commit_id":"1efcc38f7277ce0310587b7f93bcbee21d0db571"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"84769f5388c57ea7547474c35636d4934e2b1e24","unresolved":false,"context_lines":[{"line_number":401,"context_line":""},{"line_number":402,"context_line":"    @classmethod"},{"line_number":403,"context_line":"    def factory(cls, global_config, **local_config):"},{"line_number":404,"context_line":"        \"\"\"Used for paste app factories in paste.deploy config files."},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"        Any local configuration (that is, values under the [filter:APPNAME]"},{"line_number":407,"context_line":"        section of the paste config) will be passed into the `__init__` method"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_c43f3885","side":"PARENT","line":404,"in_reply_to":"ba15a1d1_266fa32c","updated":"2015-09-18 14:31:26.000000000","message":"Done","commit_id":"1efcc38f7277ce0310587b7f93bcbee21d0db571"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"9413c8b48b18c479f391eb80da691c991da1f7cf","unresolved":false,"context_lines":[{"line_number":403,"context_line":"    def factory(cls, global_config, **local_config):"},{"line_number":404,"context_line":"        \"\"\"Used for paste app factories in paste.deploy config files."},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"        Any local configuration (that is, values under the [filter:APPNAME]"},{"line_number":407,"context_line":"        section of the paste config) will be passed into the `__init__` method"},{"line_number":408,"context_line":"        as kwargs."},{"line_number":409,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_06a7ff4f","side":"PARENT","line":406,"updated":"2015-09-15 20:26:45.000000000","message":"this documentation still applies according to the code below.","commit_id":"1efcc38f7277ce0310587b7f93bcbee21d0db571"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"84769f5388c57ea7547474c35636d4934e2b1e24","unresolved":false,"context_lines":[{"line_number":403,"context_line":"    def factory(cls, global_config, **local_config):"},{"line_number":404,"context_line":"        \"\"\"Used for paste app factories in paste.deploy config files."},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"        Any local configuration (that is, values under the [filter:APPNAME]"},{"line_number":407,"context_line":"        section of the paste config) will be passed into the `__init__` method"},{"line_number":408,"context_line":"        as kwargs."},{"line_number":409,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_e4427c0e","side":"PARENT","line":406,"in_reply_to":"ba15a1d1_06a7ff4f","updated":"2015-09-18 14:31:26.000000000","message":"Done","commit_id":"1efcc38f7277ce0310587b7f93bcbee21d0db571"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"9413c8b48b18c479f391eb80da691c991da1f7cf","unresolved":false,"context_lines":[{"line_number":616,"context_line":"    def factory(cls, global_config, **local_config):"},{"line_number":617,"context_line":"        \"\"\"Used for paste app factories in paste.deploy config files."},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        Any local configuration (that is, values under the [filter:APPNAME]"},{"line_number":620,"context_line":"        section of the paste config) will be passed into the `__init__` method"},{"line_number":621,"context_line":"        as kwargs."},{"line_number":622,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_86ba2f6d","side":"PARENT","line":619,"updated":"2015-09-15 20:26:45.000000000","message":"this documentation still applies according to the code below.","commit_id":"1efcc38f7277ce0310587b7f93bcbee21d0db571"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"84769f5388c57ea7547474c35636d4934e2b1e24","unresolved":false,"context_lines":[{"line_number":616,"context_line":"    def factory(cls, global_config, **local_config):"},{"line_number":617,"context_line":"        \"\"\"Used for paste app factories in paste.deploy config files."},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        Any local configuration (that is, values under the [filter:APPNAME]"},{"line_number":620,"context_line":"        section of the paste config) will be passed into the `__init__` method"},{"line_number":621,"context_line":"        as kwargs."},{"line_number":622,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_844e2039","side":"PARENT","line":619,"in_reply_to":"ba15a1d1_86ba2f6d","updated":"2015-09-18 14:31:26.000000000","message":"Done","commit_id":"1efcc38f7277ce0310587b7f93bcbee21d0db571"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"9413c8b48b18c479f391eb80da691c991da1f7cf","unresolved":false,"context_lines":[{"line_number":387,"context_line":"                as_of\u003dversionutils.deprecated.LIBERTY,"},{"line_number":388,"context_line":"                in_favor_of\u003d\u0027main keystone configuration file\u0027,"},{"line_number":389,"context_line":"                remove_in\u003d+1,"},{"line_number":390,"context_line":"                what\u003d\u0027Define local configuration in PasteDeploy \u0027"},{"line_number":391,"context_line":"                \u0027configuration file\u0027)(lambda: None)()"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"        def _factory(app):"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_660d9b8f","line":390,"updated":"2015-09-15 20:26:45.000000000","message":"change \"Define\" to \"Defining\"","commit_id":"a623de96954e6382b480e07edca631e506ef9526"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"84769f5388c57ea7547474c35636d4934e2b1e24","unresolved":false,"context_lines":[{"line_number":387,"context_line":"                as_of\u003dversionutils.deprecated.LIBERTY,"},{"line_number":388,"context_line":"                in_favor_of\u003d\u0027main keystone configuration file\u0027,"},{"line_number":389,"context_line":"                remove_in\u003d+1,"},{"line_number":390,"context_line":"                what\u003d\u0027Define local configuration in PasteDeploy \u0027"},{"line_number":391,"context_line":"                \u0027configuration file\u0027)(lambda: None)()"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"        def _factory(app):"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_a1cc7689","line":390,"in_reply_to":"ba15a1d1_660d9b8f","updated":"2015-09-18 14:31:26.000000000","message":"Done","commit_id":"a623de96954e6382b480e07edca631e506ef9526"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"9413c8b48b18c479f391eb80da691c991da1f7cf","unresolved":false,"context_lines":[{"line_number":396,"context_line":"            return cls(app, **local_config)"},{"line_number":397,"context_line":"        return _factory"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":"    def __init__(self, application, **local_config):"},{"line_number":400,"context_line":"        super(Middleware, self).__init__()"},{"line_number":401,"context_line":"        self.application \u003d application"},{"line_number":402,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_26048348","line":399,"updated":"2015-09-15 20:26:45.000000000","message":"why did this parameter need to be added?","commit_id":"a623de96954e6382b480e07edca631e506ef9526"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"0ea95b8bceb496bd59f833d3ec65bf9378ee2de3","unresolved":false,"context_lines":[{"line_number":396,"context_line":"            return cls(app, **local_config)"},{"line_number":397,"context_line":"        return _factory"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":"    def __init__(self, application, **local_config):"},{"line_number":400,"context_line":"        super(Middleware, self).__init__()"},{"line_number":401,"context_line":"        self.application \u003d application"},{"line_number":402,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_5776e6a4","line":399,"in_reply_to":"ba15a1d1_26048348","updated":"2015-09-16 11:59:40.000000000","message":"without this, we will see exception thrown out when the local conf is defined in the paste file (under some cases), pls refer to the bug desc for detail, this patch is not just deprecate the usage but it will really cause some exception and broken the pipeline.","commit_id":"a623de96954e6382b480e07edca631e506ef9526"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"dc03bd037005e7a7c8b269c8234b7ad9a74b10c4","unresolved":false,"context_lines":[{"line_number":423,"context_line":"        but using the kwarg passing it shouldn\u0027t be necessary."},{"line_number":424,"context_line":""},{"line_number":425,"context_line":"        \"\"\""},{"line_number":426,"context_line":"        if local_config:"},{"line_number":427,"context_line":"            versionutils.report_deprecated_feature("},{"line_number":428,"context_line":"                LOG,"},{"line_number":429,"context_line":"                _LW(\u0027Defining local configuration in PasteDeploy INI is \u0027"}],"source_content_type":"text/x-python","patch_set":22,"id":"9a1a9d01_4cecfff2","line":426,"updated":"2015-09-29 14:52:14.000000000","message":"I don\u0027t think we should deprecate this here in the base class. The subclasses should handle it instead.","commit_id":"4da4f1ab6f482648b4bb87ace953e1d5d3a8cd54"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"c2f5eae583be4c1964e77ca183263627ee1518a6","unresolved":false,"context_lines":[{"line_number":423,"context_line":"        but using the kwarg passing it shouldn\u0027t be necessary."},{"line_number":424,"context_line":""},{"line_number":425,"context_line":"        \"\"\""},{"line_number":426,"context_line":"        if local_config:"},{"line_number":427,"context_line":"            versionutils.report_deprecated_feature("},{"line_number":428,"context_line":"                LOG,"},{"line_number":429,"context_line":"                _LW(\u0027Defining local configuration in PasteDeploy INI is \u0027"}],"source_content_type":"text/x-python","patch_set":22,"id":"9a1a9d01_f88fa872","line":426,"in_reply_to":"9a1a9d01_17893075","updated":"2015-09-30 09:42:42.000000000","message":"None of subclass override this \u0027factory\u0027 method, I am going to del the kwargs here.","commit_id":"4da4f1ab6f482648b4bb87ace953e1d5d3a8cd54"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"429e33c69203cbf994d62de1523533bcd40303f1","unresolved":false,"context_lines":[{"line_number":423,"context_line":"        but using the kwarg passing it shouldn\u0027t be necessary."},{"line_number":424,"context_line":""},{"line_number":425,"context_line":"        \"\"\""},{"line_number":426,"context_line":"        if local_config:"},{"line_number":427,"context_line":"            versionutils.report_deprecated_feature("},{"line_number":428,"context_line":"                LOG,"},{"line_number":429,"context_line":"                _LW(\u0027Defining local configuration in PasteDeploy INI is \u0027"}],"source_content_type":"text/x-python","patch_set":22,"id":"9a1a9d01_17893075","line":426,"in_reply_to":"9a1a9d01_4cecfff2","updated":"2015-09-29 15:01:17.000000000","message":"Actually, if none of the existing middleware supports local config then just remove the **local_config argument and don\u0027t deprecate.","commit_id":"4da4f1ab6f482648b4bb87ace953e1d5d3a8cd54"}],"keystone/exception.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"5b562cc8848baa2cd1f7a4433774f1e9c1c98863","unresolved":false,"context_lines":[{"line_number":399,"context_line":""},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"class LocalConfigNotAllowed(UnexpectedError):"},{"line_number":402,"context_line":"    debug_message_format \u003d _(\"The local configuration %(configuration)s \""},{"line_number":403,"context_line":"                             \"is not allowed in paste paste.deploy \""},{"line_number":404,"context_line":"                             \"configuration file.\")"},{"line_number":405,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_ef9a7d6d","line":402,"updated":"2014-12-15 17:17:22.000000000","message":"Does this print the actual configuration file that is the issue?","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"}],"keystone/middleware/core.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"5b562cc8848baa2cd1f7a4433774f1e9c1c98863","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        remove_in\u003d+2)"},{"line_number":159,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":160,"context_line":"        if kwargs:"},{"line_number":161,"context_line":"            raise exception.LocalConfigNotAllowed(configuration\u003dkwargs)"},{"line_number":162,"context_line":"        super(XmlBodyMiddleware, self).__init__(*args)"},{"line_number":163,"context_line":"        self.xmlns \u003d None"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_cf74e138","line":161,"updated":"2014-12-15 17:17:22.000000000","message":"This is all being removed: \n\nhttps://review.openstack.org/#/c/125738/ so you might not need it.","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"b142d52321ff812c84533c42f78ff06a1f7e38a2","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        remove_in\u003d+2)"},{"line_number":159,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":160,"context_line":"        if kwargs:"},{"line_number":161,"context_line":"            raise exception.LocalConfigNotAllowed(configuration\u003dkwargs)"},{"line_number":162,"context_line":"        super(XmlBodyMiddleware, self).__init__(*args)"},{"line_number":163,"context_line":"        self.xmlns \u003d None"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_3245b6b3","line":161,"in_reply_to":"3a961159_cf74e138","updated":"2014-12-18 14:57:24.000000000","message":"Done","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"5b562cc8848baa2cd1f7a4433774f1e9c1c98863","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":197,"context_line":"        if kwargs:"},{"line_number":198,"context_line":"            raise exception.LocalConfigNotAllowed(configuration\u003dkwargs)"},{"line_number":199,"context_line":"        super(XmlBodyMiddlewareV2, self).__init__(*args)"},{"line_number":200,"context_line":"        self.xmlns \u003d \u0027http://docs.openstack.org/identity/api/v2.0\u0027"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_0f8ee927","line":198,"updated":"2014-12-15 17:17:22.000000000","message":"same comment here","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"b142d52321ff812c84533c42f78ff06a1f7e38a2","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":197,"context_line":"        if kwargs:"},{"line_number":198,"context_line":"            raise exception.LocalConfigNotAllowed(configuration\u003dkwargs)"},{"line_number":199,"context_line":"        super(XmlBodyMiddlewareV2, self).__init__(*args)"},{"line_number":200,"context_line":"        self.xmlns \u003d \u0027http://docs.openstack.org/identity/api/v2.0\u0027"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_1248bacb","line":198,"in_reply_to":"3a961159_0f8ee927","updated":"2014-12-18 14:57:24.000000000","message":"Done","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"5b562cc8848baa2cd1f7a4433774f1e9c1c98863","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":207,"context_line":"        if kwargs:"},{"line_number":208,"context_line":"            raise exception.LocalConfigNotAllowed(configuration\u003dkwargs)"},{"line_number":209,"context_line":"        super(XmlBodyMiddlewareV3, self).__init__(*args)"},{"line_number":210,"context_line":"        self.xmlns \u003d \u0027http://docs.openstack.org/identity/api/v3\u0027"},{"line_number":211,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_4f98f16a","line":208,"updated":"2014-12-15 17:17:22.000000000","message":"same comment here","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"b142d52321ff812c84533c42f78ff06a1f7e38a2","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":207,"context_line":"        if kwargs:"},{"line_number":208,"context_line":"            raise exception.LocalConfigNotAllowed(configuration\u003dkwargs)"},{"line_number":209,"context_line":"        super(XmlBodyMiddlewareV3, self).__init__(*args)"},{"line_number":210,"context_line":"        self.xmlns \u003d \u0027http://docs.openstack.org/identity/api/v3\u0027"},{"line_number":211,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_f23a4e33","line":208,"in_reply_to":"3a961159_4f98f16a","updated":"2014-12-18 14:57:24.000000000","message":"Done","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"}],"keystone/service.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"cc32d01a0b24e0dd79e3fe76de2ce623830054d6","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            remove_in\u003d+1,"},{"line_number":73,"context_line":"            what\u003d\u0027Define local configuration in PasteDeploy \u0027"},{"line_number":74,"context_line":"            \u0027configuration file\u0027)(lambda: None)()"},{"line_number":75,"context_line":"    controllers.register_version(\u0027v2.0\u0027)"},{"line_number":76,"context_line":"    return wsgi.ComposingRouter(routes.Mapper(),"},{"line_number":77,"context_line":"                                [assignment.routers.Public(),"},{"line_number":78,"context_line":"                                 token.routers.Router(),"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa1b9901_b4c2ab83","line":75,"updated":"2015-08-26 13:28:13.000000000","message":"is there any way we can add tests for this?","commit_id":"db0da3faa92e48ae847f2f1e519ed3b427ca3f27"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"88fe2491fb57808b6d9f0166c7069a94bc3ea6c6","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            remove_in\u003d+1,"},{"line_number":73,"context_line":"            what\u003d\u0027Define local configuration in PasteDeploy \u0027"},{"line_number":74,"context_line":"            \u0027configuration file\u0027)(lambda: None)()"},{"line_number":75,"context_line":"    controllers.register_version(\u0027v2.0\u0027)"},{"line_number":76,"context_line":"    return wsgi.ComposingRouter(routes.Mapper(),"},{"line_number":77,"context_line":"                                [assignment.routers.Public(),"},{"line_number":78,"context_line":"                                 token.routers.Router(),"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa1b9901_4fd8581e","line":75,"in_reply_to":"fa1b9901_b4c2ab83","updated":"2015-08-26 13:49:16.000000000","message":"Test that local_conf is deprecated? Probably, but I\u0027m not sure if it\u0027s worth it.","commit_id":"db0da3faa92e48ae847f2f1e519ed3b427ca3f27"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"9413c8b48b18c479f391eb80da691c991da1f7cf","unresolved":false,"context_lines":[{"line_number":71,"context_line":"            as_of\u003dversionutils.deprecated.LIBERTY,"},{"line_number":72,"context_line":"            in_favor_of\u003d\u0027main keystone configuration file\u0027,"},{"line_number":73,"context_line":"            remove_in\u003d+1,"},{"line_number":74,"context_line":"            what\u003d\u0027Define local configuration in PasteDeploy \u0027"},{"line_number":75,"context_line":"            \u0027configuration file\u0027)(lambda: None)()"},{"line_number":76,"context_line":"    controllers.register_version(\u0027v2.0\u0027)"},{"line_number":77,"context_line":"    return wsgi.ComposingRouter(routes.Mapper(),"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_067e1fae","line":74,"updated":"2015-09-15 20:26:45.000000000","message":"change \"Define\" to \"Defining\". This applies to all the \"what\" parameters added.","commit_id":"a623de96954e6382b480e07edca631e506ef9526"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"84769f5388c57ea7547474c35636d4934e2b1e24","unresolved":false,"context_lines":[{"line_number":71,"context_line":"            as_of\u003dversionutils.deprecated.LIBERTY,"},{"line_number":72,"context_line":"            in_favor_of\u003d\u0027main keystone configuration file\u0027,"},{"line_number":73,"context_line":"            remove_in\u003d+1,"},{"line_number":74,"context_line":"            what\u003d\u0027Define local configuration in PasteDeploy \u0027"},{"line_number":75,"context_line":"            \u0027configuration file\u0027)(lambda: None)()"},{"line_number":76,"context_line":"    controllers.register_version(\u0027v2.0\u0027)"},{"line_number":77,"context_line":"    return wsgi.ComposingRouter(routes.Mapper(),"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_d8b4fe82","line":74,"in_reply_to":"ba15a1d1_067e1fae","updated":"2015-09-18 14:31:26.000000000","message":"Done","commit_id":"a623de96954e6382b480e07edca631e506ef9526"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"151f90750c1ab3e02767409374046169ec2d46e0","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            LOG,"},{"line_number":73,"context_line":"            _LW(\u0027Defining local configuration in PasteDeploy is \u0027"},{"line_number":74,"context_line":"                \u0027deprecated in Liberty, and will be removed in N \u0027"},{"line_number":75,"context_line":"                \u0027release, go to main configuration file (keystone.conf) \u0027"},{"line_number":76,"context_line":"                \u0027instead.\u0027))"},{"line_number":77,"context_line":"    controllers.register_version(\u0027v2.0\u0027)"},{"line_number":78,"context_line":"    return wsgi.ComposingRouter(routes.Mapper(),"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba15a1d1_a538903e","line":75,"updated":"2015-09-22 13:53:51.000000000","message":"I think all of these messages need to change. It currently doesn\u0027t make sense. Suggest: Defining local configuration in the PasteDeploy INI is  deprecated in Liberty and will be removed in N. Configuration must be in keystone.conf.","commit_id":"aa6c3b5e0e070887c0be264ea546459866398d95"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"3498ad34f9e8e7a0adf11549616f756f20161b4c","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            LOG,"},{"line_number":73,"context_line":"            _LW(\u0027Defining local configuration in PasteDeploy is \u0027"},{"line_number":74,"context_line":"                \u0027deprecated in Liberty, and will be removed in N \u0027"},{"line_number":75,"context_line":"                \u0027release, go to main configuration file (keystone.conf) \u0027"},{"line_number":76,"context_line":"                \u0027instead.\u0027))"},{"line_number":77,"context_line":"    controllers.register_version(\u0027v2.0\u0027)"},{"line_number":78,"context_line":"    return wsgi.ComposingRouter(routes.Mapper(),"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba15a1d1_3c14794b","line":75,"in_reply_to":"ba15a1d1_a538903e","updated":"2015-09-23 05:49:41.000000000","message":"Done","commit_id":"aa6c3b5e0e070887c0be264ea546459866398d95"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"dc03bd037005e7a7c8b269c8234b7ad9a74b10c4","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        versionutils.report_deprecated_feature("},{"line_number":72,"context_line":"            LOG,"},{"line_number":73,"context_line":"            _LW(\u0027Defining local configuration in PasteDeploy INI is \u0027"},{"line_number":74,"context_line":"                \u0027deprecated in Mitaka and will be removed in O release. \u0027"},{"line_number":75,"context_line":"                \u0027Configuration must be in keystone.conf.\u0027))"},{"line_number":76,"context_line":"    controllers.register_version(\u0027v2.0\u0027)"},{"line_number":77,"context_line":"    return wsgi.ComposingRouter(routes.Mapper(),"}],"source_content_type":"text/x-python","patch_set":22,"id":"9a1a9d01_6c746367","line":74,"updated":"2015-09-29 14:52:14.000000000","message":"I don\u0027t think we have to wait 2 releases to remove this since it was just ignored before, make it N release instead.","commit_id":"4da4f1ab6f482648b4bb87ace953e1d5d3a8cd54"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"c2f5eae583be4c1964e77ca183263627ee1518a6","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        versionutils.report_deprecated_feature("},{"line_number":72,"context_line":"            LOG,"},{"line_number":73,"context_line":"            _LW(\u0027Defining local configuration in PasteDeploy INI is \u0027"},{"line_number":74,"context_line":"                \u0027deprecated in Mitaka and will be removed in O release. \u0027"},{"line_number":75,"context_line":"                \u0027Configuration must be in keystone.conf.\u0027))"},{"line_number":76,"context_line":"    controllers.register_version(\u0027v2.0\u0027)"},{"line_number":77,"context_line":"    return wsgi.ComposingRouter(routes.Mapper(),"}],"source_content_type":"text/x-python","patch_set":22,"id":"9a1a9d01_38b3e051","line":74,"in_reply_to":"9a1a9d01_6c746367","updated":"2015-09-30 09:42:42.000000000","message":"Done","commit_id":"4da4f1ab6f482648b4bb87ace953e1d5d3a8cd54"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"59f1a929ab5d817de3110a864c0466de165836dd","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            LOG,"},{"line_number":73,"context_line":"            _LW(\u0027Defining local configuration in PasteDeploy INI is \u0027"},{"line_number":74,"context_line":"                \u0027deprecated in Mitaka and will be removed in N release. \u0027"},{"line_number":75,"context_line":"                \u0027Configuration must be in keystone.conf.\u0027))"},{"line_number":76,"context_line":"    controllers.register_version(\u0027v2.0\u0027)"},{"line_number":77,"context_line":"    return wsgi.ComposingRouter(routes.Mapper(),"},{"line_number":78,"context_line":"                                [assignment.routers.Public(),"}],"source_content_type":"text/x-python","patch_set":25,"id":"7a2fa921_3e037b0f","line":75,"updated":"2015-10-12 14:05:20.000000000","message":"In this file it will be easier if you make a private function that shows this warning and pass it local_conf since all the deprecation warnings are the same.  This will help clean up the code. \n\ne.g. \n\ndef _display_deprecation(local_conf):\n        if local_conf:\n                versionutils.report_deprecated_feature(\n                     LOG,\n                    _LW(\u0027Defining local configuration in PasteDeploy INI is \u0027\n                        \u0027deprecated in Mitaka and will be removed in N release. \u0027\n                        \u0027Configuration must be in keystone.conf.\u0027))","commit_id":"8229569f30b6d4e2f9c119fa0ff482d4b5191867"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"33e3dea5d94e432d8fafab9b5717d70fb4ac6a3f","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            LOG,"},{"line_number":73,"context_line":"            _LW(\u0027Defining local configuration in PasteDeploy INI is \u0027"},{"line_number":74,"context_line":"                \u0027deprecated in Mitaka and will be removed in N release. \u0027"},{"line_number":75,"context_line":"                \u0027Configuration must be in keystone.conf.\u0027))"},{"line_number":76,"context_line":"    controllers.register_version(\u0027v2.0\u0027)"},{"line_number":77,"context_line":"    return wsgi.ComposingRouter(routes.Mapper(),"},{"line_number":78,"context_line":"                                [assignment.routers.Public(),"}],"source_content_type":"text/x-python","patch_set":25,"id":"3a29b11f_26460d24","line":75,"in_reply_to":"7a2fa921_3e037b0f","updated":"2015-10-19 08:01:21.000000000","message":"Done","commit_id":"8229569f30b6d4e2f9c119fa0ff482d4b5191867"}],"keystone/tests/test_middleware.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"5b562cc8848baa2cd1f7a4433774f1e9c1c98863","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                          {}, testkey\u003d\"test\")"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"class XmlBodyMiddlewareV2Test(tests.TestCase):"},{"line_number":177,"context_line":"    def test_middlev2_local_config(self):"},{"line_number":178,"context_line":"        self.assertRaises(exception.LocalConfigNotAllowed,"},{"line_number":179,"context_line":"                          middleware.XmlBodyMiddlewareV2,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_0fb509d0","line":176,"updated":"2014-12-15 17:17:22.000000000","message":"same comment here","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"b142d52321ff812c84533c42f78ff06a1f7e38a2","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                          {}, testkey\u003d\"test\")"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"class XmlBodyMiddlewareV2Test(tests.TestCase):"},{"line_number":177,"context_line":"    def test_middlev2_local_config(self):"},{"line_number":178,"context_line":"        self.assertRaises(exception.LocalConfigNotAllowed,"},{"line_number":179,"context_line":"                          middleware.XmlBodyMiddlewareV2,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_b2d526bb","line":176,"in_reply_to":"3a961159_0fb509d0","updated":"2014-12-18 14:57:24.000000000","message":"Done","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"5b562cc8848baa2cd1f7a4433774f1e9c1c98863","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                          {}, testkey\u003d\"test\")"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"class XmlBodyMiddlewareV3Test(tests.TestCase):"},{"line_number":184,"context_line":"    def test_middlev3_local_config(self):"},{"line_number":185,"context_line":"        self.assertRaises(exception.LocalConfigNotAllowed,"},{"line_number":186,"context_line":"                          middleware.XmlBodyMiddlewareV3,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_4faf117e","line":183,"updated":"2014-12-15 17:17:22.000000000","message":"same comment here","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"b142d52321ff812c84533c42f78ff06a1f7e38a2","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                          {}, testkey\u003d\"test\")"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"class XmlBodyMiddlewareV3Test(tests.TestCase):"},{"line_number":184,"context_line":"    def test_middlev3_local_config(self):"},{"line_number":185,"context_line":"        self.assertRaises(exception.LocalConfigNotAllowed,"},{"line_number":186,"context_line":"                          middleware.XmlBodyMiddlewareV3,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_d2d9d2f5","line":183,"in_reply_to":"3a961159_4faf117e","updated":"2014-12-18 14:57:24.000000000","message":"Done","commit_id":"45c02a86f86c186579c907c5cebe01e46d8bbc00"}],"keystone/tests/unit/test_wsgi.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b1ea6fa6b69064f4994cb5eabf3f8a9bdec980e5","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        self.config_fixture.config(debug\u003dTrue)"},{"line_number":303,"context_line":"        self.assertIn(exception_str, do_request().body)"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"    def test_middleware_local_config(self):"},{"line_number":306,"context_line":"        class FakeMiddleware(wsgi.Middleware):"},{"line_number":307,"context_line":"            def __init__(self, *args, **kwargs):"},{"line_number":308,"context_line":"                self.kwargs \u003d kwargs"}],"source_content_type":"text/x-python","patch_set":27,"id":"1a26ad4f_88f487f2","side":"PARENT","line":305,"updated":"2015-10-30 01:54:03.000000000","message":"This test should still be here it should verify that the warning is logged.","commit_id":"68e885d0ad0b64e892de891b07137991e103745f"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"931be32336b0a580d3085ebe7d217cd068e6e0d1","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        self.config_fixture.config(debug\u003dTrue)"},{"line_number":303,"context_line":"        self.assertIn(exception_str, do_request().body)"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"    def test_middleware_local_config(self):"},{"line_number":306,"context_line":"        class FakeMiddleware(wsgi.Middleware):"},{"line_number":307,"context_line":"            def __init__(self, *args, **kwargs):"},{"line_number":308,"context_line":"                self.kwargs \u003d kwargs"}],"source_content_type":"text/x-python","patch_set":27,"id":"1a26ad4f_e8097bde","side":"PARENT","line":305,"in_reply_to":"1a26ad4f_88f487f2","updated":"2015-10-30 01:56:46.000000000","message":"Changed my mind, this is following a different code path.","commit_id":"68e885d0ad0b64e892de891b07137991e103745f"}],"keystone/version/service.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b4323f96a49be0cec3e271bac710bc69273c9a4d","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    @functools.wraps(f)"},{"line_number":70,"context_line":"    def wrapper(*args, **local_conf):"},{"line_number":71,"context_line":"        if local_conf:"},{"line_number":72,"context_line":"            versionutils.report_deprecated_feature("},{"line_number":73,"context_line":"                LOG,"},{"line_number":74,"context_line":"                _LW(\u0027Defining local configuration in PasteDeploy INI is \u0027"},{"line_number":75,"context_line":"                    \u0027deprecated in Mitaka and will be removed in N release. \u0027"}],"source_content_type":"text/x-python","patch_set":26,"id":"1a26ad4f_c76dd733","line":72,"updated":"2015-10-28 01:23:08.000000000","message":"The deprecation message should be clarified to say what the server is going to do in the N release. Is it going to continue to ignore the config or is it going to fail to start if there\u0027s any local_conf?\n\nIf the server is going to continue to ignore the config options in paste.ini (which I think we should do), there\u0027s no reason to print a deprecation message since the behavior will be the same.\n\nThis could be changed to log a warning if there\u0027s any local_conf, the warning message could just say that the paste conf is being ignored.","commit_id":"d47bb14593f60876997e1050594babcffd37033e"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"7b8b1f533a1b2b2ac42696aeeb4b0a4b2603a989","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    @functools.wraps(f)"},{"line_number":70,"context_line":"    def wrapper(*args, **local_conf):"},{"line_number":71,"context_line":"        if local_conf:"},{"line_number":72,"context_line":"            versionutils.report_deprecated_feature("},{"line_number":73,"context_line":"                LOG,"},{"line_number":74,"context_line":"                _LW(\u0027Defining local configuration in PasteDeploy INI is \u0027"},{"line_number":75,"context_line":"                    \u0027deprecated in Mitaka and will be removed in N release. \u0027"}],"source_content_type":"text/x-python","patch_set":26,"id":"1a26ad4f_313f1cb6","line":72,"in_reply_to":"1a26ad4f_c76dd733","updated":"2015-10-28 08:51:46.000000000","message":"I was thinking in the N release, we should remove this parameter from app_factory. \n\nI am okay to change this to just log a warning.","commit_id":"d47bb14593f60876997e1050594babcffd37033e"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"d4dcf21af3728fb1e069c855fa8309f7b11ed6e9","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def wrapper(*args, **local_conf):"},{"line_number":70,"context_line":"        if local_conf:"},{"line_number":71,"context_line":"            LOG.warning(_LW(\u0027\\\u0027local conf\\\u0027 from PasteDeploy INI is being \u0027"},{"line_number":72,"context_line":"                            \u0027ignored.\u0027))"},{"line_number":73,"context_line":"        return f(*args, **local_conf)"},{"line_number":74,"context_line":"    return wrapper"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1a26ad4f_f52f3d9f","line":72,"updated":"2015-10-28 20:31:27.000000000","message":"Should you have when you are removing the parameters from app_factory inside your warning?","commit_id":"d8b085c3905fc564d79f81af5d3314a7eed01d6b"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"40d9949a7148adc5b35e910b5840dbba8f1f1417","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def wrapper(*args, **local_conf):"},{"line_number":70,"context_line":"        if local_conf:"},{"line_number":71,"context_line":"            LOG.warning(_LW(\u0027\\\u0027local conf\\\u0027 from PasteDeploy INI is being \u0027"},{"line_number":72,"context_line":"                            \u0027ignored.\u0027))"},{"line_number":73,"context_line":"        return f(*args, **local_conf)"},{"line_number":74,"context_line":"    return wrapper"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1a26ad4f_d0123809","line":72,"in_reply_to":"1a26ad4f_971289b3","updated":"2015-10-29 14:23:29.000000000","message":"Yes I agree with Brants comment to move it to a warning instead of a deprecation.  But following up on your comment when will the parameters be removed from app_factory.  \n\nCould you tack on at the end \u0027parameters will be removed from app_factory in N\u0027 ?\n\nI guess since we are ignoring the config option anyway its doesn\u0027t matter if you do or not.  The curtsy of letting them know that your not reading in the conf is good enough for me. :)","commit_id":"d8b085c3905fc564d79f81af5d3314a7eed01d6b"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"2618b6df0e3d0bf781a0e6460e4811402b9dece3","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def wrapper(*args, **local_conf):"},{"line_number":70,"context_line":"        if local_conf:"},{"line_number":71,"context_line":"            LOG.warning(_LW(\u0027\\\u0027local conf\\\u0027 from PasteDeploy INI is being \u0027"},{"line_number":72,"context_line":"                            \u0027ignored.\u0027))"},{"line_number":73,"context_line":"        return f(*args, **local_conf)"},{"line_number":74,"context_line":"    return wrapper"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1a26ad4f_40a08d9f","line":72,"in_reply_to":"1a26ad4f_c0b49df3","updated":"2015-10-29 21:45:07.000000000","message":"That was my mistake I didn\u0027t realize they were keyword arguments.  How It was explained before I thought they were regular parameters.  Thank you David for clearing that up.","commit_id":"d8b085c3905fc564d79f81af5d3314a7eed01d6b"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"331ea2d75163d7fcadd931aa7b2bbfd88cf55991","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def wrapper(*args, **local_conf):"},{"line_number":70,"context_line":"        if local_conf:"},{"line_number":71,"context_line":"            LOG.warning(_LW(\u0027\\\u0027local conf\\\u0027 from PasteDeploy INI is being \u0027"},{"line_number":72,"context_line":"                            \u0027ignored.\u0027))"},{"line_number":73,"context_line":"        return f(*args, **local_conf)"},{"line_number":74,"context_line":"    return wrapper"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1a26ad4f_c0b49df3","line":72,"in_reply_to":"1a26ad4f_d0123809","updated":"2015-10-29 21:41:36.000000000","message":"Why remove the parameters? This signature should be something like: http://pythonpaste.org/deploy/#paste-app-factory even if we don\u0027t use the extra params.","commit_id":"d8b085c3905fc564d79f81af5d3314a7eed01d6b"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"40c73c85ff015b3d5a7d59237d4f3b1637ec6e43","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def wrapper(*args, **local_conf):"},{"line_number":70,"context_line":"        if local_conf:"},{"line_number":71,"context_line":"            LOG.warning(_LW(\u0027\\\u0027local conf\\\u0027 from PasteDeploy INI is being \u0027"},{"line_number":72,"context_line":"                            \u0027ignored.\u0027))"},{"line_number":73,"context_line":"        return f(*args, **local_conf)"},{"line_number":74,"context_line":"    return wrapper"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"1a26ad4f_971289b3","line":72,"in_reply_to":"1a26ad4f_f52f3d9f","updated":"2015-10-29 01:40:36.000000000","message":"This is what I was thinking, deprecte it and maybe remove the parameters in the N.\n\nBut per the comments in the last patch, this was changed to keep it as is and just log a warning message.\n\n\nsee the comments there, https://review.openstack.org/#/c/134124/26/keystone/version/service.py","commit_id":"d8b085c3905fc564d79f81af5d3314a7eed01d6b"}]}
