)]}'
{"keystoneclient/middleware/auth_token.py":[{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"5ca7d7b2e6771995035323ee90974888934dc545","unresolved":false,"context_lines":[{"line_number":207,"context_line":"               help\u003d\u0027Keystone port used to validate tokens\u0027),"},{"line_number":208,"context_line":"    cfg.StrOpt(\u0027auth_protocol\u0027,"},{"line_number":209,"context_line":"               default\u003d\u0027https\u0027,"},{"line_number":210,"context_line":"               help\u003d\u0027Select if middleware should use http or https\u0027),"},{"line_number":211,"context_line":"    cfg.StrOpt(\u0027auth_uri\u0027,"},{"line_number":212,"context_line":"               default\u003dNone,"},{"line_number":213,"context_line":"               help\u003d\u0027(optional) defaults to\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2FiBs%3D","line":210,"updated":"2013-06-28 12:49:43.000000000","message":"maybe:\n\nWhich protocol to use, http or https.","commit_id":"11c195de6aed5426d8f2c1724b2a72d9e5b89385"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"5ca7d7b2e6771995035323ee90974888934dc545","unresolved":false,"context_lines":[{"line_number":211,"context_line":"    cfg.StrOpt(\u0027auth_uri\u0027,"},{"line_number":212,"context_line":"               default\u003dNone,"},{"line_number":213,"context_line":"               help\u003d\u0027(optional) defaults to\u0027"},{"line_number":214,"context_line":"               \u0027auth_protocol://auth_host:auth_port\u0027),"},{"line_number":215,"context_line":"    cfg.StrOpt(\u0027auth_version\u0027,"},{"line_number":216,"context_line":"               default\u003dNone,"},{"line_number":217,"context_line":"               help\u003d\u0027Defines which API version to use\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2FiA4%3D","line":214,"updated":"2013-06-28 12:49:43.000000000","message":"I think this should be the preferred method than the auth_* not sure how this can be mentioned.","commit_id":"11c195de6aed5426d8f2c1724b2a72d9e5b89385"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"5ca7d7b2e6771995035323ee90974888934dc545","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                default\u003dFalse,"},{"line_number":220,"context_line":"                help\u003d\u0027If on, the middleware will not reject invalid auth\u0027"},{"line_number":221,"context_line":"                \u0027requests, but will delegate that decision to downstream\u0027"},{"line_number":222,"context_line":"                \u0027WSGI components\u0027),"},{"line_number":223,"context_line":"    cfg.BoolOpt(\u0027http_connect_timeout\u0027,"},{"line_number":224,"context_line":"                default\u003dNone,"},{"line_number":225,"context_line":"                help\u003d\u0027How much time should the middleware give-up when\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2FiBY%3D","line":222,"updated":"2013-06-28 12:49:43.000000000","message":"I think there is a extra comma here :\n\nIf on, the middleware will not reject invalid auth requests but will delegate that decision to downstream WSGI components","commit_id":"11c195de6aed5426d8f2c1724b2a72d9e5b89385"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":198,"context_line":"opts \u003d ["},{"line_number":199,"context_line":"    cfg.StrOpt(\u0027auth_admin_prefix\u0027,"},{"line_number":200,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":201,"context_line":"               help\u003d\u0027Prefix to prepend before the admin name\u0027),"},{"line_number":202,"context_line":"    cfg.StrOpt(\u0027auth_host\u0027,"},{"line_number":203,"context_line":"               default\u003d\u0027127.0.0.1\u0027,"},{"line_number":204,"context_line":"               help\u003d\u0027Host providing the keystone service API endpoint\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9J8%3D","line":201,"updated":"2013-07-08 16:23:23.000000000","message":"i\u0027m honestly not familiar with this option, but it\u0027s definitely not prefixing an admin name. it looks like a base url, as request paths are appended to it.\n\nFor example, it looks like you would set it to \"/identity\" if you wanted to make a request like:\n\n  POST http://cloud.example.com/identity/v2.0/tokens","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":198,"context_line":"opts \u003d ["},{"line_number":199,"context_line":"    cfg.StrOpt(\u0027auth_admin_prefix\u0027,"},{"line_number":200,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":201,"context_line":"               help\u003d\u0027Prefix to prepend before the admin name\u0027),"},{"line_number":202,"context_line":"    cfg.StrOpt(\u0027auth_host\u0027,"},{"line_number":203,"context_line":"               default\u003d\u0027127.0.0.1\u0027,"},{"line_number":204,"context_line":"               help\u003d\u0027Host providing the keystone service API endpoint\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6OM%3D","line":201,"in_reply_to":"AAAAP3%2F%2F9J8%3D","updated":"2013-07-09 12:19:43.000000000","message":"Done","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":201,"context_line":"               help\u003d\u0027Prefix to prepend before the admin name\u0027),"},{"line_number":202,"context_line":"    cfg.StrOpt(\u0027auth_host\u0027,"},{"line_number":203,"context_line":"               default\u003d\u0027127.0.0.1\u0027,"},{"line_number":204,"context_line":"               help\u003d\u0027Host providing the keystone service API endpoint\u0027),"},{"line_number":205,"context_line":"    cfg.IntOpt(\u0027auth_port\u0027,"},{"line_number":206,"context_line":"               default\u003d35357,"},{"line_number":207,"context_line":"               help\u003d\u0027Keystone port used to validate tokens\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9IU%3D","line":204,"updated":"2013-07-08 16:23:23.000000000","message":"Host providing the public Identity API endpoint","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":201,"context_line":"               help\u003d\u0027Prefix to prepend before the admin name\u0027),"},{"line_number":202,"context_line":"    cfg.StrOpt(\u0027auth_host\u0027,"},{"line_number":203,"context_line":"               default\u003d\u0027127.0.0.1\u0027,"},{"line_number":204,"context_line":"               help\u003d\u0027Host providing the keystone service API endpoint\u0027),"},{"line_number":205,"context_line":"    cfg.IntOpt(\u0027auth_port\u0027,"},{"line_number":206,"context_line":"               default\u003d35357,"},{"line_number":207,"context_line":"               help\u003d\u0027Keystone port used to validate tokens\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6OI%3D","line":204,"in_reply_to":"AAAAP3%2F%2F9IU%3D","updated":"2013-07-09 12:19:43.000000000","message":"Done","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":204,"context_line":"               help\u003d\u0027Host providing the keystone service API endpoint\u0027),"},{"line_number":205,"context_line":"    cfg.IntOpt(\u0027auth_port\u0027,"},{"line_number":206,"context_line":"               default\u003d35357,"},{"line_number":207,"context_line":"               help\u003d\u0027Keystone port used to validate tokens\u0027),"},{"line_number":208,"context_line":"    cfg.StrOpt(\u0027auth_protocol\u0027,"},{"line_number":209,"context_line":"               default\u003d\u0027https\u0027,"},{"line_number":210,"context_line":"               help\u003d\u0027Select which protocol to use: http or https\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9H4%3D","line":207,"updated":"2013-07-08 16:23:23.000000000","message":"this is completely wrong? it\u0027s not suddenly referring to the admin port, end users are given this url with 401\u0027s, etc\n\n  Port of the public Identity API endpoint","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":204,"context_line":"               help\u003d\u0027Host providing the keystone service API endpoint\u0027),"},{"line_number":205,"context_line":"    cfg.IntOpt(\u0027auth_port\u0027,"},{"line_number":206,"context_line":"               default\u003d35357,"},{"line_number":207,"context_line":"               help\u003d\u0027Keystone port used to validate tokens\u0027),"},{"line_number":208,"context_line":"    cfg.StrOpt(\u0027auth_protocol\u0027,"},{"line_number":209,"context_line":"               default\u003d\u0027https\u0027,"},{"line_number":210,"context_line":"               help\u003d\u0027Select which protocol to use: http or https\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6OE%3D","line":207,"in_reply_to":"AAAAP3%2F%2F9H4%3D","updated":"2013-07-09 12:19:43.000000000","message":"Done","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":207,"context_line":"               help\u003d\u0027Keystone port used to validate tokens\u0027),"},{"line_number":208,"context_line":"    cfg.StrOpt(\u0027auth_protocol\u0027,"},{"line_number":209,"context_line":"               default\u003d\u0027https\u0027,"},{"line_number":210,"context_line":"               help\u003d\u0027Select which protocol to use: http or https\u0027),"},{"line_number":211,"context_line":"    cfg.StrOpt(\u0027auth_uri\u0027,"},{"line_number":212,"context_line":"               default\u003dNone,"},{"line_number":213,"context_line":"               help\u003d\u0027(optional) defaults to\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9Hs%3D","line":210,"updated":"2013-07-08 16:23:23.000000000","message":"Protocol of the public Identity API endpoint (http or https)","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":207,"context_line":"               help\u003d\u0027Keystone port used to validate tokens\u0027),"},{"line_number":208,"context_line":"    cfg.StrOpt(\u0027auth_protocol\u0027,"},{"line_number":209,"context_line":"               default\u003d\u0027https\u0027,"},{"line_number":210,"context_line":"               help\u003d\u0027Select which protocol to use: http or https\u0027),"},{"line_number":211,"context_line":"    cfg.StrOpt(\u0027auth_uri\u0027,"},{"line_number":212,"context_line":"               default\u003dNone,"},{"line_number":213,"context_line":"               help\u003d\u0027(optional) defaults to\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6OA%3D","line":210,"in_reply_to":"AAAAP3%2F%2F9Hs%3D","updated":"2013-07-09 12:19:43.000000000","message":"Done","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":210,"context_line":"               help\u003d\u0027Select which protocol to use: http or https\u0027),"},{"line_number":211,"context_line":"    cfg.StrOpt(\u0027auth_uri\u0027,"},{"line_number":212,"context_line":"               default\u003dNone,"},{"line_number":213,"context_line":"               help\u003d\u0027(optional) defaults to\u0027"},{"line_number":214,"context_line":"               \u0027auth_protocol://auth_host:auth_port\u0027),"},{"line_number":215,"context_line":"    cfg.StrOpt(\u0027auth_version\u0027,"},{"line_number":216,"context_line":"               default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9Hk%3D","line":213,"updated":"2013-07-08 16:23:23.000000000","message":"(optional) Complete public Identity API endpoint; defaults to auth_protocol://auth_host:auth_port","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":210,"context_line":"               help\u003d\u0027Select which protocol to use: http or https\u0027),"},{"line_number":211,"context_line":"    cfg.StrOpt(\u0027auth_uri\u0027,"},{"line_number":212,"context_line":"               default\u003dNone,"},{"line_number":213,"context_line":"               help\u003d\u0027(optional) defaults to\u0027"},{"line_number":214,"context_line":"               \u0027auth_protocol://auth_host:auth_port\u0027),"},{"line_number":215,"context_line":"    cfg.StrOpt(\u0027auth_version\u0027,"},{"line_number":216,"context_line":"               default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6N8%3D","line":213,"in_reply_to":"AAAAP3%2F%2F9Hk%3D","updated":"2013-07-09 12:19:43.000000000","message":"Done","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":214,"context_line":"               \u0027auth_protocol://auth_host:auth_port\u0027),"},{"line_number":215,"context_line":"    cfg.StrOpt(\u0027auth_version\u0027,"},{"line_number":216,"context_line":"               default\u003dNone,"},{"line_number":217,"context_line":"               help\u003d\u0027Defines which API version to use\u0027),"},{"line_number":218,"context_line":"    cfg.BoolOpt(\u0027delay_auth_decision\u0027,"},{"line_number":219,"context_line":"                default\u003dFalse,"},{"line_number":220,"context_line":"                help\u003d\u0027If on the middleware will not reject invalid auth\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9HU%3D","line":217,"updated":"2013-07-08 16:23:23.000000000","message":"to use for *what*?\n\n  API version of the public Identity API endpoint","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":214,"context_line":"               \u0027auth_protocol://auth_host:auth_port\u0027),"},{"line_number":215,"context_line":"    cfg.StrOpt(\u0027auth_version\u0027,"},{"line_number":216,"context_line":"               default\u003dNone,"},{"line_number":217,"context_line":"               help\u003d\u0027Defines which API version to use\u0027),"},{"line_number":218,"context_line":"    cfg.BoolOpt(\u0027delay_auth_decision\u0027,"},{"line_number":219,"context_line":"                default\u003dFalse,"},{"line_number":220,"context_line":"                help\u003d\u0027If on the middleware will not reject invalid auth\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6N4%3D","line":217,"in_reply_to":"AAAAP3%2F%2F9HU%3D","updated":"2013-07-09 12:19:43.000000000","message":"Done","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                default\u003dFalse,"},{"line_number":220,"context_line":"                help\u003d\u0027If on the middleware will not reject invalid auth\u0027"},{"line_number":221,"context_line":"                \u0027requests, but will delegate that decision to downstream\u0027"},{"line_number":222,"context_line":"                \u0027WSGI components\u0027),"},{"line_number":223,"context_line":"    cfg.BoolOpt(\u0027http_connect_timeout\u0027,"},{"line_number":224,"context_line":"                default\u003dNone,"},{"line_number":225,"context_line":"                help\u003d\u0027How much time should the middleware give-up when\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9JY%3D","line":222,"updated":"2013-07-08 16:23:23.000000000","message":"grammar","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                default\u003dFalse,"},{"line_number":220,"context_line":"                help\u003d\u0027If on the middleware will not reject invalid auth\u0027"},{"line_number":221,"context_line":"                \u0027requests, but will delegate that decision to downstream\u0027"},{"line_number":222,"context_line":"                \u0027WSGI components\u0027),"},{"line_number":223,"context_line":"    cfg.BoolOpt(\u0027http_connect_timeout\u0027,"},{"line_number":224,"context_line":"                default\u003dNone,"},{"line_number":225,"context_line":"                help\u003d\u0027How much time should the middleware give-up when\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6N0%3D","line":222,"in_reply_to":"AAAAP3%2F%2F9JY%3D","updated":"2013-07-09 12:19:43.000000000","message":"Done","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":223,"context_line":"    cfg.BoolOpt(\u0027http_connect_timeout\u0027,"},{"line_number":224,"context_line":"                default\u003dNone,"},{"line_number":225,"context_line":"                help\u003d\u0027How much time should the middleware give-up when\u0027"},{"line_number":226,"context_line":"                \u0027contacting Keystone.\u0027),"},{"line_number":227,"context_line":"    cfg.StrOpt(\u0027http_handler\u0027,"},{"line_number":228,"context_line":"               default\u003dNone,"},{"line_number":229,"context_line":"               help\u003d\u0027Option for unit testing to have a fake handler set\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9JQ%3D","line":226,"updated":"2013-07-08 16:23:23.000000000","message":"grammar","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":223,"context_line":"    cfg.BoolOpt(\u0027http_connect_timeout\u0027,"},{"line_number":224,"context_line":"                default\u003dNone,"},{"line_number":225,"context_line":"                help\u003d\u0027How much time should the middleware give-up when\u0027"},{"line_number":226,"context_line":"                \u0027contacting Keystone.\u0027),"},{"line_number":227,"context_line":"    cfg.StrOpt(\u0027http_handler\u0027,"},{"line_number":228,"context_line":"               default\u003dNone,"},{"line_number":229,"context_line":"               help\u003d\u0027Option for unit testing to have a fake handler set\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6Nw%3D","line":226,"in_reply_to":"AAAAP3%2F%2F9JQ%3D","updated":"2013-07-09 12:19:43.000000000","message":"Done","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":226,"context_line":"                \u0027contacting Keystone.\u0027),"},{"line_number":227,"context_line":"    cfg.StrOpt(\u0027http_handler\u0027,"},{"line_number":228,"context_line":"               default\u003dNone,"},{"line_number":229,"context_line":"               help\u003d\u0027Option for unit testing to have a fake handler set\u0027"},{"line_number":230,"context_line":"               \u0027up before we issue an http request\u0027),"},{"line_number":231,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":232,"context_line":"               secret\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9JM%3D","line":229,"updated":"2013-07-08 16:23:23.000000000","message":"so, this should this be suppressed from docs then?","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"459ee8c5a071a20c6e223a94427ac063a273024a","unresolved":false,"context_lines":[{"line_number":226,"context_line":"                \u0027contacting Keystone.\u0027),"},{"line_number":227,"context_line":"    cfg.StrOpt(\u0027http_handler\u0027,"},{"line_number":228,"context_line":"               default\u003dNone,"},{"line_number":229,"context_line":"               help\u003d\u0027Option for unit testing to have a fake handler set\u0027"},{"line_number":230,"context_line":"               \u0027up before we issue an http request\u0027),"},{"line_number":231,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":232,"context_line":"               secret\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F04s%3D","line":229,"in_reply_to":"AAAAP3%2F%2F6Ng%3D","updated":"2013-07-10 20:34:41.000000000","message":"oslo.config is just wrapping argparse, so try help\u003dargparse.SUPPRESS","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":226,"context_line":"                \u0027contacting Keystone.\u0027),"},{"line_number":227,"context_line":"    cfg.StrOpt(\u0027http_handler\u0027,"},{"line_number":228,"context_line":"               default\u003dNone,"},{"line_number":229,"context_line":"               help\u003d\u0027Option for unit testing to have a fake handler set\u0027"},{"line_number":230,"context_line":"               \u0027up before we issue an http request\u0027),"},{"line_number":231,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":232,"context_line":"               secret\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6Ng%3D","line":229,"in_reply_to":"AAAAP3%2F%2F9JM%3D","updated":"2013-07-09 12:19:43.000000000","message":"I\u0027m not sure what you want to be suppressed. What I am aiming at is to generate a sample configuration file, for example for Ceilometer, which currently doesn\u0027t have any keystone_authtoken entries. Is there a way to suppress this? Like, can I write \"suppress\u003dTrue\" or something?","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":231,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":232,"context_line":"               secret\u003dTrue,"},{"line_number":233,"context_line":"               help\u003d\u0027Single shared secret with the keystone configuration\u0027"},{"line_number":234,"context_line":"               \u0027used to validate tokens\u0027),"},{"line_number":235,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":236,"context_line":"               help\u003d\u0027Keystone service account username to validate\u0027"},{"line_number":237,"context_line":"               \u0027user tokens\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9I8%3D","line":234,"updated":"2013-07-08 16:23:23.000000000","message":"\"... used for bootstrapping a keystone installation, or otherwise bypassing the normal authentication process.\"","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":231,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":232,"context_line":"               secret\u003dTrue,"},{"line_number":233,"context_line":"               help\u003d\u0027Single shared secret with the keystone configuration\u0027"},{"line_number":234,"context_line":"               \u0027used to validate tokens\u0027),"},{"line_number":235,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":236,"context_line":"               help\u003d\u0027Keystone service account username to validate\u0027"},{"line_number":237,"context_line":"               \u0027user tokens\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6Nc%3D","line":234,"in_reply_to":"AAAAP3%2F%2F9I8%3D","updated":"2013-07-09 12:19:43.000000000","message":"Done","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":234,"context_line":"               \u0027used to validate tokens\u0027),"},{"line_number":235,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":236,"context_line":"               help\u003d\u0027Keystone service account username to validate\u0027"},{"line_number":237,"context_line":"               \u0027user tokens\u0027),"},{"line_number":238,"context_line":"    cfg.StrOpt(\u0027admin_password\u0027,"},{"line_number":239,"context_line":"               secret\u003dTrue,"},{"line_number":240,"context_line":"               help\u003d\u0027Keystone service account password to validate\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9HQ%3D","line":237,"updated":"2013-07-08 16:23:23.000000000","message":"not sure about the terminology \"keystone service account\" .. just explain what the account is used for","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":234,"context_line":"               \u0027used to validate tokens\u0027),"},{"line_number":235,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":236,"context_line":"               help\u003d\u0027Keystone service account username to validate\u0027"},{"line_number":237,"context_line":"               \u0027user tokens\u0027),"},{"line_number":238,"context_line":"    cfg.StrOpt(\u0027admin_password\u0027,"},{"line_number":239,"context_line":"               secret\u003dTrue,"},{"line_number":240,"context_line":"               help\u003d\u0027Keystone service account password to validate\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6NY%3D","line":237,"in_reply_to":"AAAAP3%2F%2F9HQ%3D","updated":"2013-07-09 12:19:43.000000000","message":"Done","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":251,"context_line":"    cfg.StrOpt(\u0027keyfile\u0027,"},{"line_number":252,"context_line":"               help\u003d\u0027Required if Keystone server requires client cert\u0027),"},{"line_number":253,"context_line":"    cfg.StrOpt(\u0027signing_dir\u0027,"},{"line_number":254,"context_line":"               help\u003d\u0027Temporary folder where to sign things when using PKI\u0027),"},{"line_number":255,"context_line":"    cfg.ListOpt(\u0027memcached_servers\u0027,"},{"line_number":256,"context_line":"                deprecated_name\u003d\u0027memcache_servers\u0027,"},{"line_number":257,"context_line":"                help\u003d\u0027if defined, the memcache server(s) to use for\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9HI%3D","line":254,"updated":"2013-07-08 16:23:23.000000000","message":"grammar","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":251,"context_line":"    cfg.StrOpt(\u0027keyfile\u0027,"},{"line_number":252,"context_line":"               help\u003d\u0027Required if Keystone server requires client cert\u0027),"},{"line_number":253,"context_line":"    cfg.StrOpt(\u0027signing_dir\u0027,"},{"line_number":254,"context_line":"               help\u003d\u0027Temporary folder where to sign things when using PKI\u0027),"},{"line_number":255,"context_line":"    cfg.ListOpt(\u0027memcached_servers\u0027,"},{"line_number":256,"context_line":"                deprecated_name\u003d\u0027memcache_servers\u0027,"},{"line_number":257,"context_line":"                help\u003d\u0027if defined, the memcache server(s) to use for\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6NU%3D","line":254,"in_reply_to":"AAAAP3%2F%2F9HI%3D","updated":"2013-07-09 12:19:43.000000000","message":"Done","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":255,"context_line":"    cfg.ListOpt(\u0027memcached_servers\u0027,"},{"line_number":256,"context_line":"                deprecated_name\u003d\u0027memcache_servers\u0027,"},{"line_number":257,"context_line":"                help\u003d\u0027if defined, the memcache server(s) to use for\u0027"},{"line_number":258,"context_line":"                \u0027cacheing\u0027),"},{"line_number":259,"context_line":"    cfg.IntOpt(\u0027token_cache_time\u0027,"},{"line_number":260,"context_line":"               default\u003d300,"},{"line_number":261,"context_line":"               help\u003d\u0027Only valid if memcache_servers is defined\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9HE%3D","line":258,"updated":"2013-07-08 16:23:23.000000000","message":"sentence case and spelling","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":255,"context_line":"    cfg.ListOpt(\u0027memcached_servers\u0027,"},{"line_number":256,"context_line":"                deprecated_name\u003d\u0027memcache_servers\u0027,"},{"line_number":257,"context_line":"                help\u003d\u0027if defined, the memcache server(s) to use for\u0027"},{"line_number":258,"context_line":"                \u0027cacheing\u0027),"},{"line_number":259,"context_line":"    cfg.IntOpt(\u0027token_cache_time\u0027,"},{"line_number":260,"context_line":"               default\u003d300,"},{"line_number":261,"context_line":"               help\u003d\u0027Only valid if memcache_servers is defined\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6NI%3D","line":258,"in_reply_to":"AAAAP3%2F%2F9HE%3D","updated":"2013-07-09 12:19:43.000000000","message":"Done","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                \u0027cacheing\u0027),"},{"line_number":259,"context_line":"    cfg.IntOpt(\u0027token_cache_time\u0027,"},{"line_number":260,"context_line":"               default\u003d300,"},{"line_number":261,"context_line":"               help\u003d\u0027Only valid if memcache_servers is defined\u0027),"},{"line_number":262,"context_line":"    cfg.IntOpt(\u0027revocation_cache_time\u0027,"},{"line_number":263,"context_line":"               default\u003d1,"},{"line_number":264,"context_line":"               help\u003d\u0027Value only used for unit testing\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9HA%3D","line":261,"updated":"2013-07-08 16:23:23.000000000","message":"memcached_servers; although it\u0027s hopefully self-explanatory, this doesn\u0027t really explain what the option controls","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                \u0027cacheing\u0027),"},{"line_number":259,"context_line":"    cfg.IntOpt(\u0027token_cache_time\u0027,"},{"line_number":260,"context_line":"               default\u003d300,"},{"line_number":261,"context_line":"               help\u003d\u0027Only valid if memcache_servers is defined\u0027),"},{"line_number":262,"context_line":"    cfg.IntOpt(\u0027revocation_cache_time\u0027,"},{"line_number":263,"context_line":"               default\u003d1,"},{"line_number":264,"context_line":"               help\u003d\u0027Value only used for unit testing\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6MA%3D","line":261,"in_reply_to":"AAAAP3%2F%2F9HA%3D","updated":"2013-07-09 12:19:43.000000000","message":"Done","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"22538935fec6c5456cae1dd6e2f1945a3f35b86b","unresolved":false,"context_lines":[{"line_number":261,"context_line":"               help\u003d\u0027Only valid if memcache_servers is defined\u0027),"},{"line_number":262,"context_line":"    cfg.IntOpt(\u0027revocation_cache_time\u0027,"},{"line_number":263,"context_line":"               default\u003d1,"},{"line_number":264,"context_line":"               help\u003d\u0027Value only used for unit testing\u0027),"},{"line_number":265,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":266,"context_line":"               default\u003dNone,"},{"line_number":267,"context_line":"               help\u003d\u0027(optional) if defined, indicate whether token data\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F9G0%3D","line":264,"updated":"2013-07-08 16:23:23.000000000","message":"then suppress it","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"c4db4890204f3de043c2fdd438f2c57620880c9f","unresolved":false,"context_lines":[{"line_number":261,"context_line":"               help\u003d\u0027Only valid if memcache_servers is defined\u0027),"},{"line_number":262,"context_line":"    cfg.IntOpt(\u0027revocation_cache_time\u0027,"},{"line_number":263,"context_line":"               default\u003d1,"},{"line_number":264,"context_line":"               help\u003d\u0027Value only used for unit testing\u0027),"},{"line_number":265,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":266,"context_line":"               default\u003dNone,"},{"line_number":267,"context_line":"               help\u003d\u0027(optional) if defined, indicate whether token data\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAP3%2F%2F6L4%3D","line":264,"in_reply_to":"AAAAP3%2F%2F9G0%3D","updated":"2013-07-09 12:19:43.000000000","message":"Same reply as above. How do I suppress it? I don\u0027t think the config file generator has such option for the moment. While I can add it in the generator, I think this patch should still get in so that we have the config file generator to work.","commit_id":"a3aeb930da28ff0645daab5d3c2bd308f6d0d324"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":219,"context_line":"    cfg.BoolOpt(\u0027delay_auth_decision\u0027,"},{"line_number":220,"context_line":"                default\u003dFalse,"},{"line_number":221,"context_line":"                help\u003d\u0027Do not handle authorization requests within the\u0027"},{"line_number":222,"context_line":"                \u0027middleware, but delegate the authorization decision to\u0027"},{"line_number":223,"context_line":"                \u0027downstream WSGI components\u0027),"},{"line_number":224,"context_line":"    cfg.BoolOpt(\u0027http_connect_timeout\u0027,"},{"line_number":225,"context_line":"                default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F2%2BA%3D","line":222,"updated":"2013-07-21 16:18:29.000000000","message":"space missing at beginning of line","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":219,"context_line":"    cfg.BoolOpt(\u0027delay_auth_decision\u0027,"},{"line_number":220,"context_line":"                default\u003dFalse,"},{"line_number":221,"context_line":"                help\u003d\u0027Do not handle authorization requests within the\u0027"},{"line_number":222,"context_line":"                \u0027middleware, but delegate the authorization decision to\u0027"},{"line_number":223,"context_line":"                \u0027downstream WSGI components\u0027),"},{"line_number":224,"context_line":"    cfg.BoolOpt(\u0027http_connect_timeout\u0027,"},{"line_number":225,"context_line":"                default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2FgAg%3D","line":222,"in_reply_to":"AAAAQn%2F%2F2%2BA%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                default\u003dFalse,"},{"line_number":221,"context_line":"                help\u003d\u0027Do not handle authorization requests within the\u0027"},{"line_number":222,"context_line":"                \u0027middleware, but delegate the authorization decision to\u0027"},{"line_number":223,"context_line":"                \u0027downstream WSGI components\u0027),"},{"line_number":224,"context_line":"    cfg.BoolOpt(\u0027http_connect_timeout\u0027,"},{"line_number":225,"context_line":"                default\u003dNone,"},{"line_number":226,"context_line":"                help\u003d\u0027Request timeout value for communicating with Keystone.\u0027),"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F298%3D","line":223,"updated":"2013-07-21 16:18:29.000000000","message":"space missing","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                default\u003dFalse,"},{"line_number":221,"context_line":"                help\u003d\u0027Do not handle authorization requests within the\u0027"},{"line_number":222,"context_line":"                \u0027middleware, but delegate the authorization decision to\u0027"},{"line_number":223,"context_line":"                \u0027downstream WSGI components\u0027),"},{"line_number":224,"context_line":"    cfg.BoolOpt(\u0027http_connect_timeout\u0027,"},{"line_number":225,"context_line":"                default\u003dNone,"},{"line_number":226,"context_line":"                help\u003d\u0027Request timeout value for communicating with Keystone.\u0027),"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2FgAc%3D","line":223,"in_reply_to":"AAAAQn%2F%2F298%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":223,"context_line":"                \u0027downstream WSGI components\u0027),"},{"line_number":224,"context_line":"    cfg.BoolOpt(\u0027http_connect_timeout\u0027,"},{"line_number":225,"context_line":"                default\u003dNone,"},{"line_number":226,"context_line":"                help\u003d\u0027Request timeout value for communicating with Keystone.\u0027),"},{"line_number":227,"context_line":"    cfg.StrOpt(\u0027http_handler\u0027,"},{"line_number":228,"context_line":"               default\u003dNone,"},{"line_number":229,"context_line":"               help\u003d\u0027Option for unit testing to have a fake handler set\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F294%3D","line":226,"updated":"2013-07-21 16:18:29.000000000","message":"suggest change \"Keystone\" to \"Identity API server\"","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":223,"context_line":"                \u0027downstream WSGI components\u0027),"},{"line_number":224,"context_line":"    cfg.BoolOpt(\u0027http_connect_timeout\u0027,"},{"line_number":225,"context_line":"                default\u003dNone,"},{"line_number":226,"context_line":"                help\u003d\u0027Request timeout value for communicating with Keystone.\u0027),"},{"line_number":227,"context_line":"    cfg.StrOpt(\u0027http_handler\u0027,"},{"line_number":228,"context_line":"               default\u003dNone,"},{"line_number":229,"context_line":"               help\u003d\u0027Option for unit testing to have a fake handler set\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2FgAY%3D","line":226,"in_reply_to":"AAAAQn%2F%2F294%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":227,"context_line":"    cfg.StrOpt(\u0027http_handler\u0027,"},{"line_number":228,"context_line":"               default\u003dNone,"},{"line_number":229,"context_line":"               help\u003d\u0027Option for unit testing to have a fake handler set\u0027"},{"line_number":230,"context_line":"               \u0027up before we issue an http request\u0027),"},{"line_number":231,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":232,"context_line":"               secret\u003dTrue,"},{"line_number":233,"context_line":"               help\u003d\u0027Single shared secret with the keystone configuration\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F290%3D","line":230,"updated":"2013-07-21 16:18:29.000000000","message":"space missing.","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"5e589fdb39e9379fff522c6871e0dee7d8ca3752","unresolved":false,"context_lines":[{"line_number":227,"context_line":"    cfg.StrOpt(\u0027http_handler\u0027,"},{"line_number":228,"context_line":"               default\u003dNone,"},{"line_number":229,"context_line":"               help\u003d\u0027Option for unit testing to have a fake handler set\u0027"},{"line_number":230,"context_line":"               \u0027up before we issue an http request\u0027),"},{"line_number":231,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":232,"context_line":"               secret\u003dTrue,"},{"line_number":233,"context_line":"               help\u003d\u0027Single shared secret with the keystone configuration\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAP3%2F%2F04M%3D","line":230,"updated":"2013-07-10 20:36:33.000000000","message":"try help\u003dargparse.SUPPRESS","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"e41d768f87a6cff71abb034fad8024ce1726f260","unresolved":false,"context_lines":[{"line_number":227,"context_line":"    cfg.StrOpt(\u0027http_handler\u0027,"},{"line_number":228,"context_line":"               default\u003dNone,"},{"line_number":229,"context_line":"               help\u003d\u0027Option for unit testing to have a fake handler set\u0027"},{"line_number":230,"context_line":"               \u0027up before we issue an http request\u0027),"},{"line_number":231,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":232,"context_line":"               secret\u003dTrue,"},{"line_number":233,"context_line":"               help\u003d\u0027Single shared secret with the keystone configuration\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAP3%2F%2FzZo%3D","line":230,"in_reply_to":"AAAAP3%2F%2F04M%3D","updated":"2013-07-11 06:50:18.000000000","message":"There\u0027s nothing in openstack/common/config/generator.py in oslo incubator that checks for this.","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":227,"context_line":"    cfg.StrOpt(\u0027http_handler\u0027,"},{"line_number":228,"context_line":"               default\u003dNone,"},{"line_number":229,"context_line":"               help\u003d\u0027Option for unit testing to have a fake handler set\u0027"},{"line_number":230,"context_line":"               \u0027up before we issue an http request\u0027),"},{"line_number":231,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":232,"context_line":"               secret\u003dTrue,"},{"line_number":233,"context_line":"               help\u003d\u0027Single shared secret with the keystone configuration\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2FgAU%3D","line":230,"in_reply_to":"AAAAQn%2F%2F290%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":230,"context_line":"               \u0027up before we issue an http request\u0027),"},{"line_number":231,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":232,"context_line":"               secret\u003dTrue,"},{"line_number":233,"context_line":"               help\u003d\u0027Single shared secret with the keystone configuration\u0027"},{"line_number":234,"context_line":"               \u0027used for bootstrapping a keystone installation, or otherwise\u0027"},{"line_number":235,"context_line":"               \u0027bypassing the normal authentication process.\u0027),"},{"line_number":236,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F29s%3D","line":233,"updated":"2013-07-21 16:18:29.000000000","message":"uppercase Keystone.","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":230,"context_line":"               \u0027up before we issue an http request\u0027),"},{"line_number":231,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":232,"context_line":"               secret\u003dTrue,"},{"line_number":233,"context_line":"               help\u003d\u0027Single shared secret with the keystone configuration\u0027"},{"line_number":234,"context_line":"               \u0027used for bootstrapping a keystone installation, or otherwise\u0027"},{"line_number":235,"context_line":"               \u0027bypassing the normal authentication process.\u0027),"},{"line_number":236,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2FgAQ%3D","line":233,"in_reply_to":"AAAAQn%2F%2F29s%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":231,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":232,"context_line":"               secret\u003dTrue,"},{"line_number":233,"context_line":"               help\u003d\u0027Single shared secret with the keystone configuration\u0027"},{"line_number":234,"context_line":"               \u0027used for bootstrapping a keystone installation, or otherwise\u0027"},{"line_number":235,"context_line":"               \u0027bypassing the normal authentication process.\u0027),"},{"line_number":236,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":237,"context_line":"               help\u003d\u0027Keystone account username\u0027),"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F29w%3D","line":234,"updated":"2013-07-21 16:18:29.000000000","message":"space missing, also uppercase Keystone","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":231,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":232,"context_line":"               secret\u003dTrue,"},{"line_number":233,"context_line":"               help\u003d\u0027Single shared secret with the keystone configuration\u0027"},{"line_number":234,"context_line":"               \u0027used for bootstrapping a keystone installation, or otherwise\u0027"},{"line_number":235,"context_line":"               \u0027bypassing the normal authentication process.\u0027),"},{"line_number":236,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":237,"context_line":"               help\u003d\u0027Keystone account username\u0027),"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2FgAM%3D","line":234,"in_reply_to":"AAAAQn%2F%2F29w%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":232,"context_line":"               secret\u003dTrue,"},{"line_number":233,"context_line":"               help\u003d\u0027Single shared secret with the keystone configuration\u0027"},{"line_number":234,"context_line":"               \u0027used for bootstrapping a keystone installation, or otherwise\u0027"},{"line_number":235,"context_line":"               \u0027bypassing the normal authentication process.\u0027),"},{"line_number":236,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":237,"context_line":"               help\u003d\u0027Keystone account username\u0027),"},{"line_number":238,"context_line":"    cfg.StrOpt(\u0027admin_password\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F29o%3D","line":235,"updated":"2013-07-21 16:18:29.000000000","message":"space missing","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":232,"context_line":"               secret\u003dTrue,"},{"line_number":233,"context_line":"               help\u003d\u0027Single shared secret with the keystone configuration\u0027"},{"line_number":234,"context_line":"               \u0027used for bootstrapping a keystone installation, or otherwise\u0027"},{"line_number":235,"context_line":"               \u0027bypassing the normal authentication process.\u0027),"},{"line_number":236,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":237,"context_line":"               help\u003d\u0027Keystone account username\u0027),"},{"line_number":238,"context_line":"    cfg.StrOpt(\u0027admin_password\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2FgAI%3D","line":235,"in_reply_to":"AAAAQn%2F%2F29o%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":241,"context_line":"    cfg.StrOpt(\u0027admin_tenant_name\u0027,"},{"line_number":242,"context_line":"               default\u003d\u0027admin\u0027,"},{"line_number":243,"context_line":"               help\u003d\u0027Keystone service account tenant name to validate\u0027"},{"line_number":244,"context_line":"               \u0027user tokens\u0027),"},{"line_number":245,"context_line":"    cfg.StrOpt(\u0027cache\u0027,"},{"line_number":246,"context_line":"               default\u003dNone,"},{"line_number":247,"context_line":"               help\u003d\u0027Env key for the swift cache\u0027),"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F29k%3D","line":244,"updated":"2013-07-21 16:18:29.000000000","message":"space missing.","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":241,"context_line":"    cfg.StrOpt(\u0027admin_tenant_name\u0027,"},{"line_number":242,"context_line":"               default\u003d\u0027admin\u0027,"},{"line_number":243,"context_line":"               help\u003d\u0027Keystone service account tenant name to validate\u0027"},{"line_number":244,"context_line":"               \u0027user tokens\u0027),"},{"line_number":245,"context_line":"    cfg.StrOpt(\u0027cache\u0027,"},{"line_number":246,"context_line":"               default\u003dNone,"},{"line_number":247,"context_line":"               help\u003d\u0027Env key for the swift cache\u0027),"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2FgAE%3D","line":244,"in_reply_to":"AAAAQn%2F%2F29k%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":246,"context_line":"               default\u003dNone,"},{"line_number":247,"context_line":"               help\u003d\u0027Env key for the swift cache\u0027),"},{"line_number":248,"context_line":"    cfg.StrOpt(\u0027certfile\u0027,"},{"line_number":249,"context_line":"               help\u003d\u0027Required if Keystone server requires client cert\u0027),"},{"line_number":250,"context_line":"    cfg.StrOpt(\u0027keyfile\u0027,"},{"line_number":251,"context_line":"               help\u003d\u0027Required if Keystone server requires client cert\u0027),"},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027signing_dir\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F29g%3D","line":249,"updated":"2013-07-21 16:18:29.000000000","message":"change \"cert\" to \"certificate\"","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":248,"context_line":"    cfg.StrOpt(\u0027certfile\u0027,"},{"line_number":249,"context_line":"               help\u003d\u0027Required if Keystone server requires client cert\u0027),"},{"line_number":250,"context_line":"    cfg.StrOpt(\u0027keyfile\u0027,"},{"line_number":251,"context_line":"               help\u003d\u0027Required if Keystone server requires client cert\u0027),"},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027signing_dir\u0027,"},{"line_number":253,"context_line":"               help\u003d\u0027Temporary directory used during the PKI signing process\u0027),"},{"line_number":254,"context_line":"    cfg.ListOpt(\u0027memcached_servers\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F29c%3D","line":251,"updated":"2013-07-21 16:18:29.000000000","message":"change \"cert\" to \"certificate\"","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":248,"context_line":"    cfg.StrOpt(\u0027certfile\u0027,"},{"line_number":249,"context_line":"               help\u003d\u0027Required if Keystone server requires client cert\u0027),"},{"line_number":250,"context_line":"    cfg.StrOpt(\u0027keyfile\u0027,"},{"line_number":251,"context_line":"               help\u003d\u0027Required if Keystone server requires client cert\u0027),"},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027signing_dir\u0027,"},{"line_number":253,"context_line":"               help\u003d\u0027Temporary directory used during the PKI signing process\u0027),"},{"line_number":254,"context_line":"    cfg.ListOpt(\u0027memcached_servers\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2Ff%2Fk%3D","line":251,"in_reply_to":"AAAAQn%2F%2F29c%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":250,"context_line":"    cfg.StrOpt(\u0027keyfile\u0027,"},{"line_number":251,"context_line":"               help\u003d\u0027Required if Keystone server requires client cert\u0027),"},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027signing_dir\u0027,"},{"line_number":253,"context_line":"               help\u003d\u0027Temporary directory used during the PKI signing process\u0027),"},{"line_number":254,"context_line":"    cfg.ListOpt(\u0027memcached_servers\u0027,"},{"line_number":255,"context_line":"                deprecated_name\u003d\u0027memcache_servers\u0027,"},{"line_number":256,"context_line":"                help\u003d\u0027If defined, the memcache server(s) to use for\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F29Y%3D","line":253,"updated":"2013-07-21 16:18:29.000000000","message":"It\u0027s not really temporary. Suggest\n\n Directory used to cache files related to PKI tokens","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":250,"context_line":"    cfg.StrOpt(\u0027keyfile\u0027,"},{"line_number":251,"context_line":"               help\u003d\u0027Required if Keystone server requires client cert\u0027),"},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027signing_dir\u0027,"},{"line_number":253,"context_line":"               help\u003d\u0027Temporary directory used during the PKI signing process\u0027),"},{"line_number":254,"context_line":"    cfg.ListOpt(\u0027memcached_servers\u0027,"},{"line_number":255,"context_line":"                deprecated_name\u003d\u0027memcache_servers\u0027,"},{"line_number":256,"context_line":"                help\u003d\u0027If defined, the memcache server(s) to use for\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2Ff%2Fg%3D","line":253,"in_reply_to":"AAAAQn%2F%2F29Y%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":254,"context_line":"    cfg.ListOpt(\u0027memcached_servers\u0027,"},{"line_number":255,"context_line":"                deprecated_name\u003d\u0027memcache_servers\u0027,"},{"line_number":256,"context_line":"                help\u003d\u0027If defined, the memcache server(s) to use for\u0027"},{"line_number":257,"context_line":"                \u0027caching\u0027),"},{"line_number":258,"context_line":"    cfg.IntOpt(\u0027token_cache_time\u0027,"},{"line_number":259,"context_line":"               default\u003d300,"},{"line_number":260,"context_line":"               help\u003d\u0027In order to prevent excessive requests and validations,\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F29U%3D","line":257,"updated":"2013-07-21 16:18:29.000000000","message":"space missing","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":254,"context_line":"    cfg.ListOpt(\u0027memcached_servers\u0027,"},{"line_number":255,"context_line":"                deprecated_name\u003d\u0027memcache_servers\u0027,"},{"line_number":256,"context_line":"                help\u003d\u0027If defined, the memcache server(s) to use for\u0027"},{"line_number":257,"context_line":"                \u0027caching\u0027),"},{"line_number":258,"context_line":"    cfg.IntOpt(\u0027token_cache_time\u0027,"},{"line_number":259,"context_line":"               default\u003d300,"},{"line_number":260,"context_line":"               help\u003d\u0027In order to prevent excessive requests and validations,\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2Ff%2Fc%3D","line":257,"in_reply_to":"AAAAQn%2F%2F29U%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":258,"context_line":"    cfg.IntOpt(\u0027token_cache_time\u0027,"},{"line_number":259,"context_line":"               default\u003d300,"},{"line_number":260,"context_line":"               help\u003d\u0027In order to prevent excessive requests and validations,\u0027"},{"line_number":261,"context_line":"               \u0027the middleware uses an in-memory cache for the tokens the\u0027"},{"line_number":262,"context_line":"               \u0027keystone API returns. This is only valid if memcache_servers\u0027"},{"line_number":263,"context_line":"               \u0027is defined. Set to -1 to disable caching completely.\u0027),"},{"line_number":264,"context_line":"    cfg.IntOpt(\u0027revocation_cache_time\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F29Q%3D","line":261,"updated":"2013-07-21 16:18:29.000000000","message":"spaces missing","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":258,"context_line":"    cfg.IntOpt(\u0027token_cache_time\u0027,"},{"line_number":259,"context_line":"               default\u003d300,"},{"line_number":260,"context_line":"               help\u003d\u0027In order to prevent excessive requests and validations,\u0027"},{"line_number":261,"context_line":"               \u0027the middleware uses an in-memory cache for the tokens the\u0027"},{"line_number":262,"context_line":"               \u0027keystone API returns. This is only valid if memcache_servers\u0027"},{"line_number":263,"context_line":"               \u0027is defined. Set to -1 to disable caching completely.\u0027),"},{"line_number":264,"context_line":"    cfg.IntOpt(\u0027revocation_cache_time\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2Ff%2FY%3D","line":261,"in_reply_to":"AAAAQn%2F%2F29Q%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":259,"context_line":"               default\u003d300,"},{"line_number":260,"context_line":"               help\u003d\u0027In order to prevent excessive requests and validations,\u0027"},{"line_number":261,"context_line":"               \u0027the middleware uses an in-memory cache for the tokens the\u0027"},{"line_number":262,"context_line":"               \u0027keystone API returns. This is only valid if memcache_servers\u0027"},{"line_number":263,"context_line":"               \u0027is defined. Set to -1 to disable caching completely.\u0027),"},{"line_number":264,"context_line":"    cfg.IntOpt(\u0027revocation_cache_time\u0027,"},{"line_number":265,"context_line":"               default\u003d1,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F29M%3D","line":262,"updated":"2013-07-21 16:18:29.000000000","message":"uppercase Keystone, or change to \"Identity\"","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":259,"context_line":"               default\u003d300,"},{"line_number":260,"context_line":"               help\u003d\u0027In order to prevent excessive requests and validations,\u0027"},{"line_number":261,"context_line":"               \u0027the middleware uses an in-memory cache for the tokens the\u0027"},{"line_number":262,"context_line":"               \u0027keystone API returns. This is only valid if memcache_servers\u0027"},{"line_number":263,"context_line":"               \u0027is defined. Set to -1 to disable caching completely.\u0027),"},{"line_number":264,"context_line":"    cfg.IntOpt(\u0027revocation_cache_time\u0027,"},{"line_number":265,"context_line":"               default\u003d1,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2Ff%2FU%3D","line":262,"in_reply_to":"AAAAQn%2F%2F29M%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"5e589fdb39e9379fff522c6871e0dee7d8ca3752","unresolved":false,"context_lines":[{"line_number":263,"context_line":"               \u0027is defined. Set to -1 to disable caching completely.\u0027),"},{"line_number":264,"context_line":"    cfg.IntOpt(\u0027revocation_cache_time\u0027,"},{"line_number":265,"context_line":"               default\u003d1,"},{"line_number":266,"context_line":"               help\u003d\u0027Value only used for unit testing\u0027),"},{"line_number":267,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":268,"context_line":"               default\u003dNone,"},{"line_number":269,"context_line":"               help\u003d\u0027(optional) if defined, indicate whether token data\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAP3%2F%2F04Y%3D","line":266,"updated":"2013-07-10 20:36:33.000000000","message":"try help\u003dargparse.SUPPRESS","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"e41d768f87a6cff71abb034fad8024ce1726f260","unresolved":false,"context_lines":[{"line_number":263,"context_line":"               \u0027is defined. Set to -1 to disable caching completely.\u0027),"},{"line_number":264,"context_line":"    cfg.IntOpt(\u0027revocation_cache_time\u0027,"},{"line_number":265,"context_line":"               default\u003d1,"},{"line_number":266,"context_line":"               help\u003d\u0027Value only used for unit testing\u0027),"},{"line_number":267,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":268,"context_line":"               default\u003dNone,"},{"line_number":269,"context_line":"               help\u003d\u0027(optional) if defined, indicate whether token data\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAP3%2F%2FzZk%3D","line":266,"in_reply_to":"AAAAP3%2F%2F04Y%3D","updated":"2013-07-11 06:50:18.000000000","message":"There\u0027s nothing in openstack/common/config/generator.py in oslo incubator that checks for this.","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":267,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":268,"context_line":"               default\u003dNone,"},{"line_number":269,"context_line":"               help\u003d\u0027(optional) if defined, indicate whether token data\u0027"},{"line_number":270,"context_line":"               \u0027should be authenticated or authenticated and encrypted.\u0027"},{"line_number":271,"context_line":"               \u0027Acceptable values are MAC or ENCRYPT.  If MAC, token data is\u0027"},{"line_number":272,"context_line":"               \u0027authenticated (with HMAC) in the cache. If ENCRYPT, token data\u0027"},{"line_number":273,"context_line":"               \u0027is encrypted and authenticated in the cache. If the value is\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F29I%3D","line":270,"updated":"2013-07-21 16:18:29.000000000","message":"spaces missing throughout this string.","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":267,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":268,"context_line":"               default\u003dNone,"},{"line_number":269,"context_line":"               help\u003d\u0027(optional) if defined, indicate whether token data\u0027"},{"line_number":270,"context_line":"               \u0027should be authenticated or authenticated and encrypted.\u0027"},{"line_number":271,"context_line":"               \u0027Acceptable values are MAC or ENCRYPT.  If MAC, token data is\u0027"},{"line_number":272,"context_line":"               \u0027authenticated (with HMAC) in the cache. If ENCRYPT, token data\u0027"},{"line_number":273,"context_line":"               \u0027is encrypted and authenticated in the cache. If the value is\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2Ff%2FM%3D","line":270,"in_reply_to":"AAAAQn%2F%2F29I%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8de73b2f5dfbbf61a508932cacd654aac786801","unresolved":false,"context_lines":[{"line_number":277,"context_line":"               default\u003dNone,"},{"line_number":278,"context_line":"               secret\u003dTrue,"},{"line_number":279,"context_line":"               help\u003d\u0027(optional, mandatory if memcache_security_strategy is\u0027"},{"line_number":280,"context_line":"               \u0027defined) this string is used for key derivation.\u0027)"},{"line_number":281,"context_line":"]"},{"line_number":282,"context_line":"CONF.register_opts(opts, group\u003d\u0027keystone_authtoken\u0027)"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2F29E%3D","line":280,"updated":"2013-07-21 16:18:29.000000000","message":"space missing.","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"3de1ef154a14e95903b1c9669a84402d9414b4e6","unresolved":false,"context_lines":[{"line_number":277,"context_line":"               default\u003dNone,"},{"line_number":278,"context_line":"               secret\u003dTrue,"},{"line_number":279,"context_line":"               help\u003d\u0027(optional, mandatory if memcache_security_strategy is\u0027"},{"line_number":280,"context_line":"               \u0027defined) this string is used for key derivation.\u0027)"},{"line_number":281,"context_line":"]"},{"line_number":282,"context_line":"CONF.register_opts(opts, group\u003d\u0027keystone_authtoken\u0027)"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2Ff%2FE%3D","line":280,"in_reply_to":"AAAAQn%2F%2F29E%3D","updated":"2013-07-30 06:14:33.000000000","message":"Done","commit_id":"56c5b6ab8ccf8bcc23dfead68b11dca30e1caa44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"27a40694f8bf6da1045c27219711339ecd50e207","unresolved":false,"context_lines":[{"line_number":225,"context_line":"                default\u003dNone,"},{"line_number":226,"context_line":"                help\u003d\u0027Request timeout value for communicating with Identity\u0027"},{"line_number":227,"context_line":"                \u0027 API server.\u0027),"},{"line_number":228,"context_line":"    cfg.StrOpt(\u0027http_handler\u0027, default\u003dNone, help\u003d\u0027bla\u0027),"},{"line_number":229,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":230,"context_line":"               secret\u003dTrue,"},{"line_number":231,"context_line":"               help\u003d\u0027Single shared secret with the Keystone configuration\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAQn%2F%2FZFE%3D","line":228,"updated":"2013-07-31 21:42:52.000000000","message":"Suggest change \"bla\" to \"unused\" or something.","commit_id":"9413265ecd45960bbc62bcbe229ea8ac6de3a3be"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"79a950d56fc4e6e962a63d880e9d09ffb32532c4","unresolved":false,"context_lines":[{"line_number":225,"context_line":"                default\u003dNone,"},{"line_number":226,"context_line":"                help\u003d\u0027Request timeout value for communicating with Identity\u0027"},{"line_number":227,"context_line":"                \u0027 API server.\u0027),"},{"line_number":228,"context_line":"    cfg.StrOpt(\u0027http_handler\u0027, default\u003dNone, help\u003d\u0027bla\u0027),"},{"line_number":229,"context_line":"    cfg.StrOpt(\u0027admin_token\u0027,"},{"line_number":230,"context_line":"               secret\u003dTrue,"},{"line_number":231,"context_line":"               help\u003d\u0027Single shared secret with the Keystone configuration\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAQn%2F%2FUts%3D","line":228,"in_reply_to":"AAAAQn%2F%2FZFE%3D","updated":"2013-08-01 22:54:41.000000000","message":"Replaced by:\n\n    cfg.StrOpt(\u0027http_handler\u0027,\n                default\u003dNone,\n                help\u003d\u0027Allows to pass in the name of a fake http_handler\u0027\n                \u0027 callback function used instead of httplib.HTTPConnection or\u0027\n                \u0027 httplib.HTTPSConnection. Useful for unit testing where\u0027\n                \u0027 network is not available.\u0027),","commit_id":"9413265ecd45960bbc62bcbe229ea8ac6de3a3be"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"9a052f9b1857ef05475946cf5f503ce23c32a6c4","unresolved":false,"context_lines":[{"line_number":195,"context_line":"# To use Swift memcache, you must set the \u0027cache\u0027 option to the environment"},{"line_number":196,"context_line":"# key where the Swift cache object is stored."},{"line_number":197,"context_line":"opts \u003d ["},{"line_number":198,"context_line":"    cfg.StrOpt(\u0027auth_admin_prefix\u0027,"},{"line_number":199,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":200,"context_line":"               help\u003d\u0027Prefix to prepend at the begining of the URL\u0027),"},{"line_number":201,"context_line":"    cfg.StrOpt(\u0027auth_host\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAQn%2F%2FL94%3D","line":198,"updated":"2013-08-05 19:05:29.000000000","message":"This should probably explain the relationship between the URLs and the pieces that can be used to make up the URLs.  auth_uri explains it, but the others are not as clean.","commit_id":"5c6378c29c6f7df9864eaff1937b614644726285"}]}
