)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"23f08e564430619807d39662dac3ac832dde80f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3642e54f_31ab4205","updated":"2023-02-22 02:13:40.000000000","message":"i will review this properly later in the week but my initial reaction is this is not in fitting with eh design/scope of nova.\n\nwe used to have plugable schedulers in the past with multiple implementation and we removed that functionality.\n\nthe current filter scheduler is the only schduler we support and we did not plan to allow additional scheduler to be added again\n\nin the current design filters are also not allowed to make quires to any other services via http request and they are not allowed to do any db lookup dbs.\n\n\n","commit_id":"99f8bb254b7e9fcb4d0ba5800925060b7ea11fd9"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cc2fd35b75d4a5a99a4a63b8e6d5a3a0cc5e93cb","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"19ba2dfd_2e0bf101","in_reply_to":"3642e54f_31ab4205","updated":"2023-02-22 12:07:41.000000000","message":"Why does it not fit with the design of Nova? I mean, I did not see this explanation on your answer. Also, what is the alternative if an organization needs a custom scheduler? Developing and maintaining it in Python in Nova, and then also in Cinder (as Cinder did not adopt Placement)?\n\nThe point of not being able to lookup data is also a decision that should not be up to developers, but to operators. If their use case allows some extra time to load data from DB, HTTP request from others systems, gather data from file or some other place, we (as developers) should not remove this ability. Again, the people running cloud environments are the operators and not the developers.\n\nFor instance, one of the use cases is to execute placement of VMs in a multi AZ setup in a deterministic fashion to spread users VMs in different AZ. I mean, if we had 3 projects, and 3 AZ, the idea is that we place each project\u0027s VMs in each AZ, and so on. It is not a perfect balancing of the load, but it is a balancing aiming to use different AZ, as the current algorithms are scheduling first base on AZ storage size (as we use cross_az_attach\u003dFalse).\n\nThere are other use cases, such as checking if consumers are competitors (checking in an internal system); and, thus placing their resources in different AZs, so their VM do not share the same DC infrastructure and so on.\n\nAll of the mentioned use cases (and there are many others!) are not possible to implement right now if we do not implement a portal on top of OpenStack. On the other hand, if we had a feature such as the one we presented, operators would be able to do what they need and want without needing to consult/check back with the community of OpenStack.","commit_id":"99f8bb254b7e9fcb4d0ba5800925060b7ea11fd9"}],"specs/2023.1/approved/nova-dynamic-scheduler-system.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3757ee785ef9a77439c9f231cb4888963367882d","unresolved":true,"context_lines":[{"line_number":131,"context_line":"The alternative is to either use the ``JsonFilter``, which is rather limited"},{"line_number":132,"context_line":"and needs to be configured in a virtual machine basis or creating custom"},{"line_number":133,"context_line":"scheduler filter that needs to be coded in Python."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Data model impact"},{"line_number":136,"context_line":"-----------------"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5bb0b30f_e22effe4","line":134,"updated":"2023-02-22 02:22:14.000000000","message":"the jsonfilter is already more expressinve then we really like just an fyi.\n\nwe woudl evenrtually like to remvoe it if we coudl replace its fucntionality or cover its usescases with other approches.\n\nfor now its not broken and not a maintance burden so we have no plans to remove it\nbut we also do not want to extend it.\n\nyou may also be insterestig in the metic weigher\n\nhttps://github.com/openstack/nova/blob/master/nova/scheduler/weights/metrics.py\nwhich uses metrics generated by the cpu monitor\n\nhttps://github.com/openstack/nova/blob/master/nova/compute/monitors/cpu/virt_driver.py#L52-L101\n\nto make schduleing desicson based on things liek cpu load.\n\nthe monitoring interface face is deprecated per\n\nhttps://docs.openstack.org/nova/latest/contributor/policies.html?highlight\u003dmetrics#metrics-gathering\n\nand we are not currently planning to add more monitors in nova.","commit_id":"99f8bb254b7e9fcb4d0ba5800925060b7ea11fd9"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cc2fd35b75d4a5a99a4a63b8e6d5a3a0cc5e93cb","unresolved":true,"context_lines":[{"line_number":131,"context_line":"The alternative is to either use the ``JsonFilter``, which is rather limited"},{"line_number":132,"context_line":"and needs to be configured in a virtual machine basis or creating custom"},{"line_number":133,"context_line":"scheduler filter that needs to be coded in Python."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Data model impact"},{"line_number":136,"context_line":"-----------------"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9e59447f_c08df551","line":134,"in_reply_to":"5bb0b30f_e22effe4","updated":"2023-02-22 12:07:41.000000000","message":"I checked the other options that are coded right now. However, the problem is that if we need a custom logic that is business dependent there is no alternative in Nova to implement. This logic has to be implemented outside of Nova, and then we allocate the VMs in Nova with the host parameters, which is not ideal, as we aim to use a fully OpenSource solution. That is why we are proposing this to Nova, and we are willing to contribute to it, as we do for Ceilometer, Gnocchi, CloudKitty, Keystone, and others.","commit_id":"99f8bb254b7e9fcb4d0ba5800925060b7ea11fd9"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"3bb8d0425142c97db9fd4ca509dc9d398f1e291a","unresolved":true,"context_lines":[{"line_number":131,"context_line":"The alternative is to either use the ``JsonFilter``, which is rather limited"},{"line_number":132,"context_line":"and needs to be configured in a virtual machine basis or creating custom"},{"line_number":133,"context_line":"scheduler filter that needs to be coded in Python."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Data model impact"},{"line_number":136,"context_line":"-----------------"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"b5b2c3e9_cf562b82","line":134,"in_reply_to":"9e59447f_c08df551","updated":"2023-03-07 13:20:38.000000000","message":"Hello Sean, \nI am not sure I follow. You say that you want to deprecate the JSON filter for instance, and at the same time that you want to remove those monitors and other approaches in Nova. However, none of them cover the presented use case.\n\nOn top of that, what would be the alternative for somebody that needs a custom scheduling process that is based on a business need?\n\nWould the only alternative be the writting and maintaining the python scheduler code?\n\nIf that is the case, the extension we propose would be quite handy, as it would failitate operators lives, and reduce their time to maintain such scheduler code.","commit_id":"99f8bb254b7e9fcb4d0ba5800925060b7ea11fd9"}]}
