)]}'
{"goals/queens/add-collection-link.rst":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bbff93d9401f50b6c90dbf0873452388fbfa17f6","unresolved":false,"context_lines":[{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Nearly all of the OpenStack services provide a version discovery document"},{"line_number":8,"context_line":"listing all of major versions of the service available and the base endpoint"},{"line_number":9,"context_line":"of each version. Additionally, nearly all of the OpenStack services also"},{"line_number":10,"context_line":"provide a document at the base of each versioned endpoint that provides"},{"line_number":11,"context_line":"version information about the specific version located at that endpoint."}],"source_content_type":"text/x-rst","patch_set":3,"id":"df140735_e33a94cb","line":8,"updated":"2017-06-07 19:00:04.000000000","message":"listing all major versions* ?","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bbff93d9401f50b6c90dbf0873452388fbfa17f6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Nearly all of the OpenStack services provide a version discovery document"},{"line_number":8,"context_line":"listing all of major versions of the service available and the base endpoint"},{"line_number":9,"context_line":"of each version. Additionally, nearly all of the OpenStack services also"},{"line_number":10,"context_line":"provide a document at the base of each versioned endpoint that provides"},{"line_number":11,"context_line":"version information about the specific version located at that endpoint."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"df140735_8346384f","line":9,"updated":"2017-06-07 19:00:04.000000000","message":"nit: Either \u0027Additionally\u0027 or \u0027also\u0027 could probably be removed here, since it slightly redundant wording.","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a723f887b36d5b4849c8c1f34c3c2c59e9db408e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"unversioned endpoint is in the catalog. However, in the case of a versioned"},{"line_number":23,"context_line":"endpoint in the catalog for a service that has more than one major version,"},{"line_number":24,"context_line":"there is an unfortunate step required. In that case, the API consumer must pop"},{"line_number":25,"context_line":"elements from the endpoint to construct likley version discovery endpoints."},{"line_number":26,"context_line":"This works, but given the existence of the version discovery infrastructure"},{"line_number":27,"context_line":"in the first place, it seems like a less than ideal interface."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff0f0b1f_333463de","line":25,"updated":"2017-05-26 17:32:55.000000000","message":"likely","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"99ad1b478ec6f69b8634220f048a463272e0826c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"is the addition of a ``collection`` link in the list of links returned in the"},{"line_number":31,"context_line":"version discovery document. The ``collection`` link will point to the endpoint"},{"line_number":32,"context_line":"of the unversioned document, so that a user can start from a versioned endpoint"},{"line_number":33,"context_line":"and navigate successfully to all available versioned."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"This goal proposes getting all of the services to add a collection link to"},{"line_number":36,"context_line":"their version discovery documents."}],"source_content_type":"text/x-rst","patch_set":3,"id":"df140735_ac76c905","line":33,"updated":"2017-05-30 15:33:38.000000000","message":"Should that be \"versions\" or \"versioned endpoints\"?","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bbff93d9401f50b6c90dbf0873452388fbfa17f6","unresolved":false,"context_lines":[{"line_number":30,"context_line":"is the addition of a ``collection`` link in the list of links returned in the"},{"line_number":31,"context_line":"version discovery document. The ``collection`` link will point to the endpoint"},{"line_number":32,"context_line":"of the unversioned document, so that a user can start from a versioned endpoint"},{"line_number":33,"context_line":"and navigate successfully to all available versioned."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"This goal proposes getting all of the services to add a collection link to"},{"line_number":36,"context_line":"their version discovery documents."}],"source_content_type":"text/x-rst","patch_set":3,"id":"df140735_03822850","line":33,"in_reply_to":"df140735_ac76c905","updated":"2017-06-07 19:00:04.000000000","message":"++","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"99ad1b478ec6f69b8634220f048a463272e0826c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"A followup outcome from completion of this goal will be recommending to the"},{"line_number":39,"context_line":"Interop Working Group that existence of version discovery documents that meet"},{"line_number":40,"context_line":"the API Working Group defintions, including working ``collection`` links be"},{"line_number":41,"context_line":"included in the next Interop guidelines."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Gerrit Topic"},{"line_number":44,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"df140735_6cc79114","line":41,"updated":"2017-05-30 15:33:38.000000000","message":"Does that imply that we also need to add tempest test(s) as a completion criteria for this goal?","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8d1f51b47c3c2de0f8249b6a176e55f35b2cd9c1","unresolved":false,"context_lines":[{"line_number":38,"context_line":"A followup outcome from completion of this goal will be recommending to the"},{"line_number":39,"context_line":"Interop Working Group that existence of version discovery documents that meet"},{"line_number":40,"context_line":"the API Working Group defintions, including working ``collection`` links be"},{"line_number":41,"context_line":"included in the next Interop guidelines."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Gerrit Topic"},{"line_number":44,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"df140735_1eef28b1","line":41,"in_reply_to":"df140735_6cc79114","updated":"2017-06-07 15:40:09.000000000","message":"Good point, I think it does imply that. Would be good to be explicit.","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bbff93d9401f50b6c90dbf0873452388fbfa17f6","unresolved":false,"context_lines":[{"line_number":56,"context_line":"#. The ``links`` property of each version document will include a"},{"line_number":57,"context_line":"   ``collection`` link."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"For example, a versioned discovery document will look like this:"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":".. code-block:: json"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"df140735_c3467022","line":59,"updated":"2017-06-07 19:00:04.000000000","message":"This might be redundant, but we could include the request:\n\n  GET https://image.example.com/v2","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bbff93d9401f50b6c90dbf0873452388fbfa17f6","unresolved":false,"context_lines":[{"line_number":77,"context_line":"      }"},{"line_number":78,"context_line":"    }"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"and an unversioned document:"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":".. code-block:: json"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"df140735_835078d6","line":80,"updated":"2017-06-07 19:00:04.000000000","message":"Like-wise here:\n\n  GET https://image.example.com/","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8d1f51b47c3c2de0f8249b6a176e55f35b2cd9c1","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Example implementation:"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"`Sample Implementation In Nova`_"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Current State / Anticipated Impact"},{"line_number":133,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"df140735_9eed788d","line":130,"updated":"2017-06-07 15:40:09.000000000","message":"Did we want a sample tempest test too? Given Doug\u0027s comment.","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"99ad1b478ec6f69b8634220f048a463272e0826c","unresolved":false,"context_lines":[{"line_number":132,"context_line":"Current State / Anticipated Impact"},{"line_number":133,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"This is completely new work for all projects, but it\u0027s fairly trivial to code."},{"line_number":136,"context_line":"The `Sample Implementation In Nova`_ was written in about 20 minutes with no"},{"line_number":137,"context_line":"prior knowledge of the Nova version discovery code."},{"line_number":138,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"df140735_ec03a141","line":135,"updated":"2017-05-30 15:33:38.000000000","message":"\"all projects with REST APIs\"","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"cabbc48cf01439695ec76b70f6e0a0029af449e8","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"This is completely new work for all projects, but it\u0027s fairly trivial to code."},{"line_number":136,"context_line":"The `Sample Implementation In Nova`_ was written in about 20 minutes with no"},{"line_number":137,"context_line":"prior knowledge of the Nova version discovery code."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"For the libraries, full consumption of version discovery should happen in"},{"line_number":140,"context_line":"keystoneauth, so there should be no additional work."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f201791_c8bb520c","line":137,"updated":"2017-06-20 20:16:26.000000000","message":"What\u0027s the plan to deal with versioning in this document, given that it\u0027s format has been fixed forever in most projects?aa","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"99ad1b478ec6f69b8634220f048a463272e0826c","unresolved":false,"context_lines":[{"line_number":136,"context_line":"The `Sample Implementation In Nova`_ was written in about 20 minutes with no"},{"line_number":137,"context_line":"prior knowledge of the Nova version discovery code."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"For the libraries, full consumption of version discovery should happen in"},{"line_number":140,"context_line":"keystoneauth, so there should be no additional work."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"A tempest test should be written that verifies a version discovery document can"}],"source_content_type":"text/x-rst","patch_set":3,"id":"df140735_8cfae53f","line":139,"updated":"2017-05-30 15:33:38.000000000","message":"the client libraries","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"99ad1b478ec6f69b8634220f048a463272e0826c","unresolved":false,"context_lines":[{"line_number":139,"context_line":"For the libraries, full consumption of version discovery should happen in"},{"line_number":140,"context_line":"keystoneauth, so there should be no additional work."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"A tempest test should be written that verifies a version discovery document can"},{"line_number":143,"context_line":"be fetched from every endpoint in the catalog, that every endpoint has a"},{"line_number":144,"context_line":"``collection`` link, and that the document found at the ``collection`` link"},{"line_number":145,"context_line":"contains an unversioned document. That test should be allowed to apply the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"df140735_2c9f5904","line":142,"updated":"2017-05-30 15:33:38.000000000","message":"This needs to be added as a completion criteria, and it needs to be clear that the test must be added directly to tempest (not a plugin) so the test can be used for interop certification later.","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"99ad1b478ec6f69b8634220f048a463272e0826c","unresolved":false,"context_lines":[{"line_number":151,"context_line":"discovery document to ec2-api makes no sense as ec2-api implements an API"},{"line_number":152,"context_line":"defined outside of OpenStack. Adding version discovery documents to swift would"},{"line_number":153,"context_line":"be a nice outcome, but is a larger effort than adding a field to an existing"},{"line_number":154,"context_line":"document and has potential compatibility impacts so is considered out of"},{"line_number":155,"context_line":"scope for this goal. The tempest test for version discovery validity can"},{"line_number":156,"context_line":"exclude swift and ec2-api."},{"line_number":157,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"df140735_0c7255e6","line":154,"updated":"2017-05-30 15:33:38.000000000","message":"Before we declare it out of scope, I would be interested to hear from the swift team about whether they think it\u0027s reasonable to implement. Let\u0027s not build too many assumptions into the goal definition up front. (Maybe you\u0027ve already consulted them, but that isn\u0027t clear from the phrasing here.)","commit_id":"780af352704a178c1cb75f6eb0b8a92429168301"}]}
