I just did a test with yestearday's Nova Git (output of `git describe`: "13.0.0-500-g654181b" when I tested), seems like during instance evacuate (`nova evacuate vm1 target-host`), QEMU guest agent metadata for the evauated instance _does_ seem to persist the destination Compute node. Test procedure -------------- (1) Ensure `qemu-guest-agent` is running on both, source _and_ target Compute nodes: $ systemctl status qemu-guest-agent * qemu-guest-agent.service - QEMU Guest Agent Loaded: loaded (/usr/lib/systemd/system/qemu-guest-agent.service; static; vendor preset: enabled) Active: active (running) since Wed 2016-04-20 05:16:59 EDT; 2h 10min ago [...] (2) Update Glance image metadata property to have 'hw_qemu_guest_agent=yes': $ glance image-update 9c915a2c-5c74-4274-aca4-112d322618dd \ --property hw_qemu_guest_agent=yes (3) Boot an instance (and ensure the instance is active): $ nova boot --flavor 1 --key_name oskey1 --image \ 9c915a2c-5c74-4274-aca4-112d322618dd cirrvm1 (4) Check for the QEMU guest agent libvirt XML snippet for the instance: $ sudo virsh dumpxml 06e11b94-d178-4a3a-99cc-ce76b3738579 | grep agent -A3 -B1
(5) Force-down the 'nova-compute' binary on the host where source Compute node is running: $ nova service-force-down devstack1 nova-compute +-----------+--------------+-------------+ | Host | Binary | Forced down | +-----------+--------------+-------------+ | devstack1 | nova-compute | True | +-----------+--------------+-------------+ (6) 'nova-compute' binary is marked down on devstack1 (where the first Compute node is running): $ nova service-list +----+----------------+-----------+----------+---------+-------+----------------------------+-----------------+ | Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason | +----+----------------+-----------+----------+---------+-------+----------------------------+-----------------+ | 3 | nova-conductor | devstack1 | internal | enabled | up | 2016-04-20T11:14:10.000000 | - | | 4 | nova-cert | devstack1 | internal | enabled | up | 2016-04-20T11:14:07.000000 | - | | 5 | nova-scheduler | devstack1 | internal | enabled | up | 2016-04-20T11:14:08.000000 | - | | 6 | nova-compute | devstack1 | nova | enabled | down | 2016-04-20T11:14:04.000000 | - | | 7 | nova-compute | devstack2 | nova | enabled | up | 2016-04-20T11:14:05.000000 | - | +----+----------------+-----------+----------+---------+-------+----------------------------+-----------------+ (7) Perform the evacuation of the Nova instance ('cirrvm1') to the destination Compute node (called 'devstack2' in this case): $ nova evacuate cirrvm1 devstack2 (8) SSH into the destination Compute node, and check (a) if 'cirrvm1' is running there, and (b) if the QEMU guest agent XML metadata snippet is present: $ sudo virsh dumpxml 06e11b94-d178-4a3a-99cc-ce76b3738579 | grep agent -B1 -A3
As it can be seen in step-(8), post instance evacuation, the guest agent metadata persists on the target Compute node.