)]}'
{"keystone/common/config.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"6368cab64c3ac21e59e920c3b8358f050cacb3dd","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                   help\u003d\u0027Amount of time a token should remain valid \u0027"},{"line_number":184,"context_line":"                        \u0027(in seconds).\u0027),"},{"line_number":185,"context_line":"        cfg.StrOpt(\u0027provider\u0027,"},{"line_number":186,"context_line":"                   default\u003d\u0027keystone.token.providers.pkiz.Provider\u0027,"},{"line_number":187,"context_line":"                   help\u003d\u0027Controls the token construction, validation, and \u0027"},{"line_number":188,"context_line":"                        \u0027revocation operations. Core providers are \u0027"},{"line_number":189,"context_line":"                        \u0027\"keystone.token.providers.[pki|uuid].Provider\".\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ae8d1ca_6d21b7b3","line":186,"updated":"2014-05-29 17:20:50.000000000","message":"run tox -e sample_config to update etc/sample_confg","commit_id":"6243a38893a9cb36a13708a9ce6d8796d9660449"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"157225463516380075768e7e1dd8bb49d4e88629","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                   help\u003d\u0027Amount of time a token should remain valid \u0027"},{"line_number":184,"context_line":"                        \u0027(in seconds).\u0027),"},{"line_number":185,"context_line":"        cfg.StrOpt(\u0027provider\u0027,"},{"line_number":186,"context_line":"                   default\u003d\u0027keystone.token.providers.pkiz.Provider\u0027,"},{"line_number":187,"context_line":"                   help\u003d\u0027Controls the token construction, validation, and \u0027"},{"line_number":188,"context_line":"                        \u0027revocation operations. Core providers are \u0027"},{"line_number":189,"context_line":"                        \u0027\"keystone.token.providers.[pki|uuid].Provider\".\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_a8fe32ac","line":186,"in_reply_to":"3ae8d1ca_6d21b7b3","updated":"2014-06-03 18:07:54.000000000","message":"i suspect that setting a default here completely breaks our backwards compatibility for token_format config?","commit_id":"6243a38893a9cb36a13708a9ce6d8796d9660449"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"157225463516380075768e7e1dd8bb49d4e88629","unresolved":false,"context_lines":[{"line_number":186,"context_line":"                   default\u003d\u0027keystone.token.providers.pkiz.Provider\u0027,"},{"line_number":187,"context_line":"                   help\u003d\u0027Controls the token construction, validation, and \u0027"},{"line_number":188,"context_line":"                        \u0027revocation operations. Core providers are \u0027"},{"line_number":189,"context_line":"                        \u0027\"keystone.token.providers.[pki|uuid].Provider\".\u0027),"},{"line_number":190,"context_line":"        cfg.StrOpt(\u0027driver\u0027,"},{"line_number":191,"context_line":"                   default\u003d\u0027keystone.token.backends.sql.Token\u0027,"},{"line_number":192,"context_line":"                   help\u003d\u0027Token persistence backend driver.\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_2813020e","line":189,"updated":"2014-06-03 18:07:54.000000000","message":"update the help text","commit_id":"6243a38893a9cb36a13708a9ce6d8796d9660449"}],"keystone/token/providers/pkiz.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"5f6c64bb39e6129f445f3fa2ac42bbd4e6a53ecf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_66147744","line":1,"updated":"2014-05-13 20:39:26.000000000","message":"Invalid copyright year","commit_id":"7309d01fb37e72f6aa01173ce04b59518ea2f67c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"6368cab64c3ac21e59e920c3b8358f050cacb3dd","unresolved":false,"context_lines":[{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"Keystone PKI Token Provider\"\"\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import json"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3ae8d1ca_ad7d7fb3","line":13,"updated":"2014-05-29 17:20:50.000000000","message":"Keystone Compressed Token Provider?","commit_id":"6243a38893a9cb36a13708a9ce6d8796d9660449"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"6368cab64c3ac21e59e920c3b8358f050cacb3dd","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"Keystone PKI Token Provider\"\"\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import json"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from keystoneclient.common import cms"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3ae8d1ca_adf81f4a","line":15,"updated":"2014-05-29 17:20:50.000000000","message":"use jsonutils from keystone.openstack.common","commit_id":"6243a38893a9cb36a13708a9ce6d8796d9660449"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"6368cab64c3ac21e59e920c3b8358f050cacb3dd","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        except environment.subprocess.CalledProcessError:"},{"line_number":40,"context_line":"            LOG.exception(_(\u0027Unable to sign token\u0027))"},{"line_number":41,"context_line":"            raise exception.UnexpectedError(_("},{"line_number":42,"context_line":"                \u0027Unable to sign token.\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ae8d1ca_4db15b8e","line":42,"updated":"2014-05-29 17:20:50.000000000","message":"save \u0027Unable to sign token in a var\u0027 since you wrote it twice?\n\nWon\u0027t logging happen if an exception is raised anyway? Do we need LOG.exception(...)","commit_id":"6243a38893a9cb36a13708a9ce6d8796d9660449"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"a873cfc409270fffb03c8484869a8f72f434001c","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        except environment.subprocess.CalledProcessError:"},{"line_number":40,"context_line":"            LOG.exception(_(\u0027Unable to sign token\u0027))"},{"line_number":41,"context_line":"            raise exception.UnexpectedError(_("},{"line_number":42,"context_line":"                \u0027Unable to sign token.\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ae8d1ca_1085a6cf","line":42,"in_reply_to":"3ae8d1ca_4db15b8e","updated":"2014-05-29 17:43:09.000000000","message":"@Steve, I don\u0027t think the stacktrace will be logged. IIUC to gets handled here: http://git.openstack.org/cgit/openstack/keystone/tree/keystone/common/wsgi.py#n214","commit_id":"6243a38893a9cb36a13708a9ce6d8796d9660449"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9ded2e69d70f270e220501d0547964f9198c1378","unresolved":false,"context_lines":[{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"Keystone PKI Token Provider\"\"\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import json"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_1e867c13","line":13,"updated":"2014-06-03 20:03:44.000000000","message":"Keystone Compressed Token Provider?","commit_id":"0a6f333cf309ee5eed77a0f3124209e35efc498d"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9ded2e69d70f270e220501d0547964f9198c1378","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"Keystone PKI Token Provider\"\"\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import json"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from keystoneclient.common import cms"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_3e7ed819","line":15,"updated":"2014-06-03 20:03:44.000000000","message":"use jsonutils from keystone.openstack.common","commit_id":"0a6f333cf309ee5eed77a0f3124209e35efc498d"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9ded2e69d70f270e220501d0547964f9198c1378","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        except environment.subprocess.CalledProcessError:"},{"line_number":40,"context_line":"            LOG.exception(_(\u0027Unable to sign token\u0027))"},{"line_number":41,"context_line":"            raise exception.UnexpectedError(_("},{"line_number":42,"context_line":"                \u0027Unable to sign token.\u0027))"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_5e7ba427","line":42,"updated":"2014-06-03 20:03:44.000000000","message":"save \u0027Unable to sign token in a var\u0027 since you wrote it twice?","commit_id":"0a6f333cf309ee5eed77a0f3124209e35efc498d"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d55263ee200588031688838da1ebd3d616183bd6","unresolved":false,"context_lines":[{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"Keystone PKI Token Provider\"\"\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import json"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_39dfd26a","line":13,"updated":"2014-06-03 20:41:00.000000000","message":"Rewrite title as \"Keystone Compressed Token Provider\"","commit_id":"0496aeccac033dfd92dbea6d7d897fb9458e6ec6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d55263ee200588031688838da1ebd3d616183bd6","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"Keystone PKI Token Provider\"\"\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import json"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from keystoneclient.common import cms"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_d9d7ce49","line":15,"updated":"2014-06-03 20:41:00.000000000","message":"from keystone.openstack.common import jsonutils as json","commit_id":"0496aeccac033dfd92dbea6d7d897fb9458e6ec6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d55263ee200588031688838da1ebd3d616183bd6","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                                     CONF.signing.keyfile)"},{"line_number":38,"context_line":"            return token_id"},{"line_number":39,"context_line":"        except environment.subprocess.CalledProcessError:"},{"line_number":40,"context_line":"            LOG.exception(_(\u0027Unable to sign token\u0027))"},{"line_number":41,"context_line":"            raise exception.UnexpectedError(_("},{"line_number":42,"context_line":"                \u0027Unable to sign token.\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_59c3be88","line":40,"updated":"2014-06-03 20:41:00.000000000","message":"save message as local var, there\u0027s already a different between the two messages (missing period).\n\n  msg \u003d \u0027Unable to sign token.\u0027\n  LOG.exception(_(msg))\n  raise exception.UnexpectedError(_(msg))","commit_id":"0496aeccac033dfd92dbea6d7d897fb9458e6ec6"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"84190dff84f193180e1b2155959b8faaa979e1f2","unresolved":false,"context_lines":[{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"Keystone Compressed PKI Token Provider\"\"\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from keystoneclient.common import cms"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_7d7126a7","line":13,"updated":"2014-06-04 14:35:02.000000000","message":"remove Keystone since it\u0027s redundant.","commit_id":"063070f21ffc3345e2b25904ff4a1ae89f539c32"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"84190dff84f193180e1b2155959b8faaa979e1f2","unresolved":false,"context_lines":[{"line_number":26,"context_line":"CONF \u003d config.CONF"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":29,"context_line":"ERROR_MESSAGE \u003d _(\u0027Unable to sign token.\u0027)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class Provider(common.BaseProvider):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_3dbddeb7","line":29,"updated":"2014-06-04 14:35:02.000000000","message":"suggest change this to something more obvious -- \"The subprocess command to compress and sign the token failed.\"","commit_id":"063070f21ffc3345e2b25904ff4a1ae89f539c32"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"84190dff84f193180e1b2155959b8faaa979e1f2","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                                     CONF.signing.keyfile)"},{"line_number":38,"context_line":"            return token_id"},{"line_number":39,"context_line":"        except environment.subprocess.CalledProcessError:"},{"line_number":40,"context_line":"            LOG.exception(ERROR_MESSAGE)"},{"line_number":41,"context_line":"            raise exception.UnexpectedError(ERROR_MESSAGE)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_7d23e6a6","line":40,"updated":"2014-06-04 14:35:02.000000000","message":"the exception is raised, does it have to be logged, too?","commit_id":"063070f21ffc3345e2b25904ff4a1ae89f539c32"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fac7f1e2825aa97317b71965b592a41ca81227db","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                                     CONF.signing.keyfile)"},{"line_number":38,"context_line":"            return token_id"},{"line_number":39,"context_line":"        except environment.subprocess.CalledProcessError:"},{"line_number":40,"context_line":"            LOG.exception(ERROR_MESSAGE)"},{"line_number":41,"context_line":"            raise exception.UnexpectedError(ERROR_MESSAGE)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_44a81620","line":40,"in_reply_to":"1ae5cdf2_046fee2b","updated":"2014-06-04 14:54:25.000000000","message":"Just seems unnecessary to log anything here if it\u0027s going to be logged in wsgi. If this happens you\u0027re probably in a world of hurt anyways so maybe should just start logging all over.","commit_id":"063070f21ffc3345e2b25904ff4a1ae89f539c32"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2798c93979af8f5e02ad760d37570d416e194ce6","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                                     CONF.signing.keyfile)"},{"line_number":38,"context_line":"            return token_id"},{"line_number":39,"context_line":"        except environment.subprocess.CalledProcessError:"},{"line_number":40,"context_line":"            LOG.exception(ERROR_MESSAGE)"},{"line_number":41,"context_line":"            raise exception.UnexpectedError(ERROR_MESSAGE)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_046fee2b","line":40,"in_reply_to":"1ae5cdf2_7d23e6a6","updated":"2014-06-04 14:50:04.000000000","message":"I asked this in patch 3, @dstanek replied with:\n\n@Steve, I don\u0027t think the stacktrace will be logged. IIUC to gets handled here: http://git.openstack.org/cgit/openstack/keystone/tree/keystone/common/wsgi.py#n214","commit_id":"063070f21ffc3345e2b25904ff4a1ae89f539c32"}]}
