)]}'
{"bin/keystone-all":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b4abe3d7c12ceb874a96b7d060f8f2d0b19ce853","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    if CONF.paste_deploy.config_file:"},{"line_number":89,"context_line":"        paste_config \u003d CONF.paste_deploy.config_file"},{"line_number":90,"context_line":"        if not os.path.isabs(paste_config):"},{"line_number":91,"context_line":"            paste_config \u003d CONF.find_file(paste_config)"},{"line_number":92,"context_line":"    elif CONF.config_file:"},{"line_number":93,"context_line":"        paste_config \u003d CONF.config_file[0]"},{"line_number":94,"context_line":"    else:"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAOH%2F%2F9aA%3D","line":91,"updated":"2013-03-19 14:36:14.000000000","message":"i think the logic here is incorrect. currently, if paste_config isn\u0027t set, it will skip over the fail msg below in else section and try to deploy still.","commit_id":"c75e40111bb0817aedd733d734f910e66abdeece"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"f0c2c6292a3db89a18bbcc28008548b03903e47e","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    if CONF.paste_deploy.config_file:"},{"line_number":89,"context_line":"        paste_config \u003d CONF.paste_deploy.config_file"},{"line_number":90,"context_line":"        if not os.path.isabs(paste_config):"},{"line_number":91,"context_line":"            paste_config \u003d CONF.find_file(paste_config)"},{"line_number":92,"context_line":"    elif CONF.config_file:"},{"line_number":93,"context_line":"        paste_config \u003d CONF.config_file[0]"},{"line_number":94,"context_line":"    else:"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAOn%2F%2F304%3D","line":91,"in_reply_to":"AAAAOH%2F%2F7so%3D","updated":"2013-04-16 01:17:02.000000000","message":"ok, error reporting should be improved, if an invalid paste_deploy file is specified, it fails with either\n\nValueError: Cannot resolve relative uri \u0027config:None\u0027; no relative_to keyword argument given\n\nor\n\nIOError: [Errno 2] No such file or directory: \u0027/tmp/blah\u0027\n\nwhich is not user friendly.","commit_id":"c75e40111bb0817aedd733d734f910e66abdeece"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"3edf511b5521fe99e32636b12c6e5acbf8e272cd","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    if CONF.paste_deploy.config_file:"},{"line_number":89,"context_line":"        paste_config \u003d CONF.paste_deploy.config_file"},{"line_number":90,"context_line":"        if not os.path.isabs(paste_config):"},{"line_number":91,"context_line":"            paste_config \u003d CONF.find_file(paste_config)"},{"line_number":92,"context_line":"    elif CONF.config_file:"},{"line_number":93,"context_line":"        paste_config \u003d CONF.config_file[0]"},{"line_number":94,"context_line":"    else:"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAOH%2F%2F7so%3D","line":91,"in_reply_to":"AAAAOH%2F%2F8SA%3D","updated":"2013-03-20 13:48:18.000000000","message":"apologies, i worded that poorly.  what i meant is that if [paste_deploy] is set to an invalid file in keystone.conf, then it will fail to find the correct paste_config but will still continue.","commit_id":"c75e40111bb0817aedd733d734f910e66abdeece"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"c8330ca193c34479e111f79560f0a88b50a9c85f","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    if CONF.paste_deploy.config_file:"},{"line_number":89,"context_line":"        paste_config \u003d CONF.paste_deploy.config_file"},{"line_number":90,"context_line":"        if not os.path.isabs(paste_config):"},{"line_number":91,"context_line":"            paste_config \u003d CONF.find_file(paste_config)"},{"line_number":92,"context_line":"    elif CONF.config_file:"},{"line_number":93,"context_line":"        paste_config \u003d CONF.config_file[0]"},{"line_number":94,"context_line":"    else:"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAOH%2F%2F8SA%3D","line":91,"in_reply_to":"AAAAOH%2F%2F9aA%3D","updated":"2013-03-20 00:27:00.000000000","message":"Not sure I follow: if [paste_deploy] config_file is not set, backward compat kicks in and first config file is assumed to contain paste.deploy configuration or in case --config-dir is used, keystone.conf is assumed.","commit_id":"c75e40111bb0817aedd733d734f910e66abdeece"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        paste_config \u003d CONF.config_file[0]"},{"line_number":98,"context_line":"        paste_config_value \u003d paste_config"},{"line_number":99,"context_line":"    else:"},{"line_number":100,"context_line":"        paste_config \u003d CONF.find_file(\u0027keystone.conf\u0027)"},{"line_number":101,"context_line":"        paste_config_value \u003d \u0027keystone.conf\u0027"},{"line_number":102,"context_line":"    if not paste_config or not os.path.exists(paste_config):"},{"line_number":103,"context_line":"        print (\"The %s file could not be found.\" % paste_config_value)"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAOn%2F%2FuhQ%3D","line":100,"updated":"2013-04-25 22:40:38.000000000","message":"what do you think about also checking for CONF.find_file(\u0027keystone-paste.ini\u0027) before trying this?","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"e93d1a87f419fcc316e0ec60e8056ae229bd6ad7","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        paste_config \u003d CONF.config_file[0]"},{"line_number":98,"context_line":"        paste_config_value \u003d paste_config"},{"line_number":99,"context_line":"    else:"},{"line_number":100,"context_line":"        paste_config \u003d CONF.find_file(\u0027keystone.conf\u0027)"},{"line_number":101,"context_line":"        paste_config_value \u003d \u0027keystone.conf\u0027"},{"line_number":102,"context_line":"    if not paste_config or not os.path.exists(paste_config):"},{"line_number":103,"context_line":"        print (\"The %s file could not be found.\" % paste_config_value)"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAPH%2F%2FtY4%3D","line":100,"in_reply_to":"AAAAOn%2F%2FuhQ%3D","updated":"2013-05-24 21:50:10.000000000","message":"That would be yet another hardcoded string, also it could be an issue during upgrade. Assume this situation:\n* user has customized keystone.conf, with modified pipeline\n* new package installs keystone-paste.ini but new keystone.conf is installed as e.g. keystone.conf.rpmnew keeping customized keystone.conf in place\n* on startup, unexpectedly for the user, pipelines from new keystone-paste.ini are used instead from his customized keystone.conf","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        paste_config \u003d CONF.find_file(\u0027keystone.conf\u0027)"},{"line_number":101,"context_line":"        paste_config_value \u003d \u0027keystone.conf\u0027"},{"line_number":102,"context_line":"    if not paste_config or not os.path.exists(paste_config):"},{"line_number":103,"context_line":"        print (\"The %s file could not be found.\" % paste_config_value)"},{"line_number":104,"context_line":"        sys.exit(1)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    monkeypatch_thread \u003d not CONF.standard_threads"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAOn%2F%2FujE%3D","line":103,"updated":"2013-04-25 22:40:38.000000000","message":"suggest make this message more descriptive...\n\n \"The Keystone paste configuration file %s could not be found.\"\n\nalso, why not write error message to stderr like in keystone.py?","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"e93d1a87f419fcc316e0ec60e8056ae229bd6ad7","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        paste_config \u003d CONF.find_file(\u0027keystone.conf\u0027)"},{"line_number":101,"context_line":"        paste_config_value \u003d \u0027keystone.conf\u0027"},{"line_number":102,"context_line":"    if not paste_config or not os.path.exists(paste_config):"},{"line_number":103,"context_line":"        print (\"The %s file could not be found.\" % paste_config_value)"},{"line_number":104,"context_line":"        sys.exit(1)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    monkeypatch_thread \u003d not CONF.standard_threads"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAPH%2F%2FtT8%3D","line":103,"in_reply_to":"AAAAOn%2F%2FujE%3D","updated":"2013-05-24 21:50:10.000000000","message":"I\u0027ve moved all that to a method in keystone.config which throws an exception when paste config is not found.","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"}],"doc/source/apache-httpd.rst":[{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"eea85073df3602d621dd8c52e9302fe869b2709c","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    /usr/share/openstack/keystone/httpd/keystone.py"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Keystone primary configuration file (``etc/keystone.conf``) and Paste Deploy"},{"line_number":75,"context_line":"configuration file (``etc/keystone-paste.ini``) must be readable to HTTPD in"},{"line_number":76,"context_line":"one of the default locations described in :doc:`configuration`."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"AAAAOn%2F%2FwRg%3D","line":74,"updated":"2013-04-24 18:56:45.000000000","message":"Keystone should be Keystone\u0027s  and  \u0027and Paste\u0027 should be \u0027and the Paste\u0027","commit_id":"af8818a99afe48d01ab219f74997501724899106"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"34a8d6f98e329a6e480bfad1963b162e1c829b5e","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    /usr/share/openstack/keystone/httpd/keystone.py"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Keystone primary configuration file (``etc/keystone.conf``) and Paste Deploy"},{"line_number":75,"context_line":"configuration file (``etc/keystone-paste.ini``) must be readable to HTTPD in"},{"line_number":76,"context_line":"one of the default locations described in :doc:`configuration`."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"AAAAOn%2F%2FwC4%3D","line":74,"in_reply_to":"AAAAOn%2F%2FwRg%3D","updated":"2013-04-24 21:05:56.000000000","message":"Done","commit_id":"af8818a99afe48d01ab219f74997501724899106"}],"doc/source/configuration.rst":[{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"eea85073df3602d621dd8c52e9302fe869b2709c","unresolved":false,"context_lines":[{"line_number":25,"context_line":"   man/keystone-all"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Once Keystone is installed, it is configured via a primary configuration file"},{"line_number":28,"context_line":"(``etc/keystone.conf``), Paste Deploy configuration file (``etc/keystone-paste.ini``), possibly a separate logging configuration file, and"},{"line_number":29,"context_line":"initializing data into Keystone using the command line client."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Starting and Stopping Keystone"}],"source_content_type":"text/x-rst","patch_set":7,"id":"AAAAOn%2F%2FwQw%3D","line":28,"updated":"2013-04-24 18:56:45.000000000","message":"put an \u0027a\u0027 before Paste Deploy separate should not be split","commit_id":"af8818a99afe48d01ab219f74997501724899106"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"34a8d6f98e329a6e480bfad1963b162e1c829b5e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"   man/keystone-all"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Once Keystone is installed, it is configured via a primary configuration file"},{"line_number":28,"context_line":"(``etc/keystone.conf``), Paste Deploy configuration file (``etc/keystone-paste.ini``), possibly a separate logging configuration file, and"},{"line_number":29,"context_line":"initializing data into Keystone using the command line client."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Starting and Stopping Keystone"}],"source_content_type":"text/x-rst","patch_set":7,"id":"AAAAOn%2F%2FwDA%3D","line":28,"in_reply_to":"AAAAOn%2F%2FwQw%3D","updated":"2013-04-24 21:05:56.000000000","message":"separate split seems to be Gerrit rendering, line was too long for its taste, fixed","commit_id":"af8818a99afe48d01ab219f74997501724899106"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"eea85073df3602d621dd8c52e9302fe869b2709c","unresolved":false,"context_lines":[{"line_number":60,"context_line":"Configuration Files"},{"line_number":61,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"The Keystone configuration file is an ``ini`` file format based on Paste_, a"},{"line_number":64,"context_line":"common system used to configure Python WSGI based applications."},{"line_number":65,"context_line":"The Paste Deploy configuration entries (WSGI pipeline definitions)"},{"line_number":66,"context_line":"are provided in a separate ``keystone-paste.ini`` file, while general and"}],"source_content_type":"text/x-rst","patch_set":7,"id":"AAAAOn%2F%2FwQs%3D","line":63,"updated":"2013-04-24 18:56:45.000000000","message":"why the _ at the end of Paste","commit_id":"af8818a99afe48d01ab219f74997501724899106"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"34a8d6f98e329a6e480bfad1963b162e1c829b5e","unresolved":false,"context_lines":[{"line_number":60,"context_line":"Configuration Files"},{"line_number":61,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"The Keystone configuration file is an ``ini`` file format based on Paste_, a"},{"line_number":64,"context_line":"common system used to configure Python WSGI based applications."},{"line_number":65,"context_line":"The Paste Deploy configuration entries (WSGI pipeline definitions)"},{"line_number":66,"context_line":"are provided in a separate ``keystone-paste.ini`` file, while general and"}],"source_content_type":"text/x-rst","patch_set":7,"id":"AAAAOn%2F%2FwDk%3D","line":63,"in_reply_to":"AAAAOn%2F%2FwQs%3D","updated":"2013-04-24 21:05:56.000000000","message":"link to Paste site, defined below:\n.. _Paste: http://pythonpaste.org/","commit_id":"af8818a99afe48d01ab219f74997501724899106"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"eea85073df3602d621dd8c52e9302fe869b2709c","unresolved":false,"context_lines":[{"line_number":64,"context_line":"common system used to configure Python WSGI based applications."},{"line_number":65,"context_line":"The Paste Deploy configuration entries (WSGI pipeline definitions)"},{"line_number":66,"context_line":"are provided in a separate ``keystone-paste.ini`` file, while general and"},{"line_number":67,"context_line":"driver-specific configuration parameters are in the primary configuration file,"},{"line_number":68,"context_line":"organized into the following sections:"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"* ``[DEFAULT]`` - general configuration"}],"source_content_type":"text/x-rst","patch_set":7,"id":"AAAAOn%2F%2FwP0%3D","line":67,"updated":"2013-04-24 18:56:45.000000000","message":"after primary configuration file, I would put ``etc/keystone.conf``,  just to be clear","commit_id":"af8818a99afe48d01ab219f74997501724899106"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"34a8d6f98e329a6e480bfad1963b162e1c829b5e","unresolved":false,"context_lines":[{"line_number":64,"context_line":"common system used to configure Python WSGI based applications."},{"line_number":65,"context_line":"The Paste Deploy configuration entries (WSGI pipeline definitions)"},{"line_number":66,"context_line":"are provided in a separate ``keystone-paste.ini`` file, while general and"},{"line_number":67,"context_line":"driver-specific configuration parameters are in the primary configuration file,"},{"line_number":68,"context_line":"organized into the following sections:"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"* ``[DEFAULT]`` - general configuration"}],"source_content_type":"text/x-rst","patch_set":7,"id":"AAAAOn%2F%2FwC8%3D","line":67,"in_reply_to":"AAAAOn%2F%2FwP0%3D","updated":"2013-04-24 21:05:56.000000000","message":"Done","commit_id":"af8818a99afe48d01ab219f74997501724899106"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":25,"context_line":"   man/keystone-all"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Once Keystone is installed, it is configured via a primary configuration file"},{"line_number":28,"context_line":"(``etc/keystone.conf``), a Paste Deploy configuration file (``etc/keystone-paste.ini``),"},{"line_number":29,"context_line":"possibly a separate logging configuration file, and initializing data into Keystone using the command line client."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Starting and Stopping Keystone"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAOn%2F%2Fufs%3D","line":28,"updated":"2013-04-25 22:40:38.000000000","message":"change \"Paste Deploy\" to \"PasteDeploy\", this is what it\u0027s called in config.py (or change config.py to Paste Deploy).\n\nI\u0027d just like references to Paste Deploy to be consistent... I searched around and found both, so maybe it\u0027s not an issue.","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"e93d1a87f419fcc316e0ec60e8056ae229bd6ad7","unresolved":false,"context_lines":[{"line_number":25,"context_line":"   man/keystone-all"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Once Keystone is installed, it is configured via a primary configuration file"},{"line_number":28,"context_line":"(``etc/keystone.conf``), a Paste Deploy configuration file (``etc/keystone-paste.ini``),"},{"line_number":29,"context_line":"possibly a separate logging configuration file, and initializing data into Keystone using the command line client."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Starting and Stopping Keystone"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAPH%2F%2FtNU%3D","line":28,"in_reply_to":"AAAAOn%2F%2Fufs%3D","updated":"2013-05-24 21:50:10.000000000","message":"PasteDeploy it is","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Invoking this command starts up two ``wsgi.Server`` instances, ``admin`` (the"},{"line_number":39,"context_line":"administration API) and ``main`` (the primary/public API interface). Both"},{"line_number":40,"context_line":"services are configured as running in a single process."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Stop the process using ``Control-C``."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAOn%2F%2FuiA%3D","line":40,"updated":"2013-04-25 22:40:38.000000000","message":"change \"as running\" to \"to run\" ?","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":60,"context_line":"Configuration Files"},{"line_number":61,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"The Keystone configuration file is an ``ini`` file format based on Paste_, a"},{"line_number":64,"context_line":"common system used to configure Python WSGI based applications."},{"line_number":65,"context_line":"The Paste Deploy configuration entries (WSGI pipeline definitions)"},{"line_number":66,"context_line":"are provided in a separate ``keystone-paste.ini`` file, while general and"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAOn%2F%2Fuh0%3D","line":63,"updated":"2013-04-25 22:40:38.000000000","message":"change \"file is\" to \"files are\"\n\nremove \"format\", or change \"an ``init`` file\" to \"in ``ini`` file format\"","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"The Keystone configuration file is an ``ini`` file format based on Paste_, a"},{"line_number":64,"context_line":"common system used to configure Python WSGI based applications."},{"line_number":65,"context_line":"The Paste Deploy configuration entries (WSGI pipeline definitions)"},{"line_number":66,"context_line":"are provided in a separate ``keystone-paste.ini`` file, while general and"},{"line_number":67,"context_line":"driver-specific configuration parameters are in the primary configuration file"},{"line_number":68,"context_line":"``keystone.conf``, organized into the following sections:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAOn%2F%2Fufo%3D","line":65,"updated":"2013-04-25 22:40:38.000000000","message":"change \"Paste Deploy\" to \"PasteDeploy\".","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":63,"context_line":"The Keystone configuration file is an ``ini`` file format based on Paste_, a"},{"line_number":64,"context_line":"common system used to configure Python WSGI based applications."},{"line_number":65,"context_line":"The Paste Deploy configuration entries (WSGI pipeline definitions)"},{"line_number":66,"context_line":"are provided in a separate ``keystone-paste.ini`` file, while general and"},{"line_number":67,"context_line":"driver-specific configuration parameters are in the primary configuration file"},{"line_number":68,"context_line":"``keystone.conf``, organized into the following sections:"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAOn%2F%2FuhA%3D","line":66,"updated":"2013-04-25 22:40:38.000000000","message":"change \"are\" to \"can be\"","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":65,"context_line":"The Paste Deploy configuration entries (WSGI pipeline definitions)"},{"line_number":66,"context_line":"are provided in a separate ``keystone-paste.ini`` file, while general and"},{"line_number":67,"context_line":"driver-specific configuration parameters are in the primary configuration file"},{"line_number":68,"context_line":"``keystone.conf``, organized into the following sections:"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"* ``[DEFAULT]`` - general configuration"},{"line_number":71,"context_line":"* ``[sql]`` - optional storage backend configuration"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAOn%2F%2Fugo%3D","line":68,"updated":"2013-04-25 22:40:38.000000000","message":"this sentence should be changed so it\u0027s obvious that the sections below are in the primary configuration file, not the paste configuration file.","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":77,"context_line":"* ``[policy]`` - policy system driver configuration for RBAC"},{"line_number":78,"context_line":"* ``[signing]`` - cryptographic signatures for PKI based tokens"},{"line_number":79,"context_line":"* ``[ssl]`` - SSL configuration"},{"line_number":80,"context_line":"* ``[auth]`` - Authentication plugin configuration"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The Keystone primary configuration file is expected to be named ``keystone.conf``."},{"line_number":83,"context_line":"When starting Keystone, you can specify a different configuration file to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAOn%2F%2FugI%3D","line":80,"updated":"2013-04-25 22:40:38.000000000","message":"add ``[paste_deploy]`` to this list if you keep it.","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":90,"context_line":"* ``/etc/keystone/``"},{"line_number":91,"context_line":"* ``/etc/``"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Paste Deploy configuration file is specified by the ``config_file`` parameter in ``[paste_deploy]`` section of the primary configuration file."},{"line_number":94,"context_line":"If not specified, WSGI pipeline definitions are loaded from the primary configuration file."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Authentication Plugins"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAOn%2F%2Fuhk%3D","line":93,"updated":"2013-04-25 22:40:38.000000000","message":"should mention that if the configuration file is not an absolute path then it searches in the same directories as above.","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"}],"etc/keystone-paste.ini":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"77dd67f286bcd1c99dcada90a849723fdce93be8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[filter:debug]"},{"line_number":2,"context_line":"paste.filter_factory \u003d keystone.common.wsgi:Debug.factory"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"[filter:token_auth]"}],"source_content_type":"text/x-properties","patch_set":3,"id":"AAAAOX%2F%2F8jE%3D","line":1,"updated":"2013-04-04 21:28:39.000000000","message":"shouldn\u0027t this file be etc/keystone-paste.ini.sample (add .sample to filename)","commit_id":"c75e40111bb0817aedd733d734f910e66abdeece"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"07616daa16439cd9378b037baca4eb08e905f206","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[filter:debug]"},{"line_number":2,"context_line":"paste.filter_factory \u003d keystone.common.wsgi:Debug.factory"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"[filter:token_auth]"}],"source_content_type":"text/x-properties","patch_set":3,"id":"AAAAOn%2F%2F378%3D","line":1,"in_reply_to":"AAAAOX%2F%2F8jE%3D","updated":"2013-04-15 19:14:01.000000000","message":"Is this is a blocker? Renaming now to .sample would require yet another change in devstack to pass gate, now it assumes keystone-paste.ini: https://github.com/openstack-dev/devstack/commit/e0bb447244cebb86adde5617d67c8ba828f661fb","commit_id":"c75e40111bb0817aedd733d734f910e66abdeece"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"4236dbb3587508df725688fc558e6659b0b9975b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[filter:debug]"},{"line_number":2,"context_line":"paste.filter_factory \u003d keystone.common.wsgi:Debug.factory"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"[filter:token_auth]"}],"source_content_type":"text/x-properties","patch_set":3,"id":"AAAAOn%2F%2F3ik%3D","line":1,"in_reply_to":"AAAAOn%2F%2F378%3D","updated":"2013-04-16 13:13:08.000000000","message":"it\u0027s not a blocker, just wondering why keystone.conf.sample and some are not .sample.","commit_id":"c75e40111bb0817aedd733d734f910e66abdeece"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[filter:debug]"},{"line_number":2,"context_line":"paste.filter_factory \u003d keystone.common.wsgi:Debug.factory"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"[filter:token_auth]"}],"source_content_type":"text/x-properties","patch_set":8,"id":"AAAAOn%2F%2FugY%3D","line":1,"updated":"2013-04-25 22:40:38.000000000","message":"I\u0027d like to see a comment at the top of this file what it\u0027s for.\n\n# Keystone PasteDeploy configuration file.","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"}],"etc/keystone.conf.sample":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":233,"context_line":""},{"line_number":234,"context_line":"[paste_deploy]"},{"line_number":235,"context_line":"# Name of the paste configuration file that defines the available pipelines"},{"line_number":236,"context_line":"config_file \u003d keystone-paste.ini"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAOn%2F%2FugQ%3D","line":236,"updated":"2013-04-25 22:40:38.000000000","message":"I\u0027d prefer not to have a section with a single entry, so suggest move config_file to the [DEFAULT] section, unless you\u0027re expecting more options.","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"8d50f1ec16a1e54fa88e7b2dc1ce62f7581eefd2","unresolved":false,"context_lines":[{"line_number":233,"context_line":""},{"line_number":234,"context_line":"[paste_deploy]"},{"line_number":235,"context_line":"# Name of the paste configuration file that defines the available pipelines"},{"line_number":236,"context_line":"config_file \u003d keystone-paste.ini"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAPH%2F%2F%2FrY%3D","line":236,"in_reply_to":"AAAAO3%2F%2F754%3D","updated":"2013-05-16 21:31:55.000000000","message":"I prefer separate section too, we might want to add \"flavor\" like Glance, with differently configured pipelines.\nAFAICT Nova started separating options out of [DEFAULT] into logically organized sections, overcrowded single section is not very user-friendly.","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"fa782e67764bfacb00a188e9e1225822c11c8e61","unresolved":false,"context_lines":[{"line_number":233,"context_line":""},{"line_number":234,"context_line":"[paste_deploy]"},{"line_number":235,"context_line":"# Name of the paste configuration file that defines the available pipelines"},{"line_number":236,"context_line":"config_file \u003d keystone-paste.ini"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAO3%2F%2F754%3D","line":236,"in_reply_to":"AAAAOn%2F%2FugQ%3D","updated":"2013-05-16 18:16:17.000000000","message":"this is how glance does it, but nova does it with a single config option in DEFAULT (api_paste_config)\n\nhttps://github.com/openstack/glance/blob/master/etc/glance-api.conf#L348\n\ni prefer [paste_deploy] myself","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"}],"httpd/keystone.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    paste_config_value \u003d paste_config"},{"line_number":29,"context_line":"else:"},{"line_number":30,"context_line":"    paste_config \u003d CONF.find_file(\u0027keystone.conf\u0027)"},{"line_number":31,"context_line":"    paste_config_value \u003d \u0027keystone.conf\u0027"},{"line_number":32,"context_line":"if not paste_config or not os.path.exists(paste_config):"},{"line_number":33,"context_line":"    print \u003e\u003e sys.stderr, \"The %s file could not be found.\" % paste_config_value"},{"line_number":34,"context_line":"else:"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOn%2F%2Fuf0%3D","line":31,"updated":"2013-04-25 22:40:38.000000000","message":"this is the same code as in keystone-all (at line 91). Could it be moved to a common location? (maybe in keystone.config).\n\nAlso, if it\u0027s in a function should be easier to write testcases.","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"643075f1f21f221d0419acbd910464c2a0eda545","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    paste_config_value \u003d paste_config"},{"line_number":29,"context_line":"else:"},{"line_number":30,"context_line":"    paste_config \u003d CONF.find_file(\u0027keystone.conf\u0027)"},{"line_number":31,"context_line":"    paste_config_value \u003d \u0027keystone.conf\u0027"},{"line_number":32,"context_line":"if not paste_config or not os.path.exists(paste_config):"},{"line_number":33,"context_line":"    print \u003e\u003e sys.stderr, \"The %s file could not be found.\" % paste_config_value"},{"line_number":34,"context_line":"else:"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAO3%2F%2F9e0%3D","line":31,"in_reply_to":"AAAAOn%2F%2Fuf0%3D","updated":"2013-05-16 02:10:56.000000000","message":"I don\u0027t think this code should be inside keystone, but if redundancy can be eliminated... please do!","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"af7d732388dd2f08fb2cd754eff0513805823806","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    paste_config \u003d CONF.find_file(\u0027keystone.conf\u0027)"},{"line_number":31,"context_line":"    paste_config_value \u003d \u0027keystone.conf\u0027"},{"line_number":32,"context_line":"if not paste_config or not os.path.exists(paste_config):"},{"line_number":33,"context_line":"    print \u003e\u003e sys.stderr, \"The %s file could not be found.\" % paste_config_value"},{"line_number":34,"context_line":"else:"},{"line_number":35,"context_line":"    application \u003d deploy.loadapp(\u0027config:%s\u0027 % paste_config, name\u003dname)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOn%2F%2FugE%3D","line":33,"updated":"2013-04-25 22:40:38.000000000","message":"suggest exit(1)","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"643075f1f21f221d0419acbd910464c2a0eda545","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    paste_config \u003d CONF.find_file(\u0027keystone.conf\u0027)"},{"line_number":31,"context_line":"    paste_config_value \u003d \u0027keystone.conf\u0027"},{"line_number":32,"context_line":"if not paste_config or not os.path.exists(paste_config):"},{"line_number":33,"context_line":"    print \u003e\u003e sys.stderr, \"The %s file could not be found.\" % paste_config_value"},{"line_number":34,"context_line":"else:"},{"line_number":35,"context_line":"    application \u003d deploy.loadapp(\u0027config:%s\u0027 % paste_config, name\u003dname)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAO3%2F%2F9e4%3D","line":33,"in_reply_to":"AAAAOn%2F%2FugE%3D","updated":"2013-05-16 02:10:56.000000000","message":"sys.exit(\"The %s file could not be found.\" % paste_config_value)","commit_id":"67a8920ed3eb7a0d0af945bae43eb3a497d3f315"}],"keystone/exception.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"7d19105bd56f9b25070c2183d27ae670d6d93e0d","unresolved":false,"context_lines":[{"line_number":244,"context_line":"    title \u003d \u0027Not Implemented\u0027"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"class PasteConfigNotFound(Error):"},{"line_number":248,"context_line":"    \"\"\"The Keystone paste configuration file %(config_file)s could not be"},{"line_number":249,"context_line":"    found."},{"line_number":250,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2Fsn8%3D","line":247,"updated":"2013-05-25 21:49:56.000000000","message":"extend UnexpectedError, not Error","commit_id":"211a5ba4bcc1f271e66ef79f5f359524adb131d1"}]}
