)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"197af4ac0fbab4943b81cbbb8ddb96cebf3230e5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Don\u0027t fix protocol-less glance api_servers anymore"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Operators omitting the protocol (http(s)) from their [glance]api_servers"},{"line_number":10,"context_line":"value(s) have had long enough to fix it.  Use it as is; and if the"},{"line_number":11,"context_line":"protocol is omitted, let it fail hard in the request."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ifebc9192e1e754180c97a3e40806c1c496a8b715"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7f515b1d_61c3b1ee","line":10,"range":{"start_line":10,"start_character":9,"end_line":10,"end_character":39},"updated":"2017-10-09 18:17:48.000000000","message":"Unless you\u0027re a new install and don\u0027t know any better.","commit_id":"77122a9e35672e4f6a3178bfc237a12b208d68c9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"197af4ac0fbab4943b81cbbb8ddb96cebf3230e5","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Operators omitting the protocol (http(s)) from their [glance]api_servers"},{"line_number":10,"context_line":"value(s) have had long enough to fix it.  Use it as is; and if the"},{"line_number":11,"context_line":"protocol is omitted, let it fail hard in the request."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ifebc9192e1e754180c97a3e40806c1c496a8b715"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7f515b1d_413795ff","line":11,"updated":"2017-10-09 18:17:48.000000000","message":"OK and we\u0027re sufficiently clear about the values in the config option description:\n\nhttps://github.com/openstack/nova/blob/de90377721435f5ddc7e64915f41477562daac07/nova/conf/glance.py#L36\n\nSo that\u0027s good.","commit_id":"77122a9e35672e4f6a3178bfc237a12b208d68c9"}],"nova/image/glance.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"68f8f3803dc7857a42ee7f482ba66ed9d90317d3","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        api_servers \u003d [ksa_adap.endpoint_override or"},{"line_number":124,"context_line":"                       ksa_adap.get_endpoint_data().catalog_url]"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    random.shuffle(api_servers)"},{"line_number":127,"context_line":"    return itertools.cycle(api_servers)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_e867ce50","line":126,"range":{"start_line":126,"start_character":4,"end_line":126,"end_character":31},"updated":"2017-09-26 07:08:12.000000000","message":"I guess we can remove it now","commit_id":"3d75998e57fb9d3690ed23b609b4bf317241b541"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"9e41053ea6ecdc6dd140f5ef59e461f6f6930804","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        api_servers \u003d [ksa_adap.endpoint_override or"},{"line_number":124,"context_line":"                       ksa_adap.get_endpoint_data().catalog_url]"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    random.shuffle(api_servers)"},{"line_number":127,"context_line":"    return itertools.cycle(api_servers)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_9c79b630","line":126,"range":{"start_line":126,"start_character":4,"end_line":126,"end_character":31},"in_reply_to":"7f515b1d_e867ce50","updated":"2017-09-26 13:09:59.000000000","message":"No, to keep functional parity it still needs to be done, but it can still be moved up.  Done (with rebase).","commit_id":"3d75998e57fb9d3690ed23b609b4bf317241b541"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"197af4ac0fbab4943b81cbbb8ddb96cebf3230e5","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        for api_server in CONF.glance.api_servers:"},{"line_number":119,"context_line":"            if \u0027//\u0027 not in api_server:"},{"line_number":120,"context_line":"                api_server \u003d \u0027http://\u0027 + api_server"},{"line_number":121,"context_line":"                # NOTE(sdague): remove in O."},{"line_number":122,"context_line":"                LOG.warning(\"No protocol specified in for api_server \u0027%s\u0027, \""},{"line_number":123,"context_line":"                            \"please update [glance] api_servers with fully \""},{"line_number":124,"context_line":"                            \"qualified url including scheme (http / https)\","},{"line_number":125,"context_line":"                            api_server)"},{"line_number":126,"context_line":"            api_servers.append(api_server)"},{"line_number":127,"context_line":"        random.shuffle(api_servers)"},{"line_number":128,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f515b1d_4142f569","side":"PARENT","line":125,"range":{"start_line":121,"start_character":16,"end_line":125,"end_character":39},"updated":"2017-10-09 18:17:48.000000000","message":"Oh OK.","commit_id":"ac5d6d983397d07d5cfafadbf60260cc0506be40"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"4a81fa920f951646ff100ebf26e6c2638f17f6e0","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    # need to shuffle multiple endpoints."},{"line_number":116,"context_line":"    if CONF.glance.api_servers:"},{"line_number":117,"context_line":"        api_servers \u003d CONF.glance.api_servers"},{"line_number":118,"context_line":"        random.shuffle(api_servers)"},{"line_number":119,"context_line":"    else:"},{"line_number":120,"context_line":"        # TODO(efried): Plumb in a reasonable auth from callers\u0027 contexts"},{"line_number":121,"context_line":"        ksa_adap \u003d utils.get_ksa_adapter(\u0027image\u0027, min_version\u003d\u00272.0\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f515b1d_30d528e6","line":118,"range":{"start_line":118,"start_character":8,"end_line":118,"end_character":35},"updated":"2017-09-27 06:58:04.000000000","message":"you are right, move to here is a better way","commit_id":"77122a9e35672e4f6a3178bfc237a12b208d68c9"}],"releasenotes/notes/glance-api-servers-must-be-urls-558298647cbfc81c.yaml":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"68f8f3803dc7857a42ee7f482ba66ed9d90317d3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    If using the ``api_servers`` option in the ``[glance]`` configuration"},{"line_number":5,"context_line":"    section, the values therein must be URLs.  Raw IP addresses will result"},{"line_number":6,"context_line":"    in hard failure of API requests."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7f515b1d_0856aa5d","line":6,"range":{"start_line":4,"start_character":3,"end_line":6,"end_character":36},"updated":"2017-09-26 07:08:12.000000000","message":"should we provide some warning first then remove it next cycle? this kind of change might break users without warning even we documented it","commit_id":"3d75998e57fb9d3690ed23b609b4bf317241b541"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"9e41053ea6ecdc6dd140f5ef59e461f6f6930804","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    If using the ``api_servers`` option in the ``[glance]`` configuration"},{"line_number":5,"context_line":"    section, the values therein must be URLs.  Raw IP addresses will result"},{"line_number":6,"context_line":"    in hard failure of API requests."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7f515b1d_bc8912cb","line":6,"range":{"start_line":4,"start_character":3,"end_line":6,"end_character":36},"in_reply_to":"7f515b1d_0856aa5d","updated":"2017-09-26 13:09:59.000000000","message":"This change set is removing the warning that\u0027s been in place for a year and a half.","commit_id":"3d75998e57fb9d3690ed23b609b4bf317241b541"}]}
