)]}'
{"devstack/lib/haproxy.sh":[{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"b8c3ff4a1494592c9746bd8af61a83a785120e05","unresolved":false,"context_lines":[{"line_number":81,"context_line":"            \"sudo /bin/systemctl restart haproxy || sudo service haproxy restart\""},{"line_number":82,"context_line":"    fi"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    if [[ \"$DATABASE_HOST\" \u003d\u003d \"$HOST_IP\" ]] || [[ \"$DATABASE_HOST\" \u003d\u003d \"127.0.0.1\" ]]; then"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        # Update Keystone endpoint to use HAProxy fronted."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        if [[ \"$DATABASE_TYPE\" \u003d\u003d \"mysql\" ]]; then"},{"line_number":89,"context_line":"            mysql -u root -psupersecret keystone -e \"${sql_update_admin_endpoint}\";"},{"line_number":90,"context_line":"            mysql -u root -psupersecret keystone -e \"${sql_update_public_endpoint}\";"},{"line_number":91,"context_line":"        elif [[ \"$DATABASE_TYPE\" \u003d\u003d \"postgresql\" ]]; then"},{"line_number":92,"context_line":"            psql -U root -Wsupersecret -d keystone -c \"${sql_update_admin_endpoint}\";"},{"line_number":93,"context_line":"            psql -U root -Wsupersecret -d keystone -c \"${sql_update_public_endpoint}\";"},{"line_number":94,"context_line":"        fi"},{"line_number":95,"context_line":"    fi"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    # Configure openStack services to authenticate via HAProxy fronted."},{"line_number":98,"context_line":""}],"source_content_type":"text/x-sh","patch_set":11,"id":"3a71b18c_6cec782a","line":95,"range":{"start_line":84,"start_character":0,"end_line":95,"end_character":6},"updated":"2016-12-06 12:13:45.000000000","message":"this can be in another function","commit_id":"88470070a1b7777c61dc8bc6b2107a2f740e40cb"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"d309d65f2dd1e5f791efd7bda044cccec67cb1e6","unresolved":false,"context_lines":[{"line_number":81,"context_line":"            \"sudo /bin/systemctl restart haproxy || sudo service haproxy restart\""},{"line_number":82,"context_line":"    fi"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    if [[ \"$DATABASE_HOST\" \u003d\u003d \"$HOST_IP\" ]] || [[ \"$DATABASE_HOST\" \u003d\u003d \"127.0.0.1\" ]]; then"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        # Update Keystone endpoint to use HAProxy fronted."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        if [[ \"$DATABASE_TYPE\" \u003d\u003d \"mysql\" ]]; then"},{"line_number":89,"context_line":"            mysql -u root -psupersecret keystone -e \"${sql_update_admin_endpoint}\";"},{"line_number":90,"context_line":"            mysql -u root -psupersecret keystone -e \"${sql_update_public_endpoint}\";"},{"line_number":91,"context_line":"        elif [[ \"$DATABASE_TYPE\" \u003d\u003d \"postgresql\" ]]; then"},{"line_number":92,"context_line":"            psql -U root -Wsupersecret -d keystone -c \"${sql_update_admin_endpoint}\";"},{"line_number":93,"context_line":"            psql -U root -Wsupersecret -d keystone -c \"${sql_update_public_endpoint}\";"},{"line_number":94,"context_line":"        fi"},{"line_number":95,"context_line":"    fi"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    # Configure openStack services to authenticate via HAProxy fronted."},{"line_number":98,"context_line":""}],"source_content_type":"text/x-sh","patch_set":11,"id":"3a71b18c_075a6150","line":95,"range":{"start_line":84,"start_character":0,"end_line":95,"end_character":6},"in_reply_to":"3a71b18c_6cec782a","updated":"2016-12-09 10:43:34.000000000","message":"Done","commit_id":"88470070a1b7777c61dc8bc6b2107a2f740e40cb"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"b8c3ff4a1494592c9746bd8af61a83a785120e05","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        fi"},{"line_number":95,"context_line":"    fi"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    # Configure openStack services to authenticate via HAProxy fronted."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    for service in nova cinder neutron; do"},{"line_number":100,"context_line":"        safe_iniset \"/etc/${service}/${service}.conf\" keystone_authtoken auth_uri $auth_uri"}],"source_content_type":"text/x-sh","patch_set":11,"id":"3a71b18c_0caea4e5","line":97,"range":{"start_line":97,"start_character":4,"end_line":97,"end_character":71},"updated":"2016-12-06 12:13:45.000000000","message":"I\u0027d separate this in another function","commit_id":"88470070a1b7777c61dc8bc6b2107a2f740e40cb"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"d309d65f2dd1e5f791efd7bda044cccec67cb1e6","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        fi"},{"line_number":95,"context_line":"    fi"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    # Configure openStack services to authenticate via HAProxy fronted."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    for service in nova cinder neutron; do"},{"line_number":100,"context_line":"        safe_iniset \"/etc/${service}/${service}.conf\" keystone_authtoken auth_uri $auth_uri"}],"source_content_type":"text/x-sh","patch_set":11,"id":"3a71b18c_6731550b","line":97,"range":{"start_line":97,"start_character":4,"end_line":97,"end_character":71},"in_reply_to":"3a71b18c_0caea4e5","updated":"2016-12-09 10:43:34.000000000","message":"Done","commit_id":"88470070a1b7777c61dc8bc6b2107a2f740e40cb"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"b8c3ff4a1494592c9746bd8af61a83a785120e05","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    safe_iniset $TEMPEST_CONFIG identity uri_v3 $HAPROXY_FRONTEND/v3"},{"line_number":120,"context_line":"}"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"function safe_iniset {"},{"line_number":123,"context_line":"    if [[ -e $1 ]]; then"},{"line_number":124,"context_line":"        iniset $1 $2 $3 $4"},{"line_number":125,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":11,"id":"3a71b18c_0c94e440","line":122,"range":{"start_line":122,"start_character":9,"end_line":122,"end_character":20},"updated":"2016-12-06 12:13:45.000000000","message":"add a comment for this function, looks like it is used to ignore when a config file doesn\u0027t exist? Why is this acceptable?","commit_id":"88470070a1b7777c61dc8bc6b2107a2f740e40cb"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"d309d65f2dd1e5f791efd7bda044cccec67cb1e6","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    safe_iniset $TEMPEST_CONFIG identity uri_v3 $HAPROXY_FRONTEND/v3"},{"line_number":120,"context_line":"}"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"function safe_iniset {"},{"line_number":123,"context_line":"    if [[ -e $1 ]]; then"},{"line_number":124,"context_line":"        iniset $1 $2 $3 $4"},{"line_number":125,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":11,"id":"3a71b18c_6a4d9c71","line":122,"range":{"start_line":122,"start_character":9,"end_line":122,"end_character":20},"in_reply_to":"3a71b18c_0c94e440","updated":"2016-12-09 10:43:34.000000000","message":"I removed this function and added check if service is enabled instead.","commit_id":"88470070a1b7777c61dc8bc6b2107a2f740e40cb"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"fe5a839d4682a4bd1a3324f0ea0158ed424dc436","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        iniset /etc/keystone/keystone.conf DEFAULT admin_endpoint $KEYSTONE_AUTH_PROTOCOL://$HOST_IP/identity_admin"},{"line_number":79,"context_line":"        iniset /etc/keystone/keystone.conf DEFAULT public_endpoint $KEYSTONE_SERVICE_PROTOCOL://$HOST_IP/identity"},{"line_number":80,"context_line":"       "},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        restart_service apache2"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-sh","patch_set":12,"id":"3a71b18c_ec2544c2","line":80,"updated":"2016-12-09 13:44:40.000000000","message":"you should remove this spaces","commit_id":"ac6d55f04b039e19d87a18eaf07ca94ae5dd7d61"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"ab33c288d4103e195956bf9cee61ffdf57e0ff0f","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        iniset /etc/keystone/keystone.conf DEFAULT admin_endpoint $KEYSTONE_AUTH_PROTOCOL://$HOST_IP/identity_admin"},{"line_number":79,"context_line":"        iniset /etc/keystone/keystone.conf DEFAULT public_endpoint $KEYSTONE_SERVICE_PROTOCOL://$HOST_IP/identity"},{"line_number":80,"context_line":"       "},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        restart_service apache2"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-sh","patch_set":12,"id":"3a71b18c_f23a7a33","line":80,"in_reply_to":"3a71b18c_ec2544c2","updated":"2016-12-09 13:50:09.000000000","message":"Done","commit_id":"ac6d55f04b039e19d87a18eaf07ca94ae5dd7d61"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"704beb7626aa9c0c5d992f68eda09441fb47b06f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"KEYSTONE_FRONTEND_PORT\u003d${KEYSTONE_FRONTEND_PORT:-5001}"},{"line_number":19,"context_line":"HAPROXY_HOST\u003d${HAPROXY_HOST:-$SERVICE_HOST}"},{"line_number":20,"context_line":"HAPROXY_FRONTEND\u003d\"http://$HAPROXY_HOST:$KEYSTONE_FRONTEND_PORT\""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-sh","patch_set":15,"id":"1a6eadb0_375a2750","line":18,"range":{"start_line":18,"start_character":49,"end_line":18,"end_character":53},"updated":"2016-12-14 13:37:56.000000000","message":"doubt, how the /identity and /identity_admin aliases are going to respond? As per lines 22 and 23. The /identity and /identity_admin aliases are handled by a wsgi script.","commit_id":"d2abfb8d571b2897c29e4b2414910b74bf0aa890"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"ef4d60508cd66794847eddf67385d1db3be825e2","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"KEYSTONE_FRONTEND_PORT\u003d${KEYSTONE_FRONTEND_PORT:-5001}"},{"line_number":19,"context_line":"HAPROXY_HOST\u003d${HAPROXY_HOST:-$SERVICE_HOST}"},{"line_number":20,"context_line":"HAPROXY_FRONTEND\u003d\"http://$HAPROXY_HOST:$KEYSTONE_FRONTEND_PORT\""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-sh","patch_set":15,"id":"1a6eadb0_6d64d021","line":18,"range":{"start_line":18,"start_character":49,"end_line":18,"end_character":53},"in_reply_to":"1a6eadb0_375a2750","updated":"2016-12-14 14:03:44.000000000","message":"Could you please explain the issue in more details? Unfortunately I\u0027m not very familiar with wsgi.","commit_id":"d2abfb8d571b2897c29e4b2414910b74bf0aa890"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"36c8ab149e27fc0a8026b8de6143737bece0a391","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"KEYSTONE_FRONTEND_PORT\u003d${KEYSTONE_FRONTEND_PORT:-5001}"},{"line_number":19,"context_line":"HAPROXY_HOST\u003d${HAPROXY_HOST:-$SERVICE_HOST}"},{"line_number":20,"context_line":"HAPROXY_FRONTEND\u003d\"http://$HAPROXY_HOST:$KEYSTONE_FRONTEND_PORT\""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-sh","patch_set":15,"id":"1a6eadb0_fd337bf4","line":18,"range":{"start_line":18,"start_character":49,"end_line":18,"end_character":53},"in_reply_to":"1a6eadb0_4788a2c5","updated":"2016-12-19 12:04:42.000000000","message":"Ok, thank you for explanation! I\u0027ve changed the plugin to create 2 haproxy frontends.","commit_id":"d2abfb8d571b2897c29e4b2414910b74bf0aa890"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"fc84e739bc3540515714bc0d1e5e6480050d3dbe","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"KEYSTONE_FRONTEND_PORT\u003d${KEYSTONE_FRONTEND_PORT:-5001}"},{"line_number":19,"context_line":"HAPROXY_HOST\u003d${HAPROXY_HOST:-$SERVICE_HOST}"},{"line_number":20,"context_line":"HAPROXY_FRONTEND\u003d\"http://$HAPROXY_HOST:$KEYSTONE_FRONTEND_PORT\""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-sh","patch_set":15,"id":"1a6eadb0_4788a2c5","line":18,"range":{"start_line":18,"start_character":49,"end_line":18,"end_character":53},"in_reply_to":"1a6eadb0_6d64d021","updated":"2016-12-15 10:56:58.000000000","message":"so... if you check keystone\u0027s conf in httpd, you see something like [1] (see line 43), that is WSGI script that handles /identity and /identity_admin. Its content is [2].\n\nMy doubt is: ha_proxy is receiving requests at port 5001 *and* using /identity or /identity_admin and redirecting to the \"actual\" keystone server at port 5000. Since /identity and /identity_admin are defined by a script in keystone\u0027s conf, I don\u0027t see how it would properly work with the ha_proxy frontend. I would expect having two ha_proxy frontends (one port for public and another port for admin) that would redirect to the keystone servers (ha_proxy backends) at /identity and /identity_admin.\n\n[1] http://paste.openstack.org/show/592444/\n[2] http://paste.openstack.org/show/592446/","commit_id":"d2abfb8d571b2897c29e4b2414910b74bf0aa890"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"704beb7626aa9c0c5d992f68eda09441fb47b06f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"HAPROXY_HOST\u003d${HAPROXY_HOST:-$SERVICE_HOST}"},{"line_number":20,"context_line":"HAPROXY_FRONTEND\u003d\"http://$HAPROXY_HOST:$KEYSTONE_FRONTEND_PORT\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"AUTH_URI\u003d\"${HAPROXY_FRONTEND}/identity\""},{"line_number":23,"context_line":"AUTH_URL\u003d\"${HAPROXY_FRONTEND}/identity_admin\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"function configure_haproxy {"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-sh","patch_set":15,"id":"1a6eadb0_72066dcf","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":45},"updated":"2016-12-14 13:37:56.000000000","message":"this is going to redirect the /identity and /identity_admin calls to the HOST:5000, right? As you are defining in line 52. Wasn\u0027t expecting this to work...","commit_id":"d2abfb8d571b2897c29e4b2414910b74bf0aa890"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"63546244d7eeae4a86b085948ba5188af264ee39","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"KEYSTONE_PUBLIC_FRONTEND_PORT\u003d${KEYSTONE_PUBLIC_FRONTEND_PORT:-5001}"},{"line_number":19,"context_line":"KEYSTONE_ADMIN_FRONTEND_PORT\u003d${KEYSTONE_ADMIN_FRONTEND_PORT:-5002}"},{"line_number":20,"context_line":"HAPROXY_HOST\u003d${HAPROXY_HOST:-$SERVICE_HOST}"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-sh","patch_set":18,"id":"1a6eadb0_8324e5af","line":18,"range":{"start_line":18,"start_character":63,"end_line":18,"end_character":67},"updated":"2016-12-19 14:23:19.000000000","message":"there are some tools that deploys keystone public endpoint behind 13000, when using haproxy.","commit_id":"154313a37c8d29d187923073f541899e9598da45"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"325ca1d1b35fa2a00a09980f3a0b670c341065de","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"KEYSTONE_PUBLIC_FRONTEND_PORT\u003d${KEYSTONE_PUBLIC_FRONTEND_PORT:-5001}"},{"line_number":19,"context_line":"KEYSTONE_ADMIN_FRONTEND_PORT\u003d${KEYSTONE_ADMIN_FRONTEND_PORT:-5002}"},{"line_number":20,"context_line":"HAPROXY_HOST\u003d${HAPROXY_HOST:-$SERVICE_HOST}"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-sh","patch_set":18,"id":"1a6eadb0_bd62bad6","line":18,"range":{"start_line":18,"start_character":63,"end_line":18,"end_character":67},"in_reply_to":"1a6eadb0_8324e5af","updated":"2016-12-20 10:48:09.000000000","message":"Ok, let\u0027s change ports to 13000 and 13357 for uniformity. Thank you!","commit_id":"154313a37c8d29d187923073f541899e9598da45"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"63546244d7eeae4a86b085948ba5188af264ee39","unresolved":false,"context_lines":[{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"KEYSTONE_PUBLIC_FRONTEND_PORT\u003d${KEYSTONE_PUBLIC_FRONTEND_PORT:-5001}"},{"line_number":19,"context_line":"KEYSTONE_ADMIN_FRONTEND_PORT\u003d${KEYSTONE_ADMIN_FRONTEND_PORT:-5002}"},{"line_number":20,"context_line":"HAPROXY_HOST\u003d${HAPROXY_HOST:-$SERVICE_HOST}"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"HAPROXY_PUBLIC_FRONTEND\u003d\"http://$HAPROXY_HOST:$KEYSTONE_PUBLIC_FRONTEND_PORT\""}],"source_content_type":"text/x-sh","patch_set":18,"id":"1a6eadb0_0331b5ec","line":19,"range":{"start_line":19,"start_character":61,"end_line":19,"end_character":65},"updated":"2016-12-19 14:23:19.000000000","message":"this port is also 13357 in some tools","commit_id":"154313a37c8d29d187923073f541899e9598da45"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"574821ecf2bd3e20ff372d79d121a0a6c426e9fe","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        default_backend keystone-public-back"},{"line_number":54,"context_line":"backend keystone-public-back"},{"line_number":55,"context_line":"        balance roundrobin"},{"line_number":56,"context_line":"        server controller ${SERVICE_HOST}:5000 check"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"frontend keystone-admin-front"},{"line_number":59,"context_line":"        bind ${HAPROXY_HOST}:${KEYSTONE_ADMIN_FRONTEND_PORT}"}],"source_content_type":"text/x-sh","patch_set":18,"id":"1a6eadb0_cc01af3b","line":56,"range":{"start_line":56,"start_character":41,"end_line":56,"end_character":46},"updated":"2016-12-19 14:08:33.000000000","message":"use /identity instead?","commit_id":"154313a37c8d29d187923073f541899e9598da45"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"a6987b366a25c041881bdd97635fd1fa2ebe9e13","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        default_backend keystone-public-back"},{"line_number":54,"context_line":"backend keystone-public-back"},{"line_number":55,"context_line":"        balance roundrobin"},{"line_number":56,"context_line":"        server controller ${SERVICE_HOST}:5000 check"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"frontend keystone-admin-front"},{"line_number":59,"context_line":"        bind ${HAPROXY_HOST}:${KEYSTONE_ADMIN_FRONTEND_PORT}"}],"source_content_type":"text/x-sh","patch_set":18,"id":"1a6eadb0_df291739","line":56,"range":{"start_line":56,"start_character":41,"end_line":56,"end_character":46},"in_reply_to":"1a6eadb0_45261f17","updated":"2016-12-20 13:22:21.000000000","message":"Done","commit_id":"154313a37c8d29d187923073f541899e9598da45"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"447a20bb2fca048bdbe6e463316550e62f23bbb8","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        default_backend keystone-public-back"},{"line_number":54,"context_line":"backend keystone-public-back"},{"line_number":55,"context_line":"        balance roundrobin"},{"line_number":56,"context_line":"        server controller ${SERVICE_HOST}:5000 check"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"frontend keystone-admin-front"},{"line_number":59,"context_line":"        bind ${HAPROXY_HOST}:${KEYSTONE_ADMIN_FRONTEND_PORT}"}],"source_content_type":"text/x-sh","patch_set":18,"id":"1a6eadb0_45261f17","line":56,"range":{"start_line":56,"start_character":41,"end_line":56,"end_character":46},"in_reply_to":"1a6eadb0_5dd446bc","updated":"2016-12-20 12:23:48.000000000","message":"interesting... maybe add a comment explaining why using the ports instead?","commit_id":"154313a37c8d29d187923073f541899e9598da45"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"325ca1d1b35fa2a00a09980f3a0b670c341065de","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        default_backend keystone-public-back"},{"line_number":54,"context_line":"backend keystone-public-back"},{"line_number":55,"context_line":"        balance roundrobin"},{"line_number":56,"context_line":"        server controller ${SERVICE_HOST}:5000 check"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"frontend keystone-admin-front"},{"line_number":59,"context_line":"        bind ${HAPROXY_HOST}:${KEYSTONE_ADMIN_FRONTEND_PORT}"}],"source_content_type":"text/x-sh","patch_set":18,"id":"1a6eadb0_5dd446bc","line":56,"range":{"start_line":56,"start_character":41,"end_line":56,"end_character":46},"in_reply_to":"1a6eadb0_cc01af3b","updated":"2016-12-20 10:48:09.000000000","message":"Haproxy cannot parse such syntax.","commit_id":"154313a37c8d29d187923073f541899e9598da45"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"574821ecf2bd3e20ff372d79d121a0a6c426e9fe","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        default_backend keystone-admin-back"},{"line_number":61,"context_line":"backend keystone-admin-back"},{"line_number":62,"context_line":"        balance roundrobin"},{"line_number":63,"context_line":"        server controller ${SERVICE_HOST}:35357 check"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"EOF"},{"line_number":66,"context_line":"        start_service haproxy"}],"source_content_type":"text/x-sh","patch_set":18,"id":"1a6eadb0_6cf25b71","line":63,"range":{"start_line":63,"start_character":41,"end_line":63,"end_character":47},"updated":"2016-12-19 14:08:33.000000000","message":"use /identity_admin instead?","commit_id":"154313a37c8d29d187923073f541899e9598da45"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a6fa0b2e2ee37408f7a99253eb702c5ee8d59088","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # At first we need to install and enable HAProxy."},{"line_number":39,"context_line":"        install_package haproxy"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        sudo chmod 777 $haproxy_default_settings"},{"line_number":42,"context_line":"        echo \"ENABLED\u003d1\" \u003e $haproxy_default_settings"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # Configure single HAProxy forntend for multiple Keystone services on"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_e2ae3c97","line":41,"range":{"start_line":41,"start_character":19,"end_line":41,"end_character":22},"updated":"2016-12-20 13:59:41.000000000","message":"this seems a bit high","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"7d67adc9c740e6b8a9deb014f61879df827ba03b","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # At first we need to install and enable HAProxy."},{"line_number":39,"context_line":"        install_package haproxy"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        sudo chmod 777 $haproxy_default_settings"},{"line_number":42,"context_line":"        echo \"ENABLED\u003d1\" \u003e $haproxy_default_settings"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # Configure single HAProxy forntend for multiple Keystone services on"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_725ad6f3","line":41,"range":{"start_line":41,"start_character":19,"end_line":41,"end_character":22},"in_reply_to":"1a6eadb0_e2ae3c97","updated":"2016-12-22 08:46:13.000000000","message":"Removed this line as well as the next one.","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a6fa0b2e2ee37408f7a99253eb702c5ee8d59088","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # At first we need to install and enable HAProxy."},{"line_number":39,"context_line":"        install_package haproxy"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        sudo chmod 777 $haproxy_default_settings"},{"line_number":42,"context_line":"        echo \"ENABLED\u003d1\" \u003e $haproxy_default_settings"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # Configure single HAProxy forntend for multiple Keystone services on"},{"line_number":45,"context_line":"        # different machines. HAProxy frontend host and port should be used in"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_42f3709e","line":42,"range":{"start_line":41,"start_character":8,"end_line":42,"end_character":52},"updated":"2016-12-20 13:59:41.000000000","message":"i don\u0027t think we need this option or the \"default\" settings -- as far as I can tell, it just ensures HAproxy is available at boot time: https://www.digitalocean.com/community/tutorials/how-to-set-up-highly-available-haproxy-servers-with-keepalived-and-floating-ips-on-ubuntu-14-04\n\nWhich, I don\u0027t think we will do during an upgrade?","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"7d67adc9c740e6b8a9deb014f61879df827ba03b","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # At first we need to install and enable HAProxy."},{"line_number":39,"context_line":"        install_package haproxy"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        sudo chmod 777 $haproxy_default_settings"},{"line_number":42,"context_line":"        echo \"ENABLED\u003d1\" \u003e $haproxy_default_settings"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # Configure single HAProxy forntend for multiple Keystone services on"},{"line_number":45,"context_line":"        # different machines. HAProxy frontend host and port should be used in"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_7714884c","line":42,"range":{"start_line":41,"start_character":8,"end_line":42,"end_character":52},"in_reply_to":"1a6eadb0_42f3709e","updated":"2016-12-22 08:46:13.000000000","message":"Done. Seems that I misunderstood the implication of this option. Thanks!","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a6fa0b2e2ee37408f7a99253eb702c5ee8d59088","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        # We will define Keystone servers in \u0027host:port\u0027 way since HAProxy doesn\u0027t"},{"line_number":49,"context_line":"        # support \u0027host/identity\u0027 (\u0027host/identity_admin\u0027) syntax."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        sudo chmod -R 777 /etc/haproxy"},{"line_number":52,"context_line":"        cat \u003c\u003cEOF \u003e\u003e $haproxy_conf"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"frontend keystone-public-front"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_0296d84b","line":51,"range":{"start_line":51,"start_character":22,"end_line":51,"end_character":25},"updated":"2016-12-20 13:59:41.000000000","message":"this seems a bit high","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"7d67adc9c740e6b8a9deb014f61879df827ba03b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        # We will define Keystone servers in \u0027host:port\u0027 way since HAProxy doesn\u0027t"},{"line_number":49,"context_line":"        # support \u0027host/identity\u0027 (\u0027host/identity_admin\u0027) syntax."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        sudo chmod -R 777 /etc/haproxy"},{"line_number":52,"context_line":"        cat \u003c\u003cEOF \u003e\u003e $haproxy_conf"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"frontend keystone-public-front"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_cccf8e54","line":51,"range":{"start_line":51,"start_character":22,"end_line":51,"end_character":25},"in_reply_to":"1a6eadb0_0296d84b","updated":"2016-12-22 08:46:13.000000000","message":"Done","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"c30c9d2d9ce04d953d8983eff76e5228589a4ec6","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        bind ${HAPROXY_HOST}:${KEYSTONE_PUBLIC_FRONTEND_PORT}"},{"line_number":56,"context_line":"        default_backend keystone-public-back"},{"line_number":57,"context_line":"backend keystone-public-back"},{"line_number":58,"context_line":"        balance roundrobin"},{"line_number":59,"context_line":"        server controller ${SERVICE_HOST}:${KEYSTONE_SERVICE_PORT} check"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"frontend keystone-admin-front"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_e2a8fcdd","line":58,"range":{"start_line":58,"start_character":8,"end_line":58,"end_character":26},"updated":"2016-12-20 13:41:48.000000000","message":"this might not work with some of our features, for example: in federation, we need all the calls to land in the same keystone, otherwise the authentication process just restarts. Since the main intent of this patch is to test other scenarios than that, this can be fixed/changed later.","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"ae4985d91f648947a3c9d3ef80ed46b112b18c13","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        bind ${HAPROXY_HOST}:${KEYSTONE_PUBLIC_FRONTEND_PORT}"},{"line_number":56,"context_line":"        default_backend keystone-public-back"},{"line_number":57,"context_line":"backend keystone-public-back"},{"line_number":58,"context_line":"        balance roundrobin"},{"line_number":59,"context_line":"        server controller ${SERVICE_HOST}:${KEYSTONE_SERVICE_PORT} check"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"frontend keystone-admin-front"}],"source_content_type":"text/x-sh","patch_set":21,"id":"da4df55a_883a34cc","line":58,"range":{"start_line":58,"start_character":8,"end_line":58,"end_character":26},"in_reply_to":"1a6eadb0_e2a8fcdd","updated":"2016-12-22 09:04:22.000000000","message":"Hi Rodrigo! Grenade multinode job runs only smoke tests for now. But I think that in the long view we can investigate how to deal with federations testing.","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a6fa0b2e2ee37408f7a99253eb702c5ee8d59088","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Update Keystone endpoint to use HAProxy fronted."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if [[ \"$DATABASE_TYPE\" \u003d\u003d \"mysql\" ]]; then"},{"line_number":112,"context_line":"            mysql -u root -p$DATABASE_PASSWORD keystone -e \"${sql_update_admin_endpoint}\";"},{"line_number":113,"context_line":"            mysql -u root -p$DATABASE_PASSWORD keystone -e \"${sql_update_public_endpoint}\";"},{"line_number":114,"context_line":"        elif [[ \"$DATABASE_TYPE\" \u003d\u003d \"postgresql\" ]]; then"},{"line_number":115,"context_line":"            psql -U root -W$DATABASE_PASSWORD -d keystone -c \"${sql_update_admin_endpoint}\";"},{"line_number":116,"context_line":"            psql -U root -W$DATABASE_PASSWORD -d keystone -c \"${sql_update_public_endpoint}\";"},{"line_number":117,"context_line":"        fi"},{"line_number":118,"context_line":"        if [[ \"$HAPROXY_HOST\" \u003d\u003d \"$HOST_IP\" ]]; then"},{"line_number":119,"context_line":"            restart_service haproxy"},{"line_number":120,"context_line":"        else"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_628f8ccc","line":117,"range":{"start_line":111,"start_character":8,"end_line":117,"end_character":10},"updated":"2016-12-20 13:59:41.000000000","message":"directly modifying the db? can\u0027t use the openstack CLI here i guess?","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"7d67adc9c740e6b8a9deb014f61879df827ba03b","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Update Keystone endpoint to use HAProxy fronted."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if [[ \"$DATABASE_TYPE\" \u003d\u003d \"mysql\" ]]; then"},{"line_number":112,"context_line":"            mysql -u root -p$DATABASE_PASSWORD keystone -e \"${sql_update_admin_endpoint}\";"},{"line_number":113,"context_line":"            mysql -u root -p$DATABASE_PASSWORD keystone -e \"${sql_update_public_endpoint}\";"},{"line_number":114,"context_line":"        elif [[ \"$DATABASE_TYPE\" \u003d\u003d \"postgresql\" ]]; then"},{"line_number":115,"context_line":"            psql -U root -W$DATABASE_PASSWORD -d keystone -c \"${sql_update_admin_endpoint}\";"},{"line_number":116,"context_line":"            psql -U root -W$DATABASE_PASSWORD -d keystone -c \"${sql_update_public_endpoint}\";"},{"line_number":117,"context_line":"        fi"},{"line_number":118,"context_line":"        if [[ \"$HAPROXY_HOST\" \u003d\u003d \"$HOST_IP\" ]]; then"},{"line_number":119,"context_line":"            restart_service haproxy"},{"line_number":120,"context_line":"        else"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_96591d38","line":117,"range":{"start_line":111,"start_character":8,"end_line":117,"end_character":10},"in_reply_to":"1a6eadb0_628f8ccc","updated":"2016-12-22 08:46:13.000000000","message":"Replaced this with OpenStack CLI commands.","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"06f77fdd3d0016fc8d0d2e775e6680b8f80bf813","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Update Keystone endpoint to use HAProxy fronted."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if [[ \"$DATABASE_TYPE\" \u003d\u003d \"mysql\" ]]; then"},{"line_number":112,"context_line":"            mysql -u root -p$DATABASE_PASSWORD keystone -e \"${sql_update_admin_endpoint}\";"},{"line_number":113,"context_line":"            mysql -u root -p$DATABASE_PASSWORD keystone -e \"${sql_update_public_endpoint}\";"},{"line_number":114,"context_line":"        elif [[ \"$DATABASE_TYPE\" \u003d\u003d \"postgresql\" ]]; then"},{"line_number":115,"context_line":"            psql -U root -W$DATABASE_PASSWORD -d keystone -c \"${sql_update_admin_endpoint}\";"},{"line_number":116,"context_line":"            psql -U root -W$DATABASE_PASSWORD -d keystone -c \"${sql_update_public_endpoint}\";"},{"line_number":117,"context_line":"        fi"},{"line_number":118,"context_line":"        if [[ \"$HAPROXY_HOST\" \u003d\u003d \"$HOST_IP\" ]]; then"},{"line_number":119,"context_line":"            restart_service haproxy"},{"line_number":120,"context_line":"        else"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_f34995d1","line":117,"range":{"start_line":111,"start_character":8,"end_line":117,"end_character":10},"in_reply_to":"1a6eadb0_628f8ccc","updated":"2016-12-21 00:30:10.000000000","message":"good catch Steve!","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"4bb40bd8d52494925cb7fd71a160469e83b6d60c","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Update Keystone endpoint to use HAProxy fronted."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if [[ \"$DATABASE_TYPE\" \u003d\u003d \"mysql\" ]]; then"},{"line_number":112,"context_line":"            mysql -u root -p$DATABASE_PASSWORD keystone -e \"${sql_update_admin_endpoint}\";"},{"line_number":113,"context_line":"            mysql -u root -p$DATABASE_PASSWORD keystone -e \"${sql_update_public_endpoint}\";"},{"line_number":114,"context_line":"        elif [[ \"$DATABASE_TYPE\" \u003d\u003d \"postgresql\" ]]; then"},{"line_number":115,"context_line":"            psql -U root -W$DATABASE_PASSWORD -d keystone -c \"${sql_update_admin_endpoint}\";"},{"line_number":116,"context_line":"            psql -U root -W$DATABASE_PASSWORD -d keystone -c \"${sql_update_public_endpoint}\";"},{"line_number":117,"context_line":"        fi"},{"line_number":118,"context_line":"        if [[ \"$HAPROXY_HOST\" \u003d\u003d \"$HOST_IP\" ]]; then"},{"line_number":119,"context_line":"            restart_service haproxy"},{"line_number":120,"context_line":"        else"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_7b32a5a8","line":117,"range":{"start_line":111,"start_character":8,"end_line":117,"end_character":10},"in_reply_to":"1a6eadb0_b8752dcc","updated":"2016-12-21 11:34:52.000000000","message":"don\u0027t see a problem for this method being called in the \"extra\" phase instead, meaning all services are up and running where I would expect to be able to run openstack commands as we do at [1].\n\nanother option, is patching the \"keystone\" lib at DevStack itself to consider a HA_PROXY URL when generating the KEYSTONE_AUTH_URI settings and starting the service.\n\n[1] https://github.com/openstack/keystone/blob/master/devstack/lib/federation.sh#L90-L98","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5321a82a8e9e8b1ba293cb86afcc5ddd5d77b50b","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Update Keystone endpoint to use HAProxy fronted."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if [[ \"$DATABASE_TYPE\" \u003d\u003d \"mysql\" ]]; then"},{"line_number":112,"context_line":"            mysql -u root -p$DATABASE_PASSWORD keystone -e \"${sql_update_admin_endpoint}\";"},{"line_number":113,"context_line":"            mysql -u root -p$DATABASE_PASSWORD keystone -e \"${sql_update_public_endpoint}\";"},{"line_number":114,"context_line":"        elif [[ \"$DATABASE_TYPE\" \u003d\u003d \"postgresql\" ]]; then"},{"line_number":115,"context_line":"            psql -U root -W$DATABASE_PASSWORD -d keystone -c \"${sql_update_admin_endpoint}\";"},{"line_number":116,"context_line":"            psql -U root -W$DATABASE_PASSWORD -d keystone -c \"${sql_update_public_endpoint}\";"},{"line_number":117,"context_line":"        fi"},{"line_number":118,"context_line":"        if [[ \"$HAPROXY_HOST\" \u003d\u003d \"$HOST_IP\" ]]; then"},{"line_number":119,"context_line":"            restart_service haproxy"},{"line_number":120,"context_line":"        else"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_b8752dcc","line":117,"range":{"start_line":111,"start_character":8,"end_line":117,"end_character":10},"in_reply_to":"1a6eadb0_f34995d1","updated":"2016-12-21 07:47:33.000000000","message":"my -1 is actually for the default file (its only needed for starting at boot time). i\u0027m not sure if we\u0027ve actually setup keystone at this point, or how easy it is to use the CLI to change the endpoints when you\u0027re auth\u0027ing against it at the same time.","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a6fa0b2e2ee37408f7a99253eb702c5ee8d59088","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        iniset /etc/keystone/keystone.conf DEFAULT public_endpoint $AUTH_URI"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        # This is a workaround to avoid failure of Tempest test"},{"line_number":133,"context_line":"        # tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_role_create_update_show_list"},{"line_number":134,"context_line":"        iniset /etc/keystone/keystone.conf cache enabled False"},{"line_number":135,"context_line":"        restart_service apache2"},{"line_number":136,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_a2660427","line":133,"range":{"start_line":133,"start_character":10,"end_line":133,"end_character":100},"updated":"2016-12-20 13:59:41.000000000","message":"Is this the same failure as https://bugs.launchpad.net/keystone/+bug/1648753 ?","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"7d67adc9c740e6b8a9deb014f61879df827ba03b","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        iniset /etc/keystone/keystone.conf DEFAULT public_endpoint $AUTH_URI"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        # This is a workaround to avoid failure of Tempest test"},{"line_number":133,"context_line":"        # tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_role_create_update_show_list"},{"line_number":134,"context_line":"        iniset /etc/keystone/keystone.conf cache enabled False"},{"line_number":135,"context_line":"        restart_service apache2"},{"line_number":136,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":21,"id":"1a6eadb0_96b2fde3","line":133,"range":{"start_line":133,"start_character":10,"end_line":133,"end_character":100},"in_reply_to":"1a6eadb0_a2660427","updated":"2016-12-22 08:46:13.000000000","message":"No. In test_role_create_update_show_list I faced following situation: a role is created by keystone #1, then role is updated by keystone #2 (since haproxy is in round-robin mode). After that we do \"role show\" command which is carried by keystone #1. And keystone #1 cannot see changes made by keystone #2.","commit_id":"3831f956c9cfa56a127e37b054377d71093c1899"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"0d432973b86b1ad9c0307efdea0baba4d3140cf6","unresolved":false,"context_lines":[{"line_number":23,"context_line":"HAPROXY_ADMIN_FRONTEND\u003d\"http://$HAPROXY_HOST:$KEYSTONE_ADMIN_FRONTEND_PORT\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"AUTH_URI\u003d\"${HAPROXY_PUBLIC_FRONTEND}\""},{"line_number":26,"context_line":"AUTH_URL\u003d\"${HAPROXY_ADMIN_FRONTEND}\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"function configure_haproxy {"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-sh","patch_set":25,"id":"ba5201f7_0fcb6f54","line":26,"updated":"2017-01-03 21:52:02.000000000","message":"Is there any reason why you can\u0027t just use the original variable names (HAPROXY_PUBLIC/ADMIN_FRONTEND), which better describe the value of the variables (rather than using the unfortunately-named destinations for the values)? It would make it easier to understand this script.","commit_id":"4c8501ac7e4746fd1dc378ed4fe8be7de5249e63"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"dd0741791c7ef033f6295495860506697c364816","unresolved":false,"context_lines":[{"line_number":23,"context_line":"HAPROXY_ADMIN_FRONTEND\u003d\"http://$HAPROXY_HOST:$KEYSTONE_ADMIN_FRONTEND_PORT\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"AUTH_URI\u003d\"${HAPROXY_PUBLIC_FRONTEND}\""},{"line_number":26,"context_line":"AUTH_URL\u003d\"${HAPROXY_ADMIN_FRONTEND}\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"function configure_haproxy {"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-sh","patch_set":25,"id":"ba5201f7_f721f99e","line":26,"in_reply_to":"ba5201f7_0fcb6f54","updated":"2017-01-09 08:36:33.000000000","message":"Done","commit_id":"4c8501ac7e4746fd1dc378ed4fe8be7de5249e63"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"0d432973b86b1ad9c0307efdea0baba4d3140cf6","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        for interface in internal public"},{"line_number":101,"context_line":"        do"},{"line_number":102,"context_line":"            public_endpoint_id\u003d$(openstack endpoint list --service keystone --interface $interface -c ID -f value)"},{"line_number":103,"context_line":"            openstack endpoint set --url $AUTH_URI $public_endpoint_id"},{"line_number":104,"context_line":"        done"},{"line_number":105,"context_line":"        admin_endpoint_id\u003d$(openstack endpoint list --service keystone --interface admin -c ID -f value)"},{"line_number":106,"context_line":"        openstack endpoint set --url $AUTH_URL $admin_endpoint_id"}],"source_content_type":"text/x-sh","patch_set":25,"id":"ba5201f7_cf0c0797","line":103,"updated":"2017-01-03 21:52:02.000000000","message":"For example, here\u0027s it\u0027s not clear whether you\u0027re using the public or admin endpoint URL via $AUTH_URI (I have to scroll back up and check which is which).","commit_id":"4c8501ac7e4746fd1dc378ed4fe8be7de5249e63"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"dd0741791c7ef033f6295495860506697c364816","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        for interface in internal public"},{"line_number":101,"context_line":"        do"},{"line_number":102,"context_line":"            public_endpoint_id\u003d$(openstack endpoint list --service keystone --interface $interface -c ID -f value)"},{"line_number":103,"context_line":"            openstack endpoint set --url $AUTH_URI $public_endpoint_id"},{"line_number":104,"context_line":"        done"},{"line_number":105,"context_line":"        admin_endpoint_id\u003d$(openstack endpoint list --service keystone --interface admin -c ID -f value)"},{"line_number":106,"context_line":"        openstack endpoint set --url $AUTH_URL $admin_endpoint_id"}],"source_content_type":"text/x-sh","patch_set":25,"id":"ba5201f7_9728ad87","line":103,"in_reply_to":"ba5201f7_cf0c0797","updated":"2017-01-09 08:36:33.000000000","message":"Done","commit_id":"4c8501ac7e4746fd1dc378ed4fe8be7de5249e63"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"0d432973b86b1ad9c0307efdea0baba4d3140cf6","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        iniset /etc/keystone/keystone.conf DEFAULT public_endpoint $AUTH_URI"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        # This is a workaround to avoid failure of Tempest test"},{"line_number":123,"context_line":"        # tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_role_create_update_show_list"},{"line_number":124,"context_line":"        iniset /etc/keystone/keystone.conf cache enabled False"},{"line_number":125,"context_line":"        restart_service apache2"},{"line_number":126,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":25,"id":"ba5201f7_0f27ef12","line":123,"updated":"2017-01-03 21:52:02.000000000","message":"If a tempest test fails in this scenario, we should include a reference to the bug report describing the behavior that needs to be addressed so that the workaround can be removed. Without an external reference, this workaround will likely remain here forever.","commit_id":"4c8501ac7e4746fd1dc378ed4fe8be7de5249e63"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"dd0741791c7ef033f6295495860506697c364816","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        iniset /etc/keystone/keystone.conf DEFAULT public_endpoint $AUTH_URI"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        # This is a workaround to avoid failure of Tempest test"},{"line_number":123,"context_line":"        # tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_role_create_update_show_list"},{"line_number":124,"context_line":"        iniset /etc/keystone/keystone.conf cache enabled False"},{"line_number":125,"context_line":"        restart_service apache2"},{"line_number":126,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":25,"id":"ba5201f7_7cf6d05d","line":123,"in_reply_to":"ba5201f7_0f27ef12","updated":"2017-01-09 08:36:33.000000000","message":"Done","commit_id":"4c8501ac7e4746fd1dc378ed4fe8be7de5249e63"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d5c75ca1d7a92356dbc057ac64bf07217d3b1ad6","unresolved":false,"context_lines":[{"line_number":110,"context_line":"}"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"function configure_keystone_for_haproxy {"},{"line_number":113,"context_line":"    if is_keystone_enabled; then"},{"line_number":114,"context_line":"        iniset /etc/keystone/keystone.conf DEFAULT admin_endpoint $HAPROXY_ADMIN_FRONTEND"},{"line_number":115,"context_line":"        iniset /etc/keystone/keystone.conf DEFAULT public_endpoint $HAPROXY_PUBLIC_FRONTEND"},{"line_number":116,"context_line":"        iniset /etc/keystone/keystone.conf cache memcache_servers $SERVICE_HOST:11211"}],"source_content_type":"text/x-sh","patch_set":29,"id":"ba5201f7_cf25e75c","line":113,"updated":"2017-01-10 20:10:24.000000000","message":"Just to be clear, there is no workaround required anymore for this step? I was reading back through the comments on patch set 25 and it looks like we removed the comment as well as a couple lines of code pertaining to Dolph\u0027s comment.\n\nI want to validate that we don\u0027t have an action item in here somewhere to open a bug and leave a comment. It looks like things are working as expected though.","commit_id":"f105d6c3a50f9a65f73df7aed136f9389d1f6456"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"df3a694ce9792b4296aa2da1b760364d7faf7d95","unresolved":false,"context_lines":[{"line_number":110,"context_line":"}"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"function configure_keystone_for_haproxy {"},{"line_number":113,"context_line":"    if is_keystone_enabled; then"},{"line_number":114,"context_line":"        iniset /etc/keystone/keystone.conf DEFAULT admin_endpoint $HAPROXY_ADMIN_FRONTEND"},{"line_number":115,"context_line":"        iniset /etc/keystone/keystone.conf DEFAULT public_endpoint $HAPROXY_PUBLIC_FRONTEND"},{"line_number":116,"context_line":"        iniset /etc/keystone/keystone.conf cache memcache_servers $SERVICE_HOST:11211"}],"source_content_type":"text/x-sh","patch_set":29,"id":"ba5201f7_e13c6dc1","line":113,"in_reply_to":"ba5201f7_cf25e75c","updated":"2017-01-11 07:42:15.000000000","message":"Hi Lance! I opened a bug as Dolph suggested - https://bugs.launchpad.net/keystone/+bug/1654965. Henry Nash helped me to figure out that is was misconfiguration of Keystone in my case. As for multi-keystone I need to have a common memcache that is shared by both nodes. So I added line 116.","commit_id":"f105d6c3a50f9a65f73df7aed136f9389d1f6456"}],"devstack/lib/rolling_upgrades.sh":[{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"3da6b4978dd9268124ee8c8fe801cb5d61a4464c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"5a74a57a_68221003","updated":"2016-11-24 15:18:24.000000000","message":"although everything in this file is used for rolling_upgrades, I\u0027d rename it to \"haproxy.sh\".","commit_id":"05692528e05058f8c15a3708b4b94e5dba211105"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"9c803ba0ba0ca0802a7118a0123d4371990e90f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3a71b18c_e26e48c8","in_reply_to":"5a74a57a_68221003","updated":"2016-12-02 13:38:00.000000000","message":"Done","commit_id":"05692528e05058f8c15a3708b4b94e5dba211105"},{"author":{"_account_id":16465,"name":"Kristi Nikolla","email":"knikolla@bu.edu","username":"knikolla"},"change_message_id":"5cbcfd4f508f4fddcad1a16417767dd77a1c2e90","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    balance roundrobin"},{"line_number":43,"context_line":"    server controller ${SERVICE_HOST}:5000 check"},{"line_number":44,"context_line":"EOF"},{"line_number":45,"context_line":"        sudo service haproxy start"},{"line_number":46,"context_line":"    else"},{"line_number":47,"context_line":"        # After controller was successfully deployed, on Keystone node we need to add"},{"line_number":48,"context_line":"        # information about running Keystone backend to HAProxy conf."}],"source_content_type":"text/x-sh","patch_set":7,"id":"5a74a57a_247c4eeb","line":45,"updated":"2016-11-28 20:51:56.000000000","message":"please use ``start_service haproxy``","commit_id":"05692528e05058f8c15a3708b4b94e5dba211105"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"9c803ba0ba0ca0802a7118a0123d4371990e90f8","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    balance roundrobin"},{"line_number":43,"context_line":"    server controller ${SERVICE_HOST}:5000 check"},{"line_number":44,"context_line":"EOF"},{"line_number":45,"context_line":"        sudo service haproxy start"},{"line_number":46,"context_line":"    else"},{"line_number":47,"context_line":"        # After controller was successfully deployed, on Keystone node we need to add"},{"line_number":48,"context_line":"        # information about running Keystone backend to HAProxy conf."}],"source_content_type":"text/x-sh","patch_set":7,"id":"3a71b18c_027264ad","line":45,"in_reply_to":"5a74a57a_247c4eeb","updated":"2016-12-02 13:38:00.000000000","message":"Done","commit_id":"05692528e05058f8c15a3708b4b94e5dba211105"},{"author":{"_account_id":16465,"name":"Kristi Nikolla","email":"knikolla@bu.edu","username":"knikolla"},"change_message_id":"5cbcfd4f508f4fddcad1a16417767dd77a1c2e90","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    else"},{"line_number":47,"context_line":"        # After controller was successfully deployed, on Keystone node we need to add"},{"line_number":48,"context_line":"        # information about running Keystone backend to HAProxy conf."},{"line_number":49,"context_line":"        sudo apt-get install sshpass"},{"line_number":50,"context_line":"        conf_line\u003d\"server keystone ${HOST_IP}:5000 check\""},{"line_number":51,"context_line":"        echo $conf_line | sshpass -p \"stack\" \\"},{"line_number":52,"context_line":"            ssh -o StrictHostKeyChecking\u003dno stack@$SERVICE_HOST \"cat \u003e\u003e ${HAPROXY_CONF}\""}],"source_content_type":"text/x-sh","patch_set":7,"id":"5a74a57a_44314a59","line":49,"updated":"2016-11-28 20:51:56.000000000","message":"please use ``install_package \u003cpackage_name\u003e``","commit_id":"05692528e05058f8c15a3708b4b94e5dba211105"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"9c803ba0ba0ca0802a7118a0123d4371990e90f8","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    else"},{"line_number":47,"context_line":"        # After controller was successfully deployed, on Keystone node we need to add"},{"line_number":48,"context_line":"        # information about running Keystone backend to HAProxy conf."},{"line_number":49,"context_line":"        sudo apt-get install sshpass"},{"line_number":50,"context_line":"        conf_line\u003d\"server keystone ${HOST_IP}:5000 check\""},{"line_number":51,"context_line":"        echo $conf_line | sshpass -p \"stack\" \\"},{"line_number":52,"context_line":"            ssh -o StrictHostKeyChecking\u003dno stack@$SERVICE_HOST \"cat \u003e\u003e ${HAPROXY_CONF}\""}],"source_content_type":"text/x-sh","patch_set":7,"id":"3a71b18c_226920bf","line":49,"in_reply_to":"5a74a57a_44314a59","updated":"2016-12-02 13:38:00.000000000","message":"Done","commit_id":"05692528e05058f8c15a3708b4b94e5dba211105"}],"devstack/plugin.sh":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"aab11fd8ca6c7c7145c9b3d98bd2771b9138ba0c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7a77a97e_0643b86c","updated":"2016-11-20 05:39:17.000000000","message":"consider the approach taken here: https://review.openstack.org/#/c/393932/2\n\nwhere you create devstack/lib/rolling_upgrades.sh and defined functions in there, and run them only if MULTI_KEYSTONE is true. we do this because the file will be shared by many different plugins","commit_id":"4284e22dd2317c277dbcae8c847f038b7585704f"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"b5830e81a48cfe78c82c2ecc08158bef86d9f2dc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7a77a97e_7d76a807","in_reply_to":"7a77a97e_0643b86c","updated":"2016-11-21 10:22:11.000000000","message":"Done","commit_id":"4284e22dd2317c277dbcae8c847f038b7585704f"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"aab11fd8ca6c7c7145c9b3d98bd2771b9138ba0c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"# For more information on Devstack plugins, including a more detailed"},{"line_number":17,"context_line":"# explanation on when the different steps are executed please see:"},{"line_number":18,"context_line":"# http://docs.openstack.org/developer/devstack/plugins.html"},{"line_number":19,"context_line":"HAPROXY_CONF\u003d\"/etc/haproxy/haproxy.cfg\""},{"line_number":20,"context_line":"HAPROXY_DEFAULT_SETTINGS\u003d\"/etc/default/haproxy\""},{"line_number":21,"context_line":"KEYSTONE_FRONTEND_PORT\u003d${KEYSTONE_FRONTEND_PORT:-5001}"},{"line_number":22,"context_line":"FERNET_KEYS\u003d\"/etc/keystone/fernet-keys\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"7a77a97e_e64f9c8f","line":19,"updated":"2016-11-20 05:39:17.000000000","message":"add a new line to separate things here","commit_id":"4284e22dd2317c277dbcae8c847f038b7585704f"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"b5830e81a48cfe78c82c2ecc08158bef86d9f2dc","unresolved":false,"context_lines":[{"line_number":16,"context_line":"# For more information on Devstack plugins, including a more detailed"},{"line_number":17,"context_line":"# explanation on when the different steps are executed please see:"},{"line_number":18,"context_line":"# http://docs.openstack.org/developer/devstack/plugins.html"},{"line_number":19,"context_line":"HAPROXY_CONF\u003d\"/etc/haproxy/haproxy.cfg\""},{"line_number":20,"context_line":"HAPROXY_DEFAULT_SETTINGS\u003d\"/etc/default/haproxy\""},{"line_number":21,"context_line":"KEYSTONE_FRONTEND_PORT\u003d${KEYSTONE_FRONTEND_PORT:-5001}"},{"line_number":22,"context_line":"FERNET_KEYS\u003d\"/etc/keystone/fernet-keys\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"7a77a97e_9d738415","line":19,"in_reply_to":"7a77a97e_e64f9c8f","updated":"2016-11-21 10:22:11.000000000","message":"Done","commit_id":"4284e22dd2317c277dbcae8c847f038b7585704f"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"aab11fd8ca6c7c7145c9b3d98bd2771b9138ba0c","unresolved":false,"context_lines":[{"line_number":22,"context_line":"FERNET_KEYS\u003d\"/etc/keystone/fernet-keys\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"if [[ \"$1\" \u003d\u003d \"stack\" \u0026\u0026 \"$2\" \u003d\u003d \"pre-install\" ]]; then"},{"line_number":25,"context_line":"    # This phase is executed after the projects have been installed"},{"line_number":26,"context_line":"    echo \"Keystone plugin - Pre-Install phase\""},{"line_number":27,"context_line":"    if [[ \"$MULTI_KEYSTONE\" -eq \"1\" ]]; then"},{"line_number":28,"context_line":"        if [[ \"$HOST_IP\" !\u003d \"$SERVICE_HOST\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":2,"id":"7a77a97e_9698f679","line":25,"range":{"start_line":25,"start_character":29,"end_line":25,"end_character":34},"updated":"2016-11-20 05:39:17.000000000","message":"before? cause it\u0027s pre-install?","commit_id":"4284e22dd2317c277dbcae8c847f038b7585704f"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"b5830e81a48cfe78c82c2ecc08158bef86d9f2dc","unresolved":false,"context_lines":[{"line_number":22,"context_line":"FERNET_KEYS\u003d\"/etc/keystone/fernet-keys\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"if [[ \"$1\" \u003d\u003d \"stack\" \u0026\u0026 \"$2\" \u003d\u003d \"pre-install\" ]]; then"},{"line_number":25,"context_line":"    # This phase is executed after the projects have been installed"},{"line_number":26,"context_line":"    echo \"Keystone plugin - Pre-Install phase\""},{"line_number":27,"context_line":"    if [[ \"$MULTI_KEYSTONE\" -eq \"1\" ]]; then"},{"line_number":28,"context_line":"        if [[ \"$HOST_IP\" !\u003d \"$SERVICE_HOST\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":2,"id":"7a77a97e_ddca5c1a","line":25,"range":{"start_line":25,"start_character":29,"end_line":25,"end_character":34},"in_reply_to":"7a77a97e_9698f679","updated":"2016-11-21 10:22:11.000000000","message":"I removed this section in new patch-set.","commit_id":"4284e22dd2317c277dbcae8c847f038b7585704f"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"aab11fd8ca6c7c7145c9b3d98bd2771b9138ba0c","unresolved":false,"context_lines":[{"line_number":68,"context_line":"                sshpass -p \"stack\" \\"},{"line_number":69,"context_line":"                    scp stack@$SERVICE_HOST:$FERNET_KEYS/$i $FERNET_KEYS/$i"},{"line_number":70,"context_line":"            done"},{"line_number":71,"context_line":"            # Change database connection string"},{"line_number":72,"context_line":"            sed -i -e \"s/127.0.0.1/${SERVICE_HOST}/g\" \\"},{"line_number":73,"context_line":"                /etc/keystone/keystone.conf"},{"line_number":74,"context_line":"            sudo service apache2 restart"}],"source_content_type":"text/x-sh","patch_set":2,"id":"7a77a97e_263d14dd","line":71,"range":{"start_line":71,"start_character":12,"end_line":71,"end_character":47},"updated":"2016-11-20 05:39:17.000000000","message":"this applies to most of the proposed code -- please add inline comments about *why* you are doing things.\n\ni can tell that a sed does a string replace, i don\u0027t know why most of the code was executed though :)","commit_id":"4284e22dd2317c277dbcae8c847f038b7585704f"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"b5830e81a48cfe78c82c2ecc08158bef86d9f2dc","unresolved":false,"context_lines":[{"line_number":68,"context_line":"                sshpass -p \"stack\" \\"},{"line_number":69,"context_line":"                    scp stack@$SERVICE_HOST:$FERNET_KEYS/$i $FERNET_KEYS/$i"},{"line_number":70,"context_line":"            done"},{"line_number":71,"context_line":"            # Change database connection string"},{"line_number":72,"context_line":"            sed -i -e \"s/127.0.0.1/${SERVICE_HOST}/g\" \\"},{"line_number":73,"context_line":"                /etc/keystone/keystone.conf"},{"line_number":74,"context_line":"            sudo service apache2 restart"}],"source_content_type":"text/x-sh","patch_set":2,"id":"7a77a97e_9de1c49d","line":71,"range":{"start_line":71,"start_character":12,"end_line":71,"end_character":47},"in_reply_to":"7a77a97e_263d14dd","updated":"2016-11-21 10:22:11.000000000","message":"Yes, thank you, I\u0027ve added more comments to the new patch set.","commit_id":"4284e22dd2317c277dbcae8c847f038b7585704f"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"ce294609be2e14ff9b736005fd7c24c176259a67","unresolved":false,"context_lines":[{"line_number":16,"context_line":"KEYSTONE_PLUGIN\u003d$DEST/keystone/devstack"},{"line_number":17,"context_line":"source $KEYSTONE_PLUGIN/lib/federation.sh"},{"line_number":18,"context_line":"source $KEYSTONE_PLUGIN/lib/rolling_upgrades.sh"},{"line_number":19,"context_line":"source $TOP_DIR/functions-common"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"MULTI_KEYSTONE\u003d$(trueorfalse False MULTI_KEYSTONE)"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-sh","patch_set":5,"id":"7a77a97e_4d3e5ddb","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":32},"updated":"2016-11-22 12:23:50.000000000","message":"do we need to source it?","commit_id":"a1b6d3dfd6760b803d9f29847539a442371c7fb4"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"399136e7a3ade76c8ab8bcfa8c3ac4aeba9a3e04","unresolved":false,"context_lines":[{"line_number":16,"context_line":"KEYSTONE_PLUGIN\u003d$DEST/keystone/devstack"},{"line_number":17,"context_line":"source $KEYSTONE_PLUGIN/lib/federation.sh"},{"line_number":18,"context_line":"source $KEYSTONE_PLUGIN/lib/rolling_upgrades.sh"},{"line_number":19,"context_line":"source $TOP_DIR/functions-common"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"MULTI_KEYSTONE\u003d$(trueorfalse False MULTI_KEYSTONE)"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-sh","patch_set":5,"id":"7a77a97e_25ca151b","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":32},"in_reply_to":"7a77a97e_4d3e5ddb","updated":"2016-11-22 13:11:42.000000000","message":"Hi Rodrigo, this is a mistake, thank you! I\u0027ve fixed it in the next patch set.","commit_id":"a1b6d3dfd6760b803d9f29847539a442371c7fb4"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"a52155252c405159117b9f8b73038b317eebb15a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    if is_service_enabled keystone-saml2-federation; then"},{"line_number":38,"context_line":"        configure_federation"},{"line_number":39,"context_line":"    fi"},{"line_number":40,"context_line":"    if [[ \"$MULTI_KEYSTONE\" \u003d\u003d \"True\" ]]; then"},{"line_number":41,"context_line":"        configure_haproxy"},{"line_number":42,"context_line":"        update_keystone_endpoints"},{"line_number":43,"context_line":"        configure_services"}],"source_content_type":"text/x-sh","patch_set":13,"id":"3a71b18c_15e600b4","line":40,"range":{"start_line":40,"start_character":10,"end_line":40,"end_character":37},"updated":"2016-12-09 14:15:15.000000000","message":"why use this variable instead of a service? Like we do for federation...","commit_id":"0977d84ae56622ac4844ef06b27a6efb375a1b26"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"5436073c6cc09785c2ce13e21e3af919555eb59e","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    if is_service_enabled keystone-saml2-federation; then"},{"line_number":38,"context_line":"        configure_federation"},{"line_number":39,"context_line":"    fi"},{"line_number":40,"context_line":"    if [[ \"$MULTI_KEYSTONE\" \u003d\u003d \"True\" ]]; then"},{"line_number":41,"context_line":"        configure_haproxy"},{"line_number":42,"context_line":"        update_keystone_endpoints"},{"line_number":43,"context_line":"        configure_services"}],"source_content_type":"text/x-sh","patch_set":13,"id":"3a71b18c_d7c1bae5","line":40,"range":{"start_line":40,"start_character":10,"end_line":40,"end_character":37},"in_reply_to":"3a71b18c_15e600b4","updated":"2016-12-12 06:59:54.000000000","message":"I think it would be confusing if we set \"enable_service haproxy\" on all nodes in multi-keystone devstack since there\u0027re many keystone nodes and a single haproxy server.\nAlso haproxy server may be situated not on keystone node. Probably we can do \u0027enable_service haproxy\u0027 just to mark haproxy server and leave MULTI_KEYSTONE variable to mark keystone nodes. What do you think about that, Rodrigo?","commit_id":"0977d84ae56622ac4844ef06b27a6efb375a1b26"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"530bdf82307f754e1cc8f775261a7546bbf93044","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    if is_service_enabled keystone-saml2-federation; then"},{"line_number":38,"context_line":"        configure_federation"},{"line_number":39,"context_line":"    fi"},{"line_number":40,"context_line":"    if [[ \"$MULTI_KEYSTONE\" \u003d\u003d \"True\" ]]; then"},{"line_number":41,"context_line":"        configure_haproxy"},{"line_number":42,"context_line":"        update_keystone_endpoints"},{"line_number":43,"context_line":"        configure_services"}],"source_content_type":"text/x-sh","patch_set":13,"id":"3a71b18c_492263a4","line":40,"range":{"start_line":40,"start_character":10,"end_line":40,"end_character":37},"in_reply_to":"3a71b18c_63eade75","updated":"2016-12-12 13:13:14.000000000","message":"I think that lib .sh may have an arbitrary name. But if there\u0027re any rules on how to name it, could you send me a link, Rodrigo? \n\nRegarging env variables vs \"is_service_enabled\"- I believe that the choice depends on what the plugin actually does. I mean, does it actually enable a service or not.\n\nIn this case we actually will enable haproxy service on one node, but the plugin will perform actions on other nodes as well (on all keystone nodes). That\u0027s why I\u0027m afraid that using is_service_enabled may be confusing.","commit_id":"0977d84ae56622ac4844ef06b27a6efb375a1b26"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"32679bc4b7eacc18ab1223445aa2dd02e87e9e53","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    if is_service_enabled keystone-saml2-federation; then"},{"line_number":38,"context_line":"        configure_federation"},{"line_number":39,"context_line":"    fi"},{"line_number":40,"context_line":"    if [[ \"$MULTI_KEYSTONE\" \u003d\u003d \"True\" ]]; then"},{"line_number":41,"context_line":"        configure_haproxy"},{"line_number":42,"context_line":"        update_keystone_endpoints"},{"line_number":43,"context_line":"        configure_services"}],"source_content_type":"text/x-sh","patch_set":13,"id":"3a71b18c_63eade75","line":40,"range":{"start_line":40,"start_character":10,"end_line":40,"end_character":37},"in_reply_to":"3a71b18c_d7c1bae5","updated":"2016-12-12 12:35:53.000000000","message":"the lib .sh doesn\u0027t necessarily need to match the service name? correct if I\u0027m wrong... But I\u0027m fine either way, just want to understand when either case is used (env variables vs \"is_service_enabled\")","commit_id":"0977d84ae56622ac4844ef06b27a6efb375a1b26"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"13454a6eea19bc81b9f1b8ca358ee9bf7db135ae","unresolved":false,"context_lines":[{"line_number":17,"context_line":"source $KEYSTONE_PLUGIN/lib/federation.sh"},{"line_number":18,"context_line":"source $KEYSTONE_PLUGIN/lib/haproxy.sh"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"MULTI_KEYSTONE\u003d$(trueorfalse False MULTI_KEYSTONE)"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# For more information on Devstack plugins, including a more detailed"},{"line_number":23,"context_line":"# explanation on when the different steps are executed please see:"}],"source_content_type":"text/x-sh","patch_set":29,"id":"7f515b1d_6ea723be","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":50},"updated":"2017-10-09 15:45:15.000000000","message":"As far as documentation on how to use this, is that added in tree or somewhere else?","commit_id":"f105d6c3a50f9a65f73df7aed136f9389d1f6456"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"8da5ca0f3fa26f10836132b898b3c76737a8cbd4","unresolved":false,"context_lines":[{"line_number":17,"context_line":"source $KEYSTONE_PLUGIN/lib/federation.sh"},{"line_number":18,"context_line":"source $KEYSTONE_PLUGIN/lib/haproxy.sh"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"MULTI_KEYSTONE\u003d$(trueorfalse False MULTI_KEYSTONE)"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# For more information on Devstack plugins, including a more detailed"},{"line_number":23,"context_line":"# explanation on when the different steps are executed please see:"}],"source_content_type":"text/x-sh","patch_set":29,"id":"5f4e5783_1b110a05","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":50},"in_reply_to":"7f515b1d_6ea723be","updated":"2017-10-16 09:02:53.000000000","message":"We should add it here: http://git.openstack.org/cgit/openstack/keystone/tree/doc/source/contributor/testing-keystone.rst\n\nBut I think it\u0027s fine to do that in a followup patch, this one has been held up for too long already.","commit_id":"f105d6c3a50f9a65f73df7aed136f9389d1f6456"}]}
