)]}'
{"placement-api-ref/source/aggregates.inc":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"114363b9f1e27931d7c1eb69116d88f560204079","unresolved":false,"context_lines":[{"line_number":3,"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"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Each resource provider can be associated with one or more other"},{"line_number":6,"context_line":"resource providers. This group of API calls works with aggregates"},{"line_number":7,"context_line":"which are a simple list of resource providers. Aggregates can be"},{"line_number":8,"context_line":"listed and updated."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":1,"id":"df140735_08a4e1b8","line":6,"updated":"2017-06-05 14:01:05.000000000","message":"This paragraph feels a bit awkward. Maybe keep the first line and then follow with:\n\nresource providers in groups called aggregates. API calls in this section are used to list and update the aggregates that are associated with one resource provider.","commit_id":"5a617ab6e6fa9da71c77f4e7a42245017c97efe9"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"114363b9f1e27931d7c1eb69116d88f560204079","unresolved":false,"context_lines":[{"line_number":7,"context_line":"which are a simple list of resource providers. Aggregates can be"},{"line_number":8,"context_line":"listed and updated."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":".. note:: Aggregates API calls are availiable starting from version 1.1."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"List resource provider aggregates"},{"line_number":13,"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"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"df140735_8897d148","line":10,"updated":"2017-06-05 14:01:05.000000000","message":"s/calls/requests/","commit_id":"5a617ab6e6fa9da71c77f4e7a42245017c97efe9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"82ac6159e1f111c8f2a9c47f44970a6add911c40","unresolved":false,"context_lines":[{"line_number":5,"context_line":"Each resource provider can be associated with one or more other"},{"line_number":6,"context_line":"resource providers in groups called aggregates. API calls in this"},{"line_number":7,"context_line":"section are used to list and update the aggregates that are associated"},{"line_number":8,"context_line":"with one resource provider."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":".. note:: Aggregates API requests are availiable starting from version 1.1."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":2,"id":"df140735_6fc10354","line":8,"updated":"2017-06-06 11:58:30.000000000","message":"It would be good to add a paragraph here telling the user that placement aggregates are *not* the same as Nova host aggregates and should not be considered equivalent. The primary differences between Nova\u0027s host aggregates and placement aggregates are the following:\n\n* In Nova, a host aggregate associates a *nova-compute service* with other nova-compute services. Placement aggregates are not specific to either a nova-compute service and are, in fact, not compute-specific at all. A resource provider in the Placement API is generic, and placement aggregates are simply groups of generic resource providers. This is an important difference especially for Ironic, which when used with Nova, has many Ironic baremetal nodes attached to a single nova-compute service. In the Placement API, each Ironic baremetal node is its own resource provider and can therefore be associated to other Ironic baremetal nodes via a placement aggregate association.\n\n* In Nova, a host aggregate may have *metadata* key/value pairs attached to it. All nova-compute services associated with a Nova host aggregate share the same metadata. Placement aggregates have no such metadata because placement aggregates *only* represent the grouping of resource providers. In the Placement API, resource providers are individually decorated with *traits* that provide qualitative information about the resource provider.\n\n* In Nova, a host aggregate dictates the *availability zone* within which one or more nova-compute services reside. Placement aggregates have no concept of an availability zone.","commit_id":"5b7cfc6a45fbc804d64c0ec2df4c25a08e586e82"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"82ac6159e1f111c8f2a9c47f44970a6add911c40","unresolved":false,"context_lines":[{"line_number":79,"context_line":".. literalinclude:: update-aggregates.json"},{"line_number":80,"context_line":"   :language: javascript"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":2,"id":"df140735_afdf1b64","line":82,"updated":"2017-06-06 11:58:30.000000000","message":"nit: blank lines at end of this document.","commit_id":"5b7cfc6a45fbc804d64c0ec2df4c25a08e586e82"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"7431636f078f3f9f752951e0d57eecd421a8c8ed","unresolved":false,"context_lines":[{"line_number":79,"context_line":".. literalinclude:: update-aggregates.json"},{"line_number":80,"context_line":"   :language: javascript"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":2,"id":"df140735_6a53ffe3","line":82,"in_reply_to":"df140735_afdf1b64","updated":"2017-06-07 15:03:02.000000000","message":"Done","commit_id":"5b7cfc6a45fbc804d64c0ec2df4c25a08e586e82"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f40cc47ca04be4d58ac6aa9cda17d317d6a21dea","unresolved":false,"context_lines":[{"line_number":7,"context_line":"section are used to list and update the aggregates that are associated"},{"line_number":8,"context_line":"with one resource provider."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":".. note:: Placement aggregates are *not* the same as Nova host aggregates and should not be considered equivalent."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The primary differences between Nova\u0027s host aggregates and placement aggregates are the following:"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":3,"id":"df140735_ca2b2b2e","line":10,"updated":"2017-06-07 15:05:12.000000000","message":"If you respin, please line-wrap at 80 chars","commit_id":"8d5606c21169ac8d17e4d3dc6113254da70dbc4c"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"95a4bf22e50a8c81daf8b6e2fc01154f98cdb30a","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"* In Nova, a host aggregate associates a *nova-compute service* with"},{"line_number":17,"context_line":"  other nova-compute services. Placement aggregates are not specific"},{"line_number":18,"context_line":"  to either a nova-compute service and are, in fact, not"},{"line_number":19,"context_line":"  compute-specific at all. A resource provider in the Placement API is"},{"line_number":20,"context_line":"  generic, and placement aggregates are simply groups of generic"},{"line_number":21,"context_line":"  resource providers. This is an important difference especially for"}],"source_content_type":"text/x-c++src","patch_set":4,"id":"bf091321_9bdc7247","line":18,"updated":"2017-06-08 13:19:14.000000000","message":"The word \"either\" here doesn\u0027t fit. Can remove it.","commit_id":"34ef2db0bbcd26d8be2040bbd0563e272d2990e7"}],"placement-api-ref/source/parameters.yaml":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"82ac6159e1f111c8f2a9c47f44970a6add911c40","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  in: body"},{"line_number":49,"context_line":"  required: true"},{"line_number":50,"context_line":"  description: \u003e"},{"line_number":51,"context_line":"    A list of aggregates uuids."},{"line_number":52,"context_line":"allocation_ratio: \u0026allocation_ratio"},{"line_number":53,"context_line":"  type: float"},{"line_number":54,"context_line":"  in: body"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"df140735_4fb4fff1","line":51,"range":{"start_line":51,"start_character":14,"end_line":51,"end_character":24},"updated":"2017-06-06 11:58:30.000000000","message":"s/aggregates/aggregate/","commit_id":"5b7cfc6a45fbc804d64c0ec2df4c25a08e586e82"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"7431636f078f3f9f752951e0d57eecd421a8c8ed","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  in: body"},{"line_number":49,"context_line":"  required: true"},{"line_number":50,"context_line":"  description: \u003e"},{"line_number":51,"context_line":"    A list of aggregates uuids."},{"line_number":52,"context_line":"allocation_ratio: \u0026allocation_ratio"},{"line_number":53,"context_line":"  type: float"},{"line_number":54,"context_line":"  in: body"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"df140735_4a695b89","line":51,"range":{"start_line":51,"start_character":14,"end_line":51,"end_character":24},"in_reply_to":"df140735_4fb4fff1","updated":"2017-06-07 15:03:02.000000000","message":"Done","commit_id":"5b7cfc6a45fbc804d64c0ec2df4c25a08e586e82"}]}
