)]}'
{"id":"openstack%2Fwatcher-specs~994807","triplet_id":"openstack%2Fwatcher-specs~master~I6660a508de22af4c24b26a44e78c15e04912694b","project":"openstack/watcher-specs","branch":"master","topic":"filter_destinations","attention_set":{},"removed_from_attention_set":{"30002":{"account":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"last_update":"2026-07-29 19:45:06.000000000","reason":"Removed by \u003cGERRIT_ACCOUNT_30002\u003e by clicking the attention icon","reason_account":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"}}},"hashtags":[],"change_id":"I6660a508de22af4c24b26a44e78c15e04912694b","subject":"Add spec for migration eligibility filters feature","status":"NEW","created":"2026-06-24 18:34:06.000000000","updated":"2026-07-29 19:45:06.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":25,"unresolved_comment_count":14,"has_review_started":true,"meta_rev_id":"e543206e5b8322419294dd1838219104786d1d89","_number":994807,"virtual_id_number":994807,"owner":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-06-24 18:42:28.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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":{"all":[{"_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,"permitted_voting_range":{"min":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Standard Change","+1":"Important Change","+2":"High Priority Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-06-24 18:34:13.000000000","updated_by":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"reviewer":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"state":"CC"},{"updated":"2026-06-24 18:42:28.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":"2026-06-25 09:26:13.000000000","updated_by":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"reviewer":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"state":"CC"}],"messages":[{"id":"693f3b7a57eac814f1a1b234394e32d6bf3cbcdc","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-06-24 18:34:06.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"4f8832baccaea6b3d1d2c4f1f83afc922d1fdaf7","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-24 18:34:13.000000000","message":"Patch Set 1:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":1},{"id":"9acdfc60b9ef77a1bc411791c1bce99671cbd0e7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-24 18:42:28.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3102c8fd63aa47a294b89d5ee448f99c\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4b7a8c08e83e4fdf8e8ed8ef136834ff : SUCCESS in 4m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/dae2f151df8a469cbb2e0775cd9a41e4 : SUCCESS in 3m 07s","accounts_in_message":[],"_revision_number":1},{"id":"430888f07436fc473a50f59ae27c949a09e58fd3","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-06-24 18:48:20.000000000","message":"Patch Set 1:\n\n(10 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/2af1b94c8fa742b19c24ec53cb62e655\n\n- teim-code-review https://zuul.teim.app/t/main/build/12172c813ca74f22b9864bc56c1e3c60 : SUCCESS in 13m 58s\n\nWarning:\n  The behavior change is significant: operators will see fewer migration actions proposed for instances with PCI passthrough, SEV, vTPM, TDX, locked status, or server group membership. Release notes should clearly communicate this change. Impact: Operators relying on aggressive migration optimization may see reduced action plan sizes after upgrade. Without clear release notes, this could be perceived as a regression. Recommendation: Add an UpgradeImpact flag to the implementation commit and ensure release notes explicitly describe the behavior change and how operators can verify it is working as intended.","accounts_in_message":[],"_revision_number":1},{"id":"5181affcc6e23931f692b75e49904ef7ab4cd027","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-06-25 09:26:13.000000000","message":"Patch Set 1:\n\n(15 comments)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"f044bbdfb267cac914af318925bddc4855905419","revisions":{"f044bbdfb267cac914af318925bddc4855905419":{"kind":"REWORK","_number":1,"created":"2026-06-24 18:34:06.000000000","uploader":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"ref":"refs/changes/07/994807/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-specs","ref":"refs/changes/07/994807/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-specs refs/changes/07/994807/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-specs refs/changes/07/994807/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-specs refs/changes/07/994807/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-specs refs/changes/07/994807/1"}}},"commit":{"parents":[{"commit":"2c11bedf1fdcf15fe1f8b3902d45bb9061acd6ce","subject":"fix small typo","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-specs/commit/2c11bedf1fdcf15fe1f8b3902d45bb9061acd6ce"}]}],"author":{"name":"Douglas Viroel","email":"viroel@gmail.com","date":"2026-06-24 18:28:05.000000000","tz":-180},"committer":{"name":"Douglas Viroel","email":"viroel@gmail.com","date":"2026-06-24 18:32:23.000000000","tz":-180},"subject":"Add spec for migration eligibility filters feature","message":"Add spec for migration eligibility filters feature\n\nWatcher strategies independently implement instance and destination\nfiltering logic, leading to inconsistent behavior and missed constraints.\nThis spec proposes two BaseStrategy methods that centralize eligibility\nchecks — including flavor extra spec blockers, locked instances, and\nserver group membership — and refactors eight in-scope strategies to use\nthem.\n\nAssisted-By: Claude Code (Sonnet 4.6)\nChange-Id: I6660a508de22af4c24b26a44e78c15e04912694b\nSigned-off-by: Douglas Viroel \u003cviroel@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-specs/commit/f044bbdfb267cac914af318925bddc4855905419"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-specs/commit/f044bbdfb267cac914af318925bddc4855905419"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"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":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
