)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"78f3369dcda3f6245f3579cfb435260b628ff743","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add soft policies for server-group feature"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This spec describes the need and a possible implementation"},{"line_number":10,"context_line":"of soft-affinty and soft-anti-affinty policies for the"},{"line_number":11,"context_line":"server group feature."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Previously-approved: liberty"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da20952f_c674de9d","line":10,"updated":"2015-08-27 11:42:03.000000000","message":"s/affinty/affinity/g;","commit_id":"6d556073d50f217c1f2fa3526ca66883072bcda0"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"b764af3d73a6bcfa3beec2deac132417e065453d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add soft policies for server-group feature"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This spec describes the need and a possible implementation"},{"line_number":10,"context_line":"of soft-affinty and soft-anti-affinty policies for the"},{"line_number":11,"context_line":"server group feature."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Previously-approved: liberty"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a2fa921_1d6ba9b8","line":10,"range":{"start_line":10,"start_character":8,"end_line":10,"end_character":15},"updated":"2015-10-08 10:34:01.000000000","message":"nit: affinity","commit_id":"4fd68acd9949b60c833bb014c050bd2d4504476c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"212c3779969ebabe44e9a7a0952f7a5867e17810","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add soft policies for server-group feature"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This spec describes the need and a possible implementation"},{"line_number":10,"context_line":"of soft-affinty and soft-anti-affinty policies for the"},{"line_number":11,"context_line":"server group feature."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Previously-approved: liberty"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a2fa921_9ea24198","line":10,"range":{"start_line":10,"start_character":8,"end_line":10,"end_character":15},"in_reply_to":"7a2fa921_1d6ba9b8","updated":"2015-10-08 15:26:59.000000000","message":"Done","commit_id":"4fd68acd9949b60c833bb014c050bd2d4504476c"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"730d37c541401a523aff7c8bae0573a3ab599f8b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This spec describes the need and a possible implementation"},{"line_number":10,"context_line":"of soft-affinty and soft-anti-affinty policies for the"},{"line_number":11,"context_line":"server group feature."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Previously-approved: liberty"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"bp soft-affinity-for-server-group"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a2fa921_833996a6","line":12,"updated":"2015-10-08 11:15:49.000000000","message":"you need APIImpact flag","commit_id":"4fd68acd9949b60c833bb014c050bd2d4504476c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"212c3779969ebabe44e9a7a0952f7a5867e17810","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This spec describes the need and a possible implementation"},{"line_number":10,"context_line":"of soft-affinty and soft-anti-affinty policies for the"},{"line_number":11,"context_line":"server group feature."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Previously-approved: liberty"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"bp soft-affinity-for-server-group"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a2fa921_5ea82977","line":12,"in_reply_to":"7a2fa921_833996a6","updated":"2015-10-08 15:26:59.000000000","message":"Thanks","commit_id":"4fd68acd9949b60c833bb014c050bd2d4504476c"}],"specs/mitaka/approved/soft-affinity-for-server-group.rst":[{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"779bf607bf81cf9aab201c8616818b5a0be9e0eb","unresolved":false,"context_lines":[{"line_number":19,"context_line":"As a tenant I would like to schedule instances on different hosts if possible."},{"line_number":20,"context_line":"However if it is not possible I still want my instances to be scheduled even"},{"line_number":21,"context_line":"if it means that some of them are placed on a host where another instances"},{"line_number":22,"context_line":"are running from the same group."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_8acc17bc","line":22,"updated":"2015-09-17 15:20:18.000000000","message":"I didn\u0027t understand this last sentence after \"where\"","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":19,"context_line":"As a tenant I would like to schedule instances on different hosts if possible."},{"line_number":20,"context_line":"However if it is not possible I still want my instances to be scheduled even"},{"line_number":21,"context_line":"if it means that some of them are placed on a host where another instances"},{"line_number":22,"context_line":"are running from the same group."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a1a9d01_b0af6a93","line":22,"in_reply_to":"ba15a1d1_8acc17bc","updated":"2015-09-28 12:54:53.000000000","message":"I\u0027ve tried to simplify the sentence.","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"779bf607bf81cf9aab201c8616818b5a0be9e0eb","unresolved":false,"context_lines":[{"line_number":31,"context_line":"End User might want to have a less strict affinity and anti-affinity"},{"line_number":32,"context_line":"rule than what is today available in server-group API extension."},{"line_number":33,"context_line":"With the proposed good-to-have affinity rule the End User can request nova"},{"line_number":34,"context_line":"to schedule the instance to the same host if possible. However if it is not"},{"line_number":35,"context_line":"possible (e.g. due to resource limitations) then End User still wants to keep"},{"line_number":36,"context_line":"the instances on a small amount of different host."},{"line_number":37,"context_line":"With the proposed good-to-have anti-affinity rule the End User can request"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_8a84170b","line":34,"range":{"start_line":34,"start_character":3,"end_line":34,"end_character":41},"updated":"2015-09-17 15:20:18.000000000","message":"chat: I call this stacking (as opposed to spreading), I don\u0027t know how widespread this usage is though.","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":31,"context_line":"End User might want to have a less strict affinity and anti-affinity"},{"line_number":32,"context_line":"rule than what is today available in server-group API extension."},{"line_number":33,"context_line":"With the proposed good-to-have affinity rule the End User can request nova"},{"line_number":34,"context_line":"to schedule the instance to the same host if possible. However if it is not"},{"line_number":35,"context_line":"possible (e.g. due to resource limitations) then End User still wants to keep"},{"line_number":36,"context_line":"the instances on a small amount of different host."},{"line_number":37,"context_line":"With the proposed good-to-have anti-affinity rule the End User can request"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a1a9d01_30aa7a71","line":34,"range":{"start_line":34,"start_character":3,"end_line":34,"end_character":41},"in_reply_to":"ba15a1d1_8a84170b","updated":"2015-09-28 12:54:53.000000000","message":"good point, added the term stacking","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"779bf607bf81cf9aab201c8616818b5a0be9e0eb","unresolved":false,"context_lines":[{"line_number":33,"context_line":"With the proposed good-to-have affinity rule the End User can request nova"},{"line_number":34,"context_line":"to schedule the instance to the same host if possible. However if it is not"},{"line_number":35,"context_line":"possible (e.g. due to resource limitations) then End User still wants to keep"},{"line_number":36,"context_line":"the instances on a small amount of different host."},{"line_number":37,"context_line":"With the proposed good-to-have anti-affinity rule the End User can request"},{"line_number":38,"context_line":"nova to spread the instances in the same group as much as possible."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_ca18cfd5","line":36,"updated":"2015-09-17 15:20:18.000000000","message":"nit: Line breaks between paragraphs please.","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":33,"context_line":"With the proposed good-to-have affinity rule the End User can request nova"},{"line_number":34,"context_line":"to schedule the instance to the same host if possible. However if it is not"},{"line_number":35,"context_line":"possible (e.g. due to resource limitations) then End User still wants to keep"},{"line_number":36,"context_line":"the instances on a small amount of different host."},{"line_number":37,"context_line":"With the proposed good-to-have anti-affinity rule the End User can request"},{"line_number":38,"context_line":"nova to spread the instances in the same group as much as possible."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a1a9d01_d0b77ed6","line":36,"in_reply_to":"ba15a1d1_ca18cfd5","updated":"2015-09-28 12:54:53.000000000","message":"Done","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"779bf607bf81cf9aab201c8616818b5a0be9e0eb","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Project Priority"},{"line_number":41,"context_line":"-----------------"},{"line_number":42,"context_line":"Not a priority in kilo"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Proposed change"},{"line_number":45,"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":2,"id":"ba15a1d1_0a67a7b7","line":42,"range":{"start_line":42,"start_character":18,"end_line":42,"end_character":22},"updated":"2015-09-17 15:20:18.000000000","message":"mitaka","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Project Priority"},{"line_number":41,"context_line":"-----------------"},{"line_number":42,"context_line":"Not a priority in kilo"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Proposed change"},{"line_number":45,"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":2,"id":"9a1a9d01_10ddf60d","line":42,"range":{"start_line":42,"start_character":18,"end_line":42,"end_character":22},"in_reply_to":"ba15a1d1_0a67a7b7","updated":"2015-09-28 12:54:53.000000000","message":"Good catch. Updated the section.","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"779bf607bf81cf9aab201c8616818b5a0be9e0eb","unresolved":false,"context_lines":[{"line_number":45,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"This change would extend the existing server-group API extension with two new"},{"line_number":48,"context_line":"policies soft-affinity and soft-anti-affinity."},{"line_number":49,"context_line":"When a instance is booted into a group with soft-affinity policy the scheduler"},{"line_number":50,"context_line":"will use a new weight AffinityWeight to sort the available hosts according to"},{"line_number":51,"context_line":"the number of instances running on them from the same server-group in a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_0a724711","line":48,"updated":"2015-09-17 15:20:18.000000000","message":"nit: Line breaks between paragraphs please.","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":45,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"This change would extend the existing server-group API extension with two new"},{"line_number":48,"context_line":"policies soft-affinity and soft-anti-affinity."},{"line_number":49,"context_line":"When a instance is booted into a group with soft-affinity policy the scheduler"},{"line_number":50,"context_line":"will use a new weight AffinityWeight to sort the available hosts according to"},{"line_number":51,"context_line":"the number of instances running on them from the same server-group in a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a1a9d01_d02c5e04","line":48,"in_reply_to":"ba15a1d1_0a724711","updated":"2015-09-28 12:54:53.000000000","message":"Done","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"779bf607bf81cf9aab201c8616818b5a0be9e0eb","unresolved":false,"context_lines":[{"line_number":49,"context_line":"When a instance is booted into a group with soft-affinity policy the scheduler"},{"line_number":50,"context_line":"will use a new weight AffinityWeight to sort the available hosts according to"},{"line_number":51,"context_line":"the number of instances running on them from the same server-group in a"},{"line_number":52,"context_line":"descending order."},{"line_number":53,"context_line":"When an instance is booted into a group with soft-anti-affinity policy the"},{"line_number":54,"context_line":"scheduler will use a new weight AntiAffinityWeight to sort the available hosts"},{"line_number":55,"context_line":"according to the number of instances running on them from the same"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_6a59838d","line":52,"updated":"2015-09-17 15:20:18.000000000","message":"nit: Line breaks between paragraphs please.","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":49,"context_line":"When a instance is booted into a group with soft-affinity policy the scheduler"},{"line_number":50,"context_line":"will use a new weight AffinityWeight to sort the available hosts according to"},{"line_number":51,"context_line":"the number of instances running on them from the same server-group in a"},{"line_number":52,"context_line":"descending order."},{"line_number":53,"context_line":"When an instance is booted into a group with soft-anti-affinity policy the"},{"line_number":54,"context_line":"scheduler will use a new weight AntiAffinityWeight to sort the available hosts"},{"line_number":55,"context_line":"according to the number of instances running on them from the same"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a1a9d01_9036e650","line":52,"in_reply_to":"ba15a1d1_6a59838d","updated":"2015-09-28 12:54:53.000000000","message":"Done","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"a46518f1fd54cf4147539a741d4f660d860ef693","unresolved":false,"context_lines":[{"line_number":54,"context_line":"scheduler will use a new weight AntiAffinityWeight to sort the available hosts"},{"line_number":55,"context_line":"according to the number of instances running on them from the same"},{"line_number":56,"context_line":"server-group in a ascending order."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"The two new weights will get the necessary information about the number of"},{"line_number":59,"context_line":"instances per host through the weight_properties (filter_properties) in"},{"line_number":60,"context_line":"a similar way as the GroupAntiAffinityFilter gets the list of hosts used by"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_4cf76d59","line":57,"updated":"2015-09-22 09:49:36.000000000","message":"is that a kind of \"best effort\" policy?\nIt is not clear from this description if a request of booting instances with soft-(anti)affinity can fail.\nLet say that the filters are enabled and I ask for booting 5 instances with soft-affinity filter, but each host can accommodate  just 1 instance, the boot requests will success and I\u0027ll have one instance per host or if will fail based on some other logic?\nSame example for the soft-anti-affinity.","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":54,"context_line":"scheduler will use a new weight AntiAffinityWeight to sort the available hosts"},{"line_number":55,"context_line":"according to the number of instances running on them from the same"},{"line_number":56,"context_line":"server-group in a ascending order."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"The two new weights will get the necessary information about the number of"},{"line_number":59,"context_line":"instances per host through the weight_properties (filter_properties) in"},{"line_number":60,"context_line":"a similar way as the GroupAntiAffinityFilter gets the list of hosts used by"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a1a9d01_a72731b5","line":57,"in_reply_to":"ba15a1d1_4cf76d59","updated":"2015-09-28 12:54:53.000000000","message":"Yes, it is a best effort policy. The boot with soft-anti-affinity or soft-affinity will never fail, but the servers might be not follow the strict anti-affinity or affinity policies. \nI described the possible scenarios in the Testing section, and you can also check the implementation of such a tests for more details in https://review.openstack.org/#/c/147520/53/nova/tests/functional/test_server_group.py,cm","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"779bf607bf81cf9aab201c8616818b5a0be9e0eb","unresolved":false,"context_lines":[{"line_number":61,"context_line":"a group via the filter_properties."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"These new soft-affinity and soft-anti-affinity policies are mutually exclusive"},{"line_number":64,"context_line":"with each other and with the other existing server-group policies."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"If the scheduler sees a request which requires any of the new weigh classes but"},{"line_number":67,"context_line":"those classes are not configured then the scheduler will reject the request"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_650e94e6","line":64,"updated":"2015-09-17 15:20:18.000000000","message":"Can you explain this more please? Do you mean you can only run one of these weighers at once? I don\u0027t see why that should be true. Or do you mean an instance cannot have both soft-affinity and soft-anti-affinity? I don\u0027t see why that should be true either, providing the affinity groups are different.","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":61,"context_line":"a group via the filter_properties."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"These new soft-affinity and soft-anti-affinity policies are mutually exclusive"},{"line_number":64,"context_line":"with each other and with the other existing server-group policies."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"If the scheduler sees a request which requires any of the new weigh classes but"},{"line_number":67,"context_line":"those classes are not configured then the scheduler will reject the request"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a1a9d01_47ac15ed","line":64,"in_reply_to":"ba15a1d1_650e94e6","updated":"2015-09-28 12:54:53.000000000","message":"Added explanation to the spec. \nYou can configure both weighers as well as both existing group filter at once but you cannot have a server group that has two policies as every existing policy combinations (including the newly proposed soft-* policies) are contradicting.","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"779bf607bf81cf9aab201c8616818b5a0be9e0eb","unresolved":false,"context_lines":[{"line_number":63,"context_line":"These new soft-affinity and soft-anti-affinity policies are mutually exclusive"},{"line_number":64,"context_line":"with each other and with the other existing server-group policies."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"If the scheduler sees a request which requires any of the new weigh classes but"},{"line_number":67,"context_line":"those classes are not configured then the scheduler will reject the request"},{"line_number":68,"context_line":"with an exception similarly to the case when affinity policy is requested but"},{"line_number":69,"context_line":"ServerGroupAffinityFilter is not configured."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_85df2839","line":66,"range":{"start_line":66,"start_character":62,"end_line":66,"end_character":67},"updated":"2015-09-17 15:20:18.000000000","message":"nit: weigher","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":63,"context_line":"These new soft-affinity and soft-anti-affinity policies are mutually exclusive"},{"line_number":64,"context_line":"with each other and with the other existing server-group policies."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"If the scheduler sees a request which requires any of the new weigh classes but"},{"line_number":67,"context_line":"those classes are not configured then the scheduler will reject the request"},{"line_number":68,"context_line":"with an exception similarly to the case when affinity policy is requested but"},{"line_number":69,"context_line":"ServerGroupAffinityFilter is not configured."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a1a9d01_d0c8de24","line":66,"range":{"start_line":66,"start_character":62,"end_line":66,"end_character":67},"in_reply_to":"ba15a1d1_85df2839","updated":"2015-09-28 12:54:53.000000000","message":"Done","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"779bf607bf81cf9aab201c8616818b5a0be9e0eb","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"POST: v2/{tenant-id}/os-server-groups"},{"line_number":92,"context_line":"  The value of the policy request parameter can be soft-affinity and"},{"line_number":93,"context_line":"  soft-anti-affinity as well."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Security impact"},{"line_number":96,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_e59e2462","line":93,"updated":"2015-09-17 15:20:18.000000000","message":"You need to give a lot more detail here, EG the new JSON-Schema for the request. Presumably the GET responses may also include these new values?\n\nYou\u0027ll need a microversion, this is worth saying.","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"POST: v2/{tenant-id}/os-server-groups"},{"line_number":92,"context_line":"  The value of the policy request parameter can be soft-affinity and"},{"line_number":93,"context_line":"  soft-anti-affinity as well."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Security impact"},{"line_number":96,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a1a9d01_e491a79a","line":93,"in_reply_to":"ba15a1d1_e59e2462","updated":"2015-09-28 12:54:53.000000000","message":"Done. JSON schema copied from the implementation patch directly. ;) https://review.openstack.org/#/c/147520/53/nova/api/openstack/compute/schemas/server_groups.py,cm","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"779bf607bf81cf9aab201c8616818b5a0be9e0eb","unresolved":false,"context_lines":[{"line_number":135,"context_line":"Work Items"},{"line_number":136,"context_line":"----------"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"* Add two new weights to the filter scheduler. These weights will"},{"line_number":139,"context_line":"  sort the available hosts by the number of instances from the same"},{"line_number":140,"context_line":"  server-group."},{"line_number":141,"context_line":"* Update FilterScheduler to use to reject the request if the new policy is"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_45c91058","line":138,"range":{"start_line":138,"start_character":14,"end_line":138,"end_character":21},"updated":"2015-09-17 15:20:18.000000000","message":"nit: weighers","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":135,"context_line":"Work Items"},{"line_number":136,"context_line":"----------"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"* Add two new weights to the filter scheduler. These weights will"},{"line_number":139,"context_line":"  sort the available hosts by the number of instances from the same"},{"line_number":140,"context_line":"  server-group."},{"line_number":141,"context_line":"* Update FilterScheduler to use to reject the request if the new policy is"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a1a9d01_c43b439b","line":138,"range":{"start_line":138,"start_character":14,"end_line":138,"end_character":21},"in_reply_to":"ba15a1d1_45c91058","updated":"2015-09-28 12:54:53.000000000","message":"Done","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"779bf607bf81cf9aab201c8616818b5a0be9e0eb","unresolved":false,"context_lines":[{"line_number":139,"context_line":"  sort the available hosts by the number of instances from the same"},{"line_number":140,"context_line":"  server-group."},{"line_number":141,"context_line":"* Update FilterScheduler to use to reject the request if the new policy is"},{"line_number":142,"context_line":"  requested but the related weigh is not configured"},{"line_number":143,"context_line":"* Update the server-group API extension to allow soft-affinity and"},{"line_number":144,"context_line":"  soft-anti-affinity as the policy of a group."},{"line_number":145,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_05d6b8f0","line":142,"updated":"2015-09-17 15:20:18.000000000","message":"nits: s/to use//, weigher, full stop","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":139,"context_line":"  sort the available hosts by the number of instances from the same"},{"line_number":140,"context_line":"  server-group."},{"line_number":141,"context_line":"* Update FilterScheduler to use to reject the request if the new policy is"},{"line_number":142,"context_line":"  requested but the related weigh is not configured"},{"line_number":143,"context_line":"* Update the server-group API extension to allow soft-affinity and"},{"line_number":144,"context_line":"  soft-anti-affinity as the policy of a group."},{"line_number":145,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a1a9d01_04bb7b0f","line":142,"in_reply_to":"ba15a1d1_05d6b8f0","updated":"2015-09-28 12:54:53.000000000","message":"Done","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"779bf607bf81cf9aab201c8616818b5a0be9e0eb","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"New tempest test case will be provided that will try to boot two servers into"},{"line_number":158,"context_line":"the same server group with soft-anti-affinity policy. The boot shall be"},{"line_number":159,"context_line":"successful even if we have only one compute host."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Documentation Impact"},{"line_number":162,"context_line":"\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":2,"id":"ba15a1d1_a566ec27","line":159,"updated":"2015-09-17 15:20:18.000000000","message":"Ideally we\u0027d test the 2x2 matrix:\n\n * affinity, host1 has space for both;\n * affinity, host1 doesn\u0027t have space for both;\n * anti-affinity, two hosts with space;\n * anti-affinity, one host with space for both.","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"New tempest test case will be provided that will try to boot two servers into"},{"line_number":158,"context_line":"the same server group with soft-anti-affinity policy. The boot shall be"},{"line_number":159,"context_line":"successful even if we have only one compute host."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Documentation Impact"},{"line_number":162,"context_line":"\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":2,"id":"9a1a9d01_c467c323","line":159,"in_reply_to":"ba15a1d1_a566ec27","updated":"2015-09-28 12:54:53.000000000","message":"Done. The test scope are described based on the proposed test implementation. ;) https://review.openstack.org/#/c/147520/53/nova/tests/functional/test_server_group.py,cm","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"779bf607bf81cf9aab201c8616818b5a0be9e0eb","unresolved":false,"context_lines":[{"line_number":161,"context_line":"Documentation Impact"},{"line_number":162,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"New weights need to be described in filter_scheduler.rst"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_856f28fb","line":164,"updated":"2015-09-17 15:20:18.000000000","message":"femtonit: full stop","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"985696c921b35f630f1a83c443e9bc8536341e58","unresolved":false,"context_lines":[{"line_number":161,"context_line":"Documentation Impact"},{"line_number":162,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"New weights need to be described in filter_scheduler.rst"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a1a9d01_a432cf0e","line":164,"in_reply_to":"ba15a1d1_856f28fb","updated":"2015-09-28 12:54:53.000000000","message":"Done","commit_id":"6cccc38dedb1ee9084bb1fcfd89aa173d05eba24"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"b764af3d73a6bcfa3beec2deac132417e065453d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"End User might want to have a less strict affinity and anti-affinity"},{"line_number":31,"context_line":"rule than what is today available in server-group API extension."},{"line_number":32,"context_line":"With the proposed good-to-have affinity rule the End User can request nova"},{"line_number":33,"context_line":"to schedule the instance to the same host (e.g. stack them) if possible."},{"line_number":34,"context_line":"However if it is not possible (e.g. due to resource limitations) then End User"},{"line_number":35,"context_line":"still wants to keep the instances on a small amount of different host."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_7da89ddb","line":33,"range":{"start_line":33,"start_character":43,"end_line":33,"end_character":47},"updated":"2015-10-08 10:34:01.000000000","message":"femtonit: i.e. is more accurate, you\u0027re giving an alternate phrasing not an example","commit_id":"4fd68acd9949b60c833bb014c050bd2d4504476c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"212c3779969ebabe44e9a7a0952f7a5867e17810","unresolved":false,"context_lines":[{"line_number":30,"context_line":"End User might want to have a less strict affinity and anti-affinity"},{"line_number":31,"context_line":"rule than what is today available in server-group API extension."},{"line_number":32,"context_line":"With the proposed good-to-have affinity rule the End User can request nova"},{"line_number":33,"context_line":"to schedule the instance to the same host (e.g. stack them) if possible."},{"line_number":34,"context_line":"However if it is not possible (e.g. due to resource limitations) then End User"},{"line_number":35,"context_line":"still wants to keep the instances on a small amount of different host."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_fe057579","line":33,"range":{"start_line":33,"start_character":43,"end_line":33,"end_character":47},"in_reply_to":"7a2fa921_7da89ddb","updated":"2015-10-08 15:26:59.000000000","message":"Done","commit_id":"4fd68acd9949b60c833bb014c050bd2d4504476c"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"b764af3d73a6bcfa3beec2deac132417e065453d","unresolved":false,"context_lines":[{"line_number":37,"context_line":"With the proposed good-to-have anti-affinity rule the End User can request"},{"line_number":38,"context_line":"nova to spread the instances in the same group as much as possible."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Project Priority"},{"line_number":41,"context_line":"----------------"},{"line_number":42,"context_line":"Mitaka priority hasn\u0027t been defined yet."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Proposed change"},{"line_number":45,"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":"7a2fa921_1d9969c4","line":42,"range":{"start_line":40,"start_character":0,"end_line":42,"end_character":40},"updated":"2015-10-08 10:34:01.000000000","message":"-1: This section should be removed, the template has been updated.","commit_id":"4fd68acd9949b60c833bb014c050bd2d4504476c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"212c3779969ebabe44e9a7a0952f7a5867e17810","unresolved":false,"context_lines":[{"line_number":37,"context_line":"With the proposed good-to-have anti-affinity rule the End User can request"},{"line_number":38,"context_line":"nova to spread the instances in the same group as much as possible."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Project Priority"},{"line_number":41,"context_line":"----------------"},{"line_number":42,"context_line":"Mitaka priority hasn\u0027t been defined yet."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Proposed change"},{"line_number":45,"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":"7a2fa921_de00b968","line":42,"range":{"start_line":40,"start_character":0,"end_line":42,"end_character":40},"in_reply_to":"7a2fa921_1d9969c4","updated":"2015-10-08 15:26:59.000000000","message":"Done","commit_id":"4fd68acd9949b60c833bb014c050bd2d4504476c"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"b764af3d73a6bcfa3beec2deac132417e065453d","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"These new soft-affinity and soft-anti-affinity policies are mutually exclusive"},{"line_number":66,"context_line":"with each other and with the other existing server-group policies. This means"},{"line_number":67,"context_line":"that a server group cannot be created with more than one policies as every"},{"line_number":68,"context_line":"combination of the existing policies (affinity, anti-affinity, soft-affinity,"},{"line_number":69,"context_line":"soft-anti-affinity) are contradicting."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_7dcdfdb5","line":67,"range":{"start_line":67,"start_character":57,"end_line":67,"end_character":65},"updated":"2015-10-08 10:34:01.000000000","message":"nit: policy","commit_id":"4fd68acd9949b60c833bb014c050bd2d4504476c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"212c3779969ebabe44e9a7a0952f7a5867e17810","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"These new soft-affinity and soft-anti-affinity policies are mutually exclusive"},{"line_number":66,"context_line":"with each other and with the other existing server-group policies. This means"},{"line_number":67,"context_line":"that a server group cannot be created with more than one policies as every"},{"line_number":68,"context_line":"combination of the existing policies (affinity, anti-affinity, soft-affinity,"},{"line_number":69,"context_line":"soft-anti-affinity) are contradicting."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_1e1951d7","line":67,"range":{"start_line":67,"start_character":57,"end_line":67,"end_character":65},"in_reply_to":"7a2fa921_7dcdfdb5","updated":"2015-10-08 15:26:59.000000000","message":"Done","commit_id":"4fd68acd9949b60c833bb014c050bd2d4504476c"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"b764af3d73a6bcfa3beec2deac132417e065453d","unresolved":false,"context_lines":[{"line_number":66,"context_line":"with each other and with the other existing server-group policies. This means"},{"line_number":67,"context_line":"that a server group cannot be created with more than one policies as every"},{"line_number":68,"context_line":"combination of the existing policies (affinity, anti-affinity, soft-affinity,"},{"line_number":69,"context_line":"soft-anti-affinity) are contradicting."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"If the scheduler sees a request which requires any of the new weigher classes"},{"line_number":72,"context_line":"but those classes are not configured then the scheduler will reject the request"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_1dd409ea","line":69,"updated":"2015-10-08 10:34:01.000000000","message":"This is clearer, thank you.","commit_id":"4fd68acd9949b60c833bb014c050bd2d4504476c"}]}
