)]}'
{"id":"openstack%2Fplacement~938941","triplet_id":"openstack%2Fplacement~stable%2F2024.2~Ib7a140374bc91cc9ab597d0923b0623f618ec32c","project":"openstack/placement","branch":"stable/2024.2","topic":"bug/2070257","attention_set":{},"removed_from_attention_set":{"9708":{"account":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"last_update":"2025-01-21 16:01:06.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ib7a140374bc91cc9ab597d0923b0623f618ec32c","subject":"Add round-robin candidate generation strategy","status":"MERGED","created":"2025-01-10 17:01:34.000000000","updated":"2025-01-21 16:03:23.000000000","submitted":"2025-01-21 16:01:06.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":4,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"938941-bug/2070257","meta_rev_id":"0bb0d1c36a58ba1337fec302b1a214cb018d831d","_number":938941,"virtual_id_number":938941,"owner":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-01-21 16:01:06.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":2,"date":"2025-01-13 14:55:51.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":2,"date":"2025-01-21 13:54:51.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"all":[{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":1,"date":"2025-01-21 13:54:51.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-01-10 18:30:46.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2025-01-13 14:55:51.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"},{"updated":"2025-01-21 13:54:51.000000000","updated_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"reviewer":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"state":"REVIEWER"}],"messages":[{"id":"a3aaac6623010ecdeba056ab059fcfc4260c87f1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-01-10 17:01:34.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"dc114941a2d91752c6bfdaa14f15b1b6e61ec5b4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-01-10 18:30:46.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/af2c7ed19bdb4f19abce0ce3537cb544\n\n- grenade https://zuul.opendev.org/t/openstack/build/8821dce9ed8d4f6d87ba7c5c91dcfe4c : SUCCESS in 51m 38s\n- tempest-integrated-placement https://zuul.opendev.org/t/openstack/build/2b8f713e64824261993a87fa07b7dc57 : SUCCESS in 1h 25m 43s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/400e86a6ce6b45b0a4c769db82f29c54 : SUCCESS in 58m 09s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/175394abd9a5486ca34ad4debbf2b2d1 : SUCCESS in 10m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/63ed861322b94b878ee8737f3dd06e3b : SUCCESS in 7m 24s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/4e6384d8821c49839b3297eb0c9ab745 : SUCCESS in 6m 34s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e9eedfb269bf4436bd0287ce14932934 : SUCCESS in 4m 14s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/4debffb27ff148c0bd34d05e3e12f798 : SUCCESS in 5m 46s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7f241aed7d234dc186cf213ae09fb992 : SUCCESS in 4m 35s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ae2f43b01c394336b3e8c05520693c65 : SUCCESS in 4m 19s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/2cd0a7297efb4d59b829005222417189 : SUCCESS in 5m 54s\n- openstack-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/0f3e4ebc63d243e1b3ce69f871adcdf8 : SUCCESS in 7m 22s\n- placement-nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/05e41a1df2064616a183572810ddf506 : SUCCESS in 16m 21s\n- placement-nested-perfload https://zuul.opendev.org/t/openstack/build/1452b1a8bb7e4493a3cd579d33b40f7a : SUCCESS in 13m 00s (non-voting)\n- placement-perfload https://zuul.opendev.org/t/openstack/build/574884ea245946dead139c7dc66d3156 : FAILURE in 2m 13s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/fb85a173963742c0a8e63254c0013d67 : SUCCESS in 1h 02m 44s","accounts_in_message":[],"_revision_number":1},{"id":"2e059f84970fe3273e1092e139c420162df2c7d6","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-01-13 14:55:51.000000000","message":"Patch Set 1: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"addffd2a656b9d8cf3d4b34e258e52ea19e48970","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2025-01-21 13:54:51.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"ebdaa5dcc13ab9f76386ef9b53f16a1445babb9e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-01-21 13:58:18.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"92964ad31ff227c7613147c0d28dec0f79e6385a","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-01-21 16:01:06.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/877e4ae380914b7fa0d61a52042b5a3c\n\n- grenade https://zuul.opendev.org/t/openstack/build/f3e32916e0d14f719651f9b826053277 : SUCCESS in 58m 04s\n- tempest-integrated-placement https://zuul.opendev.org/t/openstack/build/987800650f7a414bb4252d3cd84b1d4b : SUCCESS in 1h 37m 10s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/2a6dd6ef577048e2b6949738d43949b0 : SUCCESS in 1h 05m 57s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4d2ebad30912486ea178985aa4f66a56 : SUCCESS in 4m 28s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/bc09e656590d4298a8b73772ad892a2d : SUCCESS in 4m 48s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e059878278e445a8ace5586a0cd68ff6 : SUCCESS in 4m 10s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/471f2181dfca4a6fab79401c7abf1768 : SUCCESS in 7m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d17cb844416945388db65976800a6bcc : SUCCESS in 4m 25s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/f28709d49a284a37a16905a925abd13c : SUCCESS in 6m 52s\n- openstack-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/fa0eae3f05a645f0b090a7f91ce7e972 : SUCCESS in 8m 00s\n- placement-nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/c9eba415a09641d1b26dcccc69a34f39 : SUCCESS in 18m 48s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/e47a49b6dd864bf6b26d6f27218c8373 : SUCCESS in 36m 02s","accounts_in_message":[],"_revision_number":1},{"id":"138f4296cb9568f97d5f79dee1f639efb04a22a1","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-01-21 16:01:06.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"0bb0d1c36a58ba1337fec302b1a214cb018d831d","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-01-21 16:03:23.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/58868ac18208403698e79b7e58291d57\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e8a82d7f23bb4fc2ad5011ea8691f48f : SUCCESS in 59s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fb5a2bc885024bf0a77a67d3cc17ba15 : SUCCESS in 38s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"828b2559a1b3c0b59c543e851c6ea3efb1baae20","revisions":{"828b2559a1b3c0b59c543e851c6ea3efb1baae20":{"kind":"REWORK","_number":1,"created":"2025-01-10 17:01:34.000000000","uploader":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"ref":"refs/changes/41/938941/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/41/938941/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/41/938941/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/41/938941/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/41/938941/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/41/938941/1"}}},"commit":{"parents":[{"commit":"1b0a927203ec779be631e3c61b9d6e4c7231cdec","subject":"Factor out allocation candidate generation strategy","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/1b0a927203ec779be631e3c61b9d6e4c7231cdec"}]}],"author":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2024-12-06 15:55:46.000000000","tz":60},"committer":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2025-01-10 17:01:04.000000000","tz":60},"subject":"Add round-robin candidate generation strategy","message":"Add round-robin candidate generation strategy\n\nThe previous patch introduced [placement]max_allocation_candidates\nconfig option to limit the number of candidates generated for a single\nquery.\n\nIf the number of generated allocation candidates are limited by that\nconfig option then it is possible to get candidates from a limited set of\nroot providers (computes, anchoring providers) as placement uses a\ndepth-first strategy, generating all candidates from the first root\nbefore considering the next one.\n\nTo avoid unbalanced results this patch introduces a new config option\n[placement]allocation_candidates_generation_strategy with the possible\nvalues:\n* depth-first, the original strategy that generates all candidate from\n  the first root before moving to the next. This is will be the default\n  strategy for backward compatibility\n* breadth-first, a new possible strategy that generates candidates from\n  available roots in a round-robin fashion, one candidate from each\n  root before taking the second candidate from the first root.\n\nCloses-Bug: #2070257\nChange-Id: Ib7a140374bc91cc9ab597d0923b0623f618ec32c\n(cherry picked from commit f20e13f0b233753a1b7f1899d24ad03d0d801b68)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/828b2559a1b3c0b59c543e851c6ea3efb1baae20"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/828b2559a1b3c0b59c543e851c6ea3efb1baae20"}]},"branch":"refs/heads/stable/2024.2"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Review-Priority","description":"Review Priority","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
