)]}'
{"guidelines/consuming-catalog.rst":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"d13d8ba23cefa6cba10af5f4cf62903e09e2ff88","unresolved":false,"context_lines":[{"line_number":323,"context_line":"  service_type \u003d \u0027block-storage\u0027"},{"line_number":324,"context_line":"  api_version \u003d \u00272\u0027"},{"line_number":325,"context_line":"  # block-storage is not found, get list of aliases"},{"line_number":326,"context_line":"  # api_version is set, filter aliases by version - volumev2"},{"line_number":327,"context_line":"  # volumev2 is found, return it"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"  service_type \u003d \u0027volumev2\u0027"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f044301_6381d44a","line":326,"range":{"start_line":326,"start_character":24,"end_line":326,"end_character":60},"updated":"2017-05-05 17:34:13.000000000","message":"This isn\u0027t clear - do we just search for the character \u00272\u0027 in the type? or \u0027v2\u0027? or ...","commit_id":"9cfce9b457dc441d62924d2f4339c83450ed4a51"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"42a0d03607ad6615125feecb438b1480abf61358","unresolved":false,"context_lines":[{"line_number":323,"context_line":"  service_type \u003d \u0027block-storage\u0027"},{"line_number":324,"context_line":"  api_version \u003d \u00272\u0027"},{"line_number":325,"context_line":"  # block-storage is not found, get list of aliases"},{"line_number":326,"context_line":"  # api_version is set, filter aliases by version - volumev2"},{"line_number":327,"context_line":"  # volumev2 is found, return it"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"  service_type \u003d \u0027volumev2\u0027"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f044301_e920e2ae","line":326,"range":{"start_line":326,"start_character":24,"end_line":326,"end_character":60},"in_reply_to":"3f044301_6381d44a","updated":"2017-05-10 21:21:43.000000000","message":"Bother. This bit is actually entirely out of place. We haven\u0027t added version filtering to this yet.","commit_id":"9cfce9b457dc441d62924d2f4339c83450ed4a51"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"d445c24f26f9854216dccc597b43443ec24d6564","unresolved":false,"context_lines":[{"line_number":190,"context_line":"The algorithm is:"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"#. Find the objects in the ``{service-catalog}`` where ``type`` matches"},{"line_number":193,"context_line":"   ``{service-type}``."},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"#. If ``{service-name}`` was given and the objects remaining have a ``name``"},{"line_number":196,"context_line":"   field, keep only the ones where ``name`` matches ``{service-name}``."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ff0f0b1f_6038bfd2","side":"PARENT","line":193,"updated":"2017-05-18 11:49:32.000000000","message":"What\u0027s the difference between lines 203 and 206?","commit_id":"81536c71c5f9b49e198acdfd897ce14070918348"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"b80cf02178d8878960dabaacad66c7b3923a2a48","unresolved":false,"context_lines":[{"line_number":190,"context_line":"The algorithm is:"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"#. Find the objects in the ``{service-catalog}`` where ``type`` matches"},{"line_number":193,"context_line":"   ``{service-type}``."},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"#. If ``{service-name}`` was given and the objects remaining have a ``name``"},{"line_number":196,"context_line":"   field, keep only the ones where ``name`` matches ``{service-name}``."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ff0f0b1f_c0d0abcc","side":"PARENT","line":193,"in_reply_to":"ff0f0b1f_6038bfd2","updated":"2017-05-18 12:06:25.000000000","message":"One has match-candidate-entries - the other shouldn\u0027t be there. :)","commit_id":"81536c71c5f9b49e198acdfd897ce14070918348"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"d445c24f26f9854216dccc597b43443ec24d6564","unresolved":false,"context_lines":[{"line_number":263,"context_line":"       and services.service_type \u003d \u0027{service_type}\u0027"},{"line_number":264,"context_line":"       and services.service_name \u003d \u0027{service_name}\u0027"},{"line_number":265,"context_line":"       and endpoints.interface \u003d \u0027{interface}\u0027"},{"line_number":266,"context_line":"       and endpoints.region \u003d \u0027{region_name}\u0027)"},{"line_number":267,"context_line":"   limit 1;"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":".. _match-candidate-entries:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ff0f0b1f_a05b772c","line":266,"updated":"2017-05-18 11:49:32.000000000","message":"yeah, now it\u0027s getting alienating...\n\nthe data being processed isn\u0027t represented to the client as tables, so I don\u0027t think this helps, rather it is just kind of scary and \"screw it, I\u0027m going to use GCE or AWS\" inducing","commit_id":"40a8978ec189623d906f1751c6fccd06aae020cd"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"b80cf02178d8878960dabaacad66c7b3923a2a48","unresolved":false,"context_lines":[{"line_number":263,"context_line":"       and services.service_type \u003d \u0027{service_type}\u0027"},{"line_number":264,"context_line":"       and services.service_name \u003d \u0027{service_name}\u0027"},{"line_number":265,"context_line":"       and endpoints.interface \u003d \u0027{interface}\u0027"},{"line_number":266,"context_line":"       and endpoints.region \u003d \u0027{region_name}\u0027)"},{"line_number":267,"context_line":"   limit 1;"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":".. _match-candidate-entries:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ff0f0b1f_e0660f52","line":266,"in_reply_to":"ff0f0b1f_a05b772c","updated":"2017-05-18 12:06:25.000000000","message":"Done","commit_id":"40a8978ec189623d906f1751c6fccd06aae020cd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e76a42658b61bd36ede6970ba30a324036ef7f08","unresolved":false,"context_lines":[{"line_number":196,"context_line":"The algorithm is:"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"#. Find the objects in the ``{service-catalog}`` that match the requested"},{"line_number":199,"context_line":"   ``{service-type}``. (see :ref:`match-candidate-entries`)"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"#. If ``{service-name}`` was given and the objects remaining have a ``name``"},{"line_number":202,"context_line":"   field, keep only the ones where ``name`` matches ``{service-name}``."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_8ed400bf","line":199,"updated":"2017-05-19 12:00:12.000000000","message":"you can refer to titles like this: see `Title`_, not need for a ref.","commit_id":"0d9aaaae6fa42f81a24f562e30fb6729f98fcae7"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"3973ecd0f2a24844c0ae4e85700d11ef77c5f10d","unresolved":false,"context_lines":[{"line_number":196,"context_line":"The algorithm is:"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"#. Find the objects in the ``{service-catalog}`` that match the requested"},{"line_number":199,"context_line":"   ``{service-type}``. (see :ref:`match-candidate-entries`)"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"#. If ``{service-name}`` was given and the objects remaining have a ``name``"},{"line_number":202,"context_line":"   field, keep only the ones where ``name`` matches ``{service-name}``."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_93842860","line":199,"in_reply_to":"ff0f0b1f_8ed400bf","updated":"2017-05-19 12:57:19.000000000","message":"Done","commit_id":"0d9aaaae6fa42f81a24f562e30fb6729f98fcae7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e76a42658b61bd36ede6970ba30a324036ef7f08","unresolved":false,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":"#. From the set of remaining candidate endpoints, find the ones that best"},{"line_number":233,"context_line":"   matches the requested ``{service-type}``."},{"line_number":234,"context_line":"   (see :ref:`find-best-matching-endpoint`)"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"The remaining ``{candidate-endpoints}`` match the request. If there is more"},{"line_number":237,"context_line":"than one of them, just use the first."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_6edbecec","line":234,"updated":"2017-05-19 12:00:12.000000000","message":"ditto","commit_id":"0d9aaaae6fa42f81a24f562e30fb6729f98fcae7"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"3973ecd0f2a24844c0ae4e85700d11ef77c5f10d","unresolved":false,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":"#. From the set of remaining candidate endpoints, find the ones that best"},{"line_number":233,"context_line":"   matches the requested ``{service-type}``."},{"line_number":234,"context_line":"   (see :ref:`find-best-matching-endpoint`)"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"The remaining ``{candidate-endpoints}`` match the request. If there is more"},{"line_number":237,"context_line":"than one of them, just use the first."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_3381dc4b","line":234,"in_reply_to":"ff0f0b1f_6edbecec","updated":"2017-05-19 12:57:19.000000000","message":"Done","commit_id":"0d9aaaae6fa42f81a24f562e30fb6729f98fcae7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e76a42658b61bd36ede6970ba30a324036ef7f08","unresolved":false,"context_lines":[{"line_number":240,"context_line":""},{"line_number":241,"context_line":"#. If v3, the ``{catalog-endpoint}`` is the value of ``url``."},{"line_number":242,"context_line":""},{"line_number":243,"context_line":".. _match-candidate-entries:"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Match Candidate Entries"},{"line_number":246,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_4ed6e8c5","line":243,"updated":"2017-05-19 12:00:12.000000000","message":"see above, this is not needed","commit_id":"0d9aaaae6fa42f81a24f562e30fb6729f98fcae7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e76a42658b61bd36ede6970ba30a324036ef7f08","unresolved":false,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"#. If the requested type is an official type from the"},{"line_number":254,"context_line":"   `OpenStack Service Types Authority`_ that has aliases and one of the aliases"},{"line_number":255,"context_line":"   matches the entry\u0027s type, it is a candidate."},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"#. If the requested type is an alias of an official type from the"},{"line_number":258,"context_line":"   `OpenStack Service Types Authority`_ and the entry\u0027s type matches the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_2ee5f4a8","line":255,"updated":"2017-05-19 12:00:12.000000000","message":"Does it mean that all clients must maintain an up-to-date copy of this authority record? I wonder if it\u0027s worth spelling out explicitly.","commit_id":"0d9aaaae6fa42f81a24f562e30fb6729f98fcae7"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"3973ecd0f2a24844c0ae4e85700d11ef77c5f10d","unresolved":false,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"#. If the requested type is an official type from the"},{"line_number":254,"context_line":"   `OpenStack Service Types Authority`_ that has aliases and one of the aliases"},{"line_number":255,"context_line":"   matches the entry\u0027s type, it is a candidate."},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"#. If the requested type is an alias of an official type from the"},{"line_number":258,"context_line":"   `OpenStack Service Types Authority`_ and the entry\u0027s type matches the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_b38ccc7f","line":255,"in_reply_to":"ff0f0b1f_2ee5f4a8","updated":"2017-05-19 12:57:19.000000000","message":"Either that or fetch and cache one. Good point about spelling it out.","commit_id":"0d9aaaae6fa42f81a24f562e30fb6729f98fcae7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e76a42658b61bd36ede6970ba30a324036ef7f08","unresolved":false,"context_lines":[{"line_number":256,"context_line":""},{"line_number":257,"context_line":"#. If the requested type is an alias of an official type from the"},{"line_number":258,"context_line":"   `OpenStack Service Types Authority`_ and the entry\u0027s type matches the"},{"line_number":259,"context_line":"   official type, it is a candidate."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":".. _find-best-matching-endpoint:"},{"line_number":262,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_0ee0f095","line":259,"updated":"2017-05-19 12:00:12.000000000","message":"what about inter-alias matches? e.g. volumev2 and volumealsov2 are aliases of block-storage. I request volumev2, the catalog has volumealsov2. Is it expected to work?","commit_id":"0d9aaaae6fa42f81a24f562e30fb6729f98fcae7"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"3973ecd0f2a24844c0ae4e85700d11ef77c5f10d","unresolved":false,"context_lines":[{"line_number":256,"context_line":""},{"line_number":257,"context_line":"#. If the requested type is an alias of an official type from the"},{"line_number":258,"context_line":"   `OpenStack Service Types Authority`_ and the entry\u0027s type matches the"},{"line_number":259,"context_line":"   official type, it is a candidate."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":".. _find-best-matching-endpoint:"},{"line_number":262,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_d354e0cc","line":259,"in_reply_to":"ff0f0b1f_0ee0f095","updated":"2017-05-19 12:57:19.000000000","message":"Not at this point because we\u0027re not handling version yet. Once version is added to the picture, that can be more safely handled. For instance - \"volume\" and \"volumev2\" are both aliases to block-storage. If the catalog had volume and the user requested volumev2 - _currently_ that would be unsafe bcause the user would be implicitly requesting v2 of the API and volume traditionally held only v1. But once we consider versions, it would be safe to find \u0027volume\u0027 as another alias of block-storage because then version discovery would tell the user whether the volume endpoint provided an acceptable version.\n\nI\u0027ll add a note about that .. it\u0027s an excellent question.","commit_id":"0d9aaaae6fa42f81a24f562e30fb6729f98fcae7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e76a42658b61bd36ede6970ba30a324036ef7f08","unresolved":false,"context_lines":[{"line_number":326,"context_line":"  service_type \u003d \u0027volume\u0027"},{"line_number":327,"context_line":"  # volume not in authority or catalog"},{"line_number":328,"context_line":"  # volume is an alias of block-storage"},{"line_number":329,"context_line":"  # block-storage is not found. Return error."},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"Given the following catalog:"},{"line_number":332,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_eef01c6a","line":329,"updated":"2017-05-19 12:00:12.000000000","message":"this probably answer my question above, but it looks like an inconsistency.. though I suspect people requesting \"volume\" do not want to end up with \"volumev3\", hmm..","commit_id":"0d9aaaae6fa42f81a24f562e30fb6729f98fcae7"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"3973ecd0f2a24844c0ae4e85700d11ef77c5f10d","unresolved":false,"context_lines":[{"line_number":326,"context_line":"  service_type \u003d \u0027volume\u0027"},{"line_number":327,"context_line":"  # volume not in authority or catalog"},{"line_number":328,"context_line":"  # volume is an alias of block-storage"},{"line_number":329,"context_line":"  # block-storage is not found. Return error."},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"Given the following catalog:"},{"line_number":332,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_73bf54d0","line":329,"in_reply_to":"ff0f0b1f_eef01c6a","updated":"2017-05-19 12:57:19.000000000","message":"Yah. It\u0027s the version part that makes it problematic.","commit_id":"0d9aaaae6fa42f81a24f562e30fb6729f98fcae7"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"ef31e361718e4a44b82ee4b0ca2150aeb9832c19","unresolved":false,"context_lines":[{"line_number":116,"context_line":"the `OpenStack Service Types Authority`_ contains a list of historical"},{"line_number":117,"context_line":"aliases for such services."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":".. note:: It is assumed that clients have a copy of the data published in"},{"line_number":120,"context_line":"          the OpenStack Service Types Authority. A following spec describes"},{"line_number":121,"context_line":"          the publication of that data, but it\u0027s important to note that in"},{"line_number":122,"context_line":"          order to completely be able to support the process in this document,"},{"line_number":123,"context_line":"          a client will either need to have a local copy of the data or to"},{"line_number":124,"context_line":"          fetch it from its well-known URL and potentially cache it. It is"},{"line_number":125,"context_line":"          recommended that client libraries handle consumption of the"},{"line_number":126,"context_line":"          historical data for their users, but also allow some mechanism for"},{"line_number":127,"context_line":"          the user to provide more up to date data if necessary."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The basic process is:"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ff0f0b1f_0e939b5e","line":127,"range":{"start_line":119,"start_character":10,"end_line":127,"end_character":64},"updated":"2017-05-25 17:13:31.000000000","message":"I still think we should publish it as a package that is installed with clients/ksa.\n\nWe should also publish at a known url explicitly and add that to this document (JSON, YAML, whatever form) rather than just wave hands and say \"from some well-known url\". I suggest something like service-types.openstack.org or some other similar high-level easy-to-discover location (cgit locations are sub-optimal)","commit_id":"91e80d4f8ac2a13deed2d184b432caa13bdc838e"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"599f2dda7e9bb98b5c406192e5f50bb256680e38","unresolved":false,"context_lines":[{"line_number":116,"context_line":"the `OpenStack Service Types Authority`_ contains a list of historical"},{"line_number":117,"context_line":"aliases for such services."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":".. note:: It is assumed that clients have a copy of the data published in"},{"line_number":120,"context_line":"          the OpenStack Service Types Authority. A following spec describes"},{"line_number":121,"context_line":"          the publication of that data, but it\u0027s important to note that in"},{"line_number":122,"context_line":"          order to completely be able to support the process in this document,"},{"line_number":123,"context_line":"          a client will either need to have a local copy of the data or to"},{"line_number":124,"context_line":"          fetch it from its well-known URL and potentially cache it. It is"},{"line_number":125,"context_line":"          recommended that client libraries handle consumption of the"},{"line_number":126,"context_line":"          historical data for their users, but also allow some mechanism for"},{"line_number":127,"context_line":"          the user to provide more up to date data if necessary."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The basic process is:"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ff0f0b1f_742e68fb","line":127,"range":{"start_line":119,"start_character":10,"end_line":127,"end_character":64},"in_reply_to":"ff0f0b1f_0e939b5e","updated":"2017-05-25 18:49:01.000000000","message":"Yes! Totally agree on both points.\n\nWe\u0027ll publish the file as the \"canonical\" data, but also create a python library that does all the right things.\n\nThe specific url (which, btw, the next revision is the same hostname you suggest :) ) is in the next patch.","commit_id":"91e80d4f8ac2a13deed2d184b432caa13bdc838e"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"844ad6fdcb576c479ef176bfc32e960c31d57f8f","unresolved":false,"context_lines":[{"line_number":335,"context_line":"#. If the requested ``{service-type}`` is an official type in the"},{"line_number":336,"context_line":"   `OpenStack Service Types Authority`_ that has aliases, check each alias"},{"line_number":337,"context_line":"   in the order listed to see if it has a matching endpoint from the candidate"},{"line_number":338,"context_line":"   endpoints. Return the first match."},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"#. If the requested ``{service-type}`` is an alias of an official type in the"},{"line_number":341,"context_line":"   `OpenStack Service Types Authority`_, return the first endpoint that matches"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ff0f0b1f_da5a054f","line":338,"updated":"2017-05-25 15:24:14.000000000","message":"is the ordering here assumed to be the order in which they were created or is there further guidance we can provide?","commit_id":"91e80d4f8ac2a13deed2d184b432caa13bdc838e"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"599f2dda7e9bb98b5c406192e5f50bb256680e38","unresolved":false,"context_lines":[{"line_number":335,"context_line":"#. If the requested ``{service-type}`` is an official type in the"},{"line_number":336,"context_line":"   `OpenStack Service Types Authority`_ that has aliases, check each alias"},{"line_number":337,"context_line":"   in the order listed to see if it has a matching endpoint from the candidate"},{"line_number":338,"context_line":"   endpoints. Return the first match."},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"#. If the requested ``{service-type}`` is an alias of an official type in the"},{"line_number":341,"context_line":"   `OpenStack Service Types Authority`_, return the first endpoint that matches"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ff0f0b1f_548124c3","line":338,"in_reply_to":"ff0f0b1f_6ee0d7cd","updated":"2017-05-25 18:49:01.000000000","message":"Ah - I think this is too vague.\n\nThe intent of this section is to imply that the order in which the aliases are listed in the authority file is intended to express preference order for them. (existing clients have fallback orders encoded - and it\u0027s different preferences for different clients yay). will fix.","commit_id":"91e80d4f8ac2a13deed2d184b432caa13bdc838e"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"ef31e361718e4a44b82ee4b0ca2150aeb9832c19","unresolved":false,"context_lines":[{"line_number":335,"context_line":"#. If the requested ``{service-type}`` is an official type in the"},{"line_number":336,"context_line":"   `OpenStack Service Types Authority`_ that has aliases, check each alias"},{"line_number":337,"context_line":"   in the order listed to see if it has a matching endpoint from the candidate"},{"line_number":338,"context_line":"   endpoints. Return the first match."},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"#. If the requested ``{service-type}`` is an alias of an official type in the"},{"line_number":341,"context_line":"   `OpenStack Service Types Authority`_, return the first endpoint that matches"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ff0f0b1f_6ee0d7cd","line":338,"in_reply_to":"ff0f0b1f_da5a054f","updated":"2017-05-25 17:13:31.000000000","message":"Unfortunately, no there is no real guidance on order here. The order should be relatively fixed, but it could change based upon the keystone implementation details. If we want a strict order we need to update how keystone works to ensure that ordering (such as creation time) is used -- and more importantly, test+document said change to keystone.\n\nRight now, it is whatever is the first thing keystone emits in the list.","commit_id":"91e80d4f8ac2a13deed2d184b432caa13bdc838e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"168a3dfb0f97496916ba99166b2cca4e4cd3d6e1","unresolved":false,"context_lines":[{"line_number":41,"context_line":"service-type"},{"line_number":42,"context_line":"  The official name of the service, such as ``compute``, ``image`` or"},{"line_number":43,"context_line":"  ``block-storage`` as listed in the `OpenStack Service Types Authority`_."},{"line_number":44,"context_line":"  Required. It is impossible for a user to consume service discovery without"},{"line_number":45,"context_line":"  knowing what service they want to discover."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The user may also wish to express an alteration to the general algorithm:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7f231b9d_2e9e4663","line":44,"range":{"start_line":44,"start_character":2,"end_line":44,"end_character":11},"updated":"2017-06-11 19:36:36.000000000","message":"On L38 it already says it\u0027s required :)","commit_id":"3b9125f1a43d88e7458871c938ccd1fa87a32420"}],"guidelines/matching-service-type.rst":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"3f411993ad9811daf133c86128d2bc82c3d802de","unresolved":false,"context_lines":[{"line_number":22,"context_line":"   a version string of the form \"v[0-9]+.*\" that matches the ``{api-version}``."},{"line_number":23,"context_line":"   If there is a matching alias, search for a matching entry for that"},{"line_number":24,"context_line":"   alias. If there is a match, return it. If there is no match, return an"},{"line_number":25,"context_line":"   error that a match cannot be found."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"#. If the ``{service-type}`` given is in the"},{"line_number":28,"context_line":"   `OpenStack Service Types Authority`_ but does not have an entry in the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f044301_ba2cc499","line":25,"updated":"2017-05-04 15:19:30.000000000","message":"I suspect it\u0027s probably best to minimize the number of words being used in each step, but my first reaction when reading this step was that I had to think harder that I like to realize I\u0027m looking for the potential alias in the service types authority, and if found, using that name to look in the service catalog.","commit_id":"a36f8c9f5887f89266a03509491212b56853ecea"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"0c1850910bacdd89fb4b1b363f9fcc6d4b98c815","unresolved":false,"context_lines":[{"line_number":22,"context_line":"   a version string of the form \"v[0-9]+.*\" that matches the ``{api-version}``."},{"line_number":23,"context_line":"   If there is a matching alias, search for a matching entry for that"},{"line_number":24,"context_line":"   alias. If there is a match, return it. If there is no match, return an"},{"line_number":25,"context_line":"   error that a match cannot be found."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"#. If the ``{service-type}`` given is in the"},{"line_number":28,"context_line":"   `OpenStack Service Types Authority`_ but does not have an entry in the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f044301_e0e97e80","line":25,"in_reply_to":"3f044301_ba2cc499","updated":"2017-05-05 13:37:03.000000000","message":"Yeah. This is a super awkward section. Maybe I should move examples to be after each thing?","commit_id":"a36f8c9f5887f89266a03509491212b56853ecea"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"3f411993ad9811daf133c86128d2bc82c3d802de","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"#. If the ``{service-type}`` given is in the"},{"line_number":28,"context_line":"   `OpenStack Service Types Authority`_ but does not have an entry in the"},{"line_number":29,"context_line":"   catalog, and ``{api-version}`` is not set, look for an match for each"},{"line_number":30,"context_line":"   alias in the order given in the authority\u0027s list. Return the first match"},{"line_number":31,"context_line":"   found."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f044301_5a3b80d0","line":29,"updated":"2017-05-04 15:19:30.000000000","message":"a match","commit_id":"a36f8c9f5887f89266a03509491212b56853ecea"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"0c1850910bacdd89fb4b1b363f9fcc6d4b98c815","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"#. If the ``{service-type}`` given is in the"},{"line_number":28,"context_line":"   `OpenStack Service Types Authority`_ but does not have an entry in the"},{"line_number":29,"context_line":"   catalog, and ``{api-version}`` is not set, look for an match for each"},{"line_number":30,"context_line":"   alias in the order given in the authority\u0027s list. Return the first match"},{"line_number":31,"context_line":"   found."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f044301_639b1b72","line":29,"in_reply_to":"3f044301_5a3b80d0","updated":"2017-05-05 13:37:03.000000000","message":"Done","commit_id":"a36f8c9f5887f89266a03509491212b56853ecea"}]}
