Created
September 30, 2014 15:56
-
-
Save xen0l/732fb7a6bb50ffbf0ba9 to your computer and use it in GitHub Desktop.
How to make QEMU guest-agent work on SmartOS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[root@smartos ~]# UUID="afe2f552-4a35-4c44-8855-a9bac10f27d2" | |
[root@smartos ~]# vmadm update ${UUID} qemu_extra_opts="-chardev socket,path=/tmp/vm.qga,server,nowait,id=qga0 -device virtio-serial -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0" | |
Successfully updated VM afe2f552-4a35-4c44-8855-a9bac10f27d2 | |
[root@smartos ~]# vmadm boot ${UUID} | |
Successfully started VM afe2f552-4a35-4c44-8855-a9bac10f27d2 | |
[root@smartos ~]# sleep 60 # Machine needs to boot up | |
[root@smartos ~]# echo '{"execute": "guest-ping" }' | socat stdio unix-connect:/zones/${UUID}/root/tmp/vm.qga # Is GA alive? | |
{"return": {}} | |
[root@smartos ~]# echo '{"execute": "guest-info" }' | socat stdio unix-connect:/zones/${UUID}/root/tmp/vm.qga # show information about GA | |
{"return": {"version": "0.12.1", "supported_commands": [{"enabled": true, "name": "guest-set-vcpus"}, {"enabled": true, "name": "guest-get-vcpus"}, {"enabled": true, "name": "guest-network-get-interfaces"}, {"enabled": true, "name": "guest-suspend-hybrid"}, {"enabled": true, "name": "guest-suspend-ram"}, {"enabled": true, "name": "guest-suspend-disk"}, {"enabled": true, "name": "guest-fstrim"}, {"enabled": true, "name": "guest-fsfreeze-thaw"}, {"enabled": true, "name": "guest-fsfreeze-freeze"}, {"enabled": true, "name": "guest-fsfreeze-status"}, {"enabled": false, "name": "guest-file-flush"}, {"enabled": false, "name": "guest-file-seek"}, {"enabled": false, "name": "guest-file-write"}, {"enabled": false, "name": "guest-file-read"}, {"enabled": false, "name": "guest-file-close"}, {"enabled": false, "name": "guest-file-open"}, {"enabled": true, "name": "guest-shutdown"}, {"enabled": true, "name": "guest-info"}, {"enabled": true, "name": "guest-set-time"}, {"enabled": true, "name": "guest-get-time"}, {"enabled": true, "name": "guest-ping"}, {"enabled": true, "name": "guest-sync"}, {"enabled": true, "name": "guest-sync-delimited"}]}} | |
[root@smartos ~]# echo '{"execute":"guest-fsfreeze-freeze"}' | socat stdio unix-connect:/zones/${UUID}/root/tmp/vm.qga # freeze guest filesystem | |
{"return": 2} | |
[root@smartos ~]# echo '{"execute":"guest-fsfreeze-status"}' | socat stdio unix-connect:/zones/${UUID}/root/tmp/vm.qga | |
{"return": "frozen"} | |
[root@smartos ~]# echo '{"execute":"guest-fsfreeze-thaw"}' | socat stdio unix-connect:/zones/${UUID}/root/tmp/vm.qga # thaw guest filesystem | |
{"return": 2} | |
[root@smartos ~]# echo '{"execute":"guest-fsfreeze-status"}' | socat stdio unix-connect:/zones/${UUID}/root/tmp/vm.qga | |
{"return": "thawed"} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment