)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3d2752b47948bc3f68464dfc498f81f20c3add16","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Observing the scheduler for a series of live-migrations, the same"},{"line_number":10,"context_line":"subset of hosts is always chosen no matter how loaded they get."},{"line_number":11,"context_line":"The time frame and the subset size coincide with the configuration"},{"line_number":12,"context_line":"values for `update_resources_interval` and `host_subset_size`."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Following a live-migration event, the destination host is only updated"},{"line_number":15,"context_line":"when the periodic task calls `update_available_resources`. In this time"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"03bdd6e8_42d1231d","line":12,"updated":"2023-08-29 18:30:42.000000000","message":"the nova schduler is inteded to be deterministic by default which is why you observer this behvior.","commit_id":"f6ea2a6927cad5d95aef74622b814634e72a1249"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3d2752b47948bc3f68464dfc498f81f20c3add16","unresolved":true,"context_lines":[{"line_number":15,"context_line":"when the periodic task calls `update_available_resources`. In this time"},{"line_number":16,"context_line":"interval none of the host\u0027s resources are update inside the DB. This"},{"line_number":17,"context_line":"means the scheduler doesn\u0027t update it\u0027s weights and will always"},{"line_number":18,"context_line":"choose the same hosts."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"For live migration events, `update_available_resource` is called in the"},{"line_number":21,"context_line":"pre and post migration hooks only on the source host. Now the resources"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fff1c12c_29e9842f","line":18,"updated":"2023-08-29 18:30:42.000000000","message":"that is partly true but this is ignorign the fact that we also track resouce usage by creating allcoation in placement.\n\nwhile this will not affect the order of hosts selected by the weighers it will affect the set of host return to the scudler.\n\nwe atomically claim resouce in placmenve via the allocaiton mechium ot ensuer we cannot race on the resocue on the host.\n\nthe exection to this are resocue that are not tracked in placemnt such as numa resouce like hugepgages and pci devices.","commit_id":"f6ea2a6927cad5d95aef74622b814634e72a1249"},{"author":{"_account_id":36325,"name":"Raul Moldovan","display_name":"Raul","email":"rmoldovan3@bloomberg.net","username":"raulmldv"},"change_message_id":"23f193a903617edc94f2d7271d457428e91de40f","unresolved":true,"context_lines":[{"line_number":15,"context_line":"when the periodic task calls `update_available_resources`. In this time"},{"line_number":16,"context_line":"interval none of the host\u0027s resources are update inside the DB. This"},{"line_number":17,"context_line":"means the scheduler doesn\u0027t update it\u0027s weights and will always"},{"line_number":18,"context_line":"choose the same hosts."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"For live migration events, `update_available_resource` is called in the"},{"line_number":21,"context_line":"pre and post migration hooks only on the source host. Now the resources"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fe3a24df_2617bf9b","line":18,"in_reply_to":"fff1c12c_29e9842f","updated":"2023-08-29 20:43:46.000000000","message":"Indeed placement will be aware of the actual resources on the host but as long as it returns it to nova, the scheduler will not make a decision based on the real state of the host.\n\nAs you mentioned this will not cause a failure just an imbalance. But right now to achieve balance following migrations, the only option is just to configure a lower update interval -\u003e even more load.","commit_id":"f6ea2a6927cad5d95aef74622b814634e72a1249"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3d2752b47948bc3f68464dfc498f81f20c3add16","unresolved":true,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"For live migration events, `update_available_resource` is called in the"},{"line_number":21,"context_line":"pre and post migration hooks only on the source host. Now the resources"},{"line_number":22,"context_line":"are updated in the post live-migration call on the destination as well."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: I7f88dc429ad57b1fea1b6b64ab6d35b0d9169ce2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"8e322b27_e6cf82ad","line":22,"updated":"2023-08-29 18:30:42.000000000","message":"i wonder what im pact this may have on load in the event you are using live migration to drain a host.\nit would effectivly double the updates but its certenly somethign we can consider.","commit_id":"f6ea2a6927cad5d95aef74622b814634e72a1249"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3d2752b47948bc3f68464dfc498f81f20c3add16","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"617e7cf4_1533e51a","updated":"2023-08-29 18:30:42.000000000","message":"the -1 is mainly because this need a bug and a release note.\n\ncan you file at https://bugs.launchpad.net/nova\n\nthe update the commit message to have \n\nClose-Bug: #XXXXXX\n\nwher XXXXXX is the bug number\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Including_external_references\n\n\n\nThis also should have at a minium a fixes release note.\nhttps://docs.openstack.org/nova/latest/contributor/releasenotes.html","commit_id":"f6ea2a6927cad5d95aef74622b814634e72a1249"},{"author":{"_account_id":36325,"name":"Raul Moldovan","display_name":"Raul","email":"rmoldovan3@bloomberg.net","username":"raulmldv"},"change_message_id":"23f193a903617edc94f2d7271d457428e91de40f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6dd7f9c1_7baecb09","in_reply_to":"617e7cf4_1533e51a","updated":"2023-08-29 20:43:46.000000000","message":"Filed the bug at:\nhttps://bugs.launchpad.net/nova/+bug/2033434\nand added a release note.","commit_id":"f6ea2a6927cad5d95aef74622b814634e72a1249"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8adc8eb9ca18da313a13c13fbd521e797301b7c8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"19cdbfca_dbb1c4d5","updated":"2023-09-07 14:37:16.000000000","message":"This seems like probably the right thing to do, given we do it on the source. It does seem like an improvement and not a bug and so it\u0027s probably best to not merge this for 2023.2 I think.\n\nIIUC, our resources in placement are still right, this just affects decisions the scheduler might make. Setting the periodic to an hour means you\u0027re getting exactly that delayed behavior you asked for.\n\nSo I\u0027m +1, but I think bauzas needs to make the call about whether this is a feature or a bug for this cycle. I\u0027d lean towards feature and holding off, personally.","commit_id":"7c02741386dcedf44bacacf08bac2b811f83ce2c"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"6a556e9201c42c9c313dc6bac8c6e19bccc3f85c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f5f91006_00b617fa","updated":"2023-12-27 18:32:26.000000000","message":"recheck bump and get fresh results","commit_id":"7c02741386dcedf44bacacf08bac2b811f83ce2c"}],"nova/compute/manager.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3d2752b47948bc3f68464dfc498f81f20c3add16","unresolved":true,"context_lines":[{"line_number":9503,"context_line":"                self.host,"},{"line_number":9504,"context_line":"                action\u003dfields.NotificationAction.LIVE_MIGRATION_POST_DEST,"},{"line_number":9505,"context_line":"                phase\u003dfields.NotificationPhase.END)"},{"line_number":9506,"context_line":"        self.update_available_resource(context)"},{"line_number":9507,"context_line":""},{"line_number":9508,"context_line":"    def _remove_remote_volume_connections(self, context, dest, bdms, instance):"},{"line_number":9509,"context_line":"        \"\"\"Rollback remote volume connections on the dest\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ea1e9e51_d5632236","line":9506,"updated":"2023-08-29 18:30:42.000000000","message":"invoking it at the end of this funtion is likely safe as \nwe have updated the instance.host and saved it to the db at this point.\n\ndoing this earlier would have some undesirbale affect.\n\nim still a litlle concerned by the load this will cause.\n\n\nwith that said the update on the destinationis arguably more imporant then the update on the souce node\n\nhttps://github.com/openstack/nova/blob/065c5906d2da3e2bb6eeb3a7a15d4cd8d98b35e9/nova/compute/manager.py#L9354C1-L9356C45","commit_id":"f6ea2a6927cad5d95aef74622b814634e72a1249"},{"author":{"_account_id":33910,"name":"Tyler Stachecki","display_name":"Tyler Stachecki","email":"tstachecki@bloomberg.net","username":"tjstachecki"},"change_message_id":"5c0d831f5a9996ca648806ba332e21defcdbc1a4","unresolved":true,"context_lines":[{"line_number":9503,"context_line":"                self.host,"},{"line_number":9504,"context_line":"                action\u003dfields.NotificationAction.LIVE_MIGRATION_POST_DEST,"},{"line_number":9505,"context_line":"                phase\u003dfields.NotificationPhase.END)"},{"line_number":9506,"context_line":"        self.update_available_resource(context)"},{"line_number":9507,"context_line":""},{"line_number":9508,"context_line":"    def _remove_remote_volume_connections(self, context, dest, bdms, instance):"},{"line_number":9509,"context_line":"        \"\"\"Rollback remote volume connections on the dest\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"dcef8a35_8fcb8def","line":9506,"in_reply_to":"0a1d180c_04f53d8e","updated":"2023-08-29 18:55:39.000000000","message":"Occurs every \u0027s/update_available_resources/update_resources_interval/\u0027 seconds, that is.","commit_id":"f6ea2a6927cad5d95aef74622b814634e72a1249"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"eec88cf77d137ee6a4ff60f0a4792793197648a6","unresolved":true,"context_lines":[{"line_number":9503,"context_line":"                self.host,"},{"line_number":9504,"context_line":"                action\u003dfields.NotificationAction.LIVE_MIGRATION_POST_DEST,"},{"line_number":9505,"context_line":"                phase\u003dfields.NotificationPhase.END)"},{"line_number":9506,"context_line":"        self.update_available_resource(context)"},{"line_number":9507,"context_line":""},{"line_number":9508,"context_line":"    def _remove_remote_volume_connections(self, context, dest, bdms, instance):"},{"line_number":9509,"context_line":"        \"\"\"Rollback remote volume connections on the dest\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"87e1170e_eede9166","line":9506,"in_reply_to":"dcef8a35_8fcb8def","updated":"2023-08-29 19:11:06.000000000","message":"the same host may be selected but that will not cause the live migration to fail\nit will just cause an inbalance of load arcoss the cloud.\n\nthis is mainly an issue if you have configured your weigher to spead load rather then pack.\n\nwith numa request in the vm the migttion request coudl fail fi the alternitve host slist was exausted so i dont disagree that this may be a good improvment.\n\njust noting that the placement allocation shoudl prevent any race on resouce tracked in placemnt and that happen even before pre live migration runs.\n\nso this is more a prefromcen enchement then a bug but it likely is somethign we could backport as a bug.","commit_id":"f6ea2a6927cad5d95aef74622b814634e72a1249"},{"author":{"_account_id":33910,"name":"Tyler Stachecki","display_name":"Tyler Stachecki","email":"tstachecki@bloomberg.net","username":"tjstachecki"},"change_message_id":"17382ff95d884ed55fda6e6be263834787edb3f6","unresolved":true,"context_lines":[{"line_number":9503,"context_line":"                self.host,"},{"line_number":9504,"context_line":"                action\u003dfields.NotificationAction.LIVE_MIGRATION_POST_DEST,"},{"line_number":9505,"context_line":"                phase\u003dfields.NotificationPhase.END)"},{"line_number":9506,"context_line":"        self.update_available_resource(context)"},{"line_number":9507,"context_line":""},{"line_number":9508,"context_line":"    def _remove_remote_volume_connections(self, context, dest, bdms, instance):"},{"line_number":9509,"context_line":"        \"\"\"Rollback remote volume connections on the dest\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"0a1d180c_04f53d8e","line":9506,"in_reply_to":"ea1e9e51_d5632236","updated":"2023-08-29 18:49:29.000000000","message":"The context here is live-migrations, though: operators are generally not flooding their control planes with live-migrations, and live-migrations themselves incur load as-is due to the flurry of events associated with them.\n\nAdditionally, this event *already* occurs every \u0027update_available_resources\u0027 seconds for each compute host. The user can raise it, but if they do they\u0027re at risk of live-migrations being sent to the same N\u003dhost_subset_size hosts within the same interval.","commit_id":"f6ea2a6927cad5d95aef74622b814634e72a1249"}]}
