)]}'
{"id":"openstack%2Fwatcher-specs~1007853","triplet_id":"openstack%2Fwatcher-specs~master~Ic89e52512a50467b66f5c5279c9f8cbf90b4db9a","project":"openstack/watcher-specs","branch":"master","topic":"bp/zone-migration-az-drain","attention_set":{"30002":{"account":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"last_update":"2026-10-06 14:26:08.000000000","reason":"\u003cGERRIT_ACCOUNT_34452\u003e replied on the change","reason_account":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}},"18002":{"account":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"last_update":"2026-09-30 13:10:32.000000000","reason":"\u003cGERRIT_ACCOUNT_18002\u003e replied on the change","reason_account":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"}}},"removed_from_attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-10-07 16:47:22.000000000","reason":"\u003cGERRIT_ACCOUNT_11604\u003e replied on the change","reason_account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},"34452":{"account":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"last_update":"2026-10-06 14:26:08.000000000","reason":"\u003cGERRIT_ACCOUNT_34452\u003e replied on the change","reason_account":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}},"16312":{"account":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"last_update":"2026-10-07 16:19:29.000000000","reason":"\u003cGERRIT_ACCOUNT_16312\u003e replied on the change","reason_account":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"}}},"hashtags":[],"change_id":"Ic89e52512a50467b66f5c5279c9f8cbf90b4db9a","subject":"Add spec for zone migration availability zone drain","status":"NEW","created":"2026-09-29 12:08:47.000000000","updated":"2026-10-07 16:47:22.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":76,"unresolved_comment_count":22,"has_review_started":true,"meta_rev_id":"50970c6dc44e140afc9f6bd8faef9aaade056b0d","_number":1007853,"virtual_id_number":1007853,"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":[{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-10-02 17:48:46.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":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},{"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":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},{"_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":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},{"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":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-29 12:32:04.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-09-29 15:52:23.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"},{"updated":"2026-09-30 13:10:32.000000000","updated_by":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"reviewer":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"state":"REVIEWER"},{"updated":"2026-09-30 22:57:10.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":"CC"},{"updated":"2026-10-01 15:15:38.000000000","updated_by":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"reviewer":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"state":"CC"}],"messages":[{"id":"98423fd48ca029f633351dc1fb58e7d0cd942b4a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-09-29 12:08:47.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"42bbf2b03693ff85cae3fa90ec7f1eaa1d53aed2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-29 12:32:04.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ed81d6e6370d4ede84b9b8d738d38077\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/27918f60e3ab4a4489741088ab231870 : SUCCESS in 8m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ee9456adb6eb471283ae4563291904aa : SUCCESS in 3m 14s","accounts_in_message":[],"_revision_number":1},{"id":"086f6c27b0f6c775700f27587c73e7d9bcdbf3ee","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-09-29 15:52:23.000000000","message":"Patch Set 1:\n\n(11 comments)","accounts_in_message":[],"_revision_number":1},{"id":"137046ab661eb7609883e3f39736a4df042749c8","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-09-29 17:11:58.000000000","message":"Patch Set 1:\n\n(10 comments)","accounts_in_message":[],"_revision_number":1},{"id":"4c4d921219c2022d940e5f5e7e7a7703e87e26da","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-09-29 20:37:58.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"598241d080a8dd767860c48abaf29230c51c7dbe","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-09-30 09:41:51.000000000","message":"Patch Set 1:\n\n(5 comments)","accounts_in_message":[],"_revision_number":1},{"id":"795634ee4a80674f3a0972d3bfabcd255551c394","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-09-30 09:56:24.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"039df4a026370beb929eb7b52d0e576208c2c1d8","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-09-30 12:19:11.000000000","message":"Patch Set 1:\n\n(3 comments)","accounts_in_message":[],"_revision_number":1},{"id":"de20bbd143d1674ff9ab75378b94212f4987dc6d","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-09-30 13:10:22.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"77b0d7124ce6d8897ce66bd09ff7eadd3dbf7c69","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-09-30 22:57:10.000000000","message":"Patch Set 1:\n\n(6 comments)","accounts_in_message":[],"_revision_number":1},{"id":"4f879a777d2dd912827f1b41b2e5c8e9b216139b","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-10-01 15:15:38.000000000","message":"Patch Set 1:\n\n(5 comments)","accounts_in_message":[],"_revision_number":1},{"id":"282700bdb3b7a5286ece1974a914a8b42f5523fd","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-10-01 17:50:39.000000000","message":"Patch Set 1:\n\n(8 comments)","accounts_in_message":[],"_revision_number":1},{"id":"a16771b88453a05fd0f1403b7f3795dc25ad1536","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-10-02 09:39:15.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"7e1d8356a4541227146ab648b4e1e0cde086e743","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-10-02 17:39:09.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"707de2307f0d75197e50e89a86d1e338d7d93209","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-02 17:48:46.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4319b7612d5f48e4822a37c352678bfe\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/09d31c3835334fa8a833bfd6b9dfb3cd : SUCCESS in 7m 20s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/252dbacddd2b42eda05ed70e6a837898 : SUCCESS in 3m 07s","accounts_in_message":[],"_revision_number":2},{"id":"adeb8dbebe14aa2cd3f2d44e1ad37d5491561eeb","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-10-02 17:57:50.000000000","message":"Patch Set 1:\n\n(12 comments)","accounts_in_message":[],"_revision_number":1},{"id":"27e936244f2d2c0654b4e0384b24e19393cbfc9a","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-10-02 19:10:15.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"7d31f265858318c5cd3e7ed1e7b31f2ce2e6f3e4","author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"date":"2026-10-06 14:26:08.000000000","message":"Patch Set 2:\n\n(3 comments)","accounts_in_message":[],"_revision_number":2},{"id":"8eb612ec2bd1bc8eb82275e6f4ec9c64f1c1e74e","author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"date":"2026-10-07 16:19:29.000000000","message":"Patch Set 2:\n\n(6 comments)","accounts_in_message":[],"_revision_number":2},{"id":"50970c6dc44e140afc9f6bd8faef9aaade056b0d","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-10-07 16:47:22.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"36285d83869bff8bbde88675ee1d698347d15869","revisions":{"f46153f34e924f5b2bc4ffc866d54d00b5e141b5":{"kind":"REWORK","_number":1,"created":"2026-09-29 12:08:47.000000000","uploader":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"ref":"refs/changes/53/1007853/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-specs","ref":"refs/changes/53/1007853/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-specs refs/changes/53/1007853/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-specs refs/changes/53/1007853/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-specs refs/changes/53/1007853/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-specs refs/changes/53/1007853/1"}}},"commit":{"parents":[{"commit":"815ed72b57fe68802e665740ea547999fdeabb80","subject":"Merge \"Add 2027.1 spec structure\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-specs/commit/815ed72b57fe68802e665740ea547999fdeabb80"}]}],"author":{"name":"Douglas Viroel","email":"viroel@gmail.com","date":"2026-09-29 11:55:05.000000000","tz":-180},"committer":{"name":"Douglas Viroel","email":"viroel@gmail.com","date":"2026-09-29 12:08:10.000000000","tz":-180},"subject":"Add spec for zone migration availability zone drain","message":"Add spec for zone migration availability zone drain\n\nAdds a spec for an AZ-to-AZ mode in the zone_migration strategy, so an\noperator can drain a whole availability zone instead of enumerating every\nsource compute node and storage pool by hand.\n\nA new availability_zones parameter carries the source and destination\nzone, the resource types to drain, and the volume type mapping, each\nentry self-contained. It is mutually exclusive with compute_nodes and\nstorage_pools; narrowing a drain is left to the audit scope. Instances\nmove with a destination_az rather than a Watcher-picked host, and\nvolumes crossing the zone boundary are retyped, including those attached\nto a migrating instance.\n\nAssisted-By: Claude Opus 5\nChange-Id: Ic89e52512a50467b66f5c5279c9f8cbf90b4db9a\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/f46153f34e924f5b2bc4ffc866d54d00b5e141b5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-specs/commit/f46153f34e924f5b2bc4ffc866d54d00b5e141b5"}]},"branch":"refs/heads/master"},"36285d83869bff8bbde88675ee1d698347d15869":{"kind":"REWORK","_number":2,"created":"2026-10-02 17:39:09.000000000","uploader":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"ref":"refs/changes/53/1007853/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher-specs","ref":"refs/changes/53/1007853/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher-specs refs/changes/53/1007853/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher-specs refs/changes/53/1007853/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher-specs refs/changes/53/1007853/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher-specs refs/changes/53/1007853/2"}}},"commit":{"parents":[{"commit":"815ed72b57fe68802e665740ea547999fdeabb80","subject":"Merge \"Add 2027.1 spec structure\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-specs/commit/815ed72b57fe68802e665740ea547999fdeabb80"}]}],"author":{"name":"Douglas Viroel","email":"viroel@gmail.com","date":"2026-09-29 11:55:05.000000000","tz":-180},"committer":{"name":"Douglas Viroel","email":"viroel@gmail.com","date":"2026-10-02 17:38:54.000000000","tz":-180},"subject":"Add spec for zone migration availability zone drain","message":"Add spec for zone migration availability zone drain\n\nAdds a spec for a compute AZ-to-AZ mode in the zone_migration strategy,\nso an operator can drain a whole compute availability zone instead of\nenumerating every source compute node.\n\nThe zones are Nova\u0027s alone; where volumes go stays an operator-stated\npool or volume type mapping. Narrowing a drain to part of a zone is\nleft to the audit scope.\n\ncompute_nodes accepts a {src_az, dst_az} entry beside {src_node,\ndst_node}, and gains two per-entry booleans: skip_pinned_instances and\ndisable_source_nodes. storage_pools accepts a type-only {src_type,\ndst_type} entry and an optional attached_only flag.\n\nAn instance whose pin conflicts with the destination is skipped and\nreported by default, or migrated with a new repin_availability_zone\nparameter on the migrate action when an entry opts out.\n\nAssisted-By: Claude Opus 5\nChange-Id: Ic89e52512a50467b66f5c5279c9f8cbf90b4db9a\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/36285d83869bff8bbde88675ee1d698347d15869"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher-specs/commit/36285d83869bff8bbde88675ee1d698347d15869"}]},"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":""}}}]}
