)]}'
{"specs/ocata/approved/affinity_instance_slot_reservation.rst":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b5ce9fabd6bb8de9cd13dd334f9d3692d29c29e8","unresolved":false,"context_lines":[{"line_number":22,"context_line":"user is spawning an instance within an \u0027affinity server group\u0027, nova-scheduler"},{"line_number":23,"context_line":"doesn\u0027t reserve any slots on a host for future instances within the group."},{"line_number":24,"context_line":"So if the user spawns one more instance in this group and the host"},{"line_number":25,"context_line":"is full, the user will get an error: \u0027No valid host found\u0027."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ffe62b97_77f1eb00","line":25,"updated":"2017-03-29 20:12:30.000000000","message":"I fail to see how this is actually a problem. The \"No valid host found\" error is exactly correct. There are no more hosts that fit the constraints required by the affinity policy.\n\nIf a user wants to \"reserve\" a bunch of \"slots\" for some future collection of like workloads (or workloads that for some reason need same-host affinity), then the user should launch the entire collection of VMs at once and this wouldn\u0027t be a problem.\n\nThe fact is that there is no difference between \"reserving\" a \"slot\" on a compute host and actually *using* that slot. In either case, the resources on the host would not be available to other tenants/users and therefore the user \"reserving\" the instances should be paying for the resources they are consuming/reserving/using.","commit_id":"441ac8a13a9417b19f8d21dbb521cce1d43d5181"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"35f3d7f55b81ee78b6ffbaac10bff5826dccf491","unresolved":false,"context_lines":[{"line_number":22,"context_line":"user is spawning an instance within an \u0027affinity server group\u0027, nova-scheduler"},{"line_number":23,"context_line":"doesn\u0027t reserve any slots on a host for future instances within the group."},{"line_number":24,"context_line":"So if the user spawns one more instance in this group and the host"},{"line_number":25,"context_line":"is full, the user will get an error: \u0027No valid host found\u0027."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dfeb2761_41f29208","line":25,"in_reply_to":"ffe62b97_488193c3","updated":"2017-03-30 17:07:26.000000000","message":"\"What I want is to make sure that I have room for those 10 instances, say tomorrow, but in the meantime, I still would like to use my quota for spawning 10 instances now.\"\n\nI read and re-read that sentence 10 times and I still feel the same way. And my feeling is \"oh well, sorry, that\u0027s just how this works.\" If you \"reserve\" some resources, that means another user does not have the opportunity to use those resources (even if you don\u0027t actually launch the instances in that \"slot\"). The inability of another user to consume those resources is the same thing as you using the resources, and therefore I see no justification for this functionality in Nova.","commit_id":"441ac8a13a9417b19f8d21dbb521cce1d43d5181"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4dce37f04f7f84f5817bbd2d3e3888d88bbde563","unresolved":false,"context_lines":[{"line_number":22,"context_line":"user is spawning an instance within an \u0027affinity server group\u0027, nova-scheduler"},{"line_number":23,"context_line":"doesn\u0027t reserve any slots on a host for future instances within the group."},{"line_number":24,"context_line":"So if the user spawns one more instance in this group and the host"},{"line_number":25,"context_line":"is full, the user will get an error: \u0027No valid host found\u0027."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Use Cases"},{"line_number":28,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ffe62b97_488193c3","line":25,"in_reply_to":"ffe62b97_77f1eb00","updated":"2017-03-30 09:25:48.000000000","message":"From a quota perspective, it\u0027s suboptimal.\n\nSay I can only launch 10 instances. What I want is to make sure that I have room for those 10 instances, say tomorrow, but in the meantime, I still would like to use my quota for spawning 10 instances now. When the contract starts, I need to have the quota (so I would delete the existing instances) but I\u0027m sure that when creating the new instances during the contract, the scheduler would be agreeing and giving me a destination.","commit_id":"441ac8a13a9417b19f8d21dbb521cce1d43d5181"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b5ce9fabd6bb8de9cd13dd334f9d3692d29c29e8","unresolved":false,"context_lines":[{"line_number":28,"context_line":"---------"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"The use case for End Users is improved efficency"},{"line_number":31,"context_line":"(less \u0027No valid host found\u0027 errors) of instances with the affinity policy."},{"line_number":32,"context_line":"Nova scheduler affinty filter will reserve the counted number of free slots for"},{"line_number":33,"context_line":"future instances with the affity server group policy."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ffe62b97_77b0cbdd","line":31,"updated":"2017-03-29 20:12:30.000000000","message":"Err, sorry, I disagree with the characterization that this would improve efficiency. Again, the \u0027No valid host found\u0027 error is an absolutely valid error and doesn\u0027t indicate some level of inefficiency.\n\nIn fact, if you \"reserve\" entire hosts for these \"to be expanded some time in the future\" server groups, you\u0027ll actually *decrease* the efficiency of the placement in the cloud as a whole, because you\u0027d have fewer resources to provide to other cloud users. And that, in turn, will just lead to an increased number of \u0027No valid host found\u0027 messages to *those* users :)","commit_id":"441ac8a13a9417b19f8d21dbb521cce1d43d5181"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8ba247328a704d88b49064f9053cf8d78c128930","unresolved":false,"context_lines":[{"line_number":31,"context_line":"(less \u0027No valid host found\u0027 errors) of instances with the affinity policy."},{"line_number":32,"context_line":"Nova scheduler affinty filter will reserve the counted number of free slots for"},{"line_number":33,"context_line":"future instances with the affity server group policy."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ffe62b97_3d8b9a6e","line":34,"updated":"2017-03-28 09:47:44.000000000","message":"This use case sounds like resource reservation for the future to me. If this is really about reserving resource for the future then there is (was?) a separate project that handles this called Blazar[1]. \n\nIs this something Blazar needs to fulfill it\u0027s goal?\n\n[1]https://wiki.openstack.org/wiki/Blazar","commit_id":"441ac8a13a9417b19f8d21dbb521cce1d43d5181"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"388a6458d495a2905edc333261ecca2015afa0b7","unresolved":false,"context_lines":[{"line_number":31,"context_line":"(less \u0027No valid host found\u0027 errors) of instances with the affinity policy."},{"line_number":32,"context_line":"Nova scheduler affinty filter will reserve the counted number of free slots for"},{"line_number":33,"context_line":"future instances with the affity server group policy."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ffe62b97_7d9b5717","line":34,"in_reply_to":"ffe62b97_3d8b9a6e","updated":"2017-03-28 13:55:31.000000000","message":"FWIW, Blazar is resurrected since 6 months now by a new team. They\u0027re still thinking about the next steps, maybe we could discuss that with the placement team ?","commit_id":"441ac8a13a9417b19f8d21dbb521cce1d43d5181"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"81240b3ba6e2175403ca263e08fbc683687463d1","unresolved":false,"context_lines":[{"line_number":31,"context_line":"(less \u0027No valid host found\u0027 errors) of instances with the affinity policy."},{"line_number":32,"context_line":"Nova scheduler affinty filter will reserve the counted number of free slots for"},{"line_number":33,"context_line":"future instances with the affity server group policy."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dfeb2761_8e042c7d","line":34,"in_reply_to":"ffe62b97_7d9b5717","updated":"2017-03-31 09:46:01.000000000","message":"Blazar team is thinking about instance reservation feature for next step. I\u0027m writing a draft of specs for the feature now.\n\n1. https://blueprints.launchpad.net/blazar/+spec/new-instance-reservation","commit_id":"441ac8a13a9417b19f8d21dbb521cce1d43d5181"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b5ce9fabd6bb8de9cd13dd334f9d3692d29c29e8","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Add a new parameter (e.g. number_of_reserved_slots) into affinity_filter, which"},{"line_number":39,"context_line":"will represent a number of reserved slots on the host for future instances"},{"line_number":40,"context_line":"with the affinity policy."},{"line_number":41,"context_line":"If a spawned instance is within an affinity server group policy,"},{"line_number":42,"context_line":"nova-scheduler should check if there are some instances on the host, within"},{"line_number":43,"context_line":"the same group. If there are no such instances, it should check the slot"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ffe62b97_17f73f8d","line":40,"updated":"2017-03-29 20:12:30.000000000","message":"What would be the difference between just having the user launch that number of instances to begin with? As mentioned above, the resources, whether \"reserved\" or actually launched, would still not be available to other tenants and therefore the resources would essentially be \"in use\" anyway.","commit_id":"441ac8a13a9417b19f8d21dbb521cce1d43d5181"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b5ce9fabd6bb8de9cd13dd334f9d3692d29c29e8","unresolved":false,"context_lines":[{"line_number":46,"context_line":"Change will be made in ServerGroupAffinityFilter where new parameters will be"},{"line_number":47,"context_line":"added:"},{"line_number":48,"context_line":"- enable_slots_reservation - boolean value - if the value is True, the affinity"},{"line_number":49,"context_line":"filter will reserve slots for new VMs with an affinity server group policy."},{"line_number":50,"context_line":"If False, the filter will work as a default affinity scheduler filter (without"},{"line_number":51,"context_line":"any improvements)."},{"line_number":52,"context_line":"- reserved_slots_per_group - integer value - reserved free slots on host for"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ffe62b97_37580386","line":49,"updated":"2017-03-29 20:12:30.000000000","message":"filters don\u0027t reserve anything. they *consume* things. well, technically, until we have claims in the scheduler, the filters don\u0027t actually consume resources (the compute node that is selected by the scheduler does the claiming), but still, there\u0027s no \"do this in the future\" aspect of the scheduler. It makes a placement decision based on the utilization of the deployment\u0027s resources now, not some unknown time in the future.","commit_id":"441ac8a13a9417b19f8d21dbb521cce1d43d5181"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"388a6458d495a2905edc333261ecca2015afa0b7","unresolved":false,"context_lines":[{"line_number":53,"context_line":"instances with affinity group policy; a value of 1 and greater will reserve the"},{"line_number":54,"context_line":"number of slots per group which is on the host; a value of 0 and below will"},{"line_number":55,"context_line":"reserve the difference between quota_server_group_members and the number of"},{"line_number":56,"context_line":"quota max_instances_on_host which are on the compute host."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"To enable ServerGroupAffinityFilter slot reservation, the following step is"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ffe62b97_3d3dcfdc","line":56,"updated":"2017-03-28 13:55:31.000000000","message":"There are a number of problems with that. For example, most of the times, you would like to ask for reservations, but having quotas not yet updated until the instance is created, right?\n\nAlso, for how long the reservation could be done ?","commit_id":"441ac8a13a9417b19f8d21dbb521cce1d43d5181"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"388a6458d495a2905edc333261ecca2015afa0b7","unresolved":false,"context_lines":[{"line_number":79,"context_line":"Alternatives"},{"line_number":80,"context_line":"------------"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"None"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Data model impact"},{"line_number":85,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ffe62b97_1d0fab37","line":82,"updated":"2017-03-28 13:55:31.000000000","message":"Blazar.","commit_id":"441ac8a13a9417b19f8d21dbb521cce1d43d5181"}]}
