)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9eb0551602d89e90553a5b3888964755680e7100","unresolved":false,"context_lines":[{"line_number":11,"context_line":"- Blueprint likely to live in keystone project."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I1d74149b1f9f7739a630e2b52392a786a414776e"},{"line_number":14,"context_line":"Co-authored-by: Sean Dague \u003csdague@linux.vnet.ibm.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba3cc151_65b595ec","line":14,"updated":"2015-07-01 02:01:55.000000000","message":"nit: sdague\u0027s e-mail is changed now.","commit_id":"acea149fa580ecd6c4906325bf2621597be01dca"}],"specs/service-catalog.rst":[{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"575b556aeb35b05941978cf28e1a3c65ffe9f4f3","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Such a diverse Service Catalog means that services don\u0027t depend on it being"},{"line_number":47,"context_line":"consistent, SDK devs don\u0027t completely understand it, and it makes applications"},{"line_number":48,"context_line":"have to encode cloud-specific behavior."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"For example, a nova.conf file has to indicate exact URLs for many API"},{"line_number":51,"context_line":"endpoints::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_0bacbfeb","line":48,"updated":"2015-05-08 14:07:41.000000000","message":"See http://git.openstack.org/cgit/openstack/os-client-config/tree/os_client_config/vendors.py for concrete examples of information that must be encoded because it cannot be determined from the service catalog.","commit_id":"4d40dd7d4a084d0ce76ca618429c4aebf4954b74"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"575b556aeb35b05941978cf28e1a3c65ffe9f4f3","unresolved":false,"context_lines":[{"line_number":82,"context_line":"- Name and type are meaningless, misunderstood, and poorly documented."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"- Regions are not consistently named or used. The way regions are structured"},{"line_number":85,"context_line":"  are a pain for SDKs, because it requires a lot of traversing."},{"line_number":86,"context_line":"- Service Catalogs of any decent size are difficult to parse and filter."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- The input JSON parameters are unnecessarily nested."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_ebbaa322","line":85,"updated":"2015-05-08 14:07:41.000000000","message":"Missing blank line #notaminusone","commit_id":"4d40dd7d4a084d0ce76ca618429c4aebf4954b74"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"575b556aeb35b05941978cf28e1a3c65ffe9f4f3","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- The input JSON parameters are unnecessarily nested."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"- The tying between auth and getting a service catalog seems unnecessary."},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_cbb5a731","line":90,"updated":"2015-05-08 14:07:41.000000000","message":"Versions in URLs being inconsistent is not a problem for SDK devs. Absolutely no way to determine version is a problem for SDK devs.","commit_id":"4d40dd7d4a084d0ce76ca618429c4aebf4954b74"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"575b556aeb35b05941978cf28e1a3c65ffe9f4f3","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"The list of changes will be gathered here:"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"- Images is the only API that does not contain the version number in the endpoints?"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_ab838b55","line":103,"updated":"2015-05-08 14:07:41.000000000","message":"Don\u0027t care about version number in endpoint. There is an emerging \u0027standard\u0027 in the community to have a versionList url for a service which points to the api endpoint for the service where a list of supported versions can be fetched (this is the / of the API for almost everybody) It\u0027s not usable from keystone-session at the moment, nor is version discoverabilty, because the URL you get back from keystone-session for a service is the versioned endpoint.","commit_id":"4d40dd7d4a084d0ce76ca618429c4aebf4954b74"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"1cc8dedaa4e084a147b12104d0268c7403e37aca","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"What we want to solve for:"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- Standard required naming for endpoints (versioned vs. unversioned, contains"},{"line_number":75,"context_line":"  project ID vs. no project ID)."},{"line_number":76,"context_line":"- List of changes needed in existing clouds/products to comply with this."},{"line_number":77,"context_line":"- List of changes in OpenStack projects that would rely on this standard, thus"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_dabfaef9","line":74,"updated":"2015-05-08 15:01:07.000000000","message":"I would like to see the standard be unversioned only and have all the projects move to unversioned.","commit_id":"8751a0ee3d868d08c22676cc7b20803394f0fdca"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"bbeb9d4d3c5f453a306d1df8ac1022254eb705dc","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"What we want to solve for:"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- Standard required naming for endpoints (versioned vs. unversioned, contains"},{"line_number":75,"context_line":"  project ID vs. no project ID)."},{"line_number":76,"context_line":"- List of changes needed in existing clouds/products to comply with this."},{"line_number":77,"context_line":"- List of changes in OpenStack projects that would rely on this standard, thus"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_90c8f723","line":74,"in_reply_to":"1aca2d91_dabfaef9","updated":"2015-06-24 15:20:30.000000000","message":"Does anyone have a list of what projects endpoints are still versioned? I\u0027ll compile it but wanted to see if anyone knows of a list. I\u0027ll update the spec to include.","commit_id":"8751a0ee3d868d08c22676cc7b20803394f0fdca"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"1cc8dedaa4e084a147b12104d0268c7403e37aca","unresolved":false,"context_lines":[{"line_number":72,"context_line":"What we want to solve for:"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- Standard required naming for endpoints (versioned vs. unversioned, contains"},{"line_number":75,"context_line":"  project ID vs. no project ID)."},{"line_number":76,"context_line":"- List of changes needed in existing clouds/products to comply with this."},{"line_number":77,"context_line":"- List of changes in OpenStack projects that would rely on this standard, thus"},{"line_number":78,"context_line":"  making sure we\u0027ve got it right."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_fa470a1b","line":75,"updated":"2015-05-08 15:01:07.000000000","message":"We have also been trying to discourage the substitution in the endpoint directly like this -- I\u0027d like to see that simply go away as well.","commit_id":"8751a0ee3d868d08c22676cc7b20803394f0fdca"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"bbeb9d4d3c5f453a306d1df8ac1022254eb705dc","unresolved":false,"context_lines":[{"line_number":72,"context_line":"What we want to solve for:"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- Standard required naming for endpoints (versioned vs. unversioned, contains"},{"line_number":75,"context_line":"  project ID vs. no project ID)."},{"line_number":76,"context_line":"- List of changes needed in existing clouds/products to comply with this."},{"line_number":77,"context_line":"- List of changes in OpenStack projects that would rely on this standard, thus"},{"line_number":78,"context_line":"  making sure we\u0027ve got it right."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_30d5a3b8","line":75,"in_reply_to":"1aca2d91_fa470a1b","updated":"2015-06-24 15:20:30.000000000","message":"I think Compute v2.0 does this most -- any other projects?","commit_id":"8751a0ee3d868d08c22676cc7b20803394f0fdca"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"1cc8dedaa4e084a147b12104d0268c7403e37aca","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Top difficulties with the service catalog for SDK devs are currently:"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"- Name and type are meaningless, misunderstood, and poorly documented."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"- Regions are not consistently named or used. The way regions are structured"},{"line_number":87,"context_line":"  are a pain for SDKs, because it requires a lot of traversing."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_da1b2e1a","line":84,"updated":"2015-05-08 15:01:07.000000000","message":"As long as we are careful that a \"name\" or \"type\" doesn\u0027t indicate a blessed / only allowed option (in the spirit of big tent direction). \n\nEg how do you resolve what \"compute\" means - remember RAX has two things listed as compute (nova and legacy). They are different services, but are the same type.","commit_id":"8751a0ee3d868d08c22676cc7b20803394f0fdca"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"1cc8dedaa4e084a147b12104d0268c7403e37aca","unresolved":false,"context_lines":[{"line_number":84,"context_line":"- Name and type are meaningless, misunderstood, and poorly documented."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"- Regions are not consistently named or used. The way regions are structured"},{"line_number":87,"context_line":"  are a pain for SDKs, because it requires a lot of traversing."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"- Service Catalogs of any decent size are difficult to parse and filter."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_5ab15ee0","line":87,"updated":"2015-05-08 15:01:07.000000000","message":"id like to have a clear proposal in this spec on what regions should be / look like. Without a clear direction, this is not a good item for the spec, it leaves a lot up to interpretation. I expect regions will always require traversing - this is a minor concern compared to\nSome of the others.","commit_id":"8751a0ee3d868d08c22676cc7b20803394f0fdca"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"1cc8dedaa4e084a147b12104d0268c7403e37aca","unresolved":false,"context_lines":[{"line_number":86,"context_line":"- Regions are not consistently named or used. The way regions are structured"},{"line_number":87,"context_line":"  are a pain for SDKs, because it requires a lot of traversing."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"- Service Catalogs of any decent size are difficult to parse and filter."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"- The input JSON parameters are unnecessarily nested."},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_da21eefc","line":89,"updated":"2015-05-08 15:01:07.000000000","message":"Is this direct parsing and filtering? Or is this using the tools keystone team is providing. This is another case where I want a clear direction describe before +1 on the spec to make sure we aren\u0027t backing ourselves into another corner. \n\nAlso remember the catalog is currently an API contract. A significant change to format is a new auth api. I have a spec proposed for keystone to decouple auth from api version, but it is not reviewed / had much discussion yet. This would likely need that spec as we cannot materially change he format without breaking our contract.","commit_id":"8751a0ee3d868d08c22676cc7b20803394f0fdca"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"1cc8dedaa4e084a147b12104d0268c7403e37aca","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"- Service Catalogs of any decent size are difficult to parse and filter."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"- The input JSON parameters are unnecessarily nested."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_7a7d3ae6","line":91,"updated":"2015-05-08 15:01:07.000000000","message":"See previous comment about api contract.","commit_id":"8751a0ee3d868d08c22676cc7b20803394f0fdca"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"2ff3f51ea8ef7247ef8179c7312c4fd8be2ac0df","unresolved":false,"context_lines":[{"line_number":41,"context_line":"The API Working Group"},{"line_number":42,"context_line":"did some initial fact finding here and discovered just how varied the catalog"},{"line_number":43,"context_line":"can be. See"},{"line_number":44,"context_line":"https://wiki.openstack.org/wiki/API_Working_Group/Current_Design/Service_Catalog."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Such a diverse Service Catalog means that services don\u0027t depend on it being"},{"line_number":47,"context_line":"consistent, SDK devs don\u0027t completely understand it, and it makes applications"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_2a6f5c2c","line":44,"updated":"2015-07-01 01:59:47.000000000","message":"This wiki is very interesting.\n\nThe \"type\" seems consistent between clouds/products like \"compute\".\nbut \"name\" is inconsistent like \"nova\", \"cloudServersOpenStack\" and \"Compute\".","commit_id":"acea149fa580ecd6c4906325bf2621597be01dca"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"2ff3f51ea8ef7247ef8179c7312c4fd8be2ac0df","unresolved":false,"context_lines":[{"line_number":64,"context_line":"configuration setting to set the info to match when looking for cinder in the service catalog. Format is: separated values of the form:"},{"line_number":65,"context_line":"\u003cservice_type\u003e:\u003cservice_name\u003e:\u003cendpoint_type\u003e."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"There\u0027s also an endpoint_template nova.conf variable that will override service catalog lookup with template for cinder endpoint e.g. http://localhost:8776/v1/%(project_id)s"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Proposed change"},{"line_number":70,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_0a9058eb","line":67,"updated":"2015-07-01 01:59:47.000000000","message":"FYI\n\nTempest also find an endpoint from Keystone\u0027s service catalog based on catalog_type(\"compute\", etc), not catalog_name.\n\nhttps://github.com/openstack/tempest/blob/master/etc/tempest.conf.sample#L314","commit_id":"acea149fa580ecd6c4906325bf2621597be01dca"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"2ff3f51ea8ef7247ef8179c7312c4fd8be2ac0df","unresolved":false,"context_lines":[{"line_number":85,"context_line":"  and vendor-specific \"Extra\" things during the transition(s)."},{"line_number":86,"context_line":"  Known types such as service_type can be documented in projects.yaml in the"},{"line_number":87,"context_line":"  openstack/governance git repository."},{"line_number":88,"context_line":"  "},{"line_number":89,"context_line":"- List of changes in OpenStack projects that would rely on this standard, thus"},{"line_number":90,"context_line":"  making sure we\u0027ve got it right."},{"line_number":91,"context_line":"- Published guidelines we recommend that DefCore requires of cloud provider\u0027s"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_0a8db87a","line":88,"updated":"2015-07-01 01:59:47.000000000","message":"unnecessary spaces at line88.","commit_id":"acea149fa580ecd6c4906325bf2621597be01dca"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"2ff3f51ea8ef7247ef8179c7312c4fd8be2ac0df","unresolved":false,"context_lines":[{"line_number":151,"context_line":"Create a JSON Schema for the service catalog, to be stored as a tempest test,"},{"line_number":152,"context_line":"so that the stackforge/refstack repo can make use of it. Tempest tests can"},{"line_number":153,"context_line":"check for valid entries. So the keystone project won\u0027t enforce the list, rather"},{"line_number":154,"context_line":"a test in Tempest can enforce for interoperability."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Create a guideline in the API Working Group repository for service types,"},{"line_number":157,"context_line":"names, endpoint URLs, and configuration for cloud providers creating service"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_45c1717f","line":154,"updated":"2015-07-01 01:59:47.000000000","message":"I\u0027d like to know the vision/goal of this JSON Schema in Tempest.\n\nJSON Schema can validate input data with value types(string, int, boolean, null or something), string patterns and extra data(additionalProperties feature).\n\nI guess this Tempest test will get service entries from Keystone and check each entry based on JSON Schema.\nMaybe the JSON Schema definition for each entry will be:\n\n existence of service_type: required(not optional)\n value type of service_type: string\n extra data: acceptable because of line 84\n\nIs string pattern for service_type also in the scope of this test?\nIf so, maybe the string patterns will come from projects.yaml in the openstack/governance.\nIs it right?","commit_id":"acea149fa580ecd6c4906325bf2621597be01dca"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"cb14c31eb381f0a8e8c8c16b3aa72b95ae6cc1c7","unresolved":false,"context_lines":[{"line_number":151,"context_line":"Create a JSON Schema for the service catalog, to be stored as a tempest test,"},{"line_number":152,"context_line":"so that the stackforge/refstack repo can make use of it. Tempest tests can"},{"line_number":153,"context_line":"check for valid entries. So the keystone project won\u0027t enforce the list, rather"},{"line_number":154,"context_line":"a test in Tempest can enforce for interoperability."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Create a guideline in the API Working Group repository for service types,"},{"line_number":157,"context_line":"names, endpoint URLs, and configuration for cloud providers creating service"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a41bdd9_1947244c","line":154,"in_reply_to":"9a41bdd9_a7fdd73b","updated":"2015-07-14 23:32:42.000000000","message":"Thanks for your reply, that is super cool for me :)","commit_id":"acea149fa580ecd6c4906325bf2621597be01dca"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"4de67288b41a9acfa06f56f6d0379a4d3c746091","unresolved":false,"context_lines":[{"line_number":151,"context_line":"Create a JSON Schema for the service catalog, to be stored as a tempest test,"},{"line_number":152,"context_line":"so that the stackforge/refstack repo can make use of it. Tempest tests can"},{"line_number":153,"context_line":"check for valid entries. So the keystone project won\u0027t enforce the list, rather"},{"line_number":154,"context_line":"a test in Tempest can enforce for interoperability."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Create a guideline in the API Working Group repository for service types,"},{"line_number":157,"context_line":"names, endpoint URLs, and configuration for cloud providers creating service"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a41bdd9_a7fdd73b","line":154,"in_reply_to":"ba3cc151_45c1717f","updated":"2015-07-14 12:29:46.000000000","message":"Yes, all of this is good detail to add. I\u0027d like the projects.yaml file to be a source of truth. The difficulty would come if a \"competing\" project gets entered in projects.yaml so we may need to think of that case.","commit_id":"acea149fa580ecd6c4906325bf2621597be01dca"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"  This template should be in ReSTructured text.  For help with syntax,"},{"line_number":3,"context_line":"  see http://sphinx-doc.org/rest.html"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"  To test out your formatting, build the docs using tox, or see:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_164d4c99","line":2,"updated":"2015-07-30 02:37:46.000000000","message":"remove this stuff","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"https://blueprints.launchpad.net/keystone/+spec/service-catalog-standards"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The Service Catalog offers cloud consumers an inital view to all the available"},{"line_number":34,"context_line":"services in an OpenStack cloud along with additional information about"},{"line_number":35,"context_line":"regions, API versions, projects available. However, it\u0027s also terribly"},{"line_number":36,"context_line":"underused, under documented, and configured differently nearly everywhere."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_b60fb838","line":33,"updated":"2015-07-30 02:37:46.000000000","message":"lowercase \"service catalog\" throughout this document. There\u0027s nothing special about it.","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The Service Catalog offers cloud consumers an inital view to all the available"},{"line_number":34,"context_line":"services in an OpenStack cloud along with additional information about"},{"line_number":35,"context_line":"regions, API versions, projects available. However, it\u0027s also terribly"},{"line_number":36,"context_line":"underused, under documented, and configured differently nearly everywhere."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_d646047b","line":35,"updated":"2015-07-30 02:37:46.000000000","message":"add \"and\"","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"646767629f4dd852b28c91cb053a15e46ace854f","unresolved":false,"context_lines":[{"line_number":44,"context_line":"https://wiki.openstack.org/wiki/API_Working_Group/Current_Design/Service_Catalog."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"As an example of the inconsistency, cloud providers have filled in the \"name\""},{"line_number":47,"context_line":"object as all three: \"nova\", \"cloudServersOpenStack\" and \"Compute\"."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Such a diverse Service Catalog means that services don\u0027t depend on it being"},{"line_number":50,"context_line":"consistent, SDK devs don\u0027t completely understand it, and it makes applications"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a41bdd9_cdd25e5c","line":47,"updated":"2015-07-14 21:40:59.000000000","message":"I wonder if we want to scope the project names, like os-compute rather than compute, but its messy.","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"646767629f4dd852b28c91cb053a15e46ace854f","unresolved":false,"context_lines":[{"line_number":53,"context_line":"determined from the service catalog."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"For example, a nova.conf file has to indicate exact URLs for many API"},{"line_number":56,"context_line":"endpoints::"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"   [glance]"},{"line_number":59,"context_line":"   api_servers \u003d http://127.0.0.1:9292"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a41bdd9_0afb4c48","line":56,"updated":"2015-07-14 21:40:59.000000000","message":"We probably need to keep these, as , in some cases you want different API servers to those you expose to users, but it would be nice to default to the service catalog, so we can leave this here.","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":61,"context_line":"   url \u003d http://127.0.0.1:9696"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Ideally, rather than hardcoding these URL/port values in configuration files,"},{"line_number":64,"context_line":"keystone could provide discoverability for those."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Another example, the catalog_info \u003d volume:cinder:publicURL in nova.conf is a"},{"line_number":67,"context_line":"configuration setting to set the info to match when looking for cinder in the service catalog. Format is: separated values of the form:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_118b1620","line":64,"updated":"2015-07-30 02:37:46.000000000","message":"I think that \"keystone\u0027 throughout this doc should be changed to \"identity service\". Not every deployment of OpenStack even runs the keystone server... some deployments have their own implementation of the identity service.","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":64,"context_line":"keystone could provide discoverability for those."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Another example, the catalog_info \u003d volume:cinder:publicURL in nova.conf is a"},{"line_number":67,"context_line":"configuration setting to set the info to match when looking for cinder in the service catalog. Format is: separated values of the form:"},{"line_number":68,"context_line":"\u003cservice_type\u003e:\u003cservice_name\u003e:\u003cendpoint_type\u003e."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"There\u0027s also an endpoint_template nova.conf variable that will override service catalog lookup with template for cinder endpoint e.g. http://localhost:8776/v1/%(project_id)s"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_b1f022ff","line":67,"updated":"2015-07-30 02:37:46.000000000","message":"wrap text at 79 chars per the template.\n\nAlso, space after \"is\", and use ``:``","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":67,"context_line":"configuration setting to set the info to match when looking for cinder in the service catalog. Format is: separated values of the form:"},{"line_number":68,"context_line":"\u003cservice_type\u003e:\u003cservice_name\u003e:\u003cendpoint_type\u003e."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"There\u0027s also an endpoint_template nova.conf variable that will override service catalog lookup with template for cinder endpoint e.g. http://localhost:8776/v1/%(project_id)s"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Proposed change"},{"line_number":73,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_d1436e12","line":70,"updated":"2015-07-30 02:37:46.000000000","message":"use ``endpoint_template`` since it\u0027s a string.\n\nwrap text at 79 chars per the template.","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":78,"context_line":"  project ID vs. no project ID)."},{"line_number":79,"context_line":"  In general we want unversioned endpoints so that the user can get information"},{"line_number":80,"context_line":"  about multiple available versions in a given cloud."},{"line_number":81,"context_line":"  We do not want project ID, account ID, or tenant ID as part of the resource"},{"line_number":82,"context_line":"  URI for an OpenStack API endpoint."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"- List of changes needed in existing clouds/products to comply with this."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_91f406d0","line":81,"updated":"2015-07-30 02:37:46.000000000","message":"these 2 should probably be sub-bullets ?","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":82,"context_line":"  URI for an OpenStack API endpoint."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"- List of changes needed in existing clouds/products to comply with this."},{"line_number":85,"context_line":"  We want DevStack to follow these standards as the best practice example."},{"line_number":86,"context_line":"  We want a JSON schema to ensure understanding and compliance."},{"line_number":87,"context_line":"  JSON Schema must allow for \"extra\" data so that we can continue with name,"},{"line_number":88,"context_line":"  and vendor-specific \"Extra\" things during the transition(s)."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_310172b0","line":85,"updated":"2015-07-30 02:37:46.000000000","message":"use sub-bullets","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  openstack/governance git repository."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"- List of changes in OpenStack projects that would rely on this standard, thus"},{"line_number":93,"context_line":"  making sure we\u0027ve got it right."},{"line_number":94,"context_line":"- Published guidelines we recommend that DefCore requires of cloud provider\u0027s"},{"line_number":95,"context_line":"  service catalogs going forward."},{"line_number":96,"context_line":"  These guidelines can be created in the API Working Group set of guidelines."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_1161d6a8","line":93,"updated":"2015-07-30 02:37:46.000000000","message":"blank line between bullets for consistency.","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"- Name and type are meaningless, misunderstood, and poorly documented."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"- Regions are not consistently named or used. The way regions are structured"},{"line_number":103,"context_line":"  are a pain for SDKs, because it requires a lot of traversing."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"- Service Catalogs of any decent size are difficult to parse and filter."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_b1234258","line":102,"updated":"2015-07-30 02:37:46.000000000","message":"The deployer picks the region name... I don\u0027t think we can constrain this.","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":102,"context_line":"- Regions are not consistently named or used. The way regions are structured"},{"line_number":103,"context_line":"  are a pain for SDKs, because it requires a lot of traversing."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"- Service Catalogs of any decent size are difficult to parse and filter."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"- The input JSON parameters are unnecessarily nested."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_d1dfee38","line":105,"updated":"2015-07-30 02:37:46.000000000","message":"This doesn\u0027t make sense to me... service catalogs for deployments of any size need to be easy for humans to read?","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"- Service Catalogs of any decent size are difficult to parse and filter."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"- The input JSON parameters are unnecessarily nested."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_91e2c600","line":107,"updated":"2015-07-30 02:37:46.000000000","message":"what\u0027s a JSON parameter? maybe this needs an example.","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"- The tying between auth and getting a service catalog seems unnecessary."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"- Sometimes nested resources, say `Tenant`, will use different attributes in"},{"line_number":114,"context_line":"  the service catalog that the keystone service does in a separate `/tenants`"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_91c9667c","line":111,"updated":"2015-07-30 02:37:46.000000000","message":"keystone supports endpoint filtering so the service catalog that you get depends on the project that the token is scoped to, so while it might seem unnecessary it currently is.","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"- Sometimes nested resources, say `Tenant`, will use different attributes in"},{"line_number":114,"context_line":"  the service catalog that the keystone service does in a separate `/tenants`"},{"line_number":115,"context_line":"  call."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Documentation can improve some of the difficulties. Standards and guidelines"},{"line_number":118,"context_line":"should be published from within the Cloud Admin Guide, the Installation Guides, and the Keystone developer documentation."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_f19eaa68","line":115,"updated":"2015-07-30 02:37:46.000000000","message":"I don\u0027t know what this means.","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":115,"context_line":"  call."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Documentation can improve some of the difficulties. Standards and guidelines"},{"line_number":118,"context_line":"should be published from within the Cloud Admin Guide, the Installation Guides, and the Keystone developer documentation."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"The list of changes will be gathered here:"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_11a476b7","line":118,"updated":"2015-07-30 02:37:46.000000000","message":"wrap at 79 chars per the template.","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"- Ensure each service\u0027s API has a version request (current standard is a GET"},{"line_number":123,"context_line":"  call to /). However, keystone-session can\u0027t use that to discover versions"},{"line_number":124,"context_line":"  because the URL returned by keystone for a service is the versioned endpoint."},{"line_number":125,"context_line":"  The version is embedded in the URL. We should have keystone discover with"},{"line_number":126,"context_line":"  each services\u0027 API itself."},{"line_number":127,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_b1a8228e","line":124,"updated":"2015-07-30 02:37:46.000000000","message":"keystone just returns what the admin put in the service catalog. keystone doesn\u0027t require a version in the service catalog.","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ea183000835093488ddac46f2ee2bc09c44b72ae","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Depending on which projects have work to do, I\u0027ll add assignees here. I\u0027m"},{"line_number":143,"context_line":"wanting to make the experience consistent through code and docs. I\u0027m guessing"},{"line_number":144,"context_line":"that since keystone houses the service catalog now, that\u0027s where some of the"},{"line_number":145,"context_line":"work will be done."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Primary assignee:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_f1b30aeb","line":144,"updated":"2015-07-30 02:37:46.000000000","message":"keystone just returns whatever the admins are putting in the service catalog. If we change it the majority of the work is in the consumers of the service catalog. keystone doesn\u0027t actually use the service catalog. The majority of the work is going to be testing changes. Maybe we need a test using the current devstack catalog + another test for the \"ideal\" catalog (also set up by devstack).","commit_id":"0dfff691f33699e4879eac2d45ed52fef928bfef"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"4f86b57f724df8aafa5024b0e0a5e92f6248c396","unresolved":false,"context_lines":[{"line_number":110,"context_line":"  are a pain for SDKs, because it requires a lot of traversing. Encourage"},{"line_number":111,"context_line":"  clear provider documentation and guidance for this naming."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"- The input JSON parameters are unnecessarily nested. For example, "},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":116,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a4dcd0f_b41ffb06","line":113,"updated":"2015-08-06 14:33:07.000000000","message":"I am working on an example and will add.","commit_id":"b26e253b5f6e0daf00f5dcbfe883f83d8f432188"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f6f9a913096e81c5875639ced66320b77df3e268","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"  This template should be in ReSTructured text.  For help with syntax,"},{"line_number":3,"context_line":"  see http://sphinx-doc.org/rest.html"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"  To test out your formatting, build the docs using tox, or see:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_9643d512","line":2,"updated":"2015-08-06 20:24:49.000000000","message":"remove template comments","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"838266410ab2e64fd64e2f2ffd7a03c52a7340ca","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"  This template should be in ReSTructured text.  For help with syntax,"},{"line_number":3,"context_line":"  see http://sphinx-doc.org/rest.html"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"  To test out your formatting, build the docs using tox, or see:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_f55c8e4c","line":2,"in_reply_to":"1a4dcd0f_9643d512","updated":"2015-08-06 20:59:16.000000000","message":"Done","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f6f9a913096e81c5875639ced66320b77df3e268","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"https://blueprints.launchpad.net/keystone/+spec/service-catalog-standards"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The Service Catalog offers cloud consumers an initial view to all the available"},{"line_number":34,"context_line":"services in an OpenStack cloud along with additional information about"},{"line_number":35,"context_line":"regions, API versions, projects available. However, it\u0027s also terribly"},{"line_number":36,"context_line":"underused, under documented, and configured differently nearly everywhere."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_165025d3","line":33,"updated":"2015-08-06 20:24:49.000000000","message":"suggest lowercase service catalog throughout this document","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"838266410ab2e64fd64e2f2ffd7a03c52a7340ca","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"https://blueprints.launchpad.net/keystone/+spec/service-catalog-standards"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The Service Catalog offers cloud consumers an initial view to all the available"},{"line_number":34,"context_line":"services in an OpenStack cloud along with additional information about"},{"line_number":35,"context_line":"regions, API versions, projects available. However, it\u0027s also terribly"},{"line_number":36,"context_line":"underused, under documented, and configured differently nearly everywhere."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_3546767b","line":33,"in_reply_to":"1a4dcd0f_165025d3","updated":"2015-08-06 20:59:16.000000000","message":"Done","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f6f9a913096e81c5875639ced66320b77df3e268","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Ideally, rather than hardcoding these URL/port values in configuration files,"},{"line_number":64,"context_line":"the Identity service could provide discoverability for those."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Another example, the catalog_info \u003d volume:cinder:publicURL in nova.conf is a"},{"line_number":67,"context_line":"configuration setting to set the info to match when looking for cinder in the"},{"line_number":68,"context_line":"service catalog. Format is separated values of the form::"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_36ebe1e0","line":66,"updated":"2015-08-06 20:24:49.000000000","message":"suggest use ``catalog_info \u003d volume:cinder:publicURL`` for rst formatting","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"838266410ab2e64fd64e2f2ffd7a03c52a7340ca","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Ideally, rather than hardcoding these URL/port values in configuration files,"},{"line_number":64,"context_line":"the Identity service could provide discoverability for those."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Another example, the catalog_info \u003d volume:cinder:publicURL in nova.conf is a"},{"line_number":67,"context_line":"configuration setting to set the info to match when looking for cinder in the"},{"line_number":68,"context_line":"service catalog. Format is separated values of the form::"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_95574a25","line":66,"in_reply_to":"1a4dcd0f_36ebe1e0","updated":"2015-08-06 20:59:16.000000000","message":"Yep, also `nova.conf`","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f6f9a913096e81c5875639ced66320b77df3e268","unresolved":false,"context_lines":[{"line_number":132,"context_line":"           \"name\": \"cdn-admin\","},{"line_number":133,"context_line":"           \"serviceId\": \"150\","},{"line_number":134,"context_line":"           \"tenantId\": \"TENANT_ID\""},{"line_number":135,"context_line":"         },"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":138,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_71409307","line":135,"updated":"2015-08-06 20:24:49.000000000","message":"keystone doesn\u0027t return this in the service catalog. Is this an alternative implementation of identity server that does this?","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"838266410ab2e64fd64e2f2ffd7a03c52a7340ca","unresolved":false,"context_lines":[{"line_number":132,"context_line":"           \"name\": \"cdn-admin\","},{"line_number":133,"context_line":"           \"serviceId\": \"150\","},{"line_number":134,"context_line":"           \"tenantId\": \"TENANT_ID\""},{"line_number":135,"context_line":"         },"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":138,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_551b0281","line":135,"in_reply_to":"1a4dcd0f_71409307","updated":"2015-08-06 20:59:16.000000000","message":"This is from HP Public Cloud, and I don\u0027t honestly know their identity server. However DevStack also does it and is probably why public cloud providers followed suit. Take a look at https://wiki.openstack.org/wiki/API_Working_Group/Current_Design/Service_Catalog for a list of all the service catalogs we could gather.","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f6f9a913096e81c5875639ced66320b77df3e268","unresolved":false,"context_lines":[{"line_number":137,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"- The tying between auth and getting a service catalog seems unnecessary. See"},{"line_number":140,"context_line":"  roles example above."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"- Sometimes nested resources, say `Tenant`, uses different attributes in"},{"line_number":143,"context_line":"  the service catalog that the Identity service does in a separate `/tenants`"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_31fd2bb4","line":140,"updated":"2015-08-06 20:24:49.000000000","message":"it is necessary since the identity service supports endpoint filtering, so the endpoints available in the service catalog depend on the scope that the user requested for the token. I guess this is the docs part as mentioned in the next paragraph.","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"838266410ab2e64fd64e2f2ffd7a03c52a7340ca","unresolved":false,"context_lines":[{"line_number":137,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"- The tying between auth and getting a service catalog seems unnecessary. See"},{"line_number":140,"context_line":"  roles example above."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"- Sometimes nested resources, say `Tenant`, uses different attributes in"},{"line_number":143,"context_line":"  the service catalog that the Identity service does in a separate `/tenants`"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_3514364b","line":140,"in_reply_to":"1a4dcd0f_31fd2bb4","updated":"2015-08-06 20:59:16.000000000","message":"Agreed. Will leave it as tied to the prior DevStack being an example.","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f6f9a913096e81c5875639ced66320b77df3e268","unresolved":false,"context_lines":[{"line_number":152,"context_line":"- Ensure each service\u0027s API has a version request (current standard is a GET"},{"line_number":153,"context_line":"  call to /). However, keystone-session can\u0027t use that to discover versions"},{"line_number":154,"context_line":"  because the URL returned by the Identity service for another configured"},{"line_number":155,"context_line":"  service is the versioned endpoint. The version is embedded in the URL. We"},{"line_number":156,"context_line":"  should have the Identity service discover version number with each services\u0027"},{"line_number":157,"context_line":"  API itself."},{"line_number":158,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_d1bc07bd","line":155,"updated":"2015-08-06 20:24:49.000000000","message":"the Identity service just returns the service catalog that the deployer set up. The identity server can return version URLs or unversioned URLs. It\u0027s up to the clients to support unversioned endpoints.","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"838266410ab2e64fd64e2f2ffd7a03c52a7340ca","unresolved":false,"context_lines":[{"line_number":152,"context_line":"- Ensure each service\u0027s API has a version request (current standard is a GET"},{"line_number":153,"context_line":"  call to /). However, keystone-session can\u0027t use that to discover versions"},{"line_number":154,"context_line":"  because the URL returned by the Identity service for another configured"},{"line_number":155,"context_line":"  service is the versioned endpoint. The version is embedded in the URL. We"},{"line_number":156,"context_line":"  should have the Identity service discover version number with each services\u0027"},{"line_number":157,"context_line":"  API itself."},{"line_number":158,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_981c5f6b","line":155,"in_reply_to":"1a4dcd0f_d1bc07bd","updated":"2015-08-06 20:59:16.000000000","message":"Would a revision be, \"However, keystone-session can\u0027t use that call to discover versions because ...\" \n\nNot sure I understand your suggested revision here.","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f6f9a913096e81c5875639ced66320b77df3e268","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"- Cause project\u0027s interactions with the service catalog to be standard so that"},{"line_number":168,"context_line":"  for example, the nova project does not need three configuration variables to"},{"line_number":169,"context_line":"  specify how nova can interact with the cinder service catalog entries."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Alternatives"},{"line_number":172,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_11ed8fb6","line":169,"updated":"2015-08-06 20:24:49.000000000","message":"I think the example should be removed. The interaction needs to be correct, rather than worrying about how many options there are.","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"838266410ab2e64fd64e2f2ffd7a03c52a7340ca","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"- Cause project\u0027s interactions with the service catalog to be standard so that"},{"line_number":168,"context_line":"  for example, the nova project does not need three configuration variables to"},{"line_number":169,"context_line":"  specify how nova can interact with the cinder service catalog entries."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Alternatives"},{"line_number":172,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_38598b35","line":169,"in_reply_to":"1a4dcd0f_11ed8fb6","updated":"2015-08-06 20:59:16.000000000","message":"Heh, I added the example here since you had asked for one above. :)","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f6f9a913096e81c5875639ced66320b77df3e268","unresolved":false,"context_lines":[{"line_number":184,"context_line":"Depending on which projects have work to do, I\u0027ll add assignees here. I\u0027m"},{"line_number":185,"context_line":"wanting to make the experience consistent through code and docs. I\u0027m guessing"},{"line_number":186,"context_line":"that since the Identity service houses the service catalog now, that\u0027s where"},{"line_number":187,"context_line":"some of the work is done."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Primary assignee:"},{"line_number":190,"context_line":"  annegentle"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_1144afb4","line":187,"updated":"2015-08-06 20:24:49.000000000","message":"I think the guess should be removed. I don\u0027t think the work is going to be done in identity service.","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"838266410ab2e64fd64e2f2ffd7a03c52a7340ca","unresolved":false,"context_lines":[{"line_number":184,"context_line":"Depending on which projects have work to do, I\u0027ll add assignees here. I\u0027m"},{"line_number":185,"context_line":"wanting to make the experience consistent through code and docs. I\u0027m guessing"},{"line_number":186,"context_line":"that since the Identity service houses the service catalog now, that\u0027s where"},{"line_number":187,"context_line":"some of the work is done."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Primary assignee:"},{"line_number":190,"context_line":"  annegentle"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_984a1f54","line":187,"in_reply_to":"1a4dcd0f_1144afb4","updated":"2015-08-06 20:59:16.000000000","message":"Done","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f6f9a913096e81c5875639ced66320b77df3e268","unresolved":false,"context_lines":[{"line_number":204,"context_line":"  governance/projects.yaml file)"},{"line_number":205,"context_line":"- extra data: acceptable because of the need for transition for providers"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Create a guideline in the API Working Group repository for service types,"},{"line_number":208,"context_line":"names, endpoint URLs, and configuration for cloud providers creating service"},{"line_number":209,"context_line":"catalog entries."},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_3171ab0f","line":207,"updated":"2015-08-06 20:24:49.000000000","message":"suggest do this first.","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"838266410ab2e64fd64e2f2ffd7a03c52a7340ca","unresolved":false,"context_lines":[{"line_number":204,"context_line":"  governance/projects.yaml file)"},{"line_number":205,"context_line":"- extra data: acceptable because of the need for transition for providers"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Create a guideline in the API Working Group repository for service types,"},{"line_number":208,"context_line":"names, endpoint URLs, and configuration for cloud providers creating service"},{"line_number":209,"context_line":"catalog entries."},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_3870aba3","line":207,"in_reply_to":"1a4dcd0f_3171ab0f","updated":"2015-08-06 20:59:16.000000000","message":"Done","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f6f9a913096e81c5875639ced66320b77df3e268","unresolved":false,"context_lines":[{"line_number":211,"context_line":"DevStack should be the reference implementation for best practices in service"},{"line_number":212,"context_line":"catalog entries."},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"Create a conceptual topic about the service catalog using http://dolphm.com/openstack-keystone-service-catalog/ as a starting point."},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"Dependencies"},{"line_number":217,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a4dcd0f_3158cb87","line":214,"updated":"2015-08-06 20:24:49.000000000","message":"wrap lines at 79 chars per the template.","commit_id":"b3573bf5adaeaf329d24e8e23adb04d060a2a9d4"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"aefcc29a60fb5aa8d5af842d26f5c6f5a2c68b66","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Problem description"},{"line_number":13,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The API Working Group"},{"line_number":16,"context_line":"did some initial fact finding here and discovered just how varied the catalog"},{"line_number":17,"context_line":"can be. See"},{"line_number":18,"context_line":"https://wiki.openstack.org/wiki/API_Working_Group/Current_Design/Service_Catalog."}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a4dcd0f_43225fa4","line":15,"updated":"2015-08-10 04:01:32.000000000","message":"Why here needs a new line after \"Group\"?\n\nFrom http://docs-draft.openstack.org/93/181393/9/check/gate-openstack-specs-docs/0b7589f//doc/build/html/specs/service-catalog.html , it seems fine to remove it.","commit_id":"b6f7f7c28ba44ddbf26a07d4b33534182478436d"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"aefcc29a60fb5aa8d5af842d26f5c6f5a2c68b66","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    * In general we want unversioned endpoints so that the user can get"},{"line_number":59,"context_line":"      information about multiple available versions in a given cloud."},{"line_number":60,"context_line":"    * We do not want project ID, account ID, or tenant ID as part of the"},{"line_number":61,"context_line":"      resource URI for an OpenStack API endpoint."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"- List of changes needed in existing clouds/products to comply with this."}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a4dcd0f_e3160b4b","line":60,"updated":"2015-08-10 04:01:32.000000000","message":"What is different between \"project ID\" and \"tenant ID\" here?\nI was a little confused.","commit_id":"b6f7f7c28ba44ddbf26a07d4b33534182478436d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6907a0cc46bece97826b24c02f8f00ab106361b2","unresolved":false,"context_lines":[{"line_number":106,"context_line":"           \"name\": \"cdn-admin\","},{"line_number":107,"context_line":"           \"serviceId\": \"150\","},{"line_number":108,"context_line":"           \"tenantId\": \"TENANT_ID\""},{"line_number":109,"context_line":"         },"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":112,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a4dcd0f_7bc2adea","line":109,"updated":"2015-08-06 23:42:47.000000000","message":"the wiki has the entire token response, not just the service catalog. The service catalog is included in the token response.","commit_id":"b6f7f7c28ba44ddbf26a07d4b33534182478436d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6907a0cc46bece97826b24c02f8f00ab106361b2","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"- Cause project\u0027s interactions with the service catalog to be standard so that"},{"line_number":142,"context_line":"  for example, the nova project does not need three configuration variables to"},{"line_number":143,"context_line":"  specify how nova can interact with the cinder service catalog entries."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Alternatives"},{"line_number":146,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a4dcd0f_fb5c7d4c","line":143,"updated":"2015-08-06 23:42:47.000000000","message":"The example makes it clear that the \"interactions\" is the config options. Maybe this could be shortened to \"Use standard configuration options for looking up endpoints from the service catalog\".","commit_id":"b6f7f7c28ba44ddbf26a07d4b33534182478436d"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"7d371cc85bba77c267acf1279fde0d9ba26d2057","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"The service catalog offers cloud consumers an initial view to all the available"},{"line_number":8,"context_line":"services in an OpenStack cloud along with additional information about"},{"line_number":9,"context_line":"regions, API versions, projects available. However, it\u0027s also terribly"},{"line_number":10,"context_line":"underused, under documented, and configured differently nearly everywhere."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_c6d9bc23","line":9,"updated":"2015-08-12 15:19:25.000000000","message":"consider something like this...  s/projects available.  However, it\u0027s also/projects available.  This catalog is to help make it easy for admins to efficiently find information about the services, such as how to configure communications between services.  But the catalog is/","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"6b5922ba8793ec87e33feb2f95bc227d04c87d1e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"The service catalog offers cloud consumers an initial view to all the available"},{"line_number":8,"context_line":"services in an OpenStack cloud along with additional information about"},{"line_number":9,"context_line":"regions, API versions, projects available. However, it\u0027s also terribly"},{"line_number":10,"context_line":"underused, under documented, and configured differently nearly everywhere."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_a57f8f15","line":9,"in_reply_to":"1a4dcd0f_aac1bd4f","updated":"2015-08-13 14:23:18.000000000","message":"I totally agree with you, Ken\u0027ichi.  Thanks for catching this. Since the context of cloud consumers is already set, then the suggested change might be ...\n\ns/projects available. However, it\u0027s also/projects available. This catalog is to help efficiently find information about the services, such as how to configure communications between services. But the catalog is/","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"7f6a245917eca135196e66c42c31eb55234f8eb0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"The service catalog offers cloud consumers an initial view to all the available"},{"line_number":8,"context_line":"services in an OpenStack cloud along with additional information about"},{"line_number":9,"context_line":"regions, API versions, projects available. However, it\u0027s also terribly"},{"line_number":10,"context_line":"underused, under documented, and configured differently nearly everywhere."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_aac1bd4f","line":9,"in_reply_to":"1a4dcd0f_c6d9bc23","updated":"2015-08-13 00:26:04.000000000","message":"When I read this part, I felt this means for API users(\u003dcloud consumers on the above), not only for admin.\n\nSo the suggested part seems a little small scope.","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"7d371cc85bba77c267acf1279fde0d9ba26d2057","unresolved":false,"context_lines":[{"line_number":7,"context_line":"The service catalog offers cloud consumers an initial view to all the available"},{"line_number":8,"context_line":"services in an OpenStack cloud along with additional information about"},{"line_number":9,"context_line":"regions, API versions, projects available. However, it\u0027s also terribly"},{"line_number":10,"context_line":"underused, under documented, and configured differently nearly everywhere."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Problem description"},{"line_number":13,"context_line":"\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":10,"id":"1a4dcd0f_f9457c6e","line":10,"updated":"2015-08-12 15:19:25.000000000","message":"suggestion: s/differently nearly everywhere/inconsistently among most services/","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"7f6a245917eca135196e66c42c31eb55234f8eb0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"The service catalog offers cloud consumers an initial view to all the available"},{"line_number":8,"context_line":"services in an OpenStack cloud along with additional information about"},{"line_number":9,"context_line":"regions, API versions, projects available. However, it\u0027s also terribly"},{"line_number":10,"context_line":"underused, under documented, and configured differently nearly everywhere."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Problem description"},{"line_number":13,"context_line":"\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":10,"id":"1a4dcd0f_ca976946","line":10,"in_reply_to":"1a4dcd0f_f9457c6e","updated":"2015-08-13 00:26:04.000000000","message":"+1, this seems more understandable for me :-)","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"7d371cc85bba77c267acf1279fde0d9ba26d2057","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Such a diverse service catalog means that services don\u0027t depend on it"},{"line_number":24,"context_line":"being consistent, SDK devs don\u0027t completely understand it, and it"},{"line_number":25,"context_line":"makes applications have to encode cloud-specific behavior. See"},{"line_number":26,"context_line":"http://git.openstack.org/cgit/openstack/os-client-config/tree/os_client_config/vendors.py"},{"line_number":27,"context_line":"for concrete examples of information that must be encoded because it"},{"line_number":28,"context_line":"cannot be determined from the service catalog."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_34ef6b1f","line":25,"updated":"2015-08-12 15:19:25.000000000","message":"suggestion: s/makes applications have to/requires applications to/","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dca3c3c8fa07213cdad3e1fd5d702e0dab007e6","unresolved":false,"context_lines":[{"line_number":33,"context_line":"   [glance]"},{"line_number":34,"context_line":"   api_servers \u003d http://127.0.0.1:9292"},{"line_number":35,"context_line":"   [neutron]"},{"line_number":36,"context_line":"   url \u003d http://127.0.0.1:9696"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Ideally, rather than hardcoding these URL/port values in configuration"},{"line_number":39,"context_line":"files, the Identity service could provide discoverability for those."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_e44a3555","line":36,"updated":"2015-08-10 13:16:13.000000000","message":"We should totally default to just reading from the service catalog using a well known service name, but...\n\nNote that for many deployers these are not publicly reachable API servers, and generally they want to hide those details from end users. Thats maybe not a big deal, in general.\n\nAlso note, its common that the service catalog is not controlled by the same team deploying the Nova service, which adds to the fun of upgrade.\n\nAnyway, its maybe best to ignore all that here.","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dca3c3c8fa07213cdad3e1fd5d702e0dab007e6","unresolved":false,"context_lines":[{"line_number":71,"context_line":"2. All OpenStack server components find the operational urls for other"},{"line_number":72,"context_line":"   OpenStack services with the catalog."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"3. The catalog types (i.e. \u0027volume\u0027, \u0027compute\u0027, ...) of services are"},{"line_number":75,"context_line":"   hard coded in server components. This will ensure standardization"},{"line_number":76,"context_line":"   propagates, as clouds will not work if their service catalog is not"},{"line_number":77,"context_line":"   defined correctly."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_a4b98dee","line":74,"updated":"2015-08-10 13:16:13.000000000","message":"I would prefer os-volume and os-compute, so the service catalog can be used by non-openstack components.\n\nAlthough my main reason to say this is because Rackspace already has a compute entry which maps to our pre-OpenStack cloud, I think that would be helpful.","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"7f6a245917eca135196e66c42c31eb55234f8eb0","unresolved":false,"context_lines":[{"line_number":71,"context_line":"2. All OpenStack server components find the operational urls for other"},{"line_number":72,"context_line":"   OpenStack services with the catalog."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"3. The catalog types (i.e. \u0027volume\u0027, \u0027compute\u0027, ...) of services are"},{"line_number":75,"context_line":"   hard coded in server components. This will ensure standardization"},{"line_number":76,"context_line":"   propagates, as clouds will not work if their service catalog is not"},{"line_number":77,"context_line":"   defined correctly."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_ca2769c8","line":74,"in_reply_to":"1a4dcd0f_a4b98dee","updated":"2015-08-13 00:26:04.000000000","message":"@John\n\nDoes non-openstack components mean stackforge projects?\n\nor REST API services of out side of OpenStack?\n\nI just like to know use cases of service catalog in general cases.","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"b81957603b1461977e4cc8fd4cee8c7e1d9428e2","unresolved":false,"context_lines":[{"line_number":71,"context_line":"2. All OpenStack server components find the operational urls for other"},{"line_number":72,"context_line":"   OpenStack services with the catalog."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"3. The catalog types (i.e. \u0027volume\u0027, \u0027compute\u0027, ...) of services are"},{"line_number":75,"context_line":"   hard coded in server components. This will ensure standardization"},{"line_number":76,"context_line":"   propagates, as clouds will not work if their service catalog is not"},{"line_number":77,"context_line":"   defined correctly."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_25b58430","line":74,"in_reply_to":"1a4dcd0f_a4b98dee","updated":"2015-08-14 14:23:57.000000000","message":"I know of which you speak John. :) However since the \"big tent\" enables multiple projects I think its best not to put os- as a prefix since that might indicate \"picking the only OpenStack type\" -- which isn\u0027t the point. Really this convention is so that people starting out with OpenStack for the first time can understand each catalog entry and since many catalogs are configured based on DevStack to start, we need to think of this as the thousands of private clouds and interop making sense to more app devs.","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"b81957603b1461977e4cc8fd4cee8c7e1d9428e2","unresolved":false,"context_lines":[{"line_number":71,"context_line":"2. All OpenStack server components find the operational urls for other"},{"line_number":72,"context_line":"   OpenStack services with the catalog."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"3. The catalog types (i.e. \u0027volume\u0027, \u0027compute\u0027, ...) of services are"},{"line_number":75,"context_line":"   hard coded in server components. This will ensure standardization"},{"line_number":76,"context_line":"   propagates, as clouds will not work if their service catalog is not"},{"line_number":77,"context_line":"   defined correctly."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_65470c1e","line":74,"in_reply_to":"1a4dcd0f_ca2769c8","updated":"2015-08-14 14:23:57.000000000","message":"Stackforge as a GitHub org is being retired, see governance.openstack.org/resolutions/20150615-stackforge-retirement.html\n\nSome large catalogs have REST API services not created by an OpenStack team. You can see a few large catalogs here: \nhttps://wiki.openstack.org/wiki/API_Working_Group/Current_Design/Service_Catalog","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dca3c3c8fa07213cdad3e1fd5d702e0dab007e6","unresolved":false,"context_lines":[{"line_number":109,"context_line":"- List of changes in OpenStack projects that would rely on this standard, thus"},{"line_number":110,"context_line":"  making sure we\u0027ve got it right."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"- Published guidelines we recommend that DefCore requires of cloud provider\u0027s"},{"line_number":113,"context_line":"  service catalogs going forward. These guidelines can be created in the API"},{"line_number":114,"context_line":"  Working Group set of guidelines."},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_e42eb5a4","line":112,"updated":"2015-08-10 13:16:13.000000000","message":"I guess that means tempest tests, oh right, you have clarified that later, no worries.","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dca3c3c8fa07213cdad3e1fd5d702e0dab007e6","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"- Sometimes nested resources, say `Tenant`, uses different attributes in"},{"line_number":154,"context_line":"  the service catalog that the Identity service does in a separate `/tenants`"},{"line_number":155,"context_line":"  call."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Documentation can improve some of the difficulties. Standards and guidelines"},{"line_number":158,"context_line":"should be published from within the Cloud Admin Guide, the Installation Guides,"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_5362ccd9","line":155,"updated":"2015-08-10 13:16:13.000000000","message":"Nit, feels like all the bits above here are more of a problem description, but this reads well, so I am cool with it, I think.","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dca3c3c8fa07213cdad3e1fd5d702e0dab007e6","unresolved":false,"context_lines":[{"line_number":165,"context_line":"  because the URL returned by the Identity service for another configured"},{"line_number":166,"context_line":"  service is the versioned endpoint. The version is embedded in the URL. We"},{"line_number":167,"context_line":"  should have the Identity service discover version number with each services\u0027"},{"line_number":168,"context_line":"  API itself."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"- Ensure DevStack examples are consistent and can be used as an exemplary"},{"line_number":171,"context_line":"  best practice."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_9f5ff874","line":168,"updated":"2015-08-10 13:16:13.000000000","message":"Somehow I get confused reading this.\n\nI guess we want the service catalog to point at the version discovery endpoint for each service? So we only need one entry per service.","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"b81957603b1461977e4cc8fd4cee8c7e1d9428e2","unresolved":false,"context_lines":[{"line_number":165,"context_line":"  because the URL returned by the Identity service for another configured"},{"line_number":166,"context_line":"  service is the versioned endpoint. The version is embedded in the URL. We"},{"line_number":167,"context_line":"  should have the Identity service discover version number with each services\u0027"},{"line_number":168,"context_line":"  API itself."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"- Ensure DevStack examples are consistent and can be used as an exemplary"},{"line_number":171,"context_line":"  best practice."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_a5299439","line":168,"in_reply_to":"1a4dcd0f_9f5ff874","updated":"2015-08-14 14:23:57.000000000","message":"I think so? I know Sean and Dolph have been discussing at length. The current state of discovery per endpoint is shown here: https://wiki.openstack.org/wiki/API_Working_Group/Current_Design/Entry_Points\n\nBut I think that the conversation Sean and Dolph is having is separate and about what Keystone could do. Hopefully they can answer better.","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dca3c3c8fa07213cdad3e1fd5d702e0dab007e6","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"- Cause project\u0027s interactions with the service catalog to be standard so that"},{"line_number":179,"context_line":"  for example, the nova project does not need three configuration variables to"},{"line_number":180,"context_line":"  specify how nova can interact with the cinder service catalog entries."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"Alternatives"},{"line_number":183,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_b33c70c0","line":180,"updated":"2015-08-10 13:16:13.000000000","message":"+1\nCompleting all these will be a massive step forward.","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dca3c3c8fa07213cdad3e1fd5d702e0dab007e6","unresolved":false,"context_lines":[{"line_number":213,"context_line":"- existence of service_type: required"},{"line_number":214,"context_line":"- value type of service_type: string (reference for value from"},{"line_number":215,"context_line":"  governance/projects.yaml file)"},{"line_number":216,"context_line":"- extra data: acceptable because of the need for transition for providers"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"DevStack should be the reference implementation for best practices in"},{"line_number":219,"context_line":"service catalog entries."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_130524c1","line":216,"updated":"2015-08-10 13:16:13.000000000","message":"Nit, this might include having both the older entries and the new \"standard\" entries, I presume.\nBut anyway, allowing for transition is the core concern, and you capture that well.","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dca3c3c8fa07213cdad3e1fd5d702e0dab007e6","unresolved":false,"context_lines":[{"line_number":243,"context_line":""},{"line_number":244,"context_line":"The use of project_id urls will be deprecated in M, for removal in O"},{"line_number":245,"context_line":"(2 cycle deprecation). After that window applications will only work"},{"line_number":246,"context_line":"if they run without the project_id in their requests."},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a4dcd0f_f30bd822","line":246,"updated":"2015-08-10 13:16:13.000000000","message":"I think we have to tie the removal with the increase of the min_version of the API, sadly.\n\nAgreed with overall goal though.","commit_id":"de3747f984911eec87b522fd39f2231542cd28a9"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"ed070526aad8be035cb36e434aa58b9d3448ed22","unresolved":false,"context_lines":[{"line_number":91,"context_line":"- Standard required naming for endpoints (versioned vs. unversioned,"},{"line_number":92,"context_line":"  contains project ID vs. no project ID)."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    * In general we want unversioned endpoints so that the user can get"},{"line_number":95,"context_line":"      information about multiple available versions in a given cloud."},{"line_number":96,"context_line":"    * We do not want project ID, account ID, or tenant ID as part of"},{"line_number":97,"context_line":"      the resource URI for an OpenStack API endpoint."}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a4dcd0f_199a23c6","line":94,"updated":"2015-08-14 19:06:29.000000000","message":"Why only \"in general\"? Why not \"We always want...\"?","commit_id":"94924c3269f665faedbcb2c38b831fed65de7aa8"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"3a6bd3fe675c4e01ef65d88e315743f0904deaaf","unresolved":false,"context_lines":[{"line_number":91,"context_line":"- Standard required naming for endpoints (versioned vs. unversioned,"},{"line_number":92,"context_line":"  contains project ID vs. no project ID)."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    * In general we want unversioned endpoints so that the user can get"},{"line_number":95,"context_line":"      information about multiple available versions in a given cloud."},{"line_number":96,"context_line":"    * We do not want project ID, account ID, or tenant ID as part of"},{"line_number":97,"context_line":"      the resource URI for an OpenStack API endpoint."}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa1b9901_c76193d4","line":94,"in_reply_to":"1a4dcd0f_199a23c6","updated":"2015-08-21 01:34:48.000000000","message":"Done","commit_id":"94924c3269f665faedbcb2c38b831fed65de7aa8"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"ed070526aad8be035cb36e434aa58b9d3448ed22","unresolved":false,"context_lines":[{"line_number":101,"context_line":"- List of changes needed in existing clouds/products to comply with this."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    * We want DevStack to follow these standards as the best practice example."},{"line_number":104,"context_line":"    * We want a JSON schema to ensure understanding and compliance."},{"line_number":105,"context_line":"    * JSON Schema must allow for \"extra\" data so that we can continue with"},{"line_number":106,"context_line":"      name, and vendor-specific \"Extra\" things during the transition(s)."},{"line_number":107,"context_line":"    * Known types such as service_type can be documented in projects.yaml in"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1a4dcd0f_59b8ab2a","line":104,"updated":"2015-08-14 19:06:29.000000000","message":"This point wasn\u0027t clear until I got down to line 175 (at first I read it much more broadly). How about \"We want to use JSON Schema to define the API for the service catalog to ensure understanding and compliance.\"","commit_id":"94924c3269f665faedbcb2c38b831fed65de7aa8"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"3a6bd3fe675c4e01ef65d88e315743f0904deaaf","unresolved":false,"context_lines":[{"line_number":101,"context_line":"- List of changes needed in existing clouds/products to comply with this."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    * We want DevStack to follow these standards as the best practice example."},{"line_number":104,"context_line":"    * We want a JSON schema to ensure understanding and compliance."},{"line_number":105,"context_line":"    * JSON Schema must allow for \"extra\" data so that we can continue with"},{"line_number":106,"context_line":"      name, and vendor-specific \"Extra\" things during the transition(s)."},{"line_number":107,"context_line":"    * Known types such as service_type can be documented in projects.yaml in"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa1b9901_e75cd71a","line":104,"in_reply_to":"1a4dcd0f_59b8ab2a","updated":"2015-08-21 01:34:48.000000000","message":"Done","commit_id":"94924c3269f665faedbcb2c38b831fed65de7aa8"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"a3b7c34f430f11cd93c99436530d5dad49aeec2a","unresolved":false,"context_lines":[{"line_number":57,"context_line":"JSON documents are incorrect. Most projects have an override variable"},{"line_number":58,"context_line":"to change this URL. However a standardized service catalog would let a"},{"line_number":59,"context_line":"service just reflect it\u0027s own entry from the service catalog for this"},{"line_number":60,"context_line":"urls."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"A Vision of the Service Catalog"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba15a1d1_84a2f9fa","line":60,"updated":"2015-09-23 13:43:16.000000000","message":"There seems to be some disagreement in the mailing list thread about whether the service catalog is the only/best way to handle the SSL termination issue. Should we pull this out of the spec and focus on the end-user aspects?\n\nhttp://lists.openstack.org/pipermail/openstack-dev/2015-September/thread.html#74871","commit_id":"d6accbb9e0630a0d65e2f7e2711fccbc81729ed5"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"fa60ecb40f1fc5022b4a7366ea9306e71a6ce9ed","unresolved":false,"context_lines":[{"line_number":57,"context_line":"JSON documents are incorrect. Most projects have an override variable"},{"line_number":58,"context_line":"to change this URL. However a standardized service catalog would let a"},{"line_number":59,"context_line":"service just reflect it\u0027s own entry from the service catalog for this"},{"line_number":60,"context_line":"urls."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"A Vision of the Service Catalog"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba15a1d1_7a52ca68","line":60,"in_reply_to":"ba15a1d1_84a2f9fa","updated":"2015-09-23 21:34:47.000000000","message":"Good catch Doug. I\u0027ll revise.","commit_id":"d6accbb9e0630a0d65e2f7e2711fccbc81729ed5"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"89ad91d9736338dac6f2dd98131ed7ecb7acbeb6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"The service catalog offers cloud consumers an initial view to all the available"},{"line_number":8,"context_line":"services in an OpenStack cloud along with additional information about"},{"line_number":9,"context_line":"regions, API versions, projects available. This catalog is to help make it easy"},{"line_number":10,"context_line":"to efficiently find information about the services, such as how to configure"},{"line_number":11,"context_line":"communications between services. But the catalog is also terribly underused,"},{"line_number":12,"context_line":"under documented, and inconsistently among most services."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a1a9d01_801f3307","line":9,"updated":"2015-09-29 18:00:08.000000000","message":"(nit) add \"and\" to list before projects","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"89ad91d9736338dac6f2dd98131ed7ecb7acbeb6","unresolved":false,"context_lines":[{"line_number":9,"context_line":"regions, API versions, projects available. This catalog is to help make it easy"},{"line_number":10,"context_line":"to efficiently find information about the services, such as how to configure"},{"line_number":11,"context_line":"communications between services. But the catalog is also terribly underused,"},{"line_number":12,"context_line":"under documented, and inconsistently among most services."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Problem description"},{"line_number":15,"context_line":"\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":13,"id":"9a1a9d01_c0df6b38","line":12,"updated":"2015-09-29 18:00:08.000000000","message":"add \"configured\" after \"inconsistently\"","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"89ad91d9736338dac6f2dd98131ed7ecb7acbeb6","unresolved":false,"context_lines":[{"line_number":38,"context_line":"   url \u003d http://127.0.0.1:9696"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Ideally, rather than hardcoding these URL/port values in configuration"},{"line_number":41,"context_line":"files, the Identity service could provide discoverability for those."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Another example, the ``catalog_info \u003d volume:cinder:publicURL`` in"},{"line_number":44,"context_line":"`nova.conf` is a configuration setting to set the info to match when"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a1a9d01_60d0df1f","line":41,"updated":"2015-09-29 18:00:08.000000000","message":"suggest change \"Identity service\" to \"service catalog\"","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"89ad91d9736338dac6f2dd98131ed7ecb7acbeb6","unresolved":false,"context_lines":[{"line_number":64,"context_line":"2. All OpenStack server components find the operational urls for other"},{"line_number":65,"context_line":"   OpenStack services with the catalog."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"3. The catalog types (i.e. \u0027volume\u0027, \u0027compute\u0027, ...) of services are"},{"line_number":68,"context_line":"   hard coded in server components. This will ensure standardization"},{"line_number":69,"context_line":"   propagates, as clouds will not work if their service catalog is not"},{"line_number":70,"context_line":"   defined correctly."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a1a9d01_209d0766","line":67,"updated":"2015-09-29 18:00:08.000000000","message":"suggest put volume and compute in `` for formatting.","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"89ad91d9736338dac6f2dd98131ed7ecb7acbeb6","unresolved":false,"context_lines":[{"line_number":70,"context_line":"   defined correctly."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"4. There are Tempest tests for standard service catalog, and it\u0027s a"},{"line_number":73,"context_line":"   Defcore requirement that standard service catalog entries are"},{"line_number":74,"context_line":"   defined."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a1a9d01_e0de2f10","line":73,"updated":"2015-09-29 18:00:08.000000000","message":"change \"Defcore\" to \"DefCore\"","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"89ad91d9736338dac6f2dd98131ed7ecb7acbeb6","unresolved":false,"context_lines":[{"line_number":96,"context_line":"      to ensure understanding and compliance."},{"line_number":97,"context_line":"    * JSON Schema must allow for \"extra\" data so that we can continue with"},{"line_number":98,"context_line":"      name, and vendor-specific \"Extra\" things during the transition(s)."},{"line_number":99,"context_line":"    * Known types such as service_type can be documented in projects.yaml in"},{"line_number":100,"context_line":"      the openstack/governance git repository."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a1a9d01_0096c33e","line":99,"updated":"2015-09-29 18:00:08.000000000","message":"suggest put `service_type`, projects.yaml, opentsack/governance in `.","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"89ad91d9736338dac6f2dd98131ed7ecb7acbeb6","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"- List of changes in OpenStack projects that would rely on this standard, thus"},{"line_number":104,"context_line":"  making sure we\u0027ve got it right."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- Published guidelines we recommend that DefCore requires of cloud provider\u0027s"},{"line_number":107,"context_line":"  service catalogs going forward. These guidelines can be created in the API"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a1a9d01_40a83b77","line":104,"updated":"2015-09-29 18:00:08.000000000","message":"is there supposed to be a list here?","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"89ad91d9736338dac6f2dd98131ed7ecb7acbeb6","unresolved":false,"context_lines":[{"line_number":115,"context_line":"  are a pain for SDKs, because it requires a lot of traversing. Encourage"},{"line_number":116,"context_line":"  clear provider documentation and guidance for this naming."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"- The input JSON parameters are unnecessarily nested. For example, the multiple"},{"line_number":119,"context_line":"  roles that come back for a user, which also adds complexity to the service"},{"line_number":120,"context_line":"  catalog while not specifically being about the service catalog::"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a1a9d01_40ed9bb5","line":118,"updated":"2015-09-29 18:00:08.000000000","message":"what input JSON parameters? (I don\u0027t know what an input JSON parameter is).","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"89ad91d9736338dac6f2dd98131ed7ecb7acbeb6","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"- The input JSON parameters are unnecessarily nested. For example, the multiple"},{"line_number":119,"context_line":"  roles that come back for a user, which also adds complexity to the service"},{"line_number":120,"context_line":"  catalog while not specifically being about the service catalog::"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    \"user\": {"},{"line_number":123,"context_line":"       \"id\": \"USER_ID\","}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a1a9d01_c0376b4b","line":120,"updated":"2015-09-29 18:00:08.000000000","message":"the roles aren\u0027t part of the service catalog.\n\nI think this bullet should be removed.","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"89ad91d9736338dac6f2dd98131ed7ecb7acbeb6","unresolved":false,"context_lines":[{"line_number":142,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"- The tying between auth and getting a service catalog seems unnecessary. See"},{"line_number":145,"context_line":"  roles example above."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"- Sometimes nested resources, say `Tenant`, uses different attributes in"},{"line_number":148,"context_line":"  the service catalog that the Identity service does in a separate `/tenants`"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a1a9d01_204c27c7","line":145,"updated":"2015-09-29 18:00:08.000000000","message":"it is necessary since Identity supports endpoint filtering.\n\nAlso, Identity supports requesting a token without a service catalog, and a separate call to fetch the service catalog for a token.","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"89ad91d9736338dac6f2dd98131ed7ecb7acbeb6","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"- Sometimes nested resources, say `Tenant`, uses different attributes in"},{"line_number":148,"context_line":"  the service catalog that the Identity service does in a separate `/tenants`"},{"line_number":149,"context_line":"  call."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Documentation can improve some of the difficulties. Standards and guidelines"},{"line_number":152,"context_line":"should be published from within the Cloud Admin Guide, the Installation Guides,"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a1a9d01_009c830d","line":149,"updated":"2015-09-29 18:00:08.000000000","message":"This could use an example. I can\u0027t figure out what it\u0027s issue is. The Tenant isn\u0027t part of the service catalog.","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"89ad91d9736338dac6f2dd98131ed7ecb7acbeb6","unresolved":false,"context_lines":[{"line_number":155,"context_line":"The list of changes is gathered here:"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"- Ensure each service\u0027s API has a version request (current standard is a GET"},{"line_number":158,"context_line":"  call to /). However, keystone-session can\u0027t use that to discover versions"},{"line_number":159,"context_line":"  because the URL returned by the Identity service for another configured"},{"line_number":160,"context_line":"  service is the versioned endpoint. The version is embedded in the URL. We"},{"line_number":161,"context_line":"  should have the Identity service discover version number with each services\u0027"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a1a9d01_807653d5","line":158,"updated":"2015-09-29 18:00:08.000000000","message":"change \"keystone-session\" to \"keystoneclient\u0027s session\".","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"89ad91d9736338dac6f2dd98131ed7ecb7acbeb6","unresolved":false,"context_lines":[{"line_number":237,"context_line":""},{"line_number":238,"context_line":"The use of project_id URLs should be deprecated in Mitaka, for removal in O"},{"line_number":239,"context_line":"(2 cycle deprecation). After that timeframe, projects should provide a new"},{"line_number":240,"context_line":"minor release of the API in order to remove project_id as a required part of"},{"line_number":241,"context_line":"the URL."},{"line_number":242,"context_line":""},{"line_number":243,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a1a9d01_7b12ce58","line":240,"updated":"2015-09-29 18:00:08.000000000","message":"removing features requires a major release according to semver.","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"ae1389a2ed7211b0b88de5d65d4e6baf08bc8f89","unresolved":false,"context_lines":[{"line_number":237,"context_line":""},{"line_number":238,"context_line":"The use of project_id URLs should be deprecated in Mitaka, for removal in O"},{"line_number":239,"context_line":"(2 cycle deprecation). After that timeframe, projects should provide a new"},{"line_number":240,"context_line":"minor release of the API in order to remove project_id as a required part of"},{"line_number":241,"context_line":"the URL."},{"line_number":242,"context_line":""},{"line_number":243,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a1a9d01_fb9b3e16","line":240,"in_reply_to":"9a1a9d01_7b12ce58","updated":"2015-09-29 18:20:46.000000000","message":"The APIs aren\u0027t working under semver in most cases.","commit_id":"9c64c8902380b17e5b0d4ca895f7325debf88b29"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1e7a248685c20a0471b41cb7473f2ba557bd0730","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Such a diverse service catalog means that services don\u0027t depend on it"},{"line_number":26,"context_line":"being consistent, SDK devs don\u0027t completely understand it, and it"},{"line_number":27,"context_line":"requires applications to encode cloud-specific behavior. See"},{"line_number":28,"context_line":"http://git.openstack.org/cgit/openstack/os-client-config/tree/os_client_config/vendors.py"},{"line_number":29,"context_line":"for concrete examples of information that must be encoded because it"},{"line_number":30,"context_line":"cannot be determined from the service catalog."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a740942_04e578a2","line":28,"updated":"2015-12-12 19:38:20.000000000","message":"Above URL is incorrect (remove the \".py\" from the end...)","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"7b4eecb7541fb99f7f88c502de4f2727a906aa1c","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Such a diverse service catalog means that services don\u0027t depend on it"},{"line_number":26,"context_line":"being consistent, SDK devs don\u0027t completely understand it, and it"},{"line_number":27,"context_line":"requires applications to encode cloud-specific behavior. See"},{"line_number":28,"context_line":"http://git.openstack.org/cgit/openstack/os-client-config/tree/os_client_config/vendors.py"},{"line_number":29,"context_line":"for concrete examples of information that must be encoded because it"},{"line_number":30,"context_line":"cannot be determined from the service catalog."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5a710552_0be3c2a4","line":28,"in_reply_to":"7a740942_04e578a2","updated":"2015-12-15 15:42:48.000000000","message":"Removed it completely as it was really difficult to parse what the point was.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1e7a248685c20a0471b41cb7473f2ba557bd0730","unresolved":false,"context_lines":[{"line_number":64,"context_line":"2. All OpenStack server components find the operational urls for other"},{"line_number":65,"context_line":"   OpenStack services with the catalog."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"3. The catalog types (i.e. ``volume``, ``compute``, ...) of services are"},{"line_number":68,"context_line":"   hard coded in server components. This will ensure standardization"},{"line_number":69,"context_line":"   propagates, as clouds will not work if their service catalog is not"},{"line_number":70,"context_line":"   defined correctly."}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a740942_5f882d71","line":67,"updated":"2015-12-12 19:38:20.000000000","message":"nit: you are using types above directly after \"catalog\", which makes it seem like you are talking about something called a \"catalog type\" :)\n\nPerhaps better to say:\n\n The service types used in the service catalog (i.e. ....)","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"bfd599e578f774a7cb9b283c252dc30d96dc1a79","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    * We want unversioned endpoints so that the user can get"},{"line_number":86,"context_line":"      information about multiple available versions in a given cloud."},{"line_number":87,"context_line":"    * We do not want project ID, account ID, or tenant ID as part of"},{"line_number":88,"context_line":"      the resource URI for an OpenStack API endpoint."},{"line_number":89,"context_line":"    * Standard naming means all consumers, including other OpenStack"},{"line_number":90,"context_line":"      services, can trust what the value of type\u003d\u0027volume\u0027 will be."}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_04e8600f","line":87,"updated":"2015-10-05 05:19:04.000000000","message":"AFAIK, only nova and swift use the project ID in the catalog\u0027s endpoint. I believe nova has a plan on not use these, but it would be nice to get confirmation from swift folks if they are broken if there is not project ID.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"da33e0645b55ecc9f7add428991b5b8640076361","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    * We want unversioned endpoints so that the user can get"},{"line_number":86,"context_line":"      information about multiple available versions in a given cloud."},{"line_number":87,"context_line":"    * We do not want project ID, account ID, or tenant ID as part of"},{"line_number":88,"context_line":"      the resource URI for an OpenStack API endpoint."},{"line_number":89,"context_line":"    * Standard naming means all consumers, including other OpenStack"},{"line_number":90,"context_line":"      services, can trust what the value of type\u003d\u0027volume\u0027 will be."}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a740942_2555594f","line":87,"in_reply_to":"9a1a9d01_04e8600f","updated":"2015-12-11 00:24:31.000000000","message":"I\u0027ve got an action item to enumerate all the APIs that use project ID and will update the spec with a link to the wiki page with the list.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"bfd599e578f774a7cb9b283c252dc30d96dc1a79","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Top difficulties with the service catalog for SDK devs are currently:"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"- Name and type are meaningless, misunderstood, and poorly documented."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"- Regions are not consistently named or used. The way regions are structured"},{"line_number":115,"context_line":"  are a pain for SDKs, because it requires a lot of traversing. Encourage"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_e4d3ec5d","line":112,"updated":"2015-10-05 05:19:04.000000000","message":"`name` could probably be removed","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"7b4eecb7541fb99f7f88c502de4f2727a906aa1c","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Top difficulties with the service catalog for SDK devs are currently:"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"- Name and type are meaningless, misunderstood, and poorly documented."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"- Regions are not consistently named or used. The way regions are structured"},{"line_number":115,"context_line":"  are a pain for SDKs, because it requires a lot of traversing. Encourage"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5a710552_5e574a02","line":112,"in_reply_to":"7a740942_dfdbbd7a","updated":"2015-12-15 15:42:48.000000000","message":"I agree with Jay here, especially as we look into user experience. As providers are expanding compute capabilities with bare metal or containers, we will need to enable some non-standard name flexibility.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"0d155b5f6e991385d5e7ed6f4413132058a463d7","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Top difficulties with the service catalog for SDK devs are currently:"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"- Name and type are meaningless, misunderstood, and poorly documented."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"- Regions are not consistently named or used. The way regions are structured"},{"line_number":115,"context_line":"  are a pain for SDKs, because it requires a lot of traversing. Encourage"}],"source_content_type":"text/x-rst","patch_set":14,"id":"da85f559_1cbb2674","line":112,"in_reply_to":"9a1a9d01_e4d3ec5d","updated":"2015-11-09 02:06:29.000000000","message":"IMO, the above description(line112) is current problem and \"Name\" seems fine as current problem for me.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1e7a248685c20a0471b41cb7473f2ba557bd0730","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Top difficulties with the service catalog for SDK devs are currently:"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"- Name and type are meaningless, misunderstood, and poorly documented."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"- Regions are not consistently named or used. The way regions are structured"},{"line_number":115,"context_line":"  are a pain for SDKs, because it requires a lot of traversing. Encourage"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a740942_dfdbbd7a","line":112,"in_reply_to":"da85f559_1cbb2674","updated":"2015-12-12 19:38:20.000000000","message":"@oomichi: I (respectfully of course!) disagree with you on the above :) I think \"type\" conveys a standardized code, and \"name\" conveys that it is not standardized. But perhaps that is just how I interpret things..","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1e7a248685c20a0471b41cb7473f2ba557bd0730","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"- Regions are not consistently named or used. The way regions are structured"},{"line_number":115,"context_line":"  are a pain for SDKs, because it requires a lot of traversing. Encourage"},{"line_number":116,"context_line":"  clear provider documentation and guidance for this naming."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a740942_3fd1a157","line":116,"updated":"2015-12-12 19:38:20.000000000","message":"Yes. This.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ef32c1d950a3edb6631598c6874addb080ae40a8","unresolved":false,"context_lines":[{"line_number":118,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"- The tying between auth and getting a service catalog seems unnecessary. See"},{"line_number":121,"context_line":"  roles example above."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"- Sometimes nested resources, say `Tenant`, uses different attributes in"},{"line_number":124,"context_line":"  the service catalog that the Identity service does in a separate `/tenants`"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_fe6a47ec","line":121,"updated":"2015-09-29 20:37:13.000000000","message":"it is necessary since Identity supports endpoint filtering.\n\nThe \u0027roles\u0027 part above was removed.\n\nAlso, Identity supports requesting a token without a service catalog, and a separate call to fetch the service catalog for a token.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1e7a248685c20a0471b41cb7473f2ba557bd0730","unresolved":false,"context_lines":[{"line_number":118,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"- The tying between auth and getting a service catalog seems unnecessary. See"},{"line_number":121,"context_line":"  roles example above."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"- Sometimes nested resources, say `Tenant`, uses different attributes in"},{"line_number":124,"context_line":"  the service catalog that the Identity service does in a separate `/tenants`"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a740942_ffc6b99a","line":121,"in_reply_to":"9a1a9d01_24c0042a","updated":"2015-12-12 19:38:20.000000000","message":"++ to stevemar.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"bfd599e578f774a7cb9b283c252dc30d96dc1a79","unresolved":false,"context_lines":[{"line_number":118,"context_line":"- The versions in URLs are inconsistent (see what we want to solve for above)."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"- The tying between auth and getting a service catalog seems unnecessary. See"},{"line_number":121,"context_line":"  roles example above."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"- Sometimes nested resources, say `Tenant`, uses different attributes in"},{"line_number":124,"context_line":"  the service catalog that the Identity service does in a separate `/tenants`"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_24c0042a","line":121,"in_reply_to":"9a1a9d01_fe6a47ec","updated":"2015-10-05 05:19:04.000000000","message":"If no project is specified return them all the services and endpoints.  A user should be able to get a list of all the services and endpoints in a single (preferably unauthenticated) call.\n\nIf a service has a project ID in it\u0027s URL then it gets interesting.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"81d1ca933bee71e12750088611f2bd75d67a1ac8","unresolved":false,"context_lines":[{"line_number":120,"context_line":"- The tying between auth and getting a service catalog seems unnecessary. See"},{"line_number":121,"context_line":"  roles example above."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"- Sometimes nested resources, say `Tenant`, uses different attributes in"},{"line_number":124,"context_line":"  the service catalog that the Identity service does in a separate `/tenants`"},{"line_number":125,"context_line":"  call. For example, here\u0027s the returned snippet from a DevStack service"},{"line_number":126,"context_line":"  catalog::"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a740942_4fcfa6b3","line":123,"updated":"2015-12-10 01:26:35.000000000","message":"Seems we are done with \u0027Tenant\u0027, we call them \u0027Project\u0027s instead. Just want to make sure we are consistent across all docs/specs.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"da33e0645b55ecc9f7add428991b5b8640076361","unresolved":false,"context_lines":[{"line_number":120,"context_line":"- The tying between auth and getting a service catalog seems unnecessary. See"},{"line_number":121,"context_line":"  roles example above."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"- Sometimes nested resources, say `Tenant`, uses different attributes in"},{"line_number":124,"context_line":"  the service catalog that the Identity service does in a separate `/tenants`"},{"line_number":125,"context_line":"  call. For example, here\u0027s the returned snippet from a DevStack service"},{"line_number":126,"context_line":"  catalog::"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a740942_4573c5e7","line":123,"in_reply_to":"7a740942_4fcfa6b3","updated":"2015-12-11 00:24:31.000000000","message":"Good point.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c82d527b4697287348e96d403a90eb28e5cc6379","unresolved":false,"context_lines":[{"line_number":121,"context_line":"  roles example above."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"- Sometimes nested resources, say `Tenant`, uses different attributes in"},{"line_number":124,"context_line":"  the service catalog that the Identity service does in a separate `/tenants`"},{"line_number":125,"context_line":"  call. For example, here\u0027s the returned snippet from a DevStack service"},{"line_number":126,"context_line":"  catalog::"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_efe5b3a3","line":124,"updated":"2015-09-29 21:59:33.000000000","message":"change \"service catalog\" to \"token response\"","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ef32c1d950a3edb6631598c6874addb080ae40a8","unresolved":false,"context_lines":[{"line_number":125,"context_line":"  call. For example, here\u0027s the returned snippet from a DevStack service"},{"line_number":126,"context_line":"  catalog::"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    \"token\": {"},{"line_number":129,"context_line":"      \"audit_ids\": ["},{"line_number":130,"context_line":"        \"gsjrNoqFSQeuLUo0QeJprQ\""},{"line_number":131,"context_line":"      ],"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_beb28f92","line":128,"updated":"2015-09-29 20:37:13.000000000","message":"this isn\u0027t the service catalog so it doesn\u0027t apply to this spec. This looks like the response to POST /v2.0/tokens. The token response contains the service catalog but it isn\u0027t the service catalog.\n\nThis bullet should be removed since it doesn\u0027t apply to this spec.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c82d527b4697287348e96d403a90eb28e5cc6379","unresolved":false,"context_lines":[{"line_number":125,"context_line":"  call. For example, here\u0027s the returned snippet from a DevStack service"},{"line_number":126,"context_line":"  catalog::"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    \"token\": {"},{"line_number":129,"context_line":"      \"audit_ids\": ["},{"line_number":130,"context_line":"        \"gsjrNoqFSQeuLUo0QeJprQ\""},{"line_number":131,"context_line":"      ],"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_4f9cdf0e","line":128,"in_reply_to":"9a1a9d01_8415fee5","updated":"2015-09-29 21:59:33.000000000","message":"The response from POST /v2.0/tokens isn\u0027t a service catalog, it\u0027s the token. The token contains the service catalog. This is somewhat explained in the API reference[1]:\n\n  Response parameters\n  ...\n  serviceCatalog plain xsd:string A serviceCatalog object. \n\n[1] http://developer.openstack.org/api-ref-identity-v2.html\n\nThe v3 token response (and the sevice catalog in the token response) is different. In v2 the service catalog is in the \"serviceCatalog\" key, whereas it\u0027s in \"endpoints\" in v3. The service catalog is a totally different format and has endpoints (public, private, internal) for each service rather than \"publicURL\", \"privateURL\", \"internalURL\".\n\nRackspace doesn\u0027t run keystone but their own Identity server implementation, which is why the response is different. If Rackspace was running keystone it would be the same since the fields that are in the token response isn\u0027t configurable.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"b097dae0fab4a316d299774e929d270e3eddedc5","unresolved":false,"context_lines":[{"line_number":125,"context_line":"  call. For example, here\u0027s the returned snippet from a DevStack service"},{"line_number":126,"context_line":"  catalog::"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    \"token\": {"},{"line_number":129,"context_line":"      \"audit_ids\": ["},{"line_number":130,"context_line":"        \"gsjrNoqFSQeuLUo0QeJprQ\""},{"line_number":131,"context_line":"      ],"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_8415fee5","line":128,"in_reply_to":"9a1a9d01_beb28f92","updated":"2015-09-29 21:13:04.000000000","message":"I promise you, this snippet is a cut and paste from two service catalogs, there is no other way to get them than from a POST /v2.0/tokens call.\n\nSo, from a user perspective, it looks like these are part of the entire service catalog even if on a technicality it\u0027s a snippet of JSON.\n\nKnowing that, how would you like this line item edited? I can come up with a more concrete resolution to \"don\u0027t make these so different\" but is that going to be a bug against the Keystone API call? How did these get to be different? Is it perhaps v2.0 vs. v3? Help me out.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":17714,"name":"Augustina Ragwitz","email":"auggy@cpan.org","username":"mmmpork"},"change_message_id":"bfd48cced6f709ebe0db191545a3cd5d2cbb5b93","unresolved":false,"context_lines":[{"line_number":196,"context_line":"  annegentle"},{"line_number":197,"context_line":"  sdague"},{"line_number":198,"context_line":"  dolphm"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Work Items"},{"line_number":201,"context_line":"----------"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"da85f559_31c1902f","line":199,"updated":"2015-11-06 20:55:12.000000000","message":"My name should probably be added to this too since I\u0027ve been doing some related work, but I\u0027d hate to have a new patch and blow away the current reviews.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"da33e0645b55ecc9f7add428991b5b8640076361","unresolved":false,"context_lines":[{"line_number":196,"context_line":"  annegentle"},{"line_number":197,"context_line":"  sdague"},{"line_number":198,"context_line":"  dolphm"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Work Items"},{"line_number":201,"context_line":"----------"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a740942_656da103","line":199,"in_reply_to":"da85f559_31c1902f","updated":"2015-12-11 00:24:31.000000000","message":"Hi Augustina, I\u0027m revising now, so no worries. What tasks are you interested in?","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"bfd599e578f774a7cb9b283c252dc30d96dc1a79","unresolved":false,"context_lines":[{"line_number":230,"context_line":"in the standard service catalog. This is the feature by which Keystone"},{"line_number":231,"context_line":"provides API urls which include {project_id}. i.e.::"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"  http://10.42.0.51:8774/v2/1c78d6c1e65d46df9ad264685288f030"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"What follows is a proposal for removing this from the Nova project,"},{"line_number":236,"context_line":"which could be used by additional projects."}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_a4ead4aa","line":233,"updated":"2015-10-05 05:19:04.000000000","message":"this format is also used by swift, with the project ID being the account ID","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"70db3d419408b951708d3dd57abd7cbc00493c1f","unresolved":false,"context_lines":[{"line_number":245,"context_line":"The use of project_id URLs should be deprecated in Mitaka, for removal in O"},{"line_number":246,"context_line":"(2 cycle deprecation). After that timeframe, projects should provide a new"},{"line_number":247,"context_line":"minor release of the API in order to remove project_id as a required part of"},{"line_number":248,"context_line":"the URL."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a2fa921_9709f1df","line":248,"updated":"2015-10-07 19:23:27.000000000","message":"Swift would not remove the project id. To be pedantic, the project id today is used for the swift account. The swift account must remain and cannot go away. It\u0027s an actual resource users interact with.\n\nIn general this spec proposes a change so that the service is responsible for the mapping of identities to resources. Today, keystone does that and maps an identity to a swift account with the tenant_id. From swift\u0027s perspective, it doesn\u0027t matter that the swift account happens to have the tenant_id as a substring, but there must be *something* there. Swift could continue to use a tenant_id for the map, or it could do something else.\n\nBut the general point is that what is the tenant_id today in the URL would remain and not be deprecated, even if the mapping changes.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"c1992575e6feb7401826e462863ee7299eda0c6b","unresolved":false,"context_lines":[{"line_number":245,"context_line":"The use of project_id URLs should be deprecated in Mitaka, for removal in O"},{"line_number":246,"context_line":"(2 cycle deprecation). After that timeframe, projects should provide a new"},{"line_number":247,"context_line":"minor release of the API in order to remove project_id as a required part of"},{"line_number":248,"context_line":"the URL."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a2fa921_f5a316fe","line":248,"in_reply_to":"7a2fa921_90051e15","updated":"2015-10-09 16:27:55.000000000","message":"right, to further sean\u0027s point, keystone could serve up this new-well-defined-catalog in a new route, and clients that want to take advantage of it, may do so.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"2440cc7085a0790e008de5a547e5d20fc067cb5c","unresolved":false,"context_lines":[{"line_number":245,"context_line":"The use of project_id URLs should be deprecated in Mitaka, for removal in O"},{"line_number":246,"context_line":"(2 cycle deprecation). After that timeframe, projects should provide a new"},{"line_number":247,"context_line":"minor release of the API in order to remove project_id as a required part of"},{"line_number":248,"context_line":"the URL."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a2fa921_90051e15","line":248,"in_reply_to":"7a2fa921_9709f1df","updated":"2015-10-09 13:04:46.000000000","message":"I think the important point is to get keystone out of that part of the mapping business in the catalog. The catalog should be a more static entity, especially as that means catalog data can be cached instead of jammed in all the TOKENs (eventually). \n\nA service can have any resource structure it wants. But the catalog should get us to top of tree, and any other redirection to specific urls in a service seems better done within that service itself.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"1c09916c1a96abfb3a54f376d0268fb45b216192","unresolved":false,"context_lines":[{"line_number":245,"context_line":"The use of project_id URLs should be deprecated in Mitaka, for removal in O"},{"line_number":246,"context_line":"(2 cycle deprecation). After that timeframe, projects should provide a new"},{"line_number":247,"context_line":"minor release of the API in order to remove project_id as a required part of"},{"line_number":248,"context_line":"the URL."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5a2ca52d_cd4bad58","line":248,"in_reply_to":"7a2fa921_f5a316fe","updated":"2015-10-13 21:07:20.000000000","message":"I can revise the spec if we need to make it more clear that the clients will need to evolve with the service catalog.","commit_id":"ce28e02113fba7f33fc7fcb9b360f6c823838c5b"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"d38d33074964f0af8c13a33a76cf809c53aa6eff","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"While we are working through many of these issues, we are ensuring that"},{"line_number":65,"context_line":"projects understand that user experience includes consistency, discoverability,"},{"line_number":66,"context_line":"and simplicity as design tenants for service catalog incremental improvements."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"A Vision of the Ideal Service Catalog"},{"line_number":69,"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"}],"source_content_type":"text/x-rst","patch_set":15,"id":"5a710552_f71ad96d","line":66,"updated":"2015-12-15 15:36:48.000000000","message":"i realize the word \"tenant\" is used in many different forms given the subject matter, was this perhaps meant to be \"tenet\"?","commit_id":"4930e1c15e86025580f081332db1155d8bdec28e"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"81d4ffb77d873a9a4b3e388cdfd333276f256f5f","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"While we are working through many of these issues, we are ensuring that"},{"line_number":65,"context_line":"projects understand that user experience includes consistency, discoverability,"},{"line_number":66,"context_line":"and simplicity as design tenants for service catalog incremental improvements."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"A Vision of the Ideal Service Catalog"},{"line_number":69,"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"}],"source_content_type":"text/x-rst","patch_set":15,"id":"5a710552_b7bbf1c3","line":66,"in_reply_to":"5a710552_f71ad96d","updated":"2015-12-15 15:42:19.000000000","message":"Ha ha, yes, my fingers typed a bit too automatically. :)","commit_id":"4930e1c15e86025580f081332db1155d8bdec28e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"168aa16a868d737e439585ae2415c1a1afc859a7","unresolved":false,"context_lines":[{"line_number":76,"context_line":"   depend on."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"2. All OpenStack server components find the operational urls for other"},{"line_number":79,"context_line":"   OpenStack services with the catalog."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"3. The service types used in the catalog, such as ``volume`` or ``compute``,"},{"line_number":82,"context_line":"   defined in server components. This definition ensures that standardization"}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa69d971_85609802","line":79,"updated":"2016-01-05 16:46:27.000000000","message":"suggest add some text like \"by query type\u003d\u0027volume\u0027\" (see 1)","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"57834105cfebd701c028469a307bec528bf9e9b4","unresolved":false,"context_lines":[{"line_number":76,"context_line":"   depend on."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"2. All OpenStack server components find the operational urls for other"},{"line_number":79,"context_line":"   OpenStack services with the catalog."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"3. The service types used in the catalog, such as ``volume`` or ``compute``,"},{"line_number":82,"context_line":"   defined in server components. This definition ensures that standardization"}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa69d971_bb81d8c5","line":79,"in_reply_to":"fa69d971_85609802","updated":"2016-01-07 15:32:38.000000000","message":"I think the details of how can be left out, that\u0027s an implementation detail we\u0027ll sort out later.","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"168aa16a868d737e439585ae2415c1a1afc859a7","unresolved":false,"context_lines":[{"line_number":79,"context_line":"   OpenStack services with the catalog."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"3. The service types used in the catalog, such as ``volume`` or ``compute``,"},{"line_number":82,"context_line":"   defined in server components. This definition ensures that standardization"},{"line_number":83,"context_line":"   propagates, as clouds will not work if their service catalog is not"},{"line_number":84,"context_line":"   defined correctly."},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa69d971_d006501b","line":82,"range":{"start_line":82,"start_character":3,"end_line":82,"end_character":10},"updated":"2016-01-05 16:46:27.000000000","message":"change \"defined\" to \"are defined\"\n\nin the \"Proposed change\" section, it says the definition is in governance, not in the server components.","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"168aa16a868d737e439585ae2415c1a1afc859a7","unresolved":false,"context_lines":[{"line_number":86,"context_line":"4. There are Tempest tests for standard service catalog, and it\u0027s a"},{"line_number":87,"context_line":"   DefCore requirement that standard service catalog entries are"},{"line_number":88,"context_line":"   defined."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Proposed change"},{"line_number":92,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa69d971_251f6c6d","line":89,"updated":"2016-01-05 16:46:27.000000000","message":"There\u0027s no mention of regions, are regions part of the ideal service catalog?","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"168aa16a868d737e439585ae2415c1a1afc859a7","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- List of changes needed in existing clouds/products to comply with this."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    * We want DevStack to follow these standards as the best practice example."},{"line_number":109,"context_line":"    * We want to use JSON Schema to define the API for the service catalog"},{"line_number":110,"context_line":"      to ensure understanding and compliance."},{"line_number":111,"context_line":"    * JSON Schema must allow for \"extra\" data so that we can continue with"}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa69d971_6b8e95d1","line":108,"updated":"2016-01-05 16:46:27.000000000","message":"The first change that\u0027s going to be required (before devstack will work) is that tempest supports unversioned endpoints. At this point it doesn\u0027t.","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"57834105cfebd701c028469a307bec528bf9e9b4","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- List of changes needed in existing clouds/products to comply with this."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    * We want DevStack to follow these standards as the best practice example."},{"line_number":109,"context_line":"    * We want to use JSON Schema to define the API for the service catalog"},{"line_number":110,"context_line":"      to ensure understanding and compliance."},{"line_number":111,"context_line":"    * JSON Schema must allow for \"extra\" data so that we can continue with"}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa69d971_1bcb4420","line":108,"in_reply_to":"fa69d971_6b8e95d1","updated":"2016-01-07 15:32:38.000000000","message":"I think it\u0027s ok to let that fall out as an implementation detail.","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"168aa16a868d737e439585ae2415c1a1afc859a7","unresolved":false,"context_lines":[{"line_number":144,"context_line":"The list of changes is gathered here:"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"- Ensure each service\u0027s API has a version request (current standard is a GET"},{"line_number":147,"context_line":"  call to /). However, keystoneclient\u0027s session can\u0027t use that to discover"},{"line_number":148,"context_line":"  versions because the URL returned by the Identity service for another"},{"line_number":149,"context_line":"  configured service is the versioned endpoint. The version is embedded in the"},{"line_number":150,"context_line":"  URL. We should have the Identity service discover version number with each"}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa69d971_fd532c15","line":147,"range":{"start_line":147,"start_character":23,"end_line":147,"end_character":37},"updated":"2016-01-05 16:46:27.000000000","message":"change keystoneclient to keystoneauth","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"57834105cfebd701c028469a307bec528bf9e9b4","unresolved":false,"context_lines":[{"line_number":144,"context_line":"The list of changes is gathered here:"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"- Ensure each service\u0027s API has a version request (current standard is a GET"},{"line_number":147,"context_line":"  call to /). However, keystoneclient\u0027s session can\u0027t use that to discover"},{"line_number":148,"context_line":"  versions because the URL returned by the Identity service for another"},{"line_number":149,"context_line":"  configured service is the versioned endpoint. The version is embedded in the"},{"line_number":150,"context_line":"  URL. We should have the Identity service discover version number with each"}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa69d971_1bf26470","line":147,"range":{"start_line":147,"start_character":23,"end_line":147,"end_character":37},"in_reply_to":"fa69d971_fd532c15","updated":"2016-01-07 15:32:38.000000000","message":"Done","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"168aa16a868d737e439585ae2415c1a1afc859a7","unresolved":false,"context_lines":[{"line_number":148,"context_line":"  versions because the URL returned by the Identity service for another"},{"line_number":149,"context_line":"  configured service is the versioned endpoint. The version is embedded in the"},{"line_number":150,"context_line":"  URL. We should have the Identity service discover version number with each"},{"line_number":151,"context_line":"  services\u0027 API itself."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"- Remove project_id template from endpoints, acknowledging that future clients"},{"line_number":154,"context_line":"  will have to account for this change."}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa69d971_9df0f0fe","line":151,"updated":"2016-01-05 16:46:27.000000000","message":"keystone just returns the endpoint that the deployer gives it when they set up their cloud. If unversioned endpoints are desired then the admin can store unversioned endpoints in keystone. keystone doesn\u0027t care. There\u0027s no change required to keystone here.\n\nThe Identity service doesn\u0027t return versioned endpoints (although it will if that\u0027s what you tell it to do), and there\u0027s no need for the Identity service to discover the versions. This bullet can be removed.","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"57834105cfebd701c028469a307bec528bf9e9b4","unresolved":false,"context_lines":[{"line_number":148,"context_line":"  versions because the URL returned by the Identity service for another"},{"line_number":149,"context_line":"  configured service is the versioned endpoint. The version is embedded in the"},{"line_number":150,"context_line":"  URL. We should have the Identity service discover version number with each"},{"line_number":151,"context_line":"  services\u0027 API itself."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"- Remove project_id template from endpoints, acknowledging that future clients"},{"line_number":154,"context_line":"  will have to account for this change."}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa69d971_1b3584f6","line":151,"in_reply_to":"fa69d971_9df0f0fe","updated":"2016-01-07 15:32:38.000000000","message":"I think we need to consider the reality here that people have been putting versioned endpoints in their catalog for a reason, it is useful to them. This is data, not a bug. If we are going to allow people to annotate the catalog entries with urls and other data, allowing them a way to store version information for endpoints seems like a thing that\u0027s fine as well, no?","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"168aa16a868d737e439585ae2415c1a1afc859a7","unresolved":false,"context_lines":[{"line_number":149,"context_line":"  configured service is the versioned endpoint. The version is embedded in the"},{"line_number":150,"context_line":"  URL. We should have the Identity service discover version number with each"},{"line_number":151,"context_line":"  services\u0027 API itself."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"- Remove project_id template from endpoints, acknowledging that future clients"},{"line_number":154,"context_line":"  will have to account for this change."},{"line_number":155,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa69d971_9d7f9016","line":152,"updated":"2016-01-05 16:46:27.000000000","message":"Add a bullet to update tempest such that it works with unversioned endpoints in the service catalog.","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"367f316355716faeb2602d80f0abf2fa1ceafaff","unresolved":false,"context_lines":[{"line_number":150,"context_line":"  URL. We should have the Identity service discover version number with each"},{"line_number":151,"context_line":"  services\u0027 API itself."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"- Remove project_id template from endpoints, acknowledging that future clients"},{"line_number":154,"context_line":"  will have to account for this change."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"- Ensure DevStack examples are consistent and can be used as an exemplary"}],"source_content_type":"text/x-rst","patch_set":16,"id":"5a710552_b8d41920","line":153,"updated":"2015-12-16 08:17:21.000000000","message":"add backticks to project_id,","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"168aa16a868d737e439585ae2415c1a1afc859a7","unresolved":false,"context_lines":[{"line_number":168,"context_line":""},{"line_number":169,"context_line":"- Ensure that the publicURL, adminURL, and internalURL have known use cases."},{"line_number":170,"context_line":"  Work with the operator community to understand whether those can be"},{"line_number":171,"context_line":"  consolidated when presenting the catalog to an end user."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Alternatives"},{"line_number":174,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa69d971_fde32cd7","line":171,"updated":"2016-01-05 16:46:27.000000000","message":"My understanding is that the URLs can be consolidated. Deployments should be using the network to route requests properly rather than different URLs because clients don\u0027t know which to use by themselves.","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"57834105cfebd701c028469a307bec528bf9e9b4","unresolved":false,"context_lines":[{"line_number":168,"context_line":""},{"line_number":169,"context_line":"- Ensure that the publicURL, adminURL, and internalURL have known use cases."},{"line_number":170,"context_line":"  Work with the operator community to understand whether those can be"},{"line_number":171,"context_line":"  consolidated when presenting the catalog to an end user."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Alternatives"},{"line_number":174,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa69d971_3b05e813","line":171,"in_reply_to":"fa69d971_fde32cd7","updated":"2016-01-07 15:32:38.000000000","message":"That\u0027s entirely unclear at this point from operator feedback.","commit_id":"ca2cb0dc28ae634a32126974188ed9ed6873f96d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6c0d2e61ff59f62237b51927cf5d22eade64d212","unresolved":false,"context_lines":[{"line_number":79,"context_line":"   OpenStack services with the catalog."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"3. The service types used in the catalog, such as ``volume`` or ``compute``,"},{"line_number":82,"context_line":"   defined in server components. This definition ensures that standardization"},{"line_number":83,"context_line":"   propagates, as clouds will not work if their service catalog is not"},{"line_number":84,"context_line":"   defined correctly."},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"fa69d971_ab380dd4","line":82,"updated":"2016-01-11 12:49:14.000000000","message":"nit: The first sentence is a fragment. I think perhaps you meant to say \"The service types used in the catalog, such as ``volume`` or ``compute``, are well-defined and codified.","commit_id":"722e891e23b48e03e422b72105e4f1eec9b19322"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6c0d2e61ff59f62237b51927cf5d22eade64d212","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"4. There are Tempest tests for standard service catalog, and it\u0027s a"},{"line_number":87,"context_line":"   DefCore requirement that standard service catalog entries are"},{"line_number":88,"context_line":"   defined."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":17,"id":"fa69d971_6b453541","line":88,"updated":"2016-01-11 12:49:14.000000000","message":"++","commit_id":"722e891e23b48e03e422b72105e4f1eec9b19322"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"d91b3962407b68af5b35484188f58e263291406d","unresolved":false,"context_lines":[{"line_number":114,"context_line":"      in the `openstack/governance` git repository."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"- List of changes in OpenStack projects that would rely on this standard, thus"},{"line_number":117,"context_line":"  making sure we\u0027ve got it right."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"- Published guidelines we recommend that DefCore requires of cloud provider\u0027s"},{"line_number":120,"context_line":"  service catalogs going forward. These guidelines can be created in the API"}],"source_content_type":"text/x-rst","patch_set":17,"id":"da6ed579_3f6608ee","line":117,"updated":"2016-01-12 20:09:30.000000000","message":"This seems to be empty? Is that really the case?","commit_id":"722e891e23b48e03e422b72105e4f1eec9b19322"}]}
