)]}'
{"keystone/conf/base.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e451c73b167ac45cdbacd40cdcf69b1ece7d627e","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"_DEPRECATE_DII_MSG \u003d utils.fmt(\"\"\""},{"line_number":19,"context_line":"The option to set domain_id_immutable to false has been deprecated in the M"},{"line_number":20,"context_line":"release and will be removed in the O release. After that point, domain IDs will"},{"line_number":21,"context_line":"always be treated as immutable attributes."},{"line_number":22,"context_line":"\"\"\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_f65e1411","line":21,"range":{"start_line":19,"start_character":0,"end_line":21,"end_character":42},"updated":"2016-06-27 22:01:59.000000000","message":"you can probably get rid of this and write it on line 150. it was only separated out since in the old conf setup we had very little room to write.\n\nOTOH, it would be nice to have a standard looking deprecation reason for our options, and having them up top may make that easier for devs to follow.","commit_id":"e9e8457c2dc0046b4a627509e5306fa69d8bf17c"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"99fa8602cf8c42cd6a75ef7188b46bcafee7bab1","unresolved":false,"context_lines":[{"line_number":18,"context_line":"_DEPRECATE_DII_MSG \u003d utils.fmt(\"\"\""},{"line_number":19,"context_line":"The option to set domain_id_immutable to false has been deprecated in the M"},{"line_number":20,"context_line":"release and will be removed in the O release. After that point, domain IDs will"},{"line_number":21,"context_line":"always be treated as immutable attributes."},{"line_number":22,"context_line":"\"\"\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_5515e9e2","line":21,"in_reply_to":"3aaa91ec_f65e1411","updated":"2016-06-29 18:55:56.000000000","message":"Done","commit_id":"e9e8457c2dc0046b4a627509e5306fa69d8bf17c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e451c73b167ac45cdbacd40cdcf69b1ece7d627e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    secret\u003dTrue,"},{"line_number":28,"context_line":"    default\u003dNone,"},{"line_number":29,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":30,"context_line":"Using this feature is NOT recommended. Instead, use the `keystone-manage"},{"line_number":31,"context_line":"bootstrap` command. The value of this option is treated as a \"shared secret\""},{"line_number":32,"context_line":"that can be used to bootstrap Keystone through the API. This \"token\" does not"},{"line_number":33,"context_line":"represent a user (it has no identity), and carries no explicit authorization"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_d6ae78e6","line":30,"range":{"start_line":30,"start_character":22,"end_line":30,"end_character":25},"updated":"2016-06-27 22:01:59.000000000","message":"*NOT* ? :)","commit_id":"e9e8457c2dc0046b4a627509e5306fa69d8bf17c"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"99fa8602cf8c42cd6a75ef7188b46bcafee7bab1","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    secret\u003dTrue,"},{"line_number":28,"context_line":"    default\u003dNone,"},{"line_number":29,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":30,"context_line":"Using this feature is NOT recommended. Instead, use the `keystone-manage"},{"line_number":31,"context_line":"bootstrap` command. The value of this option is treated as a \"shared secret\""},{"line_number":32,"context_line":"that can be used to bootstrap Keystone through the API. This \"token\" does not"},{"line_number":33,"context_line":"represent a user (it has no identity), and carries no explicit authorization"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_35e93de7","line":30,"in_reply_to":"3aaa91ec_d6ae78e6","updated":"2016-06-29 18:55:56.000000000","message":"Done","commit_id":"e9e8457c2dc0046b4a627509e5306fa69d8bf17c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e451c73b167ac45cdbacd40cdcf69b1ece7d627e","unresolved":false,"context_lines":[{"line_number":34,"context_line":"(it effectively bypasses most authorization checks). If set to `None`, the"},{"line_number":35,"context_line":"value is ignored and the `admin_token` middleware is effectively disabled."},{"line_number":36,"context_line":"However, to completely disable `admin_token` in production (highly recommended,"},{"line_number":37,"context_line":"as it presents a security risk), remove AdminTokenAuthMiddleware from your"},{"line_number":38,"context_line":"paste application pipelines (for example, in keystone-paste.ini)."},{"line_number":39,"context_line":"\"\"\"))"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_f68c5481","line":37,"range":{"start_line":37,"start_character":40,"end_line":37,"end_character":64},"updated":"2016-06-27 22:01:59.000000000","message":"backticks?\n\nmaybe we should say \"remove ``admin_token_auth`` from your...\"\n\nhttps://github.com/openstack/keystone/blob/8b5c095d6f7e4dca93306f00416784303392a67c/etc/keystone-paste.ini#L15","commit_id":"e9e8457c2dc0046b4a627509e5306fa69d8bf17c"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"99fa8602cf8c42cd6a75ef7188b46bcafee7bab1","unresolved":false,"context_lines":[{"line_number":34,"context_line":"(it effectively bypasses most authorization checks). If set to `None`, the"},{"line_number":35,"context_line":"value is ignored and the `admin_token` middleware is effectively disabled."},{"line_number":36,"context_line":"However, to completely disable `admin_token` in production (highly recommended,"},{"line_number":37,"context_line":"as it presents a security risk), remove AdminTokenAuthMiddleware from your"},{"line_number":38,"context_line":"paste application pipelines (for example, in keystone-paste.ini)."},{"line_number":39,"context_line":"\"\"\"))"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_d5ad599c","line":37,"in_reply_to":"3aaa91ec_f68c5481","updated":"2016-06-29 18:55:56.000000000","message":"You can nickname the middleware whatever you want within paste, so it\u0027s really the class name that matters to me, but I\u0027ll include both.","commit_id":"e9e8457c2dc0046b4a627509e5306fa69d8bf17c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e451c73b167ac45cdbacd40cdcf69b1ece7d627e","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    default\u003d5,"},{"line_number":68,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":69,"context_line":"Maximum depth of the project hierarchy, excluding the project acting as a"},{"line_number":70,"context_line":"domain at the top of the hierarchy. WARNING: setting it to a large value may"},{"line_number":71,"context_line":"adversely impact performance."},{"line_number":72,"context_line":"\"\"\"))"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_b6476c1c","line":70,"range":{"start_line":70,"start_character":45,"end_line":70,"end_character":46},"updated":"2016-06-27 22:01:59.000000000","message":"Setting*","commit_id":"e9e8457c2dc0046b4a627509e5306fa69d8bf17c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e451c73b167ac45cdbacd40cdcf69b1ece7d627e","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"# we allow tokens to be a bit larger to accommodate PKI"},{"line_number":82,"context_line":"max_token_size \u003d cfg.IntOpt("},{"line_number":83,"context_line":"    \u0027max_token_size\u0027,"},{"line_number":84,"context_line":"    default\u003d8192,"},{"line_number":85,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":86,"context_line":"Similar to max_param_size, but provides an exception for token values. With PKI"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_b6f5accc","line":83,"range":{"start_line":83,"start_character":5,"end_line":83,"end_character":19},"updated":"2016-06-27 22:01:59.000000000","message":"out of scope: do we want to deprecate this options now that PKI is deprecated?\n\nedit: wow this and max_param_size have a lot of history, and i\u0027m not sure how valid it is any longer","commit_id":"e9e8457c2dc0046b4a627509e5306fa69d8bf17c"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"99fa8602cf8c42cd6a75ef7188b46bcafee7bab1","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"# we allow tokens to be a bit larger to accommodate PKI"},{"line_number":82,"context_line":"max_token_size \u003d cfg.IntOpt("},{"line_number":83,"context_line":"    \u0027max_token_size\u0027,"},{"line_number":84,"context_line":"    default\u003d8192,"},{"line_number":85,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":86,"context_line":"Similar to max_param_size, but provides an exception for token values. With PKI"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_157b6129","line":83,"in_reply_to":"3aaa91ec_b6f5accc","updated":"2016-06-29 18:55:56.000000000","message":"I had the same thoughts.","commit_id":"e9e8457c2dc0046b4a627509e5306fa69d8bf17c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e451c73b167ac45cdbacd40cdcf69b1ece7d627e","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    \u0027max_token_size\u0027,"},{"line_number":84,"context_line":"    default\u003d8192,"},{"line_number":85,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":86,"context_line":"Similar to max_param_size, but provides an exception for token values. With PKI"},{"line_number":87,"context_line":"/ PKIZ tokens, this needs to be set close to 8192 (any higher, and other HTTP"},{"line_number":88,"context_line":"implementations may break), depending on the size of your service catalog and"},{"line_number":89,"context_line":"other factors. With Fernet tokens, this can be set as low as 255. With UUID"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_36625cae","line":86,"range":{"start_line":86,"start_character":11,"end_line":86,"end_character":25},"updated":"2016-06-27 22:01:59.000000000","message":"backticks","commit_id":"e9e8457c2dc0046b4a627509e5306fa69d8bf17c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e451c73b167ac45cdbacd40cdcf69b1ece7d627e","unresolved":false,"context_lines":[{"line_number":204,"context_line":"Define the notification format for Identity Service events. A `basic`"},{"line_number":205,"context_line":"notification has information about the resource being operated on. A `cadf`"},{"line_number":206,"context_line":"notification has the same information, as well as information about the"},{"line_number":207,"context_line":"initiator of the event. The `basic` option is provided for backwards"},{"line_number":208,"context_line":"compatibility, but `cadf` is recommended for auditing purposes."},{"line_number":209,"context_line":"\"\"\"))"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"notification_opt_out \u003d cfg.MultiStrOpt("}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_d66cb838","line":208,"range":{"start_line":207,"start_character":24,"end_line":208,"end_character":63},"updated":"2016-06-27 22:01:59.000000000","message":"actually cadf is completely backwards compatible, the \"basic\" format only included one field \"resource_info\", which is also included in cadf\n\nhttp://docs.openstack.org/developer/keystone/event_notifications.html#example-notification\n\nwe should probably put up a patch to switch this over","commit_id":"e9e8457c2dc0046b4a627509e5306fa69d8bf17c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0f7446c4db0025e91780b55b4fb1be4a86de3ec5","unresolved":false,"context_lines":[{"line_number":205,"context_line":"notification has information about the resource being operated on. A `cadf`"},{"line_number":206,"context_line":"notification has the same information, as well as information about the"},{"line_number":207,"context_line":"initiator of the event. The `basic` option is provided for backwards"},{"line_number":208,"context_line":"compatibility, but `cadf` is recommended for auditing purposes."},{"line_number":209,"context_line":"\"\"\"))"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"notification_opt_out \u003d cfg.MultiStrOpt("}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_d822b0a2","line":208,"in_reply_to":"3aaa91ec_15f7e18b","updated":"2016-06-29 19:02:35.000000000","message":"I was thinking about proposing this, but it produces a ton of notifications for authentication, infra will bring the rain down on us if we fill the logs","commit_id":"e9e8457c2dc0046b4a627509e5306fa69d8bf17c"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"99fa8602cf8c42cd6a75ef7188b46bcafee7bab1","unresolved":false,"context_lines":[{"line_number":205,"context_line":"notification has information about the resource being operated on. A `cadf`"},{"line_number":206,"context_line":"notification has the same information, as well as information about the"},{"line_number":207,"context_line":"initiator of the event. The `basic` option is provided for backwards"},{"line_number":208,"context_line":"compatibility, but `cadf` is recommended for auditing purposes."},{"line_number":209,"context_line":"\"\"\"))"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"notification_opt_out \u003d cfg.MultiStrOpt("}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_15f7e18b","line":208,"in_reply_to":"3aaa91ec_d66cb838","updated":"2016-06-29 18:55:56.000000000","message":"+++","commit_id":"e9e8457c2dc0046b4a627509e5306fa69d8bf17c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"4809789f2e0ebf2960b5717a6157b9d014203277","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\"\"\")"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"_DEPRECATE_PROXY_SSL \u003d utils.fmt(\"\"\""},{"line_number":24,"context_line":"Use oslo.middleware.http_proxy_to_wsgi configuration instead."},{"line_number":25,"context_line":"\"\"\")"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"admin_token \u003d cfg.StrOpt("}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_b8836455","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":61},"updated":"2016-06-29 19:05:23.000000000","message":"When was it deprecated and when will this be removed?","commit_id":"4eb93c070fc726734b415a3c790ca3dfa48f21d8"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"5590aa437953695af83ee2e2f9713221633af7fb","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\"\"\")"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"_DEPRECATE_PROXY_SSL \u003d utils.fmt(\"\"\""},{"line_number":24,"context_line":"Use oslo.middleware.http_proxy_to_wsgi configuration instead."},{"line_number":25,"context_line":"\"\"\")"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"admin_token \u003d cfg.StrOpt("}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_58a88077","line":24,"in_reply_to":"3aaa91ec_b8836455","updated":"2016-06-29 19:14:11.000000000","message":"Good question for the reviewers that originally approved this message...","commit_id":"4eb93c070fc726734b415a3c790ca3dfa48f21d8"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"412a98a110f22760828e152762019eab701987f2","unresolved":false,"context_lines":[{"line_number":47,"context_line":"this does NOT affect how Keystone listens for connections). Defaults to the"},{"line_number":48,"context_line":"base host URL of the request. For example, if keystone receives a request to"},{"line_number":49,"context_line":"`http://server:5000/v3/users`, then this will option will be automatically"},{"line_number":50,"context_line":"treated as `http://server:5000`. You should only need to set option if either"},{"line_number":51,"context_line":"the value of the base URL contains a path that keystone does not automatically"},{"line_number":52,"context_line":"infer (`/prefix/v3`), or if the endpoint should be found on a different host."},{"line_number":53,"context_line":"\"\"\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_ce430a12","line":50,"updated":"2016-06-29 20:03:21.000000000","message":"\u0027You should only need to set option if\u0027 sounds weird..... set this option? Or below in other messages you say \u0027You do not need to set this value....\u0027","commit_id":"4eb93c070fc726734b415a3c790ca3dfa48f21d8"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"412a98a110f22760828e152762019eab701987f2","unresolved":false,"context_lines":[{"line_number":59,"context_line":"this does NOT affect how Keystone listens for connections). Defaults to the"},{"line_number":60,"context_line":"base host URL of the request. For example, if keystone receives a request to"},{"line_number":61,"context_line":"`http://server:35357/v3/users`, then this will option will be automatically"},{"line_number":62,"context_line":"treated as `http://server:35357`. You should only need to set option if either"},{"line_number":63,"context_line":"the value of the base URL contains a path that keystone does not automatically"},{"line_number":64,"context_line":"infer (`/prefix/v3`), or if the endpoint should be found on a different host."},{"line_number":65,"context_line":"\"\"\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_2e228e52","line":62,"updated":"2016-06-29 20:03:21.000000000","message":"same here","commit_id":"4eb93c070fc726734b415a3c790ca3dfa48f21d8"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"412a98a110f22760828e152762019eab701987f2","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    default\u003d5,"},{"line_number":70,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":71,"context_line":"Maximum depth of the project hierarchy, excluding the project acting as a"},{"line_number":72,"context_line":"domain at the top of the hierarchy. WARNING: Setting it to a large value may"},{"line_number":73,"context_line":"adversely impact performance."},{"line_number":74,"context_line":"\"\"\"))"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_aea2feab","line":72,"updated":"2016-06-29 20:03:21.000000000","message":"(nit) Setting a large value","commit_id":"4eb93c070fc726734b415a3c790ca3dfa48f21d8"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"4809789f2e0ebf2960b5717a6157b9d014203277","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    \u0027member_role_id\u0027,"},{"line_number":97,"context_line":"    default\u003d\u00279fe2ff9ee4384b1894a90878d3e92bab\u0027,"},{"line_number":98,"context_line":"    help\u003dutils.fmt(\"\"\""},{"line_number":99,"context_line":"Similar to the `[DEFAULT] member_role_name` option, this represents the default"},{"line_number":100,"context_line":"role ID used to associate users with their default projects in the v2 API. This"},{"line_number":101,"context_line":"will be used as the explicit role where one is not specified by the v2 API. You"},{"line_number":102,"context_line":"do not need to set this value unless you want keystone to use an existing role"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_f86b2cb7","line":99,"range":{"start_line":99,"start_character":16,"end_line":99,"end_character":25},"updated":"2016-06-29 19:05:23.000000000","message":"nice addition","commit_id":"4eb93c070fc726734b415a3c790ca3dfa48f21d8"}]}
