)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8426e83dea15aac81ce0a82f1a8760c5dd8f94d7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Specification for blueprint use-ksa-adapter-for-endpoints.  This spec"},{"line_number":10,"context_line":"follows on from blueprint use-service-catalog-for-endpoints (pike),"},{"line_number":11,"context_line":"which fell off waiting for dependencies to be ready."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I504723a0c86a0bbdbda6252f72c8fbfde3b6b43a"},{"line_number":14,"context_line":"Implements: bp use-ksa-adapter-for-endpoints"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"df6247ed_69e8e515","line":12,"updated":"2017-09-19 21:32:58.000000000","message":"Previously-approved: Pike","commit_id":"d5c45a5fd65c968e31b0fffad94ab415b4ac7907"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"d2f007e3fee99127994886e767f1075901f04646","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Specification for blueprint use-ksa-adapter-for-endpoints.  This spec"},{"line_number":10,"context_line":"follows on from blueprint use-service-catalog-for-endpoints (pike),"},{"line_number":11,"context_line":"which fell off waiting for dependencies to be ready."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I504723a0c86a0bbdbda6252f72c8fbfde3b6b43a"},{"line_number":14,"context_line":"Implements: bp use-ksa-adapter-for-endpoints"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"df6247ed_cc0ebf31","line":12,"in_reply_to":"df6247ed_69e8e515","updated":"2017-09-19 21:56:13.000000000","message":"Ack","commit_id":"d5c45a5fd65c968e31b0fffad94ab415b4ac7907"}],"specs/queens/approved/use-ksa-adapter-for-endpoints.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8426e83dea15aac81ce0a82f1a8760c5dd8f94d7","unresolved":false,"context_lines":[{"line_number":158,"context_line":"Performance Impact"},{"line_number":159,"context_line":"------------------"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"None"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Other deployer impact"},{"line_number":164,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df6247ed_49cbe11d","line":161,"updated":"2017-09-19 21:32:58.000000000","message":"Will we cache sessions or anything so we don\u0027t need to perform the endpoint lookup / service type authority dance every time we need to make an API call to another service, which we do a lot with things like Cinder and Neutron.","commit_id":"d5c45a5fd65c968e31b0fffad94ab415b4ac7907"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"d2f007e3fee99127994886e767f1075901f04646","unresolved":false,"context_lines":[{"line_number":158,"context_line":"Performance Impact"},{"line_number":159,"context_line":"------------------"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"None"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Other deployer impact"},{"line_number":164,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df6247ed_a92dbda9","line":161,"in_reply_to":"df6247ed_49cbe11d","updated":"2017-09-19 21:56:13.000000000","message":"Good point.  I believe the answer is yes (actually we\u0027d be caching the clients themselves), but definitely something worth calling out explicitly in the spec.","commit_id":"d5c45a5fd65c968e31b0fffad94ab415b4ac7907"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8426e83dea15aac81ce0a82f1a8760c5dd8f94d7","unresolved":false,"context_lines":[{"line_number":225,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"* keystoneauth1 3.2.0 or later"},{"line_number":228,"context_line":"* service-types-authority"},{"line_number":229,"context_line":"* os-service-types 1.1.0 or later"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df6247ed_c9d6b1c4","line":228,"range":{"start_line":228,"start_character":2,"end_line":228,"end_character":25},"updated":"2017-09-19 21:32:58.000000000","message":"This isn\u0027t in global-requirements yet?\n\nhttps://github.com/openstack/requirements/blob/master/global-requirements.txt\n\nOr what is that thing? I don\u0027t see it on pypi.","commit_id":"d5c45a5fd65c968e31b0fffad94ab415b4ac7907"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"d2f007e3fee99127994886e767f1075901f04646","unresolved":false,"context_lines":[{"line_number":225,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"* keystoneauth1 3.2.0 or later"},{"line_number":228,"context_line":"* service-types-authority"},{"line_number":229,"context_line":"* os-service-types 1.1.0 or later"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df6247ed_89031910","line":228,"range":{"start_line":228,"start_character":2,"end_line":228,"end_character":25},"in_reply_to":"df6247ed_c9d6b1c4","updated":"2017-09-19 21:56:13.000000000","message":"Yeah, sorry, service-types-authority is a (language-agnostic) data resource, not a pypi package.  It provides the data behind os-service-types (below); so it can probably just be left out of here.  Or if you prefer, I can include the above verbiage.","commit_id":"d5c45a5fd65c968e31b0fffad94ab415b4ac7907"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8426e83dea15aac81ce0a82f1a8760c5dd8f94d7","unresolved":false,"context_lines":[{"line_number":244,"context_line":""},{"line_number":245,"context_line":"* The sample conf file will be updated automatically by virtue of the"},{"line_number":246,"context_line":"  changes to the various ``oslo_config`` setup modules."},{"line_number":247,"context_line":"* The admin, user, and install guides for the affected services will be"},{"line_number":248,"context_line":"  scrubbed for references to the affected configuration options."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df6247ed_89e0b998","line":247,"range":{"start_line":247,"start_character":13,"end_line":247,"end_character":17},"updated":"2017-09-19 21:32:58.000000000","message":"We probably shouldn\u0027t have anything about this stuff in the user docs, but it\u0027s a good idea to scrub through them.","commit_id":"d5c45a5fd65c968e31b0fffad94ab415b4ac7907"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"f8f38a0d5c7bff0cb8eb14933b348c617e195f0a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"discovery is needed. This effort aims to take advantage of Adapters to"},{"line_number":17,"context_line":"make endpoint discovery consistent across Nova for the various services"},{"line_number":18,"context_line":"it uses: image (glance), block-storage (cinder), network (neutron),"},{"line_number":19,"context_line":"baremetal (ironic), key-manager (barbican), and placement."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":".. note:: This is an evolving continuation of the effort begun via"},{"line_number":22,"context_line":"          `blueprint use-service-catalog-for-endpoints`_."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf57530f_e069788b","line":19,"updated":"2017-09-20 13:13:46.000000000","message":"add keystone now that https://review.openstack.org/#/c/485121/ has merged.","commit_id":"a25696846c4422beb44a8bac9bc93e81b3401579"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c8c6b6768c73c12fc22ffe9fb0c5bd191db163bc","unresolved":false,"context_lines":[{"line_number":16,"context_line":"discovery is needed. This effort aims to take advantage of Adapters to"},{"line_number":17,"context_line":"make endpoint discovery consistent across Nova for the various services"},{"line_number":18,"context_line":"it uses: image (glance), block-storage (cinder), network (neutron),"},{"line_number":19,"context_line":"baremetal (ironic), key-manager (barbican), and placement."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":".. note:: This is an evolving continuation of the effort begun via"},{"line_number":22,"context_line":"          `blueprint use-service-catalog-for-endpoints`_."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f5c4f37_58f9527e","line":19,"in_reply_to":"bf57530f_e069788b","updated":"2017-09-21 14:59:47.000000000","message":"Done","commit_id":"a25696846c4422beb44a8bac9bc93e81b3401579"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"f8f38a0d5c7bff0cb8eb14933b348c617e195f0a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"* network (neutron)"},{"line_number":34,"context_line":"* baremetal (ironic)"},{"line_number":35,"context_line":"* key-manager (barbican)"},{"line_number":36,"context_line":"* placement"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Today, there are a number of disparate ways in which service endpoints"},{"line_number":39,"context_line":"are discovered and configured.  For example, different services use"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf57530f_e0fe18ad","line":36,"updated":"2017-09-20 13:13:46.000000000","message":"add keystone here as well","commit_id":"a25696846c4422beb44a8bac9bc93e81b3401579"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c8c6b6768c73c12fc22ffe9fb0c5bd191db163bc","unresolved":false,"context_lines":[{"line_number":33,"context_line":"* network (neutron)"},{"line_number":34,"context_line":"* baremetal (ironic)"},{"line_number":35,"context_line":"* key-manager (barbican)"},{"line_number":36,"context_line":"* placement"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Today, there are a number of disparate ways in which service endpoints"},{"line_number":39,"context_line":"are discovered and configured.  For example, different services use"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f5c4f37_38f69e91","line":36,"in_reply_to":"bf57530f_e0fe18ad","updated":"2017-09-21 14:59:47.000000000","message":"Done","commit_id":"a25696846c4422beb44a8bac9bc93e81b3401579"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"f8f38a0d5c7bff0cb8eb14933b348c617e195f0a","unresolved":false,"context_lines":[{"line_number":78,"context_line":"  auth, Session, and Adapter objects via"},{"line_number":79,"context_line":"  ``keystoneauth1.loading.register_*_conf_options``."},{"line_number":80,"context_line":"# Create an Adapter at runtime by chaining"},{"line_number":81,"context_line":"  ``keystoneauth1.loading.load_*_from_conf_options`` for auth, Session,"},{"line_number":82,"context_line":"  and Adapter, supplying those methods with the registered conf group."},{"line_number":83,"context_line":"# Use the resulting Adapter\u0027s discovery methods, such as"},{"line_number":84,"context_line":"  ``get_endpoint``, as needed."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf57530f_609d8858","line":81,"updated":"2017-09-20 13:13:46.000000000","message":"keystone (and maybe some of the others?) is currently only reading conf for session-related options, while auth comes from context.get_auth_plugin(). I know sdague had some concern about making operators specify auth credentials there.","commit_id":"a25696846c4422beb44a8bac9bc93e81b3401579"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c8c6b6768c73c12fc22ffe9fb0c5bd191db163bc","unresolved":false,"context_lines":[{"line_number":78,"context_line":"  auth, Session, and Adapter objects via"},{"line_number":79,"context_line":"  ``keystoneauth1.loading.register_*_conf_options``."},{"line_number":80,"context_line":"# Create an Adapter at runtime by chaining"},{"line_number":81,"context_line":"  ``keystoneauth1.loading.load_*_from_conf_options`` for auth, Session,"},{"line_number":82,"context_line":"  and Adapter, supplying those methods with the registered conf group."},{"line_number":83,"context_line":"# Use the resulting Adapter\u0027s discovery methods, such as"},{"line_number":84,"context_line":"  ``get_endpoint``, as needed."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f5c4f37_18daba16","line":81,"in_reply_to":"bf57530f_609d8858","updated":"2017-09-21 14:59:47.000000000","message":"Done","commit_id":"a25696846c4422beb44a8bac9bc93e81b3401579"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"f8f38a0d5c7bff0cb8eb14933b348c617e195f0a","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"From the Operator\u0027s perspective, this exposes a consistent way to"},{"line_number":93,"context_line":"configure service endpoints.  For each service type, the configuration"},{"line_number":94,"context_line":"options have the same names and semantics."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"To make the Developer experience consistent, we propose to add a new"},{"line_number":97,"context_line":"method ``get_ksa_adapter()`` in Nova.  To establish communication with"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf57530f_00fdac39","line":94,"updated":"2017-09-20 13:13:46.000000000","message":"if we don\u0027t use conf for auth options for some of these sections, that will be one difference worth noting.","commit_id":"a25696846c4422beb44a8bac9bc93e81b3401579"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c8c6b6768c73c12fc22ffe9fb0c5bd191db163bc","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"From the Operator\u0027s perspective, this exposes a consistent way to"},{"line_number":93,"context_line":"configure service endpoints.  For each service type, the configuration"},{"line_number":94,"context_line":"options have the same names and semantics."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"To make the Developer experience consistent, we propose to add a new"},{"line_number":97,"context_line":"method ``get_ksa_adapter()`` in Nova.  To establish communication with"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f5c4f37_d805427c","line":94,"in_reply_to":"bf57530f_00fdac39","updated":"2017-09-21 14:59:47.000000000","message":"Done","commit_id":"a25696846c4422beb44a8bac9bc93e81b3401579"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"f8f38a0d5c7bff0cb8eb14933b348c617e195f0a","unresolved":false,"context_lines":[{"line_number":100,"context_line":"`service-types-authority`_ via `os-service-types`_ to map service type"},{"line_number":101,"context_line":"names to their respective conf groups based on project name (e.g."},{"line_number":102,"context_line":"service type ``image`` maps to the ``glance`` project and therefore the"},{"line_number":103,"context_line":"``[glance]`` conf group)."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"In the Queens cycle, the existing configuration options and discovery"},{"line_number":106,"context_line":"mechanisms will continue to be supported.  If the legacy configuration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf57530f_603fc8d6","line":103,"updated":"2017-09-20 13:13:46.000000000","message":"have we discussed deprecating the project-based group names in favor of service-type-based group names?","commit_id":"a25696846c4422beb44a8bac9bc93e81b3401579"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4c0e80bfa71f767805e818c1ce66218c15977bf1","unresolved":false,"context_lines":[{"line_number":100,"context_line":"`service-types-authority`_ via `os-service-types`_ to map service type"},{"line_number":101,"context_line":"names to their respective conf groups based on project name (e.g."},{"line_number":102,"context_line":"service type ``image`` maps to the ``glance`` project and therefore the"},{"line_number":103,"context_line":"``[glance]`` conf group)."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"In the Queens cycle, the existing configuration options and discovery"},{"line_number":106,"context_line":"mechanisms will continue to be supported.  If the legacy configuration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f5c4f37_56cb6352","line":103,"in_reply_to":"9f5c4f37_1b07541f","updated":"2017-09-21 15:56:08.000000000","message":"That\u0027s what the service-types-authority [1] is for.  That guy provides an authoritative stake in the ground as to what the official service type name is (\"block-storage\" for your example).\n\nNevertheless, a task for another day.\n\n[1] https://service-types.openstack.org/service-types.json","commit_id":"a25696846c4422beb44a8bac9bc93e81b3401579"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"bcbc79ac8ecfb52d02db2a39347500004a56da22","unresolved":false,"context_lines":[{"line_number":100,"context_line":"`service-types-authority`_ via `os-service-types`_ to map service type"},{"line_number":101,"context_line":"names to their respective conf groups based on project name (e.g."},{"line_number":102,"context_line":"service type ``image`` maps to the ``glance`` project and therefore the"},{"line_number":103,"context_line":"``[glance]`` conf group)."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"In the Queens cycle, the existing configuration options and discovery"},{"line_number":106,"context_line":"mechanisms will continue to be supported.  If the legacy configuration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf57530f_cb78ccf9","line":103,"in_reply_to":"bf57530f_603fc8d6","updated":"2017-09-20 16:37:43.000000000","message":"I\u0027d like to see that too. We need to continue supporting the project name, but it would be nice if type was the preferred and documented thing in config and code.","commit_id":"a25696846c4422beb44a8bac9bc93e81b3401579"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c8c6b6768c73c12fc22ffe9fb0c5bd191db163bc","unresolved":false,"context_lines":[{"line_number":100,"context_line":"`service-types-authority`_ via `os-service-types`_ to map service type"},{"line_number":101,"context_line":"names to their respective conf groups based on project name (e.g."},{"line_number":102,"context_line":"service type ``image`` maps to the ``glance`` project and therefore the"},{"line_number":103,"context_line":"``[glance]`` conf group)."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"In the Queens cycle, the existing configuration options and discovery"},{"line_number":106,"context_line":"mechanisms will continue to be supported.  If the legacy configuration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf57530f_de0e41e4","line":103,"in_reply_to":"bf57530f_cb78ccf9","updated":"2017-09-21 14:59:47.000000000","message":"...which will be a separate effort for a future blueprint, right?  That\u0027s all that should need to be mentioned here?","commit_id":"a25696846c4422beb44a8bac9bc93e81b3401579"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b205251fbb8d862bedc3d432aa02015deb48f5a1","unresolved":false,"context_lines":[{"line_number":100,"context_line":"`service-types-authority`_ via `os-service-types`_ to map service type"},{"line_number":101,"context_line":"names to their respective conf groups based on project name (e.g."},{"line_number":102,"context_line":"service type ``image`` maps to the ``glance`` project and therefore the"},{"line_number":103,"context_line":"``[glance]`` conf group)."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"In the Queens cycle, the existing configuration options and discovery"},{"line_number":106,"context_line":"mechanisms will continue to be supported.  If the legacy configuration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f5c4f37_1b07541f","line":103,"in_reply_to":"bf57530f_de0e41e4","updated":"2017-09-21 15:37:28.000000000","message":"\u003e ...which will be a separate effort for a future blueprint, right? That\u0027s all that should need to be mentioned here?\n\nAgree. The types are nebulous, e.g. cinder, cinderv2, cinderv3, volume, volumev2, volumev3. Seems simpler to just have the codename group for the project rather than guess which service type name is in vogue this month.","commit_id":"a25696846c4422beb44a8bac9bc93e81b3401579"}]}
