-
-
Save matthiasg/3cefcb5e6d51ba66995e3011b0175a32 to your computer and use it in GitHub Desktop.
How to make QEMU guest-agent work on SmartOS
This file contains hidden or 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