)]}'
{"id":"openstack%2Fnova~977150","triplet_id":"openstack%2Fnova~master~Ie84e2e8ab2d3065b1562ee5e256fa163541955f7","project":"openstack/nova","branch":"master","topic":"nova-livemigration-ceph","attention_set":{},"removed_from_attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-02-17 22:01:11.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ie84e2e8ab2d3065b1562ee5e256fa163541955f7","subject":"Handle missing libvirt services in evacuate hook","status":"MERGED","created":"2026-02-17 18:22:42.000000000","updated":"2026-02-17 22:02:20.000000000","submitted":"2026-02-17 22:01:11.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"977150-nova-livemigration-ceph","meta_rev_id":"bff36ab140b18c1449e954ce464e22504de0b1f4","_number":977150,"virtual_id_number":977150,"owner":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-02-17 22:01:11.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":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"all":[{"value":2,"date":"2026-02-17 19:43:13.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":2,"date":"2026-02-17 19:28:55.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"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":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"all":[{"value":1,"date":"2026-02-17 19:43:13.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"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":{"approved":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"all":[{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":2,"date":"2026-02-17 19:28:55.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"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":{"CC":[{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]}],"REVIEWER":[{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-02-17 18:23:01.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":"CC"},{"updated":"2026-02-17 18:28:36.000000000","updated_by":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-02-17 19:28:55.000000000","updated_by":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"reviewer":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"state":"REVIEWER"},{"updated":"2026-02-17 19:43:13.000000000","updated_by":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"reviewer":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"state":"REVIEWER"},{"updated":"2026-02-17 22:01:11.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"}],"messages":[{"id":"1d2f74701f6671c660f447aa9c838982a5b69948","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-02-17 18:22:42.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"7579a921a8dfeababbcea617e5e921270e711912","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-17 18:23:01.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3d92284eee05493ba3aca1a56b245c86\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/ee8b566a1f634f22ab1fe497f7082aec : NODE_FAILURE Node(set) request dbe4a8eb75a948ef9c6ecfc4faf2f60b failed in 0s (non-voting)\n- openstack-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/a42c114c775c47ee9a4cf260067a403d : NODE_FAILURE Node(set) request ac7eb92637e3480fbc878470b741ca54 failed in 0s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/4b863c20eb944470bd04698e154a2a03 : NODE_FAILURE Node(set) request 970c195e4dd74655900ebae11ef23851 failed in 0s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"6d2e8d01fce6b3e66b266fea1d2820217ee085f4","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-02-17 18:28:36.000000000","message":"Patch Set 1:\n\nBuild Failed \n\n* quobyteci:  nova_quobyteci : FAILURE, logs at: https://oscilogs.quobyte.com/logs/Ie84e2e8ab2d3065b1562ee5e256fa163541955f7 .","accounts_in_message":[],"_revision_number":1},{"id":"d848fa9203a609d46a68085ef33942ed863ca31f","author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"date":"2026-02-17 19:28:55.000000000","message":"Patch Set 1: Code-Review+2 Review-Priority+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"f645900fe454373716b3cefcf29bddc5e0f73e2d","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2026-02-17 19:43:13.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"562c752219add81b50b824be158f19f5853e2b62","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-17 22:01:11.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/78eff25136d64dd0b45681ed3254ab9a\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/ad7df577bd224c318824535b7a5a47ee : SUCCESS in 1h 01m 55s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/05463baaf4d747d283d35b76afb2d6b9 : SUCCESS in 1h 31m 40s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/57021e80bde6450d91991029162aced0 : SUCCESS in 1h 03m 23s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/24ada19bcce541d88e2c1ac68ae39da7 : SUCCESS in 7m 35s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/fd9902e1a0b147f480afb681539755a3 : SUCCESS in 14m 23s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8b78cb0167dc48d689df787df5e4d7a4 : SUCCESS in 11m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9661459324fb4f829bc454910afe2f53 : SUCCESS in 12m 58s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/224dee969a8a492b98505b74b399a199 : SUCCESS in 46m 09s\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/53f63ff7f15c4052bfbf974689825da0 : SUCCESS in 24m 22s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/30b382d7bc4240b7a2f6185021b4f60a : SUCCESS in 24m 28s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/8815d7bb1b3c485ab8f0f4dce2909454 : SUCCESS in 2h 03m 54s\n- nova-next https://zuul.opendev.org/t/openstack/build/ad87d39312eb45edb56da3eb1463a89c : SUCCESS in 1h 11m 17s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/adb9e5578ebc4233acdcbc40c5acae7c : SUCCESS in 4m 46s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/18906d08fdb140cdac639a4883d1272c : SUCCESS in 1h 42m 02s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/f5d5f9c92e2f49019f741bc7fcbb53a5 : SUCCESS in 53m 21s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ebf33fb3aed247aa9da4ec9b307b0699 : SUCCESS in 1h 02m 21s\n- nova-tox-py312-threading https://zuul.opendev.org/t/openstack/build/7e8cee09904d418cbe9d5846cedab00f : SUCCESS in 9m 59s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/220eb83ba4204188bb583e0903f39221 : SUCCESS in 35m 21s","accounts_in_message":[],"_revision_number":1},{"id":"0fc8051673d1223f31f3d7a91bb0cb93078d4626","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-17 22:01:11.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"bff36ab140b18c1449e954ce464e22504de0b1f4","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-17 22:02:20.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/043602cf7911498381552d97390620e7\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/edf93b96289e499ebdf00a8ea5149d34 : SUCCESS in 48s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"6c9110bb8b6c92da9084594fec6cab41983bc903","revisions":{"6c9110bb8b6c92da9084594fec6cab41983bc903":{"kind":"REWORK","_number":1,"created":"2026-02-17 18:22:42.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/50/977150/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/50/977150/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/50/977150/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/50/977150/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/50/977150/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/50/977150/1"}}},"commit":{"parents":[{"commit":"f3d9188a937518e9dbfa434436ba336bc2107fc2","subject":"Merge \"TPM: support live migration of `host` secret security\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/f3d9188a937518e9dbfa434436ba336bc2107fc2"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-02-17 18:22:22.000000000","tz":0},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-02-17 18:22:22.000000000","tz":0},"subject":"Handle missing libvirt services in evacuate hook","message":"Handle missing libvirt services in evacuate hook\n\nOn Debian 13 (Trixie), libvirt packaging is modularized and\nthe libvirt-daemon-lock package (providing virtlockd) is\noptional. The evacuate hook previously assumed all libvirt\nservices were installed and failed when stopping/starting\nmissing units.\n\nExtract a reusable manage_libvirt_service.yaml task file that\nchecks if a service exists via systemctl list-unit-files\nbefore managing its units. This prevents failures when\noptional libvirt packages are not installed and future-proofs\nagainst further packaging changes.\n\nGenerated-By: claude-code\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\nChange-Id: Ie84e2e8ab2d3065b1562ee5e256fa163541955f7\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/6c9110bb8b6c92da9084594fec6cab41983bc903"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/6c9110bb8b6c92da9084594fec6cab41983bc903"}]},"branch":"refs/heads/master"}},"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":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"}},{"label":"Review-Priority","status":"MAY","applied_by":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"}}]}],"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":{}}}]}
