)]}'
{"functions-common":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"755e85503a9cc2caf42e3cfb38607778a2a26424","unresolved":false,"context_lines":[{"line_number":2024,"context_line":"}"},{"line_number":2025,"context_line":""},{"line_number":2026,"context_line":"# Remove \"[]\" around urlquoted IPv6 addresses"},{"line_number":2027,"context_line":"function url_unquote {"},{"line_number":2028,"context_line":"    echo $1|tr -d []"},{"line_number":2029,"context_line":"}"},{"line_number":2030,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"7f515b1d_7694eae8","line":2027,"updated":"2017-10-05 20:58:55.000000000","message":"can we call it ipv6_unquote, it\u0027s not really urls","commit_id":"476ba2910ce95001a9220b493bb790a00ee68ecf"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"eb81ffa5f88e5e7e911555060ce32dd16d45239f","unresolved":false,"context_lines":[{"line_number":2024,"context_line":"}"},{"line_number":2025,"context_line":""},{"line_number":2026,"context_line":"# Remove \"[]\" around urlquoted IPv6 addresses"},{"line_number":2027,"context_line":"function url_unquote {"},{"line_number":2028,"context_line":"    echo $1|tr -d []"},{"line_number":2029,"context_line":"}"},{"line_number":2030,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"7f515b1d_619534e4","line":2027,"in_reply_to":"7f515b1d_7694eae8","updated":"2017-10-06 10:55:33.000000000","message":"Done","commit_id":"476ba2910ce95001a9220b493bb790a00ee68ecf"}],"lib/nova":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"859317a9b30bc2b7b2f2ce66618da3e879a71f08","unresolved":false,"context_lines":[{"line_number":496,"context_line":"    setup_logging $NOVA_CONF"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    write_uwsgi_config \"$NOVA_UWSGI_CONF\" \"$NOVA_UWSGI\" \"/compute\""},{"line_number":499,"context_line":"    if [ \"$SERVICE_LISTEN_ADDRESS\" \u003d\u003d \"::\" ]; then"},{"line_number":500,"context_line":"        write_uwsgi_config \"$NOVA_METADATA_UWSGI_CONF\" \"$NOVA_METADATA_UWSGI\" \"\" \"[::]:${METADATA_SERVICE_PORT}\""},{"line_number":501,"context_line":"    else"},{"line_number":502,"context_line":"        write_uwsgi_config \"$NOVA_METADATA_UWSGI_CONF\" \"$NOVA_METADATA_UWSGI\" \"\" \":${METADATA_SERVICE_PORT}\""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7f515b1d_641cf8c0","line":499,"updated":"2017-09-27 13:26:56.000000000","message":"I think the only problem with this is that SERVICE_LISTEN_ADDRESS is settable in local.conf, so might be some other IPv6 address.  If it needs to be in [] then it would break.  It\u0027s a corner case, but maybe this can check SERVICE_IP_VERSION and use [$SERVICE_LISTEN_ADDRESS] if IPv6?","commit_id":"c5bea9900021c3908e05595b7ebcc14270b41b5b"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"a8b1fb838f26e0a911550a55e2a120ef28bd2543","unresolved":false,"context_lines":[{"line_number":496,"context_line":"    setup_logging $NOVA_CONF"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    write_uwsgi_config \"$NOVA_UWSGI_CONF\" \"$NOVA_UWSGI\" \"/compute\""},{"line_number":499,"context_line":"    if [ \"$SERVICE_LISTEN_ADDRESS\" \u003d\u003d \"::\" ]; then"},{"line_number":500,"context_line":"        write_uwsgi_config \"$NOVA_METADATA_UWSGI_CONF\" \"$NOVA_METADATA_UWSGI\" \"\" \"[::]:${METADATA_SERVICE_PORT}\""},{"line_number":501,"context_line":"    else"},{"line_number":502,"context_line":"        write_uwsgi_config \"$NOVA_METADATA_UWSGI_CONF\" \"$NOVA_METADATA_UWSGI\" \"\" \":${METADATA_SERVICE_PORT}\""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7f515b1d_e737ca4c","line":499,"in_reply_to":"7f515b1d_641cf8c0","updated":"2017-09-27 13:40:13.000000000","message":"How about instead making SERVICE_LISTEN_ADDRESS enclosed in \"[]\" if it is an IPv6 address like we do for SERVICE_ADDRESS?\n\nThen we could use my url_unquote function in places where the raw address is needed and can get rid of this \"if\" block in return.\n\nAnd we get bonus points for consistency.","commit_id":"c5bea9900021c3908e05595b7ebcc14270b41b5b"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"8d1fdbbdb85bed7d9e8b9aceee926b2f6669f1ce","unresolved":false,"context_lines":[{"line_number":496,"context_line":"    setup_logging $NOVA_CONF"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    write_uwsgi_config \"$NOVA_UWSGI_CONF\" \"$NOVA_UWSGI\" \"/compute\""},{"line_number":499,"context_line":"    if [ \"$SERVICE_LISTEN_ADDRESS\" \u003d\u003d \"::\" ]; then"},{"line_number":500,"context_line":"        write_uwsgi_config \"$NOVA_METADATA_UWSGI_CONF\" \"$NOVA_METADATA_UWSGI\" \"\" \"[::]:${METADATA_SERVICE_PORT}\""},{"line_number":501,"context_line":"    else"},{"line_number":502,"context_line":"        write_uwsgi_config \"$NOVA_METADATA_UWSGI_CONF\" \"$NOVA_METADATA_UWSGI\" \"\" \":${METADATA_SERVICE_PORT}\""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7f515b1d_d0510ddb","line":499,"in_reply_to":"7f515b1d_73571c28","updated":"2017-09-28 08:55:41.000000000","message":"Yes, I did. Seeing the resulting patch though, I\u0027m not so convinced anymore that this is much nicer.","commit_id":"c5bea9900021c3908e05595b7ebcc14270b41b5b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"37cc222a1dd64d70edb04e8fc1fe3ad895d8fff7","unresolved":false,"context_lines":[{"line_number":496,"context_line":"    setup_logging $NOVA_CONF"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    write_uwsgi_config \"$NOVA_UWSGI_CONF\" \"$NOVA_UWSGI\" \"/compute\""},{"line_number":499,"context_line":"    if [ \"$SERVICE_LISTEN_ADDRESS\" \u003d\u003d \"::\" ]; then"},{"line_number":500,"context_line":"        write_uwsgi_config \"$NOVA_METADATA_UWSGI_CONF\" \"$NOVA_METADATA_UWSGI\" \"\" \"[::]:${METADATA_SERVICE_PORT}\""},{"line_number":501,"context_line":"    else"},{"line_number":502,"context_line":"        write_uwsgi_config \"$NOVA_METADATA_UWSGI_CONF\" \"$NOVA_METADATA_UWSGI\" \"\" \":${METADATA_SERVICE_PORT}\""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"7f515b1d_73571c28","line":499,"in_reply_to":"7f515b1d_e737ca4c","updated":"2017-09-27 15:22:11.000000000","message":"Yeah, I guess you could do that.  And you mean SERVICE_HOST, right?","commit_id":"c5bea9900021c3908e05595b7ebcc14270b41b5b"}],"stackrc":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f8f29225f3b5f77557bfc1d06ad2e9641505536f","unresolved":false,"context_lines":[{"line_number":870,"context_line":"fi"},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"# This is either 0.0.0.0 for IPv4 or [::] for IPv6"},{"line_number":873,"context_line":"SERVICE_LISTEN_ADDRESS\u003d${SERVICE_LISTEN_ADDRESS:-${DEF_SERVICE_LISTEN_ADDRESS}}"},{"line_number":874,"context_line":""},{"line_number":875,"context_line":"# Allow the use of an alternate hostname (such as localhost/127.0.0.1) for"},{"line_number":876,"context_line":"# service endpoints.  Default is dependent on SERVICE_IP_VERSION above."}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"7f515b1d_7c110f04","line":873,"updated":"2017-09-28 13:58:14.000000000","message":"I guess your other option is to define SERVICE_LISTEN_ADDRESS_RAW (or something like that) here that is not in [], so you don\u0027t have to put url_unquote all over the place, but you still have to change all those places.","commit_id":"476ba2910ce95001a9220b493bb790a00ee68ecf"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"eb81ffa5f88e5e7e911555060ce32dd16d45239f","unresolved":false,"context_lines":[{"line_number":870,"context_line":"fi"},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"# This is either 0.0.0.0 for IPv4 or [::] for IPv6"},{"line_number":873,"context_line":"SERVICE_LISTEN_ADDRESS\u003d${SERVICE_LISTEN_ADDRESS:-${DEF_SERVICE_LISTEN_ADDRESS}}"},{"line_number":874,"context_line":""},{"line_number":875,"context_line":"# Allow the use of an alternate hostname (such as localhost/127.0.0.1) for"},{"line_number":876,"context_line":"# service endpoints.  Default is dependent on SERVICE_IP_VERSION above."}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"7f515b1d_a1fd6c3b","line":873,"in_reply_to":"7f515b1d_7c110f04","updated":"2017-10-06 10:55:33.000000000","message":"That is what I did in the initial version but Sean seemed to prefer the on-demand conversion.","commit_id":"476ba2910ce95001a9220b493bb790a00ee68ecf"}]}
