)]}'
{"specs/liberty/approved/aggregate-flavor-extra-spec-affinity-filter.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e89ba80dcc414ba726ba04e0430dbe13122f2364","unresolved":false,"context_lines":[{"line_number":25,"context_line":"enforce that an aggregate satisfies any extra specifications associated"},{"line_number":26,"context_line":"with the instance type via  the AggregateInstanceExtraSpecsFilter[3], but"},{"line_number":27,"context_line":"does not allow an operator to enforce that any extra specifications associated"},{"line_number":28,"context_line":"with an aggregate are requested by an instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"This blueprint introduces a new filter to address this gap."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3afb71cf_9d4917ba","line":28,"updated":"2015-06-09 08:47:00.000000000","message":"do you mean required not requested here?","commit_id":"ae4089468d08f239acc1f1bceff16e161b5174cb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"511bdc0ad5123ead471addffd13352c82603519d","unresolved":false,"context_lines":[{"line_number":25,"context_line":"enforce that an aggregate satisfies any extra specifications associated"},{"line_number":26,"context_line":"with the instance type via  the AggregateInstanceExtraSpecsFilter[3], but"},{"line_number":27,"context_line":"does not allow an operator to enforce that any extra specifications associated"},{"line_number":28,"context_line":"with an aggregate are requested by an instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"This blueprint introduces a new filter to address this gap."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_41a1e5f6","line":28,"in_reply_to":"1af86dd1_5a4f7892","updated":"2015-06-18 19:23:14.000000000","message":"sorry for the delay.\ni will rework with your suggestion.\n\nyes your assumption is correct.\n\nfor example say i had 100 racks in my data centre.\n5 racks have dedicated GPUs, 5 racks have tpm modules and the other 90 are racks of generic servers. \n\nin this case you may want to create 3 host aggregates.\n1 for the host that have gpus to service vm which need gpu pass-through. 1 for hosts that have tpm modules to service vms that need trusted boot and a final aggregated for your generic servers.\n\nthis will prevent starvation of cpu/ram/disk resources on the \nthe tpm and gpu aggregates by non-needy vms.\n\nthere are many other type of extraspec that you might want to partition on such as hugepages or cpu pinning depending on you hardware/software configuration and the workloads you want to support.","commit_id":"ae4089468d08f239acc1f1bceff16e161b5174cb"},{"author":{"_account_id":3217,"name":"Ian Wells","username":"ijw-ubuntu"},"change_message_id":"6f3e839cdbbf786381fb4c6dc9ec7830cf72fd21","unresolved":false,"context_lines":[{"line_number":25,"context_line":"enforce that an aggregate satisfies any extra specifications associated"},{"line_number":26,"context_line":"with the instance type via  the AggregateInstanceExtraSpecsFilter[3], but"},{"line_number":27,"context_line":"does not allow an operator to enforce that any extra specifications associated"},{"line_number":28,"context_line":"with an aggregate are requested by an instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"This blueprint introduces a new filter to address this gap."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1af86dd1_5a4f7892","line":28,"in_reply_to":"3afb71cf_86eaa372","updated":"2015-06-12 21:12:01.000000000","message":"I would suggest a rewording: that instances will only be places in the aggregate if all of the extra specs required by the aggregate are requested by the instance. \n\nAnd I\u0027d add a reason, which is presumably that for some reason you\u0027ve set aside space in your cloud for a certain category of needy VMs and you don\u0027t want non-needy VMs to eat it up.","commit_id":"ae4089468d08f239acc1f1bceff16e161b5174cb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a537cb229351bc219a5b04abcedb020ead637d8f","unresolved":false,"context_lines":[{"line_number":25,"context_line":"enforce that an aggregate satisfies any extra specifications associated"},{"line_number":26,"context_line":"with the instance type via  the AggregateInstanceExtraSpecsFilter[3], but"},{"line_number":27,"context_line":"does not allow an operator to enforce that any extra specifications associated"},{"line_number":28,"context_line":"with an aggregate are requested by an instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"This blueprint introduces a new filter to address this gap."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3afb71cf_86eaa372","line":28,"in_reply_to":"3afb71cf_9d4917ba","updated":"2015-06-10 18:12:59.000000000","message":"no requested is correct in this context","commit_id":"ae4089468d08f239acc1f1bceff16e161b5174cb"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e89ba80dcc414ba726ba04e0430dbe13122f2364","unresolved":false,"context_lines":[{"line_number":27,"context_line":"does not allow an operator to enforce that any extra specifications associated"},{"line_number":28,"context_line":"with an aggregate are requested by an instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"This blueprint introduces a new filter to address this gap."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3afb71cf_5d9cbf0e","line":30,"updated":"2015-06-09 08:47:00.000000000","message":"So I thought AggregateInstanceExtraSpecsFilter was able to do exactly what you are requesting.\n\nCan you give a specific example where it doesn\u0027t quite do what you need?\n\ncould not just expand what that filter supports, so it works in your use case?","commit_id":"ae4089468d08f239acc1f1bceff16e161b5174cb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a537cb229351bc219a5b04abcedb020ead637d8f","unresolved":false,"context_lines":[{"line_number":27,"context_line":"does not allow an operator to enforce that any extra specifications associated"},{"line_number":28,"context_line":"with an aggregate are requested by an instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"This blueprint introduces a new filter to address this gap."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3afb71cf_52dc6172","line":30,"in_reply_to":"3afb71cf_5d9cbf0e","updated":"2015-06-10 18:12:59.000000000","message":"the AggregateInstanceExtraSpecsFilter  enforces that all features requested via flavour extra specs are provided by a host aggregate. \n\nthis new filter reverses the relationship and enforces that instances can only be scheduled to the aggregate if they request all features provided by the aggregate in there flavour extra specs.\n\nfor example if  i schedule a vm which requests hw:mem_page_size\u003dlarge and hw:cpu_policy\u003ddedicated via its flavour the behaviour of this filter and the \nAggregateInstanceExtraSpecsFilter  would differ as follows.\n\nif I have an aggregate that states it provides  hw:mem_page_size\u003dlarge\nthe AggregateInstanceExtraSpecsFilter  would fail to schedule to the aggregates as it dose not explictly state it supports hw:cpu_policy\u003ddedicated.\n\nthis new filter would allows the vm to be scheduled to the same aggregated as in this case all featues provided by the aggregate (hw:mem_page_size\u003dlarge) are requested by the vm.","commit_id":"ae4089468d08f239acc1f1bceff16e161b5174cb"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e89ba80dcc414ba726ba04e0430dbe13122f2364","unresolved":false,"context_lines":[{"line_number":90,"context_line":"Project Priority"},{"line_number":91,"context_line":"-----------------"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"TBD/None"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Proposed change"},{"line_number":96,"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":3,"id":"3afb71cf_1d476778","line":93,"updated":"2015-06-09 08:47:00.000000000","message":"Its None","commit_id":"ae4089468d08f239acc1f1bceff16e161b5174cb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a537cb229351bc219a5b04abcedb020ead637d8f","unresolved":false,"context_lines":[{"line_number":90,"context_line":"Project Priority"},{"line_number":91,"context_line":"-----------------"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"TBD/None"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Proposed change"},{"line_number":96,"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":3,"id":"3afb71cf_3953106d","line":93,"in_reply_to":"3afb71cf_1d476778","updated":"2015-06-10 18:12:59.000000000","message":"yes i think that was form the template i will update to None.","commit_id":"ae4089468d08f239acc1f1bceff16e161b5174cb"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e89ba80dcc414ba726ba04e0430dbe13122f2364","unresolved":false,"context_lines":[{"line_number":141,"context_line":"AggregateInstanceExtraSpecsFilter and carefully designed flavours could be"},{"line_number":142,"context_line":"configured to achieve the same granularity of control. This would require"},{"line_number":143,"context_line":"considerably more effort to design and configure then the filter described"},{"line_number":144,"context_line":"in this proposal."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Data model impact"},{"line_number":147,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3afb71cf_280c233a","line":144,"updated":"2015-06-09 08:47:00.000000000","message":"Ah, interesting.\n\nCan you give specific examples of both to compare them.\n\nIt just seems like you should add to the AggregateInstanceExtraSpecsFilter the extra things you need, but I could be missing something.","commit_id":"ae4089468d08f239acc1f1bceff16e161b5174cb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a537cb229351bc219a5b04abcedb020ead637d8f","unresolved":false,"context_lines":[{"line_number":141,"context_line":"AggregateInstanceExtraSpecsFilter and carefully designed flavours could be"},{"line_number":142,"context_line":"configured to achieve the same granularity of control. This would require"},{"line_number":143,"context_line":"considerably more effort to design and configure then the filter described"},{"line_number":144,"context_line":"in this proposal."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Data model impact"},{"line_number":147,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3afb71cf_756dfdca","line":144,"in_reply_to":"3afb71cf_280c233a","updated":"2015-06-10 18:12:59.000000000","message":"with this new filter creating an aggregate that only allow vms that request huge pages could be done by defining the following\n\nflavor_extra_spec: \"hw:mem_page_size\u003dlarge\"\n\nusing the AggregateInstanceExtraSpecsFilter or AggregateTypeAffinityFilter \nit could be supported in either of the following ways.\n\nif all flavor that requsted \"hw:mem_page_size\u003dlarge\" had no other extra_specs items the AggregateInstanceExtraSpecsFilter could be used.\n\nif your flavor had multiple flavor extra spec items defined the \nAggregateTypeAffinityFilter could but used by listing all flavours which had a \n\"hw:mem_page_size\u003dlarge\" request in the aggregate instance_type metadata.\n\nthe drawback of the first approach is that if a new flavor extra spec is added to any of your \"hw:mem_page_size\u003dlarge\" flavor they would no longer be scheduled to the aggregate by the AggregateInstanceExtraSpecsFilter.\n\nthe second approach has two disadvantages.\nfirst if a new flavor is added that requests \"hw:mem_page_size\u003dlarge\" it must be manually added to the aggregate instance_type metadata.\n\nsecond if flavours are updated and the hw:mem_page_size\u003dlarge parameter is removed the admin also has to remove it form the huge page only aggregate.\n\nThe AggregateInstanceExtraSpecsFilter and AggregateTypeAffinityFilter \nboth address different aspects of the problem statement addressed by this spec, however neither fully allow an operater to express the intent that a host aggregate should only be scheduled to if a predefined set of features are requests by the vm.","commit_id":"ae4089468d08f239acc1f1bceff16e161b5174cb"}]}
