How do I "enable" qemu-ga on a guest to be able to (I think this means have
a success-response:true) for: guest-suspend-hybrid; guest-suspend-ram;
guest-suspend-disk; and guest-shutdown?
At least I think that's my question.
http://wiki.stoney-cloud.org/wiki/Qemu_Guest_Agent_Integration shows these
same 4 as false, so I'm not sure if they're always supposed to be that way.
My overall point is to be able to run dompmsuspend servo disk. After
setting up qemu-ga as far as I have, it at least says:
=====
Domain <vmname> successfully suspended
=====
But,
Using libvirt 1.2.18 (-1 Arch) and QEMU git-master (2.4.0.r40384.2d69736).
pm-utils 1.4.1-6. acpid 2.0.23-4
Installed using Q35 chipset.
======
{{{ domain xml file includes: }}}
<pm>
<suspend-to-mem enables='yes'/>
<suspend-to-disk enables='yes'/>
</pm>
...
<channel type='unix'>
<source mode='bind'
path='/var/lib/libvirt/qemu/channel/target/<vmname>.org.qemu.guest_agent.0'/>
<target type='virtio' name='org.qemu.guest_agent.0'/>
<address type='virtio-serial' controller='0' bus='0'
port='2'/>
</channel>
=====
client # qemu-ga --verbose
debug: received EOF
{{{ server:
virsh # shutdown <vmname> --mode agent
error: Failed to shutdown domain <vmname>
error: internal error: unable to execute QEMU agent command
'guest-shutdown': child process has failed to shutdown
}}}
debug: read data, count: 59, data: {"execute":"guest-sync",
"arguments":{"id":1439251067706}}
debug: process_event: called
debug: processing command
debug: sending data, count: 26
debug: read data, count: 62, data:
{"execute":"guest-shutdown","arguments":{"mode":"powerdown"}}
debug: process_event: called
debug: processing command
debug: sending data, count: 85
=====
{{{ server:
virsh # qemu-agent-command <vmname>
'{"execute":"guest-ping"}'
{"return":{}}
}}}
debug: read data, count: 59, data: {"execute":"guest-sync",
"arguments":{"id":1439251455241}}
debug: process_event: called
debug: processing command
debug: sending data, count: 26
debug: read data, count: 25, data: {"execute":"guest-ping"}
debug: process_event: called
debug: processing command
debug: sending data, count: 15
=====
{{{ server - the json-type data is all on one line - i broke it up:
virsh # qemu-agent-command servo '{"execute":"guest-info"}'
{"return":
{"version":"2.3.94","supported_commands":
[{"enabled":true,"name":"guest-get-memory-block-info","success-response":true},
{"enabled":true,"name":"guest-set-memory-blocks","success-response":true},
{"enabled":true,"name":"guest-get-memory-blocks","success-response":true},
{"enabled":true,"name":"guest-set-user-password","success-response":true},
{"enabled":true,"name":"guest-get-fsinfo","success-response":true},
{"enabled":true,"name":"guest-set-vcpus","success-response":true},
{"enabled":true,"name":"guest-get-vcpus","success-response":true},
{"enabled":true,"name":"guest-network-get-interfaces","success-response":true},
{"enabled":true,"name":"guest-suspend-hybrid","success-response":*false*},
{"enabled":true,"name":"guest-suspend-ram","success-response":*false*},
{"enabled":true,"name":"guest-suspend-disk","success-response":*false*},
{"enabled":true,"name":"guest-fstrim","success-response":true},
{"enabled":true,"name":"guest-fsfreeze-thaw","success-response":true},
{"enabled":true,"name":"guest-fsfreeze-freeze-list","success-response":true},
{"enabled":true,"name":"guest-fsfreeze-freeze","success-response":true},
{"enabled":true,"name":"guest-fsfreeze-status","success-response":true},
{"enabled":true,"name":"guest-file-flush","success-response":true},
{"enabled":true,"name":"guest-file-seek","success-response":true},
{"enabled":true,"name":"guest-file-write","success-response":true},
{"enabled":true,"name":"guest-file-read","success-response":true},
{"enabled":true,"name":"guest-file-close","success-response":true},
{"enabled":true,"name":"guest-file-open","success-response":true},
{"enabled":true,"name":"guest-shutdown","success-response":*false*},
{"enabled":true,"name":"guest-info","success-response":true},
{"enabled":true,"name":"guest-set-time","success-response":true},
{"enabled":true,"name":"guest-get-time","success-response":true},
{"enabled":true,"name":"guest-ping","success-response":true},
{"enabled":true,"name":"guest-sync","success-response":true},
{"enabled":true,"name":"guest-sync-delimited","success-response":true}]}}
}}}
=====