)]}'
{"functions-common":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"cac28be71346f6dde3cd42b1360e5465ff28439c","unresolved":false,"context_lines":[{"line_number":1437,"context_line":"    local subservice\u003d$2"},{"line_number":1438,"context_line":"    local command\u003d\"$3\""},{"line_number":1439,"context_line":"    local group\u003d$4"},{"line_number":1440,"context_line":""},{"line_number":1441,"context_line":"    if is_service_enabled $service; then"},{"line_number":1442,"context_line":"        if [[ \"$USE_SCREEN\" \u003d \"True\" ]]; then"},{"line_number":1443,"context_line":"            screen_process \"$subservice\" \"$command\" \"$group\""}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"da6ed579_51ae4c86","line":1440,"updated":"2016-01-12 21:57:07.000000000","message":"I\u0027m guessing this predates the introduction of the time_start() and time_stop() calls in the current run_process() function?\n\nCan this be a wrapper around run_process() to avoid the duplication?  Yeah, it\u0027s small and there isn\u0027t much here but it feels odd to dupe this.","commit_id":"18edd64de39572d4c325e488e731e2bb90e2386d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"8e7d9df7739fec39090dc65976ef06fe76c1de89","unresolved":false,"context_lines":[{"line_number":1437,"context_line":"    local subservice\u003d$2"},{"line_number":1438,"context_line":"    local command\u003d\"$3\""},{"line_number":1439,"context_line":"    local group\u003d$4"},{"line_number":1440,"context_line":""},{"line_number":1441,"context_line":"    if is_service_enabled $service; then"},{"line_number":1442,"context_line":"        if [[ \"$USE_SCREEN\" \u003d \"True\" ]]; then"},{"line_number":1443,"context_line":"            screen_process \"$subservice\" \"$command\" \"$group\""}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"9a68dd71_2d64ebb6","line":1440,"in_reply_to":"da6ed579_51ae4c86","updated":"2016-01-25 20:29:08.000000000","message":"Done","commit_id":"18edd64de39572d4c325e488e731e2bb90e2386d"}],"lib/keystone":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"962f55d9daafbf6ce888c0485a7e9cb4a346f5c4","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"# If not deploying keystone under HTTPD + mod_wsgi, use UWSGI"},{"line_number":59,"context_line":"# (Otherwise, the eventlet-based keystone-all will be used)"},{"line_number":60,"context_line":"KEYSTONE_DEPLOY\u003d${KEYSTONE_DEPLOY:-uwsgi}  # FIXME: change this to eventlet!"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"KEYSTONE_PUBLIC_UWSGI_FILE\u003d$KEYSTONE_CONF_DIR/keystone-uwsgi-public.ini"},{"line_number":63,"context_line":"KEYSTONE_ADMIN_UWSGI_FILE\u003d$KEYSTONE_CONF_DIR/keystone-uwsgi-admin.ini"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"fa69d971_b72defa9","line":60,"range":{"start_line":60,"start_character":43,"end_line":60,"end_character":76},"updated":"2016-01-05 03:32:26.000000000","message":"comment no longer valid?","commit_id":"ab3fc27be10255f1e720b727a9697cbb604cce19"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e2462157d9f2f598b8bbf0cdde2ef3e1d43dd1f6","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"# If not deploying keystone under HTTPD + mod_wsgi, use UWSGI"},{"line_number":59,"context_line":"# (Otherwise, the eventlet-based keystone-all will be used)"},{"line_number":60,"context_line":"KEYSTONE_DEPLOY\u003d${KEYSTONE_DEPLOY:-uwsgi}  # FIXME: change this to eventlet!"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"KEYSTONE_PUBLIC_UWSGI_FILE\u003d$KEYSTONE_CONF_DIR/keystone-uwsgi-public.ini"},{"line_number":63,"context_line":"KEYSTONE_ADMIN_UWSGI_FILE\u003d$KEYSTONE_CONF_DIR/keystone-uwsgi-admin.ini"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"fa69d971_60e3ab34","line":60,"range":{"start_line":60,"start_character":43,"end_line":60,"end_character":76},"in_reply_to":"fa69d971_b72defa9","updated":"2016-01-07 21:50:53.000000000","message":"I\u0027ll leave this one as eventlet and then we can explicitly change the default if that\u0027s what people want.","commit_id":"ab3fc27be10255f1e720b727a9697cbb604cce19"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"962f55d9daafbf6ce888c0485a7e9cb4a346f5c4","unresolved":false,"context_lines":[{"line_number":59,"context_line":"# (Otherwise, the eventlet-based keystone-all will be used)"},{"line_number":60,"context_line":"KEYSTONE_DEPLOY\u003d${KEYSTONE_DEPLOY:-uwsgi}  # FIXME: change this to eventlet!"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"KEYSTONE_PUBLIC_UWSGI_FILE\u003d$KEYSTONE_CONF_DIR/keystone-uwsgi-public.ini"},{"line_number":63,"context_line":"KEYSTONE_ADMIN_UWSGI_FILE\u003d$KEYSTONE_CONF_DIR/keystone-uwsgi-admin.ini"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"# Select the Catalog backend driver"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"fa69d971_b7040f18","line":62,"range":{"start_line":62,"start_character":46,"end_line":62,"end_character":71},"updated":"2016-01-05 03:32:26.000000000","message":"this doesn\u0027t exist?","commit_id":"ab3fc27be10255f1e720b727a9697cbb604cce19"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e2462157d9f2f598b8bbf0cdde2ef3e1d43dd1f6","unresolved":false,"context_lines":[{"line_number":59,"context_line":"# (Otherwise, the eventlet-based keystone-all will be used)"},{"line_number":60,"context_line":"KEYSTONE_DEPLOY\u003d${KEYSTONE_DEPLOY:-uwsgi}  # FIXME: change this to eventlet!"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"KEYSTONE_PUBLIC_UWSGI_FILE\u003d$KEYSTONE_CONF_DIR/keystone-uwsgi-public.ini"},{"line_number":63,"context_line":"KEYSTONE_ADMIN_UWSGI_FILE\u003d$KEYSTONE_CONF_DIR/keystone-uwsgi-admin.ini"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"# Select the Catalog backend driver"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"fa69d971_80dc9f75","line":62,"range":{"start_line":62,"start_character":46,"end_line":62,"end_character":71},"in_reply_to":"fa69d971_b7040f18","updated":"2016-01-07 21:50:53.000000000","message":"iniset creates the file if it doesn\u0027t exist. I\u0027ll add a comment.","commit_id":"ab3fc27be10255f1e720b727a9697cbb604cce19"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"932fd3eaed172adbd06b07fe1935ad30db7b07d9","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    fi"},{"line_number":71,"context_line":"fi"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"# These files get created by iniset if they don\u0027t exist and KEYSTONE_DEPLOY is"},{"line_number":74,"context_line":"# \u0027uwsgi\u0027."},{"line_number":75,"context_line":"KEYSTONE_PUBLIC_UWSGI_FILE\u003d$KEYSTONE_CONF_DIR/keystone-uwsgi-public.ini"},{"line_number":76,"context_line":"KEYSTONE_ADMIN_UWSGI_FILE\u003d$KEYSTONE_CONF_DIR/keystone-uwsgi-admin.ini"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"# Select the Catalog backend driver"},{"line_number":79,"context_line":"KEYSTONE_CATALOG_BACKEND\u003d${KEYSTONE_CATALOG_BACKEND:-sql}"}],"source_content_type":"application/x-shellscript","patch_set":13,"id":"9a68dd71_10d33c61","line":76,"range":{"start_line":73,"start_character":0,"end_line":76,"end_character":69},"updated":"2016-01-25 20:52:09.000000000","message":"you can move this to line 320, just before they are needed","commit_id":"ab862afba47196352c1f7bfe98d500e6a5c7248c"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"0d856c6a23b4ebc7877123004b1527c9f7b30aad","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    fi"},{"line_number":71,"context_line":"fi"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"# These files get created by iniset if they don\u0027t exist and KEYSTONE_DEPLOY is"},{"line_number":74,"context_line":"# \u0027uwsgi\u0027."},{"line_number":75,"context_line":"KEYSTONE_PUBLIC_UWSGI_FILE\u003d$KEYSTONE_CONF_DIR/keystone-uwsgi-public.ini"},{"line_number":76,"context_line":"KEYSTONE_ADMIN_UWSGI_FILE\u003d$KEYSTONE_CONF_DIR/keystone-uwsgi-admin.ini"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"# Select the Catalog backend driver"},{"line_number":79,"context_line":"KEYSTONE_CATALOG_BACKEND\u003d${KEYSTONE_CATALOG_BACKEND:-sql}"}],"source_content_type":"application/x-shellscript","patch_set":13,"id":"9a68dd71_91fb7347","line":76,"range":{"start_line":73,"start_character":0,"end_line":76,"end_character":69},"in_reply_to":"9a68dd71_10d33c61","updated":"2016-01-26 21:54:34.000000000","message":"Done","commit_id":"ab862afba47196352c1f7bfe98d500e6a5c7248c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"932fd3eaed172adbd06b07fe1935ad30db7b07d9","unresolved":false,"context_lines":[{"line_number":329,"context_line":"        fi"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi wsgi-file \"$KEYSTONE_BIN_DIR/keystone-wsgi-public\""},{"line_number":332,"context_line":"        iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi processes $(nproc)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"        iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi wsgi-file \"$KEYSTONE_BIN_DIR/keystone-wsgi-admin\""},{"line_number":335,"context_line":"        iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi processes $API_WORKERS"}],"source_content_type":"application/x-shellscript","patch_set":13,"id":"9a68dd71_f042280e","line":332,"range":{"start_line":332,"start_character":61,"end_line":332,"end_character":69},"updated":"2016-01-25 20:52:09.000000000","message":"why not API_WORKERS?","commit_id":"ab862afba47196352c1f7bfe98d500e6a5c7248c"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"0d856c6a23b4ebc7877123004b1527c9f7b30aad","unresolved":false,"context_lines":[{"line_number":329,"context_line":"        fi"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi wsgi-file \"$KEYSTONE_BIN_DIR/keystone-wsgi-public\""},{"line_number":332,"context_line":"        iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi processes $(nproc)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"        iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi wsgi-file \"$KEYSTONE_BIN_DIR/keystone-wsgi-admin\""},{"line_number":335,"context_line":"        iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi processes $API_WORKERS"}],"source_content_type":"application/x-shellscript","patch_set":13,"id":"9a68dd71_96fba478","line":332,"range":{"start_line":332,"start_character":61,"end_line":332,"end_character":69},"in_reply_to":"9a68dd71_f042280e","updated":"2016-01-26 21:54:34.000000000","message":"This is so it\u0027s the same as in the eventlet case. I think that was done because otherwise there are timeout issues.","commit_id":"ab862afba47196352c1f7bfe98d500e6a5c7248c"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"b606c9cd8ece849e9953f3a18871760803347f1a","unresolved":false,"context_lines":[{"line_number":325,"context_line":"            iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi https $KEYSTONE_ADMIN_BIND_HOST:$auth_port,$KEYSTONE_SSL_CERT,$KEYSTONE_SSL_KEY"},{"line_number":326,"context_line":"        else"},{"line_number":327,"context_line":"            iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi http $KEYSTONE_SERVICE_HOST:$service_port"},{"line_number":328,"context_line":"            iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi http $KEYSTONE_ADMIN_BIND_HOST:$auth_port"},{"line_number":329,"context_line":"        fi"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi wsgi-file \"$KEYSTONE_BIN_DIR/keystone-wsgi-public\""}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"7a5de9d1_2ae9a280","line":328,"updated":"2016-01-29 08:44:26.000000000","message":"why are we running on custom ports?","commit_id":"e2ee3df48d2ad472ac59ef4e6fbd339a60696060"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"66e93c8b08dac8cd4cb7435ed64e7c9f769006bb","unresolved":false,"context_lines":[{"line_number":325,"context_line":"            iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi https $KEYSTONE_ADMIN_BIND_HOST:$auth_port,$KEYSTONE_SSL_CERT,$KEYSTONE_SSL_KEY"},{"line_number":326,"context_line":"        else"},{"line_number":327,"context_line":"            iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi http $KEYSTONE_SERVICE_HOST:$service_port"},{"line_number":328,"context_line":"            iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi http $KEYSTONE_ADMIN_BIND_HOST:$auth_port"},{"line_number":329,"context_line":"        fi"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi wsgi-file \"$KEYSTONE_BIN_DIR/keystone-wsgi-public\""}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"7a5de9d1_8cc9c028","line":328,"in_reply_to":"7a5de9d1_2ae9a280","updated":"2016-01-29 15:27:11.000000000","message":"This is how the existing code works. Apparently (I haven\u0027t tried this), you can deploy in a TLS proxy configuration, in which case the TLS proxy listens on the normal keystone port and forwards requests to keystone, which is listening on these internal ports.\n\nRegardless of keystone-all or uwsgi, keystone has to listen on the internal port in TLS proxy mode.","commit_id":"e2ee3df48d2ad472ac59ef4e6fbd339a60696060"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3462a48b4415f4f4f844f23cbc7540114fc68983","unresolved":false,"context_lines":[{"line_number":302,"context_line":"            iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi http $KEYSTONE_ADMIN_BIND_HOST:$auth_port"},{"line_number":303,"context_line":"        fi"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"        iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi wsgi-file \"$KEYSTONE_BIN_DIR/keystone-wsgi-public\""},{"line_number":306,"context_line":"        iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi processes $(nproc)"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi wsgi-file \"$KEYSTONE_BIN_DIR/keystone-wsgi-admin\""},{"line_number":309,"context_line":"        iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi processes $API_WORKERS"}],"source_content_type":"application/x-shellscript","patch_set":16,"id":"3a57f1b5_4dcdfc64","line":306,"range":{"start_line":305,"start_character":0,"end_line":306,"end_character":69},"updated":"2016-02-12 02:17:00.000000000","message":"in addition to this, i found that I had to set a few other properties to get this at least half way passing:\n\n+        iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi plugins python\n+        iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi plugins python\n+        iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi buffer-size 65535\n+        iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi buffer-size 65535\n\ni\u0027ll poke brant and see if i\u0027m missing something","commit_id":"afa68939154378124252d3a025dfb5a211dd39d1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"78530fe59499f629547c6bf247f1ccb6dddb2334","unresolved":false,"context_lines":[{"line_number":302,"context_line":"            iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi http $KEYSTONE_ADMIN_BIND_HOST:$auth_port"},{"line_number":303,"context_line":"        fi"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"        iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi wsgi-file \"$KEYSTONE_BIN_DIR/keystone-wsgi-public\""},{"line_number":306,"context_line":"        iniset \"$KEYSTONE_PUBLIC_UWSGI_FILE\" uwsgi processes $(nproc)"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi wsgi-file \"$KEYSTONE_BIN_DIR/keystone-wsgi-admin\""},{"line_number":309,"context_line":"        iniset \"$KEYSTONE_ADMIN_UWSGI_FILE\" uwsgi processes $API_WORKERS"}],"source_content_type":"application/x-shellscript","patch_set":16,"id":"3a57f1b5_f1ac928d","line":306,"range":{"start_line":305,"start_character":0,"end_line":306,"end_character":69},"in_reply_to":"3a57f1b5_4dcdfc64","updated":"2016-02-12 20:16:00.000000000","message":"Done","commit_id":"afa68939154378124252d3a025dfb5a211dd39d1"}]}
