)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2301771ddfd8891dc19fa08d3da175e3406bd226","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  \u003ccycle-template\u003e.rst file to use as the basis for any new"},{"line_number":20,"context_line":"  spec. New specs go in this directory."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"* In the implemented directory is a placeholder file which"},{"line_number":23,"context_line":"  will be removed when the first (if any) spec moves from"},{"line_number":24,"context_line":"  approved (meaning in-progress) to implemented. The PTL"},{"line_number":25,"context_line":"  or their designee will be responsible for doing that moving."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5fc1f717_f401ee07","line":22,"range":{"start_line":22,"start_character":2,"end_line":22,"end_character":52},"updated":"2019-03-21 15:20:15.000000000","message":"I don\u0027t follow why this is needed. The directory can exist without a placeholder file, no?","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2be432b58d5316a4b6860ca328a0d4194c9fca0b","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  \u003ccycle-template\u003e.rst file to use as the basis for any new"},{"line_number":20,"context_line":"  spec. New specs go in this directory."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"* In the implemented directory is a placeholder file which"},{"line_number":23,"context_line":"  will be removed when the first (if any) spec moves from"},{"line_number":24,"context_line":"  approved (meaning in-progress) to implemented. The PTL"},{"line_number":25,"context_line":"  or their designee will be responsible for doing that moving."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5fc1f717_6eb1a6e1","line":22,"range":{"start_line":22,"start_character":2,"end_line":22,"end_character":52},"in_reply_to":"5fc1f717_3f1f4f71","updated":"2019-03-21 16:26:27.000000000","message":"Ugh - crap to workaround our tools.","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"58e6f0f14fcfa2e36caaabb3566d26d52a0800a4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  \u003ccycle-template\u003e.rst file to use as the basis for any new"},{"line_number":20,"context_line":"  spec. New specs go in this directory."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"* In the implemented directory is a placeholder file which"},{"line_number":23,"context_line":"  will be removed when the first (if any) spec moves from"},{"line_number":24,"context_line":"  approved (meaning in-progress) to implemented. The PTL"},{"line_number":25,"context_line":"  or their designee will be responsible for doing that moving."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5fc1f717_3f1f4f71","line":22,"range":{"start_line":22,"start_character":2,"end_line":22,"end_character":52},"in_reply_to":"5fc1f717_f401ee07","updated":"2019-03-21 15:50:55.000000000","message":"The globbing table of contents thing needs a file to exist or it moans and the docs don\u0027t build.","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2be432b58d5316a4b6860ca328a0d4194c9fca0b","unresolved":false,"context_lines":[{"line_number":25,"context_line":"  or their designee will be responsible for doing that moving."},{"line_number":26,"context_line":"  The placeholder file is required to avoid warnings (which"},{"line_number":27,"context_line":"  will kill the tox docs job) from the table of contents"},{"line_number":28,"context_line":"  globbing."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"* The train-template.rst is a copy-with-edits from nova\u0027s"},{"line_number":31,"context_line":"  version of the same thing. The main changes are to indicate"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5fc1f717_aedc6e18","line":28,"updated":"2019-03-21 16:26:27.000000000","message":"Thanks for this. Not all of us are doc gurus!","commit_id":"58ce73813b96a229446efa900188e91265e87b0b"}],"doc/source/index.rst":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2301771ddfd8891dc19fa08d3da175e3406bd226","unresolved":false,"context_lines":[{"line_number":55,"context_line":"See the :doc:`Contributor Guide \u003ccontributor/index\u003e` for information on how to"},{"line_number":56,"context_line":"contribute to the placement project and development processes and guidelines."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Significant feature development is tracked in documents called specifications."},{"line_number":59,"context_line":"From the Train cycle onward, those documents are kept at :doc:`specs/index`."},{"line_number":60,"context_line":"Prior to that, Placement specifications were a part of the `Nova Specs`_."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_7fa7170d","line":58,"range":{"start_line":58,"start_character":20,"end_line":58,"end_character":42},"updated":"2019-03-21 15:20:15.000000000","message":"nit: reads better as \"developments are tracked\"","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"58e6f0f14fcfa2e36caaabb3566d26d52a0800a4","unresolved":false,"context_lines":[{"line_number":55,"context_line":"See the :doc:`Contributor Guide \u003ccontributor/index\u003e` for information on how to"},{"line_number":56,"context_line":"contribute to the placement project and development processes and guidelines."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Significant feature development is tracked in documents called specifications."},{"line_number":59,"context_line":"From the Train cycle onward, those documents are kept at :doc:`specs/index`."},{"line_number":60,"context_line":"Prior to that, Placement specifications were a part of the `Nova Specs`_."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_9a2d3148","line":58,"range":{"start_line":58,"start_character":20,"end_line":58,"end_character":42},"in_reply_to":"5fc1f717_7fa7170d","updated":"2019-03-21 15:50:55.000000000","message":"huh, weird, I don\u0027t agree, but see where you\u0027re coming from","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8824811d6cec2c46518a7a140889279e4b313504","unresolved":false,"context_lines":[{"line_number":55,"context_line":"See the :doc:`Contributor Guide \u003ccontributor/index\u003e` for information on how to"},{"line_number":56,"context_line":"contribute to the placement project and development processes and guidelines."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Significant feature developments are tracked in documents called specifications."},{"line_number":59,"context_line":"From the Train cycle onward, those documents are kept at :doc:`specs/index`."},{"line_number":60,"context_line":"Prior to that, Placement specifications were a part of the `Nova Specs`_."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_7dac889e","line":58,"updated":"2019-03-26 20:05:37.000000000","message":"Should also link from the contributor index page somewhere about feature development.","commit_id":"48948bce9ef25db7b00ba7cce013aaa921243523"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"c6ae033a03cb76e7be51e9b8ed64388b30039c96","unresolved":false,"context_lines":[{"line_number":55,"context_line":"See the :doc:`Contributor Guide \u003ccontributor/index\u003e` for information on how to"},{"line_number":56,"context_line":"contribute to the placement project and development processes and guidelines."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Significant feature developments are tracked in documents called specifications."},{"line_number":59,"context_line":"From the Train cycle onward, those documents are kept at :doc:`specs/index`."},{"line_number":60,"context_line":"Prior to that, Placement specifications were a part of the `Nova Specs`_."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_755ca018","line":58,"in_reply_to":"5fc1f717_7dac889e","updated":"2019-03-26 20:25:45.000000000","message":"Doesn\u0027t exist yet, in progress at https://review.openstack.org/#/c/647788/\n\nThese three paragraph can probably change a bit once that\u0027s done.","commit_id":"48948bce9ef25db7b00ba7cce013aaa921243523"}],"doc/source/specs/train/approved/train-template.rst":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2301771ddfd8891dc19fa08d3da175e3406bd226","unresolved":false,"context_lines":[{"line_number":35,"context_line":"  approved, its possible that the outcome of the spec review process leads"},{"line_number":36,"context_line":"  you towards a fundamentally different solution than you first envisaged."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* But, API changes are held to a much higher level of scrutiny."},{"line_number":39,"context_line":"  As soon as an API change merges, we must assume it could be in production"},{"line_number":40,"context_line":"  somewhere, and as such, we then need to support that API change forever."},{"line_number":41,"context_line":"  To avoid getting that wrong, we do want lots of details about API changes"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_dfe5eb39","line":38,"range":{"start_line":38,"start_character":2,"end_line":38,"end_character":10},"updated":"2019-03-21 15:20:15.000000000","message":"Lose the comma","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"58e6f0f14fcfa2e36caaabb3566d26d52a0800a4","unresolved":false,"context_lines":[{"line_number":35,"context_line":"  approved, its possible that the outcome of the spec review process leads"},{"line_number":36,"context_line":"  you towards a fundamentally different solution than you first envisaged."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* But, API changes are held to a much higher level of scrutiny."},{"line_number":39,"context_line":"  As soon as an API change merges, we must assume it could be in production"},{"line_number":40,"context_line":"  somewhere, and as such, we then need to support that API change forever."},{"line_number":41,"context_line":"  To avoid getting that wrong, we do want lots of details about API changes"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_3a1c3d12","line":38,"range":{"start_line":38,"start_character":2,"end_line":38,"end_character":10},"in_reply_to":"5fc1f717_dfe5eb39","updated":"2019-03-21 15:50:55.000000000","message":"copied from nova, but yeah","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2301771ddfd8891dc19fa08d3da175e3406bd226","unresolved":false,"context_lines":[{"line_number":118,"context_line":"  need to take into account existing instances, or modify other existing data"},{"line_number":119,"context_line":"  describe how that will work."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"REST API impact"},{"line_number":122,"context_line":"---------------"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Each API method which is either added or changed should have the following"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_5f59fbfb","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":15},"updated":"2019-03-21 15:20:15.000000000","message":"Let\u0027s just say \"API impact\", as we don\u0027t have any non-REST APIs.","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"58e6f0f14fcfa2e36caaabb3566d26d52a0800a4","unresolved":false,"context_lines":[{"line_number":118,"context_line":"  need to take into account existing instances, or modify other existing data"},{"line_number":119,"context_line":"  describe how that will work."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"REST API impact"},{"line_number":122,"context_line":"---------------"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Each API method which is either added or changed should have the following"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_bad58d1d","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":15},"in_reply_to":"5fc1f717_5f59fbfb","updated":"2019-03-21 15:50:55.000000000","message":"actually we don\u0027t have any REST APIs, so yeah, I\u0027ll remove it","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2301771ddfd8891dc19fa08d3da175e3406bd226","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"  * URL for the resource"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    * URL should not include underscores, and use hyphens instead."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"  * Parameters which can be passed via the url"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_bf07bfc9","line":146,"range":{"start_line":146,"start_character":29,"end_line":146,"end_character":49},"updated":"2019-03-21 15:20:15.000000000","message":"underscores; use","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2301771ddfd8891dc19fa08d3da175e3406bd226","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"  * JSON schema definition for the request body data if allowed"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    * Field names should use snake_case style, not CamelCase or MixedCase"},{"line_number":153,"context_line":"      style."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"  * JSON schema definition for the response body data if any"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_9fa0c3a7","line":152,"range":{"start_line":152,"start_character":51,"end_line":152,"end_character":60},"updated":"2019-03-21 15:20:15.000000000","message":"super-nit: camelCase, since it generally starts with lower case. MixedCase (aka TitleCase) starts with upper.","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2301771ddfd8891dc19fa08d3da175e3406bd226","unresolved":false,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"  * JSON schema definition for the response body data if any"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    * Field names should use snake_case style, not CamelCase or MixedCase"},{"line_number":158,"context_line":"      style."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* Example use case including typical API samples for both data supplied"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_5faa5b85","line":157,"range":{"start_line":157,"start_character":51,"end_line":157,"end_character":60},"updated":"2019-03-21 15:20:15.000000000","message":"ditto","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2301771ddfd8891dc19fa08d3da175e3406bd226","unresolved":false,"context_lines":[{"line_number":222,"context_line":"* A small change in a utility function or a commonly used decorator can have a"},{"line_number":223,"context_line":"  large impacts on performance."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"* Calls which result in a database queries (whether direct or via conductor)"},{"line_number":226,"context_line":"  can have a profound impact on performance when called in critical sections of"},{"line_number":227,"context_line":"  the code."},{"line_number":228,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_9f8e8325","line":225,"range":{"start_line":225,"start_character":44,"end_line":225,"end_character":75},"updated":"2019-03-21 15:20:15.000000000","message":"drop this, as there is no conductor","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"58e6f0f14fcfa2e36caaabb3566d26d52a0800a4","unresolved":false,"context_lines":[{"line_number":222,"context_line":"* A small change in a utility function or a commonly used decorator can have a"},{"line_number":223,"context_line":"  large impacts on performance."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"* Calls which result in a database queries (whether direct or via conductor)"},{"line_number":226,"context_line":"  can have a profound impact on performance when called in critical sections of"},{"line_number":227,"context_line":"  the code."},{"line_number":228,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_3ae19dfd","line":225,"range":{"start_line":225,"start_character":44,"end_line":225,"end_character":75},"in_reply_to":"5fc1f717_9f8e8325","updated":"2019-03-21 15:50:55.000000000","message":"good eye","commit_id":"405d0957ba36020e00897426dbd1c84b293f447e"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2be432b58d5316a4b6860ca328a0d4194c9fca0b","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"  * URL for the resource"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    * URL should not include underscores; and use hyphens instead."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"  * Parameters which can be passed via the url"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_ae2a2ee4","line":146,"range":{"start_line":146,"start_character":42,"end_line":146,"end_character":45},"updated":"2019-03-21 16:26:27.000000000","message":"this word was supposed to be dropped.","commit_id":"58ce73813b96a229446efa900188e91265e87b0b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  As soon as an API change merges, we must assume it could be in production"},{"line_number":40,"context_line":"  somewhere, and as such, we then need to support that API change forever."},{"line_number":41,"context_line":"  To avoid getting that wrong, we do want lots of details about API changes"},{"line_number":42,"context_line":"  upfront."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Some notes about using this template:"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_33554351","line":42,"range":{"start_line":42,"start_character":2,"end_line":42,"end_character":9},"updated":"2019-03-21 21:28:44.000000000","message":"up front","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Please wrap text at 79 columns."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* The filename in the git repository should match the Storyboard story."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* Please do not delete any of the sections in this template. If you have"},{"line_number":53,"context_line":"  nothing to say for a whole section, just write: None"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_33030345","line":50,"range":{"start_line":50,"start_character":54,"end_line":50,"end_character":70},"updated":"2019-03-21 21:28:44.000000000","message":"The title or the number?\n\nIf the title, presumably we should make the story titles URL-able (like bp names), which is awkward. And also, story titles can be edited at any time; is that going to pose a problem?\n\nAnd what are we trying to accomplish by doing this? With LP it was a way to find your blueprint based on the filename, but given the above, that seems fraught with pitfalls.\n\nIf \"find blueprint based on filename\" is a thing, perhaps the filename should be $something-that-makes-sense-even-if-it-isnt-exactly-the-story-title-$storynumber.rst\n\nJust spitballin here.\n\nBut the sentence should be clarified somehow.","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"6e6d54ed887f84cd9899dfc4fc896df529f43fe1","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Please wrap text at 79 columns."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* The filename in the git repository should match the Storyboard story."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* Please do not delete any of the sections in this template. If you have"},{"line_number":53,"context_line":"  nothing to say for a whole section, just write: None"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_5f5c88ec","line":50,"range":{"start_line":50,"start_character":54,"end_line":50,"end_character":70},"in_reply_to":"5fc1f717_33030345","updated":"2019-03-22 09:04:47.000000000","message":"I\u0027ve gone for $storynumber-$descriptive-$words-$of-$your-$choice","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* For help with syntax, see http://sphinx-doc.org/rest.html"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* To test out your formatting, build the docs using tox and see the generated"},{"line_number":58,"context_line":"  HTML file in doc/build/html/specs/\u003cpath_of_your_file\u003e"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* If you would like to provide a diagram with your spec, ascii diagrams are"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_93baf76b","line":57,"range":{"start_line":57,"start_character":52,"end_line":57,"end_character":55},"updated":"2019-03-21 21:28:44.000000000","message":"``tox -e docs``\n\nGuessing you didn\u0027t want to do this in case we change tox targets and forget to update this. But as a noob - the only people who are going to read and benefit from this sentence - knowing the exact command is going to be helpful.\n\nIf we do change tox.ini and forget to update this, the command will fail and hopefully said noob will come and ask about it. But up until that point, we helped all the people who might have otherwise been clueless.","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":55,"context_line":"* For help with syntax, see http://sphinx-doc.org/rest.html"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* To test out your formatting, build the docs using tox and see the generated"},{"line_number":58,"context_line":"  HTML file in doc/build/html/specs/\u003cpath_of_your_file\u003e"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* If you would like to provide a diagram with your spec, ascii diagrams are"},{"line_number":61,"context_line":"  required. http://asciiflow.com/ is a very nice tool to assist with making"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_b3629315","line":58,"range":{"start_line":58,"start_character":36,"end_line":58,"end_character":55},"updated":"2019-03-21 21:28:44.000000000","message":"\u003cpath_of_your_file\u003e s/\\.rst$/.html/","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"* To test out your formatting, build the docs using tox and see the generated"},{"line_number":58,"context_line":"  HTML file in doc/build/html/specs/\u003cpath_of_your_file\u003e"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* If you would like to provide a diagram with your spec, ascii diagrams are"},{"line_number":61,"context_line":"  required. http://asciiflow.com/ is a very nice tool to assist with making"},{"line_number":62,"context_line":"  ascii diagrams. The reason for this is that the tool used to review specs is"},{"line_number":63,"context_line":"  based purely on plain text. Plain text will allow review to proceed without"},{"line_number":64,"context_line":"  having to look at additional files which can not be viewed in gerrit. It"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_933436e0","line":61,"range":{"start_line":60,"start_character":57,"end_line":61,"end_character":10},"updated":"2019-03-21 21:28:44.000000000","message":"I know this isn\u0027t true in Nova anymore [1]; and placement\u0027s doc/source/conf.py includes seqdiag and actdiag so it may or may not be true here.\n\n[1] https://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/reshape-provider-tree.html#proposed-change","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":86,"context_line":"If this is one part of a larger effort make it clear where this piece ends. In"},{"line_number":87,"context_line":"other words, what\u0027s the scope of this effort?"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"At this point, if you would like to just get feedback on if the problem and"},{"line_number":90,"context_line":"proposed change fit in placement, you can stop here and post this for review to"},{"line_number":91,"context_line":"get preliminary feedback. If so please say:"},{"line_number":92,"context_line":"Posting to get preliminary feedback on the scope of this spec."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_337222af","line":89,"range":{"start_line":89,"start_character":41,"end_line":89,"end_character":53},"updated":"2019-03-21 21:28:44.000000000","message":"reads redundant with...","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"At this point, if you would like to just get feedback on if the problem and"},{"line_number":90,"context_line":"proposed change fit in placement, you can stop here and post this for review to"},{"line_number":91,"context_line":"get preliminary feedback. If so please say:"},{"line_number":92,"context_line":"Posting to get preliminary feedback on the scope of this spec."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_d3687ebb","line":91,"range":{"start_line":91,"start_character":1,"end_line":91,"end_character":25},"updated":"2019-03-21 21:28:44.000000000","message":"...this","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":112,"context_line":"* What new data objects and/or database schema changes is this going to"},{"line_number":113,"context_line":"  require?"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"* What database migrations will accompany this change."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"* How will the initial set of new data objects be generated, for example if you"},{"line_number":118,"context_line":"  need to take into account existing instances, or modify other existing data"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_f3a81ada","line":115,"range":{"start_line":115,"start_character":53,"end_line":115,"end_character":54},"updated":"2019-03-21 21:28:44.000000000","message":"?","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"* What database migrations will accompany this change."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"* How will the initial set of new data objects be generated, for example if you"},{"line_number":118,"context_line":"  need to take into account existing instances, or modify other existing data"},{"line_number":119,"context_line":"  describe how that will work."},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_53832e57","line":117,"range":{"start_line":117,"start_character":59,"end_line":117,"end_character":62},"updated":"2019-03-21 21:28:44.000000000","message":"? F","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":115,"context_line":"* What database migrations will accompany this change."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"* How will the initial set of new data objects be generated, for example if you"},{"line_number":118,"context_line":"  need to take into account existing instances, or modify other existing data"},{"line_number":119,"context_line":"  describe how that will work."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"API impact"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_53e80e15","line":118,"range":{"start_line":118,"start_character":76,"end_line":118,"end_character":77},"updated":"2019-03-21 21:28:44.000000000","message":"...or add one here","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":115,"context_line":"* What database migrations will accompany this change."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"* How will the initial set of new data objects be generated, for example if you"},{"line_number":118,"context_line":"  need to take into account existing instances, or modify other existing data"},{"line_number":119,"context_line":"  describe how that will work."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"API impact"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_b38b7266","line":118,"range":{"start_line":118,"start_character":46,"end_line":118,"end_character":47},"updated":"2019-03-21 21:28:44.000000000","message":"either strike this comma...","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":122,"context_line":"----------"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Each API method which is either added or changed should have the following"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"* Specification for the method"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"  * A description of what the method does suitable for use in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_7362eaaf","line":125,"updated":"2019-03-21 21:28:44.000000000","message":"Could the following section be replaced by a link to some API-SIG doc? Or at least include such a link with appropriate verbiage (\"Please try to follow `OpenStack\u0027s general guidelines for APIs`_.\" kind of thing).","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fc7e48d87b8968b12c69a974910e211954053829","unresolved":false,"context_lines":[{"line_number":122,"context_line":"----------"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Each API method which is either added or changed should have the following"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"* Specification for the method"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"  * A description of what the method does suitable for use in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_8b2dcefe","line":125,"in_reply_to":"5fc1f717_6b8e6228","updated":"2019-03-22 13:23:28.000000000","message":"Is there a document with guidelines? I was kind of assuming there was, because it seems like exactly the sort of thing an API-SIG would produce, and I *thought* I had seen it before. But I don\u0027t know where it is offhand, and the reader of this document (meaning the person who is actually reading this rather than the veteran who just deletes it and starts writing) is also likely to not know.\n\nSo I\u0027m saying, if there is such a doc, we should link to it in addition to or instead of what\u0027s here. If there isn\u0027t one, this is fine, and we can talk about that separately.","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"6e6d54ed887f84cd9899dfc4fc896df529f43fe1","unresolved":false,"context_lines":[{"line_number":122,"context_line":"----------"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Each API method which is either added or changed should have the following"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"* Specification for the method"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"  * A description of what the method does suitable for use in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_7fbb84e4","line":125,"in_reply_to":"5fc1f717_7362eaaf","updated":"2019-03-22 09:04:47.000000000","message":"Ed?\n\nI\u0027ll leave it for now, and we can tune this section later","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"aa60aa24ffefccda35f983a1e2201b4f0d4cd65b","unresolved":false,"context_lines":[{"line_number":122,"context_line":"----------"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Each API method which is either added or changed should have the following"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"* Specification for the method"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"  * A description of what the method does suitable for use in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_ab01aab1","line":125,"in_reply_to":"5fc1f717_7fbb84e4","updated":"2019-03-22 13:12:20.000000000","message":"I would imagine that *everyone* knows to follow the API-SIG guidelines by now, right?\n\nSince this is a section outlining the changes, and not describing the precise implementation, I don\u0027t think that the guidelines need to be linked here.","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"04d207e20f09718dea73a8f465e001ffba10cc5e","unresolved":false,"context_lines":[{"line_number":122,"context_line":"----------"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Each API method which is either added or changed should have the following"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"* Specification for the method"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"  * A description of what the method does suitable for use in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_691c296a","line":125,"in_reply_to":"5fc1f717_8b2dcefe","updated":"2019-03-22 14:51:11.000000000","message":"Reading Chris and Ed\u0027s comments again, it occurs to me that we may be talking about different things.\n\nI\u0027m not saying the spec template should tell the spec author to include the link in their spec. That would be silly. I\u0027m saying the spec template itself should include the link as a helpful resource for the spec author to help them construct their APIs in a way that conforms to the guidelines. To avoid review thrashing like, \"your REST object\u0027s noun is singular/plural; it should be plural/singular instead\". And to avoid having to enumerate every rule like, \"URL should not include underscores; use hyphens instead\". (uhh, more on that below)","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"31cead3ddba9f6f416fb43c97f45532874cb9830","unresolved":false,"context_lines":[{"line_number":122,"context_line":"----------"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Each API method which is either added or changed should have the following"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"* Specification for the method"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"  * A description of what the method does suitable for use in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_6b8e6228","line":125,"in_reply_to":"5fc1f717_ab01aab1","updated":"2019-03-22 13:17:09.000000000","message":"I interpreted what Eric said to mean \"maybe the api-sig should have a document about how to write specs that involve api changes and we could just link to that instead of all these words here\" not \"make sure you follow the guidelines\"","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":137,"context_line":"    * A description for each possible error code should be included"},{"line_number":138,"context_line":"      describing semantic errors which can cause it such as"},{"line_number":139,"context_line":"      inconsistent parameters supplied to the method, or when an"},{"line_number":140,"context_line":"      instance is not in an appropriate state for the request to"},{"line_number":141,"context_line":"      succeed. Errors caused by syntactic problems covered by the JSON"},{"line_number":142,"context_line":"      schema definition do not need to be included."},{"line_number":143,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_f3d6da53","line":140,"range":{"start_line":140,"start_character":6,"end_line":140,"end_character":14},"updated":"2019-03-21 21:28:44.000000000","message":"nova-y","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"04d207e20f09718dea73a8f465e001ffba10cc5e","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"  * URL for the resource"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    * URL should not include underscores; use hyphens instead."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"  * Parameters which can be passed via the url"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_294dc171","line":146,"range":{"start_line":146,"start_character":6,"end_line":146,"end_character":62},"updated":"2019-03-22 14:51:11.000000000","message":"So this just popped. Is this wrong? Currently we have /resource_providers and /allocation_candidates, not /resource-providers and /allocation-candidates.","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"cdefdb525f8431dac1f7ab5d1527864967faf46f","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"  * URL for the resource"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    * URL should not include underscores; use hyphens instead."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"  * Parameters which can be passed via the url"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_c9f43d8a","line":146,"range":{"start_line":146,"start_character":6,"end_line":146,"end_character":62},"in_reply_to":"5fc1f717_294dc171","updated":"2019-03-22 15:13:10.000000000","message":"I think that\u0027s been ignored from the start in many places and we should probably just remove it. Details like this are, to me, out of place in document like this. All we really care about in a spec is that the spec is easy to read and comment on and that thing that gets created as a result of it is in the shape we want.\n\nthe guidance for writing a spec should not be the place where we are describing how to write a good implementation (I think).\n\nI\u0027m beginning to feel like I shouldn\u0027t have copied anything other than headings from nova.\n\nIn any case: we can keep improving this over time.\n\n(As in, if we want to fix this, let\u0027s do it later)","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"3c5dc1cd42818593cafba62c8848b547a89a30a0","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"  * URL for the resource"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    * URL should not include underscores; use hyphens instead."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"  * Parameters which can be passed via the url"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_2c4dcf71","line":146,"range":{"start_line":146,"start_character":6,"end_line":146,"end_character":62},"in_reply_to":"5fc1f717_c9f43d8a","updated":"2019-03-22 15:26:20.000000000","message":"\u003e should probably just remove it.\n\n++, but see below.\n\n \u003e Details like this are, to me, out\n \u003e of place in document like this.\n\nYeah. They should be in a guidelines doc.\n\n \u003e the guidance for writing a spec should not be the place where we\n \u003e are describing how to write a good implementation (I think).\n\nHate to belabor this, but I read this section as requiring the spec to describe the exact *interface* of the API: URLs, return codes, schemata... That\u0027s not implementation detail (IMO) and (also IMO) we absolutely should have that level of detail in a spec. And given that, we *should* have statements like this, and the ones discussed above, and more. But they\u0027re not (shouldn\u0027t be) specific to the placement API. \u003cRestates API-SIG guideline doc discussion\u003e\n\n \u003e I\u0027m beginning to feel like I shouldn\u0027t have copied anything other\n \u003e than headings from nova.\n\nNo way, this has been a great exercise for the discussion it has generated. At no time have I downvoted for this stuff; it\u0027s not holding anything up.\n\n \u003e In any case: we can keep improving this over time.\n \u003e \n \u003e (As in, if we want to fix this, let\u0027s do it later)\n\nYes. Still +2 here.","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":181,"context_line":"* Does this change touch sensitive data such as tokens, keys, or user data?"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"* Does this change alter the API in a way that may impact security, such as"},{"line_number":184,"context_line":"  a new way to access sensitive information or a new way to login?"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"* Does this change involve cryptography or hashing?"},{"line_number":187,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_53048ec6","line":184,"range":{"start_line":184,"start_character":60,"end_line":184,"end_character":65},"updated":"2019-03-21 21:28:44.000000000","message":"log in","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":"* Please state anything that those doing continuous deployment, or those"},{"line_number":247,"context_line":"  upgrading from the previous release, need to be aware of. Also describe"},{"line_number":248,"context_line":"  any plans to deprecate configuration values or features. For example, if we"},{"line_number":249,"context_line":"  change the directory name that instances are stored in, how do we handle"},{"line_number":250,"context_line":"  instance directories created before the change landed?  Do we move them?  Do"},{"line_number":251,"context_line":"  we have a special case in the code? Do we assume that the operator will"},{"line_number":252,"context_line":"  recreate all the instances in their cloud?"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"Developer impact"},{"line_number":255,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_f38eda30","line":252,"range":{"start_line":248,"start_character":59,"end_line":252,"end_character":44},"updated":"2019-03-21 21:28:44.000000000","message":"nova-y","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":298,"context_line":"  document that fact."},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"* Does this feature require any new library dependencies or code otherwise not"},{"line_number":301,"context_line":"  included in OpenStack? Or does it depend on a specific version of library?"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_f377ba3a","line":301,"range":{"start_line":301,"start_character":64,"end_line":301,"end_character":75},"updated":"2019-03-21 21:28:44.000000000","message":"of a library","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":320,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"Please add any useful references here. You are not required to have any"},{"line_number":323,"context_line":"reference. Moreover, this specification should still make sense when your"},{"line_number":324,"context_line":"references are unavailable. Examples of what you could include are:"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"* Links to mailing list or IRC discussions"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_b3713247","line":323,"range":{"start_line":323,"start_character":0,"end_line":323,"end_character":9},"updated":"2019-03-21 21:28:44.000000000","message":"references","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0928f0a54ee57f10454bd7cb0c57ddf58e05e18b","unresolved":false,"context_lines":[{"line_number":336,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"Optional section intended to be used each time the spec is updated to describe"},{"line_number":339,"context_line":"new design, API or any database schema updated. Useful to let reader understand"},{"line_number":340,"context_line":"what\u0027s happened along the time."},{"line_number":341,"context_line":""},{"line_number":342,"context_line":".. list-table:: Revisions"},{"line_number":343,"context_line":"   :header-rows: 1"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_13984668","line":340,"range":{"start_line":339,"start_character":58,"end_line":340,"end_character":30},"updated":"2019-03-21 21:28:44.000000000","message":"reword","commit_id":"b466afaf66678072a1c0834cdba19b264922b80d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"9a5ea0a4f33a1b89a4768749c49ae9bf53860f6b","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    * A description for each possible error code should be included"},{"line_number":140,"context_line":"      describing semantic errors which can cause it such as"},{"line_number":141,"context_line":"      inconsistent parameters supplied to the method, or when an"},{"line_number":142,"context_line":"      resource is not in an appropriate state for the request to"},{"line_number":143,"context_line":"      succeed. Errors caused by syntactic problems covered by the JSON"},{"line_number":144,"context_line":"      schema definition do not need to be included."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_4b1046a9","line":141,"range":{"start_line":141,"start_character":62,"end_line":141,"end_character":64},"updated":"2019-03-22 13:27:11.000000000","message":"a","commit_id":"5e7287deacafa2dbb3f6b6cfac7464591600e157"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"ba436930624359b76b78a706acbe655857053eb6","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Some notes about the spec process:"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"* Not all blueprints need a spec, start with a story."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"* The aim of this document is first to define the problem we need to solve,"},{"line_number":25,"context_line":"  and second agree the overall approach to solve that problem."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_21011a39","line":22,"updated":"2019-03-25 17:14:23.000000000","message":"we should somehow very quickly write a documentation detailing when needing a spec vs. when not.","commit_id":"48948bce9ef25db7b00ba7cce013aaa921243523"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"8c692ef27fb32d320cdc03dd076f81fb0044c037","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Some notes about the spec process:"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"* Not all blueprints need a spec, start with a story."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"* The aim of this document is first to define the problem we need to solve,"},{"line_number":25,"context_line":"  and second agree the overall approach to solve that problem."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5fc1f717_a11f4a6a","line":22,"in_reply_to":"5fc1f717_21011a39","updated":"2019-03-25 17:20:14.000000000","message":"http://eavesdrop.openstack.org/meetings/placement/2019/placement.2019-03-25-14.00.log.html#l-51","commit_id":"48948bce9ef25db7b00ba7cce013aaa921243523"}]}
