)]}'
{"guidelines/consuming-catalog.rst":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f4f551dbe8be3bfcace138c82bf1b22fb4058f78","unresolved":false,"context_lines":[{"line_number":417,"context_line":"   YYYYMMDDHHMMSS and also a sha which contains the git sha of the commit the"},{"line_number":418,"context_line":"   published data was built from."},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"#. The files are served with ETag support and should be considered highly"},{"line_number":421,"context_line":"   cacheable."},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"#. The current version of the files should always be the preferred files to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff0f0b1f_a045b719","line":420,"updated":"2017-05-18 11:53:28.000000000","message":"I think you\u0027re referring to just the one JSON file here (at the url above) so \"file\"?","commit_id":"a5f0009e3a621024076fc7080f4cf79654144605"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f4f551dbe8be3bfcace138c82bf1b22fb4058f78","unresolved":false,"context_lines":[{"line_number":420,"context_line":"#. The files are served with ETag support and should be considered highly"},{"line_number":421,"context_line":"   cacheable."},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"#. The current version of the files should always be the preferred files to"},{"line_number":424,"context_line":"   use."},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"#. The files are similar to timezone data. They should not be considered"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff0f0b1f_804ab324","line":423,"updated":"2017-05-18 11:53:28.000000000","message":"ditto?","commit_id":"a5f0009e3a621024076fc7080f4cf79654144605"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"23e0b8f969f49e72d98bcf3a309d90bac2bb9e99","unresolved":false,"context_lines":[{"line_number":81,"context_line":"found in the wild. To facilitate moving forward with the correct"},{"line_number":82,"context_line":"``{service-type}`` names, but also support existing users and installations,"},{"line_number":83,"context_line":"the `OpenStack Service Types Authority`_ contains a list of historical"},{"line_number":84,"context_line":"aliases for such services. (see :ref:`consuming-service-types-authority` for"},{"line_number":85,"context_line":"information on the data itself."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"The basic process is:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff0f0b1f_edda5815","line":84,"updated":"2017-05-19 17:41:26.000000000","message":"nit: refer to titles directly, no need for a ref","commit_id":"5f4a1eb3c7baebb5af24f21a49258c32854bacd4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"23e0b8f969f49e72d98bcf3a309d90bac2bb9e99","unresolved":false,"context_lines":[{"line_number":384,"context_line":"   authoritative source code for the list."},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"#. The data is published in JSON format at"},{"line_number":387,"context_line":"   https://specs.openstack.org/service-types.json and has a JSONSchema at"},{"line_number":388,"context_line":"   `Service Types Authority Published Schema`_."},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"#. The published data contains a version which is date based and of the form"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff0f0b1f_cdd554e7","line":387,"updated":"2017-05-19 17:41:26.000000000","message":"this link gives HTTP 404 currently. is it expected?","commit_id":"5f4a1eb3c7baebb5af24f21a49258c32854bacd4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"23e0b8f969f49e72d98bcf3a309d90bac2bb9e99","unresolved":false,"context_lines":[{"line_number":400,"context_line":"#. The JSON file is similar to timezone data. It should not be considered"},{"line_number":401,"context_line":"   versioned such that stable releases of distros should provide a"},{"line_number":402,"context_line":"   frozen version of it. Distro packages should instead update for all"},{"line_number":403,"context_line":"   active releases when a new version of the file is published."},{"line_number":404,"context_line":""},{"line_number":405,"context_line":".. _OpenStack Service Types Authority: https://git.openstack.org/cgit/openstack/service-types-authority/"},{"line_number":406,"context_line":".. _Service Types Authority Published Schema: https://specs.openstack.org/openstack/service-types-authority/_downloads/published-schema.json"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff0f0b1f_ad06a085","line":403,"updated":"2017-05-19 17:41:26.000000000","message":"1. This assumes we never remove information from it, right?\n\n2. Not sure how to package this file, to be honest. Maybe some guidelines for packagers? Should they build and ship the resulting JSON file? Or also the YAML?\n\nImagine I\u0027m writing a Python library. How do I declare dependency on it in a format recognizable by packagers? (actually, I\u0027m writing a Rust library, and this is even less clear)\n\nOr should library authors just vendor the resulting JSON? Then it may be harder to update it for stable releases. Especially if they (like I initially thought for rust-openstack) will not keep the JSON file, but will generate something out of it (I was thinking of generating Rust code).\n\nSome guidence would be handy.","commit_id":"5f4a1eb3c7baebb5af24f21a49258c32854bacd4"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"c52e505552496029521468e2e98472dd3686ef7e","unresolved":false,"context_lines":[{"line_number":117,"context_line":"aliases for such services. (see :ref:`consuming-service-types-authority` for"},{"line_number":118,"context_line":"information on the data itself."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Clients will need a copy of the a copy of the data published in the"},{"line_number":121,"context_line":"`OpenStack Service Types Authority`_ to be able to complete the full Discovery"},{"line_number":122,"context_line":"Algorithm. A client library could either keep a local copy or fetch the data"},{"line_number":123,"context_line":"from its well-known URL and potentially cache it. It is recommended that client"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_713c612e","line":120,"updated":"2017-05-24 17:59:26.000000000","message":"only one copy required","commit_id":"677118d27513adaf07a63fda204972d6fca9220f"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"e94853cdc4599a5479644cf4544d7244d449aabb","unresolved":false,"context_lines":[{"line_number":117,"context_line":"aliases for such services. (see :ref:`consuming-service-types-authority` for"},{"line_number":118,"context_line":"information on the data itself."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Clients will need a copy of the a copy of the data published in the"},{"line_number":121,"context_line":"`OpenStack Service Types Authority`_ to be able to complete the full Discovery"},{"line_number":122,"context_line":"Algorithm. A client library could either keep a local copy or fetch the data"},{"line_number":123,"context_line":"from its well-known URL and potentially cache it. It is recommended that client"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_ec041617","line":120,"in_reply_to":"ff0f0b1f_713c612e","updated":"2017-05-24 18:11:47.000000000","message":"whoops!","commit_id":"677118d27513adaf07a63fda204972d6fca9220f"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"6aa839045bbcc1d210b565a8faee0fb8cb6e4a34","unresolved":false,"context_lines":[{"line_number":447,"context_line":"   authoritative source code for the list."},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"#. The data is published in JSON format at"},{"line_number":450,"context_line":"   https://specs.openstack.org/service-types.json and has a JSONSchema at"},{"line_number":451,"context_line":"   `Service Types Authority Published Schema`_."},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"#. The published data contains a version which is date based in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_acb73ef5","line":450,"updated":"2017-05-24 18:28:18.000000000","message":"I\u0027d rather not encumber the specs.o.o site with expectations that random applications will rely on it being stable/present long-term. I think we should create a dedicated domain name we can use for this, which gives us a lot of flexibility about where and how we serve it in the future. And if we can\u0027t come to a consensus on what that domain name should be, jeblair offered up bikeshed.openstack.org as a fallback recommendation... ;)","commit_id":"677118d27513adaf07a63fda204972d6fca9220f"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"0c50dc28e9409dbab5119d374f753210eee89a6e","unresolved":false,"context_lines":[{"line_number":447,"context_line":"   authoritative source code for the list."},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"#. The data is published in JSON format at"},{"line_number":450,"context_line":"   https://specs.openstack.org/service-types.json and has a JSONSchema at"},{"line_number":451,"context_line":"   `Service Types Authority Published Schema`_."},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"#. The published data contains a version which is date based in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_eebe4bac","line":450,"in_reply_to":"ff0f0b1f_0cc18ae5","updated":"2017-05-24 19:06:29.000000000","message":"I think I like service-types. That lets it be specific for this and won\u0027t tempt folks to put other things there ... it\u0027ll also keep the cost for maintaining it for a long time to a minimum - since a single directory with a few tiny files is very easy to host on servers - and can be also hosted from a swift + cdn if desired.","commit_id":"677118d27513adaf07a63fda204972d6fca9220f"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"4ab04ca6f9dee1980811eff77457bd3144b5da4c","unresolved":false,"context_lines":[{"line_number":447,"context_line":"   authoritative source code for the list."},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"#. The data is published in JSON format at"},{"line_number":450,"context_line":"   https://specs.openstack.org/service-types.json and has a JSONSchema at"},{"line_number":451,"context_line":"   `Service Types Authority Published Schema`_."},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"#. The published data contains a version which is date based in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_0cc18ae5","line":450,"in_reply_to":"ff0f0b1f_acb73ef5","updated":"2017-05-24 18:41:33.000000000","message":"That\u0027s a fair point. Do we want a host name which represents just this kind of info (thus service-types.openstack.org would work) or do we want it to be more generic (in which case catalog or library has some appeal).","commit_id":"677118d27513adaf07a63fda204972d6fca9220f"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"e87f3a723f48a18dbaf1dd060ec4de89600655ab","unresolved":false,"context_lines":[{"line_number":447,"context_line":"   authoritative source code for the list."},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"#. The data is published in JSON format at"},{"line_number":450,"context_line":"   https://specs.openstack.org/service-types.json and has a JSONSchema at"},{"line_number":451,"context_line":"   `Service Types Authority Published Schema`_."},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"#. The published data contains a version which is date based in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_3d6e9bc9","line":450,"in_reply_to":"ff0f0b1f_eebe4bac","updated":"2017-05-25 15:28:54.000000000","message":"+1 for a specific domain just for this information, very clean and flexible.","commit_id":"677118d27513adaf07a63fda204972d6fca9220f"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"3720c664fe86d3316bd16c7837bbd2c78d6cf1a1","unresolved":false,"context_lines":[{"line_number":446,"context_line":"#. The data is maintained in YAML format in git. This is the ultimately"},{"line_number":447,"context_line":"   authoritative source code for the list."},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"#. The data is published in JSON format at"},{"line_number":450,"context_line":"   https://service-types.openstack.org/service-types.json and has a JSONSchema"},{"line_number":451,"context_line":"   at https://service-types.openstack.org/schema.json."},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"#. The published data contains a version which is date based in"},{"line_number":454,"context_line":"   `ISO Date Time Format`_, a sha which contains the git sha of the"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ff0f0b1f_2e11bfad","line":451,"range":{"start_line":449,"start_character":0,"end_line":451,"end_character":54},"updated":"2017-05-25 17:15:33.000000000","message":"This addresses my previous patch comments. YAY!","commit_id":"0c4baf85e04d7141a5ebf98f5c5dc7ae849c57d7"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"3720c664fe86d3316bd16c7837bbd2c78d6cf1a1","unresolved":false,"context_lines":[{"line_number":455,"context_line":"   commit the published data was built from, and pre-built forward and reverse"},{"line_number":456,"context_line":"   mappings between official types and aliases."},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"#. The JSON file is served with ETag support and should be considered highly"},{"line_number":459,"context_line":"   cacheable."},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"#. The current version of the JSON file should always be the preferred files to"},{"line_number":462,"context_line":"   use."}],"source_content_type":"text/x-rst","patch_set":7,"id":"ff0f0b1f_ee22a701","line":459,"range":{"start_line":458,"start_character":0,"end_line":459,"end_character":13},"updated":"2017-05-25 17:15:33.000000000","message":"YAY!","commit_id":"0c4baf85e04d7141a5ebf98f5c5dc7ae849c57d7"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"3720c664fe86d3316bd16c7837bbd2c78d6cf1a1","unresolved":false,"context_lines":[{"line_number":461,"context_line":"#. The current version of the JSON file should always be the preferred files to"},{"line_number":462,"context_line":"   use."},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"#. The JSON file is similar to timezone data. It should not be considered"},{"line_number":465,"context_line":"   versioned such that stable releases of distros should provide a"},{"line_number":466,"context_line":"   frozen version of it. Distro packages should instead update for all"},{"line_number":467,"context_line":"   active releases when a new version of the file is published."},{"line_number":468,"context_line":""},{"line_number":469,"context_line":".. _OpenStack Service Types Authority: https://git.openstack.org/cgit/openstack/service-types-authority/"},{"line_number":470,"context_line":".. _ISO Date Time Format: https://tools.ietf.org/html/rfc3339#section-5.6"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ff0f0b1f_ce748301","line":467,"range":{"start_line":464,"start_character":0,"end_line":467,"end_character":62},"updated":"2017-05-25 17:15:33.000000000","message":"More \"yay\"!","commit_id":"0c4baf85e04d7141a5ebf98f5c5dc7ae849c57d7"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"0c4756d98d40677e18cb2281863cef451d0c4aec","unresolved":false,"context_lines":[{"line_number":520,"context_line":""},{"line_number":521,"context_line":"#. The data is published in JSON format at"},{"line_number":522,"context_line":"   https://service-types.openstack.org/service-types.json and has a JSONSchema"},{"line_number":523,"context_line":"   at https://service-types.openstack.org/schema.json."},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"#. The published data contains a version which is date based in"},{"line_number":526,"context_line":"   `ISO Date Time Format`_, a sha which contains the git sha of the"}],"source_content_type":"text/x-rst","patch_set":8,"id":"df140735_8750570c","line":523,"updated":"2017-05-31 18:12:31.000000000","message":"Is this the only schema we will ever publish near here or should we give it less generic name?","commit_id":"c5b5c70d83c859a4b54cd237524b7bba5d7eeeb9"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"84f72311e0b89fcaafa6b2b68bd722bb0dea4760","unresolved":false,"context_lines":[{"line_number":520,"context_line":""},{"line_number":521,"context_line":"#. The data is published in JSON format at"},{"line_number":522,"context_line":"   https://service-types.openstack.org/service-types.json and has a JSONSchema"},{"line_number":523,"context_line":"   at https://service-types.openstack.org/schema.json."},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"#. The published data contains a version which is date based in"},{"line_number":526,"context_line":"   `ISO Date Time Format`_, a sha which contains the git sha of the"}],"source_content_type":"text/x-rst","patch_set":8,"id":"df140735_de871a61","line":523,"updated":"2017-06-01 16:39:48.000000000","message":"It\u0027s easy enough to preserve this one URL indefinitely, even if later on we decide to start officially publishing it as something else and switch references in newer versions of the software (either with a 301 permanent redirect or just an alias and transparent rewrite).","commit_id":"c5b5c70d83c859a4b54cd237524b7bba5d7eeeb9"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"c35cf8d480d5869badf0624cf0ef6b38a57cc34b","unresolved":false,"context_lines":[{"line_number":520,"context_line":""},{"line_number":521,"context_line":"#. The data is published in JSON format at"},{"line_number":522,"context_line":"   https://service-types.openstack.org/service-types.json and has a JSONSchema"},{"line_number":523,"context_line":"   at https://service-types.openstack.org/schema.json."},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"#. The published data contains a version which is date based in"},{"line_number":526,"context_line":"   `ISO Date Time Format`_, a sha which contains the git sha of the"}],"source_content_type":"text/x-rst","patch_set":8,"id":"df140735_88e72813","line":523,"in_reply_to":"df140735_8750570c","updated":"2017-06-01 15:50:20.000000000","message":"This feels like a pretty specific site overall, the schema filename seems safe.  Of course, I don\u0027t know what I don\u0027t know yet...\n\nThe alternative to me is to flip the order and have a single schema site (schema.openstack.org) for all of these things with service-type.json for this instance.  That feels like premature generalization, but this is a long-lived URI that we should try really hard to never change.","commit_id":"c5b5c70d83c859a4b54cd237524b7bba5d7eeeb9"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"f1f6831f998b8d2da0f1b0f92eacea5361323f89","unresolved":false,"context_lines":[{"line_number":520,"context_line":""},{"line_number":521,"context_line":"#. The data is published in JSON format at"},{"line_number":522,"context_line":"   https://service-types.openstack.org/service-types.json and has a JSONSchema"},{"line_number":523,"context_line":"   at https://service-types.openstack.org/schema.json."},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"#. The published data contains a version which is date based in"},{"line_number":526,"context_line":"   `ISO Date Time Format`_, a sha which contains the git sha of the"}],"source_content_type":"text/x-rst","patch_set":8,"id":"df140735_25bf03b1","line":523,"in_reply_to":"df140735_de871a61","updated":"2017-06-02 13:23:50.000000000","message":"I agree with all three of you. :)\n\nI think having a specific service-types site is the right way to go - but there\u0027s also no reason to not name the schema.json \"service-types-schema.json\" instead, just in case we decide we want a schema.openstack.org and want to just do a 301 like fungi mentions.","commit_id":"c5b5c70d83c859a4b54cd237524b7bba5d7eeeb9"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"afd1adb5e476d77e2e700bbfbc90d9a268863842","unresolved":false,"context_lines":[{"line_number":120,"context_line":"found in the wild. To facilitate moving forward with the correct"},{"line_number":121,"context_line":"``{service-type}`` names, but also support existing users and installations,"},{"line_number":122,"context_line":"the `OpenStack Service Types Authority`_ contains a list of historical"},{"line_number":123,"context_line":"aliases for such services. (see `Consuming Service Types Authority`_ for"},{"line_number":124,"context_line":"information on the data itself."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Clients will need a copy of the data published in the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7f231b9d_8e043a7d","line":123,"range":{"start_line":123,"start_character":27,"end_line":123,"end_character":28},"updated":"2017-06-11 19:47:37.000000000","message":"nit - missing closing paren","commit_id":"c1bb3f23d2624fe190a5895dd7f3d568ef5b8279"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"afd1adb5e476d77e2e700bbfbc90d9a268863842","unresolved":false,"context_lines":[{"line_number":553,"context_line":"#. The JSON file is served with ETag support and should be considered highly"},{"line_number":554,"context_line":"   cacheable."},{"line_number":555,"context_line":""},{"line_number":556,"context_line":"#. The current version of the JSON file should always be the preferred files to"},{"line_number":557,"context_line":"   use."},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"#. The JSON file is similar to timezone data. It should not be considered"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7f231b9d_ce2fd2f4","line":556,"range":{"start_line":556,"start_character":71,"end_line":556,"end_character":76},"updated":"2017-06-11 19:47:37.000000000","message":"file?","commit_id":"c1bb3f23d2624fe190a5895dd7f3d568ef5b8279"}]}
