)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7e554350a241b4a6ddf9ef73fb3343d824d8f84f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"because the devstack CA is added to the system bundle."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Basic URL rewriting of json content data is done"},{"line_number":22,"context_line":"because some of the services are not proxy-aware."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The SSL/TLS certificate generated by devstack is now"},{"line_number":25,"context_line":"broken out into separate cert/key files for use by"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1a122d0e_b52f933d","line":22,"updated":"2016-04-21 14:58:29.000000000","message":"the services should be fixed to be proxy-aware. Are there bugs filed?","commit_id":"74947c8a8c6b7791ee30efe1476df40fe266d781"},{"author":{"_account_id":7662,"name":"Rob Crittenden","email":"rcritten@redhat.com","username":"rcritten"},"change_message_id":"69c26ca0403c09f8c9b745f14556f13a1aed6453","unresolved":false,"context_lines":[{"line_number":19,"context_line":"because the devstack CA is added to the system bundle."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Basic URL rewriting of json content data is done"},{"line_number":22,"context_line":"because some of the services are not proxy-aware."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The SSL/TLS certificate generated by devstack is now"},{"line_number":25,"context_line":"broken out into separate cert/key files for use by"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1a122d0e_7899306e","line":22,"in_reply_to":"1a122d0e_b52f933d","updated":"2016-04-22 19:43:09.000000000","message":"Doing this replacement was actually obsoleted by the nova paste fix. I\u0027ve removed the comment and the Apache configuration to do content rewriting.","commit_id":"74947c8a8c6b7791ee30efe1476df40fe266d781"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"639356432efef948ba9ac9ce41cc96837a70191a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"appropriate Apache config subdir. This is still"},{"line_number":12,"context_line":"readable and makes cleanup simpler."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"A new function was created, add_tls_proxy, because"},{"line_number":15,"context_line":"some services setup multiple listeners and this avoids"},{"line_number":16,"context_line":"Apache restart churn."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1a122d0e_b0647c21","line":14,"updated":"2016-05-03 22:26:17.000000000","message":"This should be moved into a separate commit so that the changes are easier to review.","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a996d8b19d24c57a151ce99dde1ebd71bd4cfc8b","unresolved":false,"context_lines":[{"line_number":11,"context_line":"appropriate Apache config subdir. This is still"},{"line_number":12,"context_line":"readable and makes cleanup simpler."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"A new function was created, add_tls_proxy, because"},{"line_number":15,"context_line":"some services setup multiple listeners and this avoids"},{"line_number":16,"context_line":"Apache restart churn."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1a122d0e_247457cd","line":14,"in_reply_to":"1a122d0e_85eac072","updated":"2016-05-05 16:02:50.000000000","message":"Talked with rcrit on irc and I\u0027m fine with this as-is.","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":7662,"name":"Rob Crittenden","email":"rcritten@redhat.com","username":"rcritten"},"change_message_id":"10c5eeede3b5833376fa77cc7e2d7d1b83467354","unresolved":false,"context_lines":[{"line_number":11,"context_line":"appropriate Apache config subdir. This is still"},{"line_number":12,"context_line":"readable and makes cleanup simpler."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"A new function was created, add_tls_proxy, because"},{"line_number":15,"context_line":"some services setup multiple listeners and this avoids"},{"line_number":16,"context_line":"Apache restart churn."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1a122d0e_85eac072","line":14,"in_reply_to":"1a122d0e_b0647c21","updated":"2016-05-04 15:38:22.000000000","message":"I\u0027ll see what I can do. The order of the changes might make this not so obvious because adding it with stud probably doesn\u0027t make a lot of sense, but I\u0027ll see what it looks like.","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f7b7810a990c92e2edd2998ab9ab7a8f0399a3c0","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Some services have multiple ports so this reduces the number"},{"line_number":15,"context_line":"of Apache restarts required."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"A template is used to generate configuration for each"},{"line_number":18,"context_line":"service and is appended to tlsproxy.conf in the"},{"line_number":19,"context_line":"appropriate Apache config subdir. This is still"},{"line_number":20,"context_line":"readable and makes cleanup simpler."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5a9d85d2_5c9a9215","line":17,"range":{"start_line":17,"start_character":30,"end_line":17,"end_character":45},"updated":"2016-06-20 23:18:27.000000000","message":"an apache site configuration file","commit_id":"6178afb099ead24e6e5921f2bc7f2a62b2c2a9fb"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f7b7810a990c92e2edd2998ab9ab7a8f0399a3c0","unresolved":false,"context_lines":[{"line_number":17,"context_line":"A template is used to generate configuration for each"},{"line_number":18,"context_line":"service and is appended to tlsproxy.conf in the"},{"line_number":19,"context_line":"appropriate Apache config subdir. This is still"},{"line_number":20,"context_line":"readable and makes cleanup simpler."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"No SSLCertificateChainFile/SSLCACertificateFile is set"},{"line_number":23,"context_line":"because the devstack CA is added to the system bundle."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5a9d85d2_97f855e7","line":20,"updated":"2016-06-20 23:18:27.000000000","message":"I\u0027d prefer that every service has a separate file since going forward I had planned to make every service have its own apache site config that tells it how to connect to its uwsgi server.\n\nAlso, doesn\u0027t keystone already have its own apache config? So I\u0027m a little confused how this works now.","commit_id":"6178afb099ead24e6e5921f2bc7f2a62b2c2a9fb"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f7b7810a990c92e2edd2998ab9ab7a8f0399a3c0","unresolved":false,"context_lines":[{"line_number":26,"context_line":"broken out into separate cert/key files for use by"},{"line_number":27,"context_line":"Apache."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Move enable_mod_ssl from lib/tls to lib/apache where it belongs."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Add enable_mod_proxy function so Apache can act as a TLS proxy."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5a9d85d2_3791a19a","line":29,"updated":"2016-06-20 23:18:27.000000000","message":"this looks like something that could easily have been done in a separate commit to make this easier to review.","commit_id":"6178afb099ead24e6e5921f2bc7f2a62b2c2a9fb"}],"files/apache-tlsproxy.template":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"639356432efef948ba9ac9ce41cc96837a70191a","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    SSLCertificateFile %SSLCERTFILE%"},{"line_number":6,"context_line":"    SSLCertificateKeyFile %SSLKEYFILE%"},{"line_number":7,"context_line":"    RequestHeader set X-Forwarded-Proto \"https\""},{"line_number":8,"context_line":"    ProxyPreserveHost on"},{"line_number":9,"context_line":"    ProxyPass / http://%PUBLICHOST_INT%:%PUBLICPORT_INT%/"},{"line_number":10,"context_line":"    ProxyPassReverse / http://%PUBLICHOST_INT%:%PUBLICPORT_INT%/"},{"line_number":11,"context_line":"\u003c/VirtualHost\u003e"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"1a122d0e_d002d871","line":8,"updated":"2016-05-03 22:26:17.000000000","message":"The apache docs say that this should be off - https://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypreservehost","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":7662,"name":"Rob Crittenden","email":"rcritten@redhat.com","username":"rcritten"},"change_message_id":"10c5eeede3b5833376fa77cc7e2d7d1b83467354","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    SSLCertificateFile %SSLCERTFILE%"},{"line_number":6,"context_line":"    SSLCertificateKeyFile %SSLKEYFILE%"},{"line_number":7,"context_line":"    RequestHeader set X-Forwarded-Proto \"https\""},{"line_number":8,"context_line":"    ProxyPreserveHost on"},{"line_number":9,"context_line":"    ProxyPass / http://%PUBLICHOST_INT%:%PUBLICPORT_INT%/"},{"line_number":10,"context_line":"    ProxyPassReverse / http://%PUBLICHOST_INT%:%PUBLICPORT_INT%/"},{"line_number":11,"context_line":"\u003c/VirtualHost\u003e"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"1a122d0e_a5d09cca","line":8,"in_reply_to":"1a122d0e_d002d871","updated":"2016-05-04 15:38:22.000000000","message":"Sure and in this case it\u0027s all-in-one so it will always be the same anyway.","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"0546d9ca8d489fe60286770bbbfd8183f93da5a1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"%NOLISTEN%Listen %PUBLICPORT%"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003cVirtualHost %PUBLICHOST%:%PUBLICPORT%\u003e"},{"line_number":4,"context_line":"    SSLEngine on"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"7aa08908_0a1b6ccb","line":1,"updated":"2016-06-16 21:48:47.000000000","message":"I wonder why PUBLICPORT and not just PORT?","commit_id":"b24cf100a302ccf836f43e29931cf70ecbea0bf2"},{"author":{"_account_id":7662,"name":"Rob Crittenden","email":"rcritten@redhat.com","username":"rcritten"},"change_message_id":"e2c865c0a7246b01e0ae8a391711752b6dd9aa7d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"%NOLISTEN%Listen %PUBLICPORT%"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003cVirtualHost %PUBLICHOST%:%PUBLICPORT%\u003e"},{"line_number":4,"context_line":"    SSLEngine on"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"7aa08908_a5008967","line":1,"in_reply_to":"7aa08908_0a1b6ccb","updated":"2016-06-16 22:09:10.000000000","message":"I think I was sticking with previous verbiage, I\u0027m not opposed to changing if it is considered simpler.","commit_id":"b24cf100a302ccf836f43e29931cf70ecbea0bf2"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"0546d9ca8d489fe60286770bbbfd8183f93da5a1","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    SSLCertificateFile %SSLCERTFILE%"},{"line_number":6,"context_line":"    SSLCertificateKeyFile %SSLKEYFILE%"},{"line_number":7,"context_line":"    RequestHeader set X-Forwarded-Proto \"https\""},{"line_number":8,"context_line":"    ProxyPass / http://%PUBLICHOST_INT%:%PUBLICPORT_INT%/ retry\u003d10"},{"line_number":9,"context_line":"    ProxyPassReverse / http://%PUBLICHOST_INT%:%PUBLICPORT_INT%/ retry\u003d10"},{"line_number":10,"context_line":"\u003c/VirtualHost\u003e"},{"line_number":11,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":6,"id":"7aa08908_8a859cd0","line":8,"updated":"2016-06-16 21:48:47.000000000","message":"more confusing is having PUBLICPORT_INT -- it\u0027s public and internal?","commit_id":"b24cf100a302ccf836f43e29931cf70ecbea0bf2"},{"author":{"_account_id":7662,"name":"Rob Crittenden","email":"rcritten@redhat.com","username":"rcritten"},"change_message_id":"e2c865c0a7246b01e0ae8a391711752b6dd9aa7d","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    SSLCertificateFile %SSLCERTFILE%"},{"line_number":6,"context_line":"    SSLCertificateKeyFile %SSLKEYFILE%"},{"line_number":7,"context_line":"    RequestHeader set X-Forwarded-Proto \"https\""},{"line_number":8,"context_line":"    ProxyPass / http://%PUBLICHOST_INT%:%PUBLICPORT_INT%/ retry\u003d10"},{"line_number":9,"context_line":"    ProxyPassReverse / http://%PUBLICHOST_INT%:%PUBLICPORT_INT%/ retry\u003d10"},{"line_number":10,"context_line":"\u003c/VirtualHost\u003e"},{"line_number":11,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":6,"id":"7aa08908_c534b54b","line":8,"in_reply_to":"7aa08908_8a859cd0","updated":"2016-06-16 22:09:10.000000000","message":"I can see your point, it is simple enough tof ix.","commit_id":"b24cf100a302ccf836f43e29931cf70ecbea0bf2"}],"lib/apache":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"0546d9ca8d489fe60286770bbbfd8183f93da5a1","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        :"},{"line_number":206,"context_line":"    fi"},{"line_number":207,"context_line":"    if ! sudo `which httpd || which apache2ctl` -M | grep -w -q ssl_module; then"},{"line_number":208,"context_line":"        die $LINENO \"mod_ssl is not enabled in apache2/httpd, please check for it manually and run stack.sh again\""},{"line_number":209,"context_line":"    fi"},{"line_number":210,"context_line":"}"},{"line_number":211,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"7aa08908_aad058ca","line":208,"updated":"2016-06-16 21:48:47.000000000","message":"this makes me wish gerrit had horizontal scroll ability.","commit_id":"b24cf100a302ccf836f43e29931cf70ecbea0bf2"},{"author":{"_account_id":7662,"name":"Rob Crittenden","email":"rcritten@redhat.com","username":"rcritten"},"change_message_id":"e2c865c0a7246b01e0ae8a391711752b6dd9aa7d","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        :"},{"line_number":206,"context_line":"    fi"},{"line_number":207,"context_line":"    if ! sudo `which httpd || which apache2ctl` -M | grep -w -q ssl_module; then"},{"line_number":208,"context_line":"        die $LINENO \"mod_ssl is not enabled in apache2/httpd, please check for it manually and run stack.sh again\""},{"line_number":209,"context_line":"    fi"},{"line_number":210,"context_line":"}"},{"line_number":211,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"7aa08908_251bf9cb","line":208,"in_reply_to":"7aa08908_aad058ca","updated":"2016-06-16 22:09:10.000000000","message":":-)\n\nThere is a grey-ish bar at the bottom which is a scroll bar. It reads better in diff for sure.","commit_id":"b24cf100a302ccf836f43e29931cf70ecbea0bf2"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f7b7810a990c92e2edd2998ab9ab7a8f0399a3c0","unresolved":false,"context_lines":[{"line_number":64,"context_line":"# install_apache_wsgi() - Install Apache server and wsgi module"},{"line_number":65,"context_line":"function install_apache_wsgi {"},{"line_number":66,"context_line":"    install_apache"},{"line_number":67,"context_line":"    # Apache installation, because we mark it NOPRIME"},{"line_number":68,"context_line":"    if is_ubuntu; then"},{"line_number":69,"context_line":"        install_package libapache2-mod-wsgi"},{"line_number":70,"context_line":"        # WSGI isn\u0027t enabled by default, enable it"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"5a9d85d2_9c499a8e","line":67,"updated":"2016-06-20 23:18:27.000000000","message":"this isn\u0027t installing apache, the previous line installed apache.","commit_id":"6178afb099ead24e6e5921f2bc7f2a62b2c2a9fb"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f7b7810a990c92e2edd2998ab9ab7a8f0399a3c0","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        # WSGI isn\u0027t enabled by default, enable it"},{"line_number":77,"context_line":"        sudo a2enmod wsgi"},{"line_number":78,"context_line":"    else"},{"line_number":79,"context_line":"        exit_distro_not_supported \"wsgi installation\""},{"line_number":80,"context_line":"    fi"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    # ensure mod_version enabled for \u003cIfVersion ...\u003e.  This is"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"5a9d85d2_dc2202b9","line":79,"range":{"start_line":79,"start_character":35,"end_line":79,"end_character":39},"updated":"2016-06-20 23:18:27.000000000","message":"this should be \"apache mod_wsgi\" so it\u0027s more obvious when it goes wrong.","commit_id":"6178afb099ead24e6e5921f2bc7f2a62b2c2a9fb"}],"lib/cinder":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"94eae5fec2f6dbbbc4de42b9350908ab6c7270b0","unresolved":false,"context_lines":[{"line_number":544,"context_line":""},{"line_number":545,"context_line":"    # Start proxies if enabled"},{"line_number":546,"context_line":"    if is_service_enabled c-api \u0026\u0026 is_service_enabled tls-proxy; then"},{"line_number":547,"context_line":"        add_tls_proxy cinder \u0027*\u0027 $CINDER_SERVICE_PORT $CINDER_SERVICE_HOST $CINDER_SERVICE_PORT_INT"},{"line_number":548,"context_line":"        start_tls_proxy"},{"line_number":549,"context_line":"    fi"},{"line_number":550,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"dada55a8_1a82c452","line":547,"range":{"start_line":547,"start_character":22,"end_line":547,"end_character":28},"updated":"2016-07-25 00:57:06.000000000","message":"I\u0027d expect this to be \"c-api\" rather than \"cinder\" since that\u0027s how the API server is referred everywhere else. I\u0027m not going to -1 for this but assume +1 if this is changed.","commit_id":"acd6e5699a8e664b753f14186fdd072d1c918ed7"}],"lib/glance":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"639356432efef948ba9ac9ce41cc96837a70191a","unresolved":false,"context_lines":[{"line_number":388,"context_line":"        if ! wait_for_service $SERVICE_TIMEOUT http://$hostport; then"},{"line_number":389,"context_line":"            die $LINENO \"g-api did not start\""},{"line_number":390,"context_line":"        fi"},{"line_number":391,"context_line":"    fi"},{"line_number":392,"context_line":"    echo \"Waiting for g-api ($GLANCE_HOSTPORT) to start...\""},{"line_number":393,"context_line":"    if ! wait_for_service $SERVICE_TIMEOUT $GLANCE_SERVICE_PROTOCOL://$GLANCE_HOSTPORT; then"},{"line_number":394,"context_line":"        die $LINENO \"g-api did not start\""}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"1a122d0e_f00d5490","line":391,"updated":"2016-05-03 22:26:17.000000000","message":"doesn\u0027t seem like this should be necessary. Should be able to wait for $GLANCE_SERVICE_PROTOCOL://$GLANCE_HOSTPORT to return successfully (no proxy error).","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"3c76cf857da1164dd20f44a7953f5dcd590fba4c","unresolved":false,"context_lines":[{"line_number":388,"context_line":"        if ! wait_for_service $SERVICE_TIMEOUT http://$hostport; then"},{"line_number":389,"context_line":"            die $LINENO \"g-api did not start\""},{"line_number":390,"context_line":"        fi"},{"line_number":391,"context_line":"    fi"},{"line_number":392,"context_line":"    echo \"Waiting for g-api ($GLANCE_HOSTPORT) to start...\""},{"line_number":393,"context_line":"    if ! wait_for_service $SERVICE_TIMEOUT $GLANCE_SERVICE_PROTOCOL://$GLANCE_HOSTPORT; then"},{"line_number":394,"context_line":"        die $LINENO \"g-api did not start\""}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"1a122d0e_a4086792","line":391,"in_reply_to":"1a122d0e_051b50cb","updated":"2016-05-05 15:54:31.000000000","message":"wait_for_service should be enhanced to support waiting until the URL isn\u0027t returning a proxy error but instead a valid response. Then there won\u0027t be a need to wait for the internal service to start up.\n\nI mention this because the future configuration will have the services listening on unix socket and not requiring another port.","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a996d8b19d24c57a151ce99dde1ebd71bd4cfc8b","unresolved":false,"context_lines":[{"line_number":388,"context_line":"        if ! wait_for_service $SERVICE_TIMEOUT http://$hostport; then"},{"line_number":389,"context_line":"            die $LINENO \"g-api did not start\""},{"line_number":390,"context_line":"        fi"},{"line_number":391,"context_line":"    fi"},{"line_number":392,"context_line":"    echo \"Waiting for g-api ($GLANCE_HOSTPORT) to start...\""},{"line_number":393,"context_line":"    if ! wait_for_service $SERVICE_TIMEOUT $GLANCE_SERVICE_PROTOCOL://$GLANCE_HOSTPORT; then"},{"line_number":394,"context_line":"        die $LINENO \"g-api did not start\""}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"1a122d0e_c4492390","line":391,"in_reply_to":"1a122d0e_a4086792","updated":"2016-05-05 16:02:50.000000000","message":"I\u0027d prefer this to be done as a separate commit before this commit because it fixes up things to prevent having to make extra changes here.","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":7662,"name":"Rob Crittenden","email":"rcritten@redhat.com","username":"rcritten"},"change_message_id":"10c5eeede3b5833376fa77cc7e2d7d1b83467354","unresolved":false,"context_lines":[{"line_number":388,"context_line":"        if ! wait_for_service $SERVICE_TIMEOUT http://$hostport; then"},{"line_number":389,"context_line":"            die $LINENO \"g-api did not start\""},{"line_number":390,"context_line":"        fi"},{"line_number":391,"context_line":"    fi"},{"line_number":392,"context_line":"    echo \"Waiting for g-api ($GLANCE_HOSTPORT) to start...\""},{"line_number":393,"context_line":"    if ! wait_for_service $SERVICE_TIMEOUT $GLANCE_SERVICE_PROTOCOL://$GLANCE_HOSTPORT; then"},{"line_number":394,"context_line":"        die $LINENO \"g-api did not start\""}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"1a122d0e_051b50cb","line":391,"in_reply_to":"1a122d0e_f00d5490","updated":"2016-05-04 15:38:22.000000000","message":"The difference is waiting for Apache to come up vs the actual backend service. I was getting launch failures periodically before I added this.","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"0546d9ca8d489fe60286770bbbfd8183f93da5a1","unresolved":false,"context_lines":[{"line_number":388,"context_line":"        die $LINENO \"g-reg did not start\""},{"line_number":389,"context_line":"    fi"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"    #Start g-glare after g-reg/g-api/g-search"},{"line_number":392,"context_line":"    if is_service_enabled g-glare; then"},{"line_number":393,"context_line":"        run_process g-glare \"$GLANCE_BIN_DIR/glance-glare --config-file\u003d$GLANCE_CONF_DIR/glance-glare.conf\""},{"line_number":394,"context_line":"        echo \"Waiting for Glare [g-glare] ($GLANCE_GLARE_HOSTPORT) to start...\""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"7aa08908_0a01ac06","line":391,"updated":"2016-06-16 21:48:47.000000000","message":"I don\u0027t understand this new comment. There was a check for g-api and g-reg but not for g-search.\n\nMaybe the change to add the wait for g-reg could be moved to a separate commit.","commit_id":"b24cf100a302ccf836f43e29931cf70ecbea0bf2"},{"author":{"_account_id":7662,"name":"Rob Crittenden","email":"rcritten@redhat.com","username":"rcritten"},"change_message_id":"e2c865c0a7246b01e0ae8a391711752b6dd9aa7d","unresolved":false,"context_lines":[{"line_number":388,"context_line":"        die $LINENO \"g-reg did not start\""},{"line_number":389,"context_line":"    fi"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"    #Start g-glare after g-reg/g-api/g-search"},{"line_number":392,"context_line":"    if is_service_enabled g-glare; then"},{"line_number":393,"context_line":"        run_process g-glare \"$GLANCE_BIN_DIR/glance-glare --config-file\u003d$GLANCE_CONF_DIR/glance-glare.conf\""},{"line_number":394,"context_line":"        echo \"Waiting for Glare [g-glare] ($GLANCE_GLARE_HOSTPORT) to start...\""}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"7aa08908_a5d369d4","line":391,"in_reply_to":"7aa08908_0a01ac06","updated":"2016-06-16 22:09:10.000000000","message":"I think the language is a merge mistake. I\u0027ll need to see how well this patch stands on its own without this, and in fact the wait may not be absolutely necessary with the wait_for_service fix. I\u0027ll test and report.","commit_id":"b24cf100a302ccf836f43e29931cf70ecbea0bf2"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"94eae5fec2f6dbbbc4de42b9350908ab6c7270b0","unresolved":false,"context_lines":[{"line_number":383,"context_line":"function start_glance {"},{"line_number":384,"context_line":"    local service_protocol\u003d$GLANCE_SERVICE_PROTOCOL"},{"line_number":385,"context_line":"    if is_service_enabled tls-proxy; then"},{"line_number":386,"context_line":"        add_tls_proxy glance \u0027*\u0027 $GLANCE_SERVICE_PORT $GLANCE_SERVICE_HOST $GLANCE_SERVICE_PORT_INT"},{"line_number":387,"context_line":"        add_tls_proxy glance \u0027*\u0027 $GLANCE_REGISTRY_PORT $GLANCE_SERVICE_HOST $GLANCE_REGISTRY_PORT_INT"},{"line_number":388,"context_line":"        start_tls_proxy"},{"line_number":389,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"dada55a8_5a7c3c72","line":386,"range":{"start_line":386,"start_character":22,"end_line":386,"end_character":28},"updated":"2016-07-25 00:57:06.000000000","message":"similar comment here, I\u0027d expect g-api.","commit_id":"acd6e5699a8e664b753f14186fdd072d1c918ed7"}],"lib/keystone":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"639356432efef948ba9ac9ce41cc96837a70191a","unresolved":false,"context_lines":[{"line_number":550,"context_line":""},{"line_number":551,"context_line":"    if [ \"$KEYSTONE_DEPLOY\" \u003d\u003d \"mod_wsgi\" ]; then"},{"line_number":552,"context_line":"        install_apache_wsgi"},{"line_number":553,"context_line":"        if is_ssl_enabled_service \"key\" || is_service_enabled tls-proxy; then"},{"line_number":554,"context_line":"            enable_mod_ssl"},{"line_number":555,"context_line":"        fi"},{"line_number":556,"context_line":"    elif [ \"$KEYSTONE_DEPLOY\" \u003d\u003d \"uwsgi\" ]; then"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"1a122d0e_f05b9484","line":553,"updated":"2016-05-03 22:26:17.000000000","message":"seems like tls proxy enabling mod_ssl could happen in its own lib/tls-proxy file rather than being done in lib/keystone. I think that would better match the direction we\u0027re going with apache always being used.","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a996d8b19d24c57a151ce99dde1ebd71bd4cfc8b","unresolved":false,"context_lines":[{"line_number":550,"context_line":""},{"line_number":551,"context_line":"    if [ \"$KEYSTONE_DEPLOY\" \u003d\u003d \"mod_wsgi\" ]; then"},{"line_number":552,"context_line":"        install_apache_wsgi"},{"line_number":553,"context_line":"        if is_ssl_enabled_service \"key\" || is_service_enabled tls-proxy; then"},{"line_number":554,"context_line":"            enable_mod_ssl"},{"line_number":555,"context_line":"        fi"},{"line_number":556,"context_line":"    elif [ \"$KEYSTONE_DEPLOY\" \u003d\u003d \"uwsgi\" ]; then"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"1a122d0e_04403b5e","line":553,"in_reply_to":"1a122d0e_c57158e0","updated":"2016-05-05 16:02:50.000000000","message":"Creating a lib/httpd or whatever can be done as a follow-on review (or can be done before if you want to clean this up first).","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":7662,"name":"Rob Crittenden","email":"rcritten@redhat.com","username":"rcritten"},"change_message_id":"10c5eeede3b5833376fa77cc7e2d7d1b83467354","unresolved":false,"context_lines":[{"line_number":550,"context_line":""},{"line_number":551,"context_line":"    if [ \"$KEYSTONE_DEPLOY\" \u003d\u003d \"mod_wsgi\" ]; then"},{"line_number":552,"context_line":"        install_apache_wsgi"},{"line_number":553,"context_line":"        if is_ssl_enabled_service \"key\" || is_service_enabled tls-proxy; then"},{"line_number":554,"context_line":"            enable_mod_ssl"},{"line_number":555,"context_line":"        fi"},{"line_number":556,"context_line":"    elif [ \"$KEYSTONE_DEPLOY\" \u003d\u003d \"uwsgi\" ]; then"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"1a122d0e_c57158e0","line":553,"in_reply_to":"1a122d0e_f045546f","updated":"2016-05-04 15:38:22.000000000","message":"Ok, moving this and the proxy setup seems reasonable to split out given the move to Apache.","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2ed9eef8af770cff4c5ce749959e120dad65c64e","unresolved":false,"context_lines":[{"line_number":550,"context_line":""},{"line_number":551,"context_line":"    if [ \"$KEYSTONE_DEPLOY\" \u003d\u003d \"mod_wsgi\" ]; then"},{"line_number":552,"context_line":"        install_apache_wsgi"},{"line_number":553,"context_line":"        if is_ssl_enabled_service \"key\" || is_service_enabled tls-proxy; then"},{"line_number":554,"context_line":"            enable_mod_ssl"},{"line_number":555,"context_line":"        fi"},{"line_number":556,"context_line":"    elif [ \"$KEYSTONE_DEPLOY\" \u003d\u003d \"uwsgi\" ]; then"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"1a122d0e_f045546f","line":553,"in_reply_to":"1a122d0e_f05b9484","updated":"2016-05-03 22:26:51.000000000","message":"now I\u0027m thinking lib/tls-proxy isn\u0027t a good name, how about lib/httpd ?","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"639356432efef948ba9ac9ce41cc96837a70191a","unresolved":false,"context_lines":[{"line_number":558,"context_line":"    fi"},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"    if is_service_enabled tls-proxy; then"},{"line_number":561,"context_line":"        enable_mod_proxy"},{"line_number":562,"context_line":"    fi"},{"line_number":563,"context_line":"}"},{"line_number":564,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"1a122d0e_50da48ea","line":561,"updated":"2016-05-03 22:26:17.000000000","message":"same comment applies here. It\u0027s not keystone that\u0027s setting up tls-proxy so I would prefer that this isn\u0027t in lib/keystone.","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"78ab6addbb6142bbf37b450b38a948ef783179e9","unresolved":false,"context_lines":[{"line_number":610,"context_line":"    # Start proxies if enabled"},{"line_number":611,"context_line":"    if is_service_enabled tls-proxy; then"},{"line_number":612,"context_line":"        if [ \"$KEYSTONE_DEPLOY\" \u003d\u003d \"mod_wsgi\" ]; then"},{"line_number":613,"context_line":"            add_tls_proxy \u0027*\u0027 443 $KEYSTONE_SERVICE_HOST 80 True"},{"line_number":614,"context_line":"        fi"},{"line_number":615,"context_line":"        add_tls_proxy \u0027*\u0027 $KEYSTONE_SERVICE_PORT $KEYSTONE_SERVICE_HOST $KEYSTONE_SERVICE_PORT_INT"},{"line_number":616,"context_line":"        add_tls_proxy \u0027*\u0027 $KEYSTONE_AUTH_PORT $KEYSTONE_AUTH_HOST $KEYSTONE_AUTH_PORT_INT"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"3aaa91ec_a3a229fa","line":613,"updated":"2016-06-29 14:17:25.000000000","message":"I haven\u0027t been able to figure out why this is here... this could use a comment. It looks like keystone supports both unsecure on 80 and TLS on 443 ... what\u0027s the point? If we\u0027re going to do TLS then just do TLS and don\u0027t have keystone listening on port 80.","commit_id":"90fe4279c0882c00cbd8f07732fb8d099872d66b"},{"author":{"_account_id":7662,"name":"Rob Crittenden","email":"rcritten@redhat.com","username":"rcritten"},"change_message_id":"c33942f063ecf772942644f150d26da69ff1e6a9","unresolved":false,"context_lines":[{"line_number":610,"context_line":"    # Start proxies if enabled"},{"line_number":611,"context_line":"    if is_service_enabled tls-proxy; then"},{"line_number":612,"context_line":"        if [ \"$KEYSTONE_DEPLOY\" \u003d\u003d \"mod_wsgi\" ]; then"},{"line_number":613,"context_line":"            add_tls_proxy \u0027*\u0027 443 $KEYSTONE_SERVICE_HOST 80 True"},{"line_number":614,"context_line":"        fi"},{"line_number":615,"context_line":"        add_tls_proxy \u0027*\u0027 $KEYSTONE_SERVICE_PORT $KEYSTONE_SERVICE_HOST $KEYSTONE_SERVICE_PORT_INT"},{"line_number":616,"context_line":"        add_tls_proxy \u0027*\u0027 $KEYSTONE_AUTH_PORT $KEYSTONE_AUTH_HOST $KEYSTONE_AUTH_PORT_INT"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"3aaa91ec_864cdec9","line":613,"in_reply_to":"3aaa91ec_a3a229fa","updated":"2016-07-01 15:04:00.000000000","message":"I\u0027m going to add a redirect from 80 to 443 for Keystone. Trying to rip out listening on port 80 would be too invasive IMHO.","commit_id":"90fe4279c0882c00cbd8f07732fb8d099872d66b"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"94eae5fec2f6dbbbc4de42b9350908ab6c7270b0","unresolved":false,"context_lines":[{"line_number":196,"context_line":"        s|%USER%|$STACK_USER|g;"},{"line_number":197,"context_line":"        s|%VIRTUALENV%|$venv_path|g;"},{"line_number":198,"context_line":"        s|%KEYSTONE_BIN%|$KEYSTONE_BIN_DIR|g;"},{"line_number":199,"context_line":"        s|%REDIRECT_IDENTITY%|$redirect_idenrity|g;"},{"line_number":200,"context_line":"        s|%REDIRECT_IDENTITY_V2_ADMIN%|$redirect_idenrity_v2_admin|g;"},{"line_number":201,"context_line":"    \" -i $keystone_apache_conf"},{"line_number":202,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"dada55a8_9a96b492","line":199,"range":{"start_line":199,"start_character":44,"end_line":199,"end_character":45},"updated":"2016-07-25 00:57:06.000000000","message":"typo - \"idenrity\" -\u003e \"identity\". This needs testing.","commit_id":"acd6e5699a8e664b753f14186fdd072d1c918ed7"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"94eae5fec2f6dbbbc4de42b9350908ab6c7270b0","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        s|%VIRTUALENV%|$venv_path|g;"},{"line_number":198,"context_line":"        s|%KEYSTONE_BIN%|$KEYSTONE_BIN_DIR|g;"},{"line_number":199,"context_line":"        s|%REDIRECT_IDENTITY%|$redirect_idenrity|g;"},{"line_number":200,"context_line":"        s|%REDIRECT_IDENTITY_V2_ADMIN%|$redirect_idenrity_v2_admin|g;"},{"line_number":201,"context_line":"    \" -i $keystone_apache_conf"},{"line_number":202,"context_line":"}"},{"line_number":203,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"dada55a8_7a91409a","line":200,"range":{"start_line":200,"start_character":49,"end_line":200,"end_character":57},"updated":"2016-07-25 00:57:06.000000000","message":"identity","commit_id":"acd6e5699a8e664b753f14186fdd072d1c918ed7"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"94eae5fec2f6dbbbc4de42b9350908ab6c7270b0","unresolved":false,"context_lines":[{"line_number":615,"context_line":""},{"line_number":616,"context_line":"    # Start proxies if enabled"},{"line_number":617,"context_line":"    if is_service_enabled tls-proxy; then"},{"line_number":618,"context_line":"        if [ \"$KEYSTONE_DEPLOY\" \u003d\u003d \"mod_wsgi\" ]; then"},{"line_number":619,"context_line":"            # Keystone is moving away from ports to use URLs instead."},{"line_number":620,"context_line":"            # Configure a proxy so https://localhost/identity* works."},{"line_number":621,"context_line":"            add_tls_proxy keystone \u0027*\u0027 443 $KEYSTONE_SERVICE_HOST 80 True"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"dada55a8_3af6a8f9","line":618,"updated":"2016-07-25 00:57:06.000000000","message":"If keystone is deployed mod_wsgi with keystone then should be able to just have keystone accept connections on port 443. No proxying necessary. Leave this as it is if you want, we can clean this up later.","commit_id":"acd6e5699a8e664b753f14186fdd072d1c918ed7"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"94eae5fec2f6dbbbc4de42b9350908ab6c7270b0","unresolved":false,"context_lines":[{"line_number":616,"context_line":"    # Start proxies if enabled"},{"line_number":617,"context_line":"    if is_service_enabled tls-proxy; then"},{"line_number":618,"context_line":"        if [ \"$KEYSTONE_DEPLOY\" \u003d\u003d \"mod_wsgi\" ]; then"},{"line_number":619,"context_line":"            # Keystone is moving away from ports to use URLs instead."},{"line_number":620,"context_line":"            # Configure a proxy so https://localhost/identity* works."},{"line_number":621,"context_line":"            add_tls_proxy keystone \u0027*\u0027 443 $KEYSTONE_SERVICE_HOST 80 True"},{"line_number":622,"context_line":"        fi"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"dada55a8_ba8bb867","line":619,"range":{"start_line":619,"start_character":14,"end_line":619,"end_character":23},"updated":"2016-07-25 00:57:06.000000000","message":"This says \"Keystone\" but it\u0027s intended that all services do this.","commit_id":"acd6e5699a8e664b753f14186fdd072d1c918ed7"}],"lib/neutron-legacy":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"0546d9ca8d489fe60286770bbbfd8183f93da5a1","unresolved":false,"context_lines":[{"line_number":499,"context_line":""},{"line_number":500,"context_line":"    # Start proxy if enabled"},{"line_number":501,"context_line":"    if is_service_enabled tls-proxy; then"},{"line_number":502,"context_line":"        add_tls_proxy \u0027*\u0027 $Q_PORT $Q_HOST $Q_PORT_INT"},{"line_number":503,"context_line":"        start_tls_proxy"},{"line_number":504,"context_line":"    fi"},{"line_number":505,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"7aa08908_252f7989","line":502,"range":{"start_line":502,"start_character":22,"end_line":502,"end_character":25},"updated":"2016-06-16 21:48:47.000000000","message":"is this ever anything other than \u0027*\u0027?","commit_id":"b24cf100a302ccf836f43e29931cf70ecbea0bf2"},{"author":{"_account_id":7662,"name":"Rob Crittenden","email":"rcritten@redhat.com","username":"rcritten"},"change_message_id":"e2c865c0a7246b01e0ae8a391711752b6dd9aa7d","unresolved":false,"context_lines":[{"line_number":499,"context_line":""},{"line_number":500,"context_line":"    # Start proxy if enabled"},{"line_number":501,"context_line":"    if is_service_enabled tls-proxy; then"},{"line_number":502,"context_line":"        add_tls_proxy \u0027*\u0027 $Q_PORT $Q_HOST $Q_PORT_INT"},{"line_number":503,"context_line":"        start_tls_proxy"},{"line_number":504,"context_line":"    fi"},{"line_number":505,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"7aa08908_e5d571b7","line":502,"range":{"start_line":502,"start_character":22,"end_line":502,"end_character":25},"in_reply_to":"7aa08908_252f7989","updated":"2016-06-16 22:09:10.000000000","message":"Not yet. I had dropped this in an earlier patch and re-added it just in case it was ever needed.","commit_id":"b24cf100a302ccf836f43e29931cf70ecbea0bf2"}],"lib/nova":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7e554350a241b4a6ddf9ef73fb3343d824d8f84f","unresolved":false,"context_lines":[{"line_number":505,"context_line":"            # Set the service port for a proxy to take the original"},{"line_number":506,"context_line":"            iniset $NOVA_CONF DEFAULT osapi_compute_listen_port \"$NOVA_SERVICE_PORT_INT\""},{"line_number":507,"context_line":"            iniset $NOVA_CONF DEFAULT osapi_compute_link_prefix $NOVA_SERVICE_PROTOCOL://$NOVA_SERVICE_HOST:$NOVA_SERVICE_PORT"},{"line_number":508,"context_line":"            iniset $NOVA_API_PASTE_INI filter:ssl_header_handler paste.filter_factory oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory"},{"line_number":509,"context_line":"            iniset $NOVA_API_PASTE_INI composite:openstack_compute_api_v21 keystone \"ssl_header_handler cors compute_req_id faultwrap sizelimit authtoken keystonecontext osapi_compute_app_v21\""},{"line_number":510,"context_line":"        fi"},{"line_number":511,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a122d0e_95f1b798","line":508,"updated":"2016-04-21 14:58:29.000000000","message":"Consider making this the default in nova, otherwise it\u0027s goin to be impossible to maintain 2 copies.","commit_id":"74947c8a8c6b7791ee30efe1476df40fe266d781"},{"author":{"_account_id":7662,"name":"Rob Crittenden","email":"rcritten@redhat.com","username":"rcritten"},"change_message_id":"69c26ca0403c09f8c9b745f14556f13a1aed6453","unresolved":false,"context_lines":[{"line_number":505,"context_line":"            # Set the service port for a proxy to take the original"},{"line_number":506,"context_line":"            iniset $NOVA_CONF DEFAULT osapi_compute_listen_port \"$NOVA_SERVICE_PORT_INT\""},{"line_number":507,"context_line":"            iniset $NOVA_CONF DEFAULT osapi_compute_link_prefix $NOVA_SERVICE_PROTOCOL://$NOVA_SERVICE_HOST:$NOVA_SERVICE_PORT"},{"line_number":508,"context_line":"            iniset $NOVA_API_PASTE_INI filter:ssl_header_handler paste.filter_factory oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory"},{"line_number":509,"context_line":"            iniset $NOVA_API_PASTE_INI composite:openstack_compute_api_v21 keystone \"ssl_header_handler cors compute_req_id faultwrap sizelimit authtoken keystonecontext osapi_compute_app_v21\""},{"line_number":510,"context_line":"        fi"},{"line_number":511,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"1a122d0e_188bdc1f","line":508,"in_reply_to":"1a122d0e_95f1b798","updated":"2016-04-22 19:43:09.000000000","message":"I filed https://bugs.launchpad.net/nova/+bug/1573766","commit_id":"74947c8a8c6b7791ee30efe1476df40fe266d781"}],"lib/tls":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"639356432efef948ba9ac9ce41cc96837a70191a","unresolved":false,"context_lines":[{"line_number":453,"context_line":"    fi"},{"line_number":454,"context_line":"}"},{"line_number":455,"context_line":""},{"line_number":456,"context_line":"# Proxy Functions"},{"line_number":457,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"# Enable the proxy, mod_proxy_http and headers plugins in Apache"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"1a122d0e_30fcec3e","line":456,"updated":"2016-05-03 22:26:17.000000000","message":"revert the unrelated whitespace change on the previous line.","commit_id":"01d7eff82c5b2031c9a03e0b5d9edb6cec4956fa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f7b7810a990c92e2edd2998ab9ab7a8f0399a3c0","unresolved":false,"context_lines":[{"line_number":24,"context_line":"# - make_root_CA"},{"line_number":25,"context_line":"# - make_int_CA"},{"line_number":26,"context_line":"# - make_cert ca-dir cert-name \"common-name\" [\"alt-name\" ...]"},{"line_number":27,"context_line":"# - add_tls_proxy HOST_IP 5000 localhost 5000"},{"line_number":28,"context_line":"# - start_tls_proxy"},{"line_number":29,"context_line":"# - ensure_certificates"},{"line_number":30,"context_line":"# - is_ssl_enabled_service"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"5a9d85d2_975cd526","line":27,"updated":"2016-06-20 23:18:27.000000000","message":"would be nice to improve the documentation here.","commit_id":"6178afb099ead24e6e5921f2bc7f2a62b2c2a9fb"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"94eae5fec2f6dbbbc4de42b9350908ab6c7270b0","unresolved":false,"context_lines":[{"line_number":438,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"# Adds configuration for the TLS proxy for the given IP/ports"},{"line_number":441,"context_line":"# add_tls_proxy service front-host front-port back-host back-port nolistener"},{"line_number":442,"context_line":"#"},{"line_number":443,"context_line":"# Service is only used to name the configuration file for the proxy"},{"line_number":444,"context_line":"# configuration, tlsproxy-\u003cservice\u003e.conf"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"dada55a8_bae2982d","line":441,"updated":"2016-07-25 00:57:06.000000000","message":"suggest make the change to add the \"service\" parameter in a separate commit before this one to make it a little easier to review.","commit_id":"acd6e5699a8e664b753f14186fdd072d1c918ed7"}],"stack.sh":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"0546d9ca8d489fe60286770bbbfd8183f93da5a1","unresolved":false,"context_lines":[{"line_number":870,"context_line":"fi"},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"if is_service_enabled tls-proxy; then"},{"line_number":873,"context_line":"    install_apache_wsgi"},{"line_number":874,"context_line":"    enable_mod_ssl"},{"line_number":875,"context_line":"    enable_mod_proxy"},{"line_number":876,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":6,"id":"7aa08908_45e72540","line":873,"updated":"2016-06-16 21:48:47.000000000","message":"why is wsgi needed for tls-proxy?","commit_id":"b24cf100a302ccf836f43e29931cf70ecbea0bf2"},{"author":{"_account_id":7662,"name":"Rob Crittenden","email":"rcritten@redhat.com","username":"rcritten"},"change_message_id":"e2c865c0a7246b01e0ae8a391711752b6dd9aa7d","unresolved":false,"context_lines":[{"line_number":870,"context_line":"fi"},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"if is_service_enabled tls-proxy; then"},{"line_number":873,"context_line":"    install_apache_wsgi"},{"line_number":874,"context_line":"    enable_mod_ssl"},{"line_number":875,"context_line":"    enable_mod_proxy"},{"line_number":876,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":6,"id":"7aa08908_258e59d0","line":873,"in_reply_to":"7aa08908_45e72540","updated":"2016-06-16 22:09:10.000000000","message":"I think I did it to ensure apache was installed. I can break this out into install_apache and install apache_wsgi if desired. I didn\u0027t see having wsgi installed but potentially not used as a problem.","commit_id":"b24cf100a302ccf836f43e29931cf70ecbea0bf2"}]}
