)]}'
{"keystonemiddleware/auth_token/__init__.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"310f1796a715908eea458ef0631577eea8c83690","unresolved":false,"context_lines":[{"line_number":216,"context_line":"from keystoneauth1 import exceptions as ksa_exceptions"},{"line_number":217,"context_line":"from keystoneauth1 import loading"},{"line_number":218,"context_line":"from keystoneauth1.loading import session as session_loading"},{"line_number":219,"context_line":"# from keystoneauth1 import session"},{"line_number":220,"context_line":"from keystoneclient.common import cms"},{"line_number":221,"context_line":"from keystoneclient import exceptions as ksc_exceptions"},{"line_number":222,"context_line":"from oslo_config import cfg"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_35690c8c","line":219,"updated":"2015-10-15 05:42:52.000000000","message":"comment","commit_id":"39ca909a50909585c45749529c33794209e76836"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"310f1796a715908eea458ef0631577eea8c83690","unresolved":false,"context_lines":[{"line_number":567,"context_line":"            if auth_ref.version \u003d\u003d \u0027v2.0\u0027:"},{"line_number":568,"context_line":"                bind \u003d auth_ref._data[\u0027access\u0027][\u0027token\u0027][\u0027bind\u0027]"},{"line_number":569,"context_line":"            elif auth_ref.version \u003d\u003d \u0027v3\u0027:"},{"line_number":570,"context_line":"                bind \u003d auth_ref._data[\u0027token\u0027][\u0027bind\u0027]"},{"line_number":571,"context_line":"            else:"},{"line_number":572,"context_line":"                self._invalid_user_token()"},{"line_number":573,"context_line":"        except KeyError:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_5574c866","line":570,"updated":"2015-10-15 05:42:52.000000000","message":"private variables - need to expose bind data from accessinfo","commit_id":"39ca909a50909585c45749529c33794209e76836"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a5c90f6fb51b925dabdd18d32ffc8c2fa1e2b241","unresolved":false,"context_lines":[{"line_number":561,"context_line":"        if self._enforce_token_bind \u003d\u003d _BIND_MODE.DISABLED:"},{"line_number":562,"context_line":"            return"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"        try:"},{"line_number":565,"context_line":"            if auth_ref.version \u003d\u003d \u0027v2.0\u0027:"},{"line_number":566,"context_line":"                bind \u003d auth_ref[\u0027token\u0027][\u0027bind\u0027]"},{"line_number":567,"context_line":"            elif auth_ref.version \u003d\u003d \u0027v3\u0027:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a8ffd7b_6a785690","side":"PARENT","line":564,"updated":"2015-12-01 05:32:57.000000000","message":"would be nice to explain why this was removed, in the commit message","commit_id":"08ed455a68ca737db2f0f6ba69e6e8b71d743965"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2660cb7dfb8de21b592223b1cab468ad88dbbf0f","unresolved":false,"context_lines":[{"line_number":561,"context_line":"        if self._enforce_token_bind \u003d\u003d _BIND_MODE.DISABLED:"},{"line_number":562,"context_line":"            return"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"        try:"},{"line_number":565,"context_line":"            if auth_ref.version \u003d\u003d \u0027v2.0\u0027:"},{"line_number":566,"context_line":"                bind \u003d auth_ref[\u0027token\u0027][\u0027bind\u0027]"},{"line_number":567,"context_line":"            elif auth_ref.version \u003d\u003d \u0027v3\u0027:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a8ffd7b_9908512a","side":"PARENT","line":564,"in_reply_to":"9a8ffd7b_6a785690","updated":"2015-12-01 17:50:40.000000000","message":"++","commit_id":"08ed455a68ca737db2f0f6ba69e6e8b71d743965"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a5c90f6fb51b925dabdd18d32ffc8c2fa1e2b241","unresolved":false,"context_lines":[{"line_number":399,"context_line":"        return {}"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"    opt_types \u003d {}"},{"line_number":402,"context_line":"    for o in _OPTS:"},{"line_number":403,"context_line":"        type_dest \u003d (getattr(o, \u0027type\u0027, str), o.dest)"},{"line_number":404,"context_line":"        opt_types[o.dest] \u003d type_dest"},{"line_number":405,"context_line":"        # Also add the deprecated name with the same type and dest."}],"source_content_type":"text/x-python","patch_set":8,"id":"9a8ffd7b_aa307ee9","line":402,"updated":"2015-12-01 05:32:57.000000000","message":"could have made this _OPTS + _auth.OPTS to keep things consistent","commit_id":"d202ed827eff2dfcdf09fc21cc8d1b11229ffa2c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a5c90f6fb51b925dabdd18d32ffc8c2fa1e2b241","unresolved":false,"context_lines":[{"line_number":967,"context_line":""},{"line_number":968,"context_line":"        group \u003d self._conf_get(\u0027auth_section\u0027) or _base.AUTHTOKEN_GROUP"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":"        # NOTE(jamielennox): auth_plugin was deprecated to auth_type. _conf_get"},{"line_number":971,"context_line":"        # doesn\u0027t handle that deprecation in the case of conf dict options so"},{"line_number":972,"context_line":"        # we have to manually check the value"},{"line_number":973,"context_line":"        plugin_name \u003d (self._conf_get(\u0027auth_type\u0027, group\u003dgroup)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a8ffd7b_0a6d0acc","line":970,"updated":"2015-12-01 05:32:57.000000000","message":"would be nice to explain why this was added, in the commit message","commit_id":"d202ed827eff2dfcdf09fc21cc8d1b11229ffa2c"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2660cb7dfb8de21b592223b1cab468ad88dbbf0f","unresolved":false,"context_lines":[{"line_number":967,"context_line":""},{"line_number":968,"context_line":"        group \u003d self._conf_get(\u0027auth_section\u0027) or _base.AUTHTOKEN_GROUP"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":"        # NOTE(jamielennox): auth_plugin was deprecated to auth_type. _conf_get"},{"line_number":971,"context_line":"        # doesn\u0027t handle that deprecation in the case of conf dict options so"},{"line_number":972,"context_line":"        # we have to manually check the value"},{"line_number":973,"context_line":"        plugin_name \u003d (self._conf_get(\u0027auth_type\u0027, group\u003dgroup)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a8ffd7b_5913c95c","line":970,"in_reply_to":"9a8ffd7b_0a6d0acc","updated":"2015-12-01 17:50:40.000000000","message":"++","commit_id":"d202ed827eff2dfcdf09fc21cc8d1b11229ffa2c"}],"keystonemiddleware/auth_token/_auth.py":[{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"9eb89c98a87b8fca531081d390653601941401ba","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        return self._plugin.invalidate()"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"OPTS \u003d ["},{"line_number":148,"context_line":"    cfg.StrOpt(\u0027auth_admin_prefix\u0027,"},{"line_number":149,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":150,"context_line":"               help\u003d\u0027Prefix to prepend at the beginning of the path. \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_48339962","line":147,"updated":"2015-10-16 00:21:50.000000000","message":"Jamie,\n\nThese options seriously need updating to match what actually works. I don\u0027t work on this project, but I can try updating them based on your blog post and my testing.","commit_id":"5684d383dd8e787fc3d3b57f838d78203daf857c"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"241fc461314d081fcf218aa0cdabf1875473c6d6","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        return self._plugin.invalidate()"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"OPTS \u003d ["},{"line_number":148,"context_line":"    cfg.StrOpt(\u0027auth_admin_prefix\u0027,"},{"line_number":149,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":150,"context_line":"               help\u003d\u0027Prefix to prepend at the beginning of the path. \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a29b11f_b483eecb","line":147,"in_reply_to":"5a2ca52d_286dfd30","updated":"2015-10-20 05:12:50.000000000","message":"Using deprecated like that is a cut over to a specific plugin, probably one of the password plugins, it\u0027s not going to be relevant for all plugins. Ideally at this point i\u0027d just like to remove all these options and only register them if required. This would at least prevent them from showing up in the sample config files and we can get more aggressive with the warning messages as well. This causes some problems with unit testing but we can work around it.\n\nThis change wouldn\u0027t be a part of this patch, but this is as good a place as any to discuss it.","commit_id":"5684d383dd8e787fc3d3b57f838d78203daf857c"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"6a331fce3d3b9a839e06d9aa0e954ac8284e1ced","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        return self._plugin.invalidate()"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"OPTS \u003d ["},{"line_number":148,"context_line":"    cfg.StrOpt(\u0027auth_admin_prefix\u0027,"},{"line_number":149,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":150,"context_line":"               help\u003d\u0027Prefix to prepend at the beginning of the path. \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_286dfd30","line":147,"in_reply_to":"5a2ca52d_48339962","updated":"2015-10-16 00:26:24.000000000","message":"My updates would look something like this for a handful of options:\n\n            cfg.StrOpt(\u0027username\u0027,\n                      default\u003dNone,\n                      deprecated_group\u003d\u0027keystone_authtoken\u0027,\n                      deprecated_name\u003d\u0027admin_user\u0027,\n                      help\u003d\u0027Service username.\u0027),","commit_id":"5684d383dd8e787fc3d3b57f838d78203daf857c"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"f796fe1fe9f71eac56ff20f5a8088a2418b16ac2","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        return self._plugin.invalidate()"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"OPTS \u003d ["},{"line_number":148,"context_line":"    cfg.StrOpt(\u0027auth_admin_prefix\u0027,"},{"line_number":149,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":150,"context_line":"               help\u003d\u0027Prefix to prepend at the beginning of the path. \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a29b11f_e5e5a008","line":147,"updated":"2015-10-22 21:12:26.000000000","message":"what\u0027s the reason for moving these out of the AuthTokenPlugin class?","commit_id":"72359aec3069419461a2b0ecd0abac32aec7eeed"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"79bfa5fdd519340d4a6c036e3c3f54044f2dd2f6","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        return self._plugin.invalidate()"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"OPTS \u003d ["},{"line_number":148,"context_line":"    cfg.StrOpt(\u0027auth_admin_prefix\u0027,"},{"line_number":149,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":150,"context_line":"               help\u003d\u0027Prefix to prepend at the beginning of the path. \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a26ad4f_ff0fa136","line":147,"in_reply_to":"3a29b11f_e5e5a008","updated":"2015-11-02 23:11:37.000000000","message":"So to move these over to being a keystoneauth plugin we would have to make all the keystoneauth.Opts. There\u0027s really no point in going through this additional step as this is the only way the plugin will ever be consumed. It\u0027s just easier.","commit_id":"72359aec3069419461a2b0ecd0abac32aec7eeed"}]}
