)]}'
{"keystone/cmd/cli.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a3792d36222f538fba79cc5a269601d7edea7970","unresolved":false,"context_lines":[{"line_number":646,"context_line":""},{"line_number":647,"context_line":""},{"line_number":648,"context_line":"class CredentialSetup(BasePermissionsSetup):"},{"line_number":649,"context_line":"    \"\"\"Setup a Fernet key repository for credential encryption."},{"line_number":650,"context_line":""},{"line_number":651,"context_line":"    The purpose of this command is very similar to `keystone-manage"},{"line_number":652,"context_line":"    fernet_setup` only the keys included in this repository are for encrypting"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f91af0f_de50d4d7","side":"PARENT","line":649,"range":{"start_line":649,"start_character":4,"end_line":649,"end_character":7},"updated":"2017-12-28 16:43:52.000000000","message":"It looks like these need to be removed, too?","commit_id":"cfbc2aa30b7406b4bc77e40a55561d1f46174b5c"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"1f106e96bc987f4c95daa36cf387713abe9a7374","unresolved":false,"context_lines":[{"line_number":646,"context_line":""},{"line_number":647,"context_line":""},{"line_number":648,"context_line":"class CredentialSetup(BasePermissionsSetup):"},{"line_number":649,"context_line":"    \"\"\"Setup a Fernet key repository for credential encryption."},{"line_number":650,"context_line":""},{"line_number":651,"context_line":"    The purpose of this command is very similar to `keystone-manage"},{"line_number":652,"context_line":"    fernet_setup` only the keys included in this repository are for encrypting"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f91af0f_2d475420","side":"PARENT","line":649,"range":{"start_line":649,"start_character":4,"end_line":649,"end_character":7},"in_reply_to":"9f91af0f_de50d4d7","updated":"2017-12-29 03:56:17.000000000","message":"It has been remove at L708","commit_id":"cfbc2aa30b7406b4bc77e40a55561d1f46174b5c"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"1f106e96bc987f4c95daa36cf387713abe9a7374","unresolved":false,"context_lines":[{"line_number":717,"context_line":""},{"line_number":718,"context_line":"    @classmethod"},{"line_number":719,"context_line":"    def main(cls):"},{"line_number":720,"context_line":"        futils \u003d fernet_utils.FernetUtils("},{"line_number":721,"context_line":"            CONF.credential.key_repository,"},{"line_number":722,"context_line":"            credential_fernet.MAX_ACTIVE_KEYS,"},{"line_number":723,"context_line":"            \u0027credential\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f91af0f_cd6ca89e","line":720,"range":{"start_line":720,"start_character":8,"end_line":720,"end_character":42},"updated":"2017-12-29 03:56:17.000000000","message":"I know you have a patch for this change already. So it\u0027s better to use rebase tree for jwt feature. Then it\u0027s easy for review and you don\u0027t need to rebase again and again.","commit_id":"625dac9cbcc682e6b7cbc4be00f9869ff3829af1"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"81a7a14ad8cdb515d40e5e75ac4805fdc90b0cdf","unresolved":false,"context_lines":[{"line_number":717,"context_line":""},{"line_number":718,"context_line":"    @classmethod"},{"line_number":719,"context_line":"    def main(cls):"},{"line_number":720,"context_line":"        futils \u003d fernet_utils.FernetUtils("},{"line_number":721,"context_line":"            CONF.credential.key_repository,"},{"line_number":722,"context_line":"            credential_fernet.MAX_ACTIVE_KEYS,"},{"line_number":723,"context_line":"            \u0027credential\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f91af0f_4b915b52","line":720,"range":{"start_line":720,"start_character":8,"end_line":720,"end_character":42},"in_reply_to":"9f91af0f_cd6ca89e","updated":"2017-12-29 23:19:28.000000000","message":"yeah this was a bit messy to break up, the new classes above will need to be changed as well so some rebasing might need to happen.","commit_id":"625dac9cbcc682e6b7cbc4be00f9869ff3829af1"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"0c055e330aa66be37ae1336569d13154de1d1628","unresolved":false,"context_lines":[{"line_number":584,"context_line":"        return keystone_user_id, keystone_group_id"},{"line_number":585,"context_line":""},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"class FernetSetup(BasePermissionsSetup):"},{"line_number":588,"context_line":"    \"\"\"Setup a key repository for Fernet tokens."},{"line_number":589,"context_line":""},{"line_number":590,"context_line":"    This also creates a primary key used for both creating and validating"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f96bb07_288efd2d","line":587,"updated":"2018-01-15 16:20:21.000000000","message":"Hmm we don\u0027t really have a way of deprecating these do we?\n\nYou might be able to have this subclass the new class just to DRY this up","commit_id":"c3f7fb7cba3e6698583d97a474309503e0b807c2"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"15a3ccaa7e3e54fba45534daca86b1f4d05e1ebb","unresolved":false,"context_lines":[{"line_number":584,"context_line":"        return keystone_user_id, keystone_group_id"},{"line_number":585,"context_line":""},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"class FernetSetup(BasePermissionsSetup):"},{"line_number":588,"context_line":"    \"\"\"Setup a key repository for Fernet tokens."},{"line_number":589,"context_line":""},{"line_number":590,"context_line":"    This also creates a primary key used for both creating and validating"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f96bb07_7ce7e713","line":587,"in_reply_to":"7f96bb07_288efd2d","updated":"2018-01-15 18:30:42.000000000","message":"Pretty much spot on.","commit_id":"c3f7fb7cba3e6698583d97a474309503e0b807c2"},{"author":{"_account_id":19853,"name":"Nguyen Hung Phuong","email":"phuongnh@vn.fujitsu.com","username":"phuongnh"},"change_message_id":"ed2f12de334f679e8b27bd2fcb83c870ad214ae3","unresolved":false,"context_lines":[{"line_number":656,"context_line":""},{"line_number":657,"context_line":"    @classmethod"},{"line_number":658,"context_line":"    def main(cls):"},{"line_number":659,"context_line":"        futils \u003d fernet_utils.FernetUtils("},{"line_number":660,"context_line":"            CONF.token.key_repository,"},{"line_number":661,"context_line":"            CONF.token.max_active_keys,"},{"line_number":662,"context_line":"            \u0027token\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f93b717_214da6c3","line":659,"range":{"start_line":659,"start_character":17,"end_line":659,"end_character":29},"updated":"2018-01-30 05:56:45.000000000","message":"undefined name \u0027fernet_utils\u0027","commit_id":"f4c228bcced5fdc61de0914bdd3d262548a3ebea"},{"author":{"_account_id":19853,"name":"Nguyen Hung Phuong","email":"phuongnh@vn.fujitsu.com","username":"phuongnh"},"change_message_id":"ed2f12de334f679e8b27bd2fcb83c870ad214ae3","unresolved":false,"context_lines":[{"line_number":691,"context_line":""},{"line_number":692,"context_line":"    @classmethod"},{"line_number":693,"context_line":"    def main(cls):"},{"line_number":694,"context_line":"        futils \u003d fernet_utils.FernetUtils("},{"line_number":695,"context_line":"            CONF.token.key_repository,"},{"line_number":696,"context_line":"            CONF.token.max_active_keys,"},{"line_number":697,"context_line":"            \u0027token\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f93b717_01ce6a2d","line":694,"range":{"start_line":694,"start_character":17,"end_line":694,"end_character":29},"updated":"2018-01-30 05:56:45.000000000","message":"ditto","commit_id":"f4c228bcced5fdc61de0914bdd3d262548a3ebea"}],"keystone/conf/fernet_tokens.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a3792d36222f538fba79cc5a269601d7edea7970","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    default\u003d\u0027/etc/keystone/fernet-keys/\u0027,"},{"line_number":22,"context_line":"    deprecated_since\u003dversionutils.deprecated.QUEENS,"},{"line_number":23,"context_line":"    deprecated_reason\u003dutils.fmt(\"\"\""},{"line_number":24,"context_line":"This setting was exclusively used for fernet tokens. With the addition of other"},{"line_number":25,"context_line":"non-persistent token providers, this setting has been moved under the `tokens`"},{"line_number":26,"context_line":"section of the configuration."},{"line_number":27,"context_line":"\"\"\"),"},{"line_number":28,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":29,"context_line":"Directory containing Fernet token keys. This directory must exist before using"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f91af0f_7e5f48e5","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":29},"updated":"2017-12-28 16:43:52.000000000","message":"nit: This could be pulled out into a common message and used in both places.","commit_id":"625dac9cbcc682e6b7cbc4be00f9869ff3829af1"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"81a7a14ad8cdb515d40e5e75ac4805fdc90b0cdf","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    default\u003d\u0027/etc/keystone/fernet-keys/\u0027,"},{"line_number":22,"context_line":"    deprecated_since\u003dversionutils.deprecated.QUEENS,"},{"line_number":23,"context_line":"    deprecated_reason\u003dutils.fmt(\"\"\""},{"line_number":24,"context_line":"This setting was exclusively used for fernet tokens. With the addition of other"},{"line_number":25,"context_line":"non-persistent token providers, this setting has been moved under the `tokens`"},{"line_number":26,"context_line":"section of the configuration."},{"line_number":27,"context_line":"\"\"\"),"},{"line_number":28,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":29,"context_line":"Directory containing Fernet token keys. This directory must exist before using"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f91af0f_6baa1f86","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":29},"in_reply_to":"9f91af0f_7e5f48e5","updated":"2017-12-29 23:19:28.000000000","message":"sure","commit_id":"625dac9cbcc682e6b7cbc4be00f9869ff3829af1"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"0c055e330aa66be37ae1336569d13154de1d1628","unresolved":false,"context_lines":[{"line_number":19,"context_line":"FERNET_SETTING_MESSAGE \u003d \"\"\"This setting was exclusively used for fernet"},{"line_number":20,"context_line":"                            tokens. With the addition of other non-persistent"},{"line_number":21,"context_line":"                            token providers, this setting has been moved under"},{"line_number":22,"context_line":"                            the `tokens` section of the configuration.\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"key_repository \u003d cfg.StrOpt("}],"source_content_type":"text/x-python","patch_set":6,"id":"7f96bb07_68fe45af","line":22,"range":{"start_line":22,"start_character":33,"end_line":22,"end_character":39},"updated":"2018-01-15 16:20:21.000000000","message":"*token","commit_id":"c3f7fb7cba3e6698583d97a474309503e0b807c2"}],"keystone/conf/token.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a3792d36222f538fba79cc5a269601d7edea7970","unresolved":false,"context_lines":[{"line_number":72,"context_line":"`keystone-manage token_setup` (also see the `keystone-manage token_rotate`"},{"line_number":73,"context_line":"command)."},{"line_number":74,"context_line":"\"\"\"))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"key_repository \u003d cfg.StrOpt("},{"line_number":77,"context_line":"    \u0027key_repository\u0027,"},{"line_number":78,"context_line":"    default\u003d\u0027/etc/keystone/token-keys/\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f91af0f_9e09ecde","line":75,"updated":"2017-12-28 16:43:52.000000000","message":"We\u0027ll need a release note here for sure. Especially for deployments who override the default values. They will need to make sure they are specifying the things the need with the new options since the options in the [fernet_tokens] section could be silently ignored in the future.","commit_id":"625dac9cbcc682e6b7cbc4be00f9869ff3829af1"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"81a7a14ad8cdb515d40e5e75ac4805fdc90b0cdf","unresolved":false,"context_lines":[{"line_number":72,"context_line":"`keystone-manage token_setup` (also see the `keystone-manage token_rotate`"},{"line_number":73,"context_line":"command)."},{"line_number":74,"context_line":"\"\"\"))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"key_repository \u003d cfg.StrOpt("},{"line_number":77,"context_line":"    \u0027key_repository\u0027,"},{"line_number":78,"context_line":"    default\u003d\u0027/etc/keystone/token-keys/\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f91af0f_8baf6393","line":75,"in_reply_to":"9f91af0f_9e09ecde","updated":"2017-12-29 23:19:28.000000000","message":"will do!","commit_id":"625dac9cbcc682e6b7cbc4be00f9869ff3829af1"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"f0a6231cf7fa4992ef48a45f6646d008e8394db6","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"key_repository \u003d cfg.StrOpt("},{"line_number":77,"context_line":"    \u0027key_repository\u0027,"},{"line_number":78,"context_line":"    default\u003d\u0027/etc/keystone/token-keys/\u0027,"},{"line_number":79,"context_line":"    deprecated_opts\u003d[cfg.DeprecatedOpt(\u0027key_repository\u0027,"},{"line_number":80,"context_line":"                                       group\u003d\u0027fernet_tokens\u0027)],"},{"line_number":81,"context_line":"    help\u003dutils.fmt(\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f91af0f_7a29f987","line":78,"range":{"start_line":78,"start_character":4,"end_line":78,"end_character":40},"updated":"2018-01-08 22:59:57.000000000","message":"Unfortunately, you cannot change this default behavior. It needs to remain defaulted to \"fernet-keys\" so that you do not break previous deployments that didn\u0027t change it.\n\nThis is somewhat difficult, but is a requirement, you can make the fernet driver override this default if it is the default, but that is required before this can be changed.\n\nThe note of the changed default must be in the help and release note.\n\nAnother option could be to have a \"fall-back\" behavior built into the driver and issue a warning.","commit_id":"eb498f9905e935be3f85a54a4d9a1c232e4d1bc1"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"c36bfdfec8b0d412ec214b2742d0f823eb11e39e","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"key_repository \u003d cfg.StrOpt("},{"line_number":77,"context_line":"    \u0027key_repository\u0027,"},{"line_number":78,"context_line":"    default\u003d\u0027/etc/keystone/token-keys/\u0027,"},{"line_number":79,"context_line":"    deprecated_opts\u003d[cfg.DeprecatedOpt(\u0027key_repository\u0027,"},{"line_number":80,"context_line":"                                       group\u003d\u0027fernet_tokens\u0027)],"},{"line_number":81,"context_line":"    help\u003dutils.fmt(\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_5c4839cb","line":78,"range":{"start_line":78,"start_character":4,"end_line":78,"end_character":40},"in_reply_to":"9f91af0f_7a29f987","updated":"2018-01-11 20:54:38.000000000","message":"Ah that makes sense. We can change this to \u0027fernet-keys\u0027 for now and explore what the best option would be for handling this.","commit_id":"eb498f9905e935be3f85a54a4d9a1c232e4d1bc1"}]}
