Howdy,
Hope you all are doing good!
So recently i heard from my friend about qemu guest agent and wondered if proxmox had it too. Upon reading your documentation I did find a fair bit of information, however proxmox dosent have virsh and uses qm agent to manage calls. I learnt a fair bit information on it and successfully installed guest agent on my VM.
So here is my info,
qm agent 1687 info
root@prox7 ~ # qm agent 1687 info
{
"supported_commands" : [
{
"enabled" : true,
"name" : "guest-get-osinfo",
"success-response" : true
},
{
"enabled" : true,
"name" : "guest-get-timezone",
"success-response" : true
},
{
"enabled" : true,
"name" : "guest-get-users",
"success-response" : true
},
{
"enabled" : true,
"name" : "guest-get-host-name",
"success-response" : true
},
{
"enabled" : true,
"name" : "guest-exec",
"success-response" : true
},
{
"enabled" : true,
"name" : "guest-exec-status",
"success-response" : true
},
{
"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" : false,
"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
}
],
"version" : "2.12.0"
}
root@prox7 ~ # qm agent 1687 'get-osinfo'
{
"id" : "centos",
"kernel-release" : "3.10.0-1160.42.2.el7.x86_64",
"kernel-version" : "#1 SMP Tue Sep 7 14:49:57 UTC 2021",
"machine" : "x86_64",
"name" : "CentOS Linux",
"pretty-name" : "CentOS Linux 7 (Core)",
"version" : "7 (Core)",
"version-id" : "7"
}
So my question is how do I use "guest-file-open" and provide arguments to this .i.e its path and mode.
When i simply try to do this,
root@prox7 ~ # qm agent 1687 guest-file-open
400 Parameter verification failed.
command: value 'guest-file-open' does not have a value in the enumeration 'fsfreeze-freeze, fsfreeze-status, fsfreeze-thaw, fstrim, get-fsinfo, get-host-name, get-memory-block-info, get-memory-blocks, get-osinfo, get-time, get-timezone, get-users, get-vcpus, info, network-get-interfaces, ping, shutdown, suspend-disk, suspend-hybrid, suspend-ram'
Its very confusing and I could fetch any info web, yet.
Can you please tell me what exactly I am doing wrong ? I know that for virsh command we can do this
'virsh qemu-agent-command v10687 {"execute":"guest-network-get-interfaces"} to get interfaces and
to read file we need a process id and then we can use guest-file-read to get contents.
Hope you all are doing good!
So recently i heard from my friend about qemu guest agent and wondered if proxmox had it too. Upon reading your documentation I did find a fair bit of information, however proxmox dosent have virsh and uses qm agent to manage calls. I learnt a fair bit information on it and successfully installed guest agent on my VM.
So here is my info,
qm agent 1687 info
root@prox7 ~ # qm agent 1687 info
{
"supported_commands" : [
{
"enabled" : true,
"name" : "guest-get-osinfo",
"success-response" : true
},
{
"enabled" : true,
"name" : "guest-get-timezone",
"success-response" : true
},
{
"enabled" : true,
"name" : "guest-get-users",
"success-response" : true
},
{
"enabled" : true,
"name" : "guest-get-host-name",
"success-response" : true
},
{
"enabled" : true,
"name" : "guest-exec",
"success-response" : true
},
{
"enabled" : true,
"name" : "guest-exec-status",
"success-response" : true
},
{
"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" : false,
"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
}
],
"version" : "2.12.0"
}
root@prox7 ~ # qm agent 1687 'get-osinfo'
{
"id" : "centos",
"kernel-release" : "3.10.0-1160.42.2.el7.x86_64",
"kernel-version" : "#1 SMP Tue Sep 7 14:49:57 UTC 2021",
"machine" : "x86_64",
"name" : "CentOS Linux",
"pretty-name" : "CentOS Linux 7 (Core)",
"version" : "7 (Core)",
"version-id" : "7"
}
So my question is how do I use "guest-file-open" and provide arguments to this .i.e its path and mode.
When i simply try to do this,
root@prox7 ~ # qm agent 1687 guest-file-open
400 Parameter verification failed.
command: value 'guest-file-open' does not have a value in the enumeration 'fsfreeze-freeze, fsfreeze-status, fsfreeze-thaw, fstrim, get-fsinfo, get-host-name, get-memory-block-info, get-memory-blocks, get-osinfo, get-time, get-timezone, get-users, get-vcpus, info, network-get-interfaces, ping, shutdown, suspend-disk, suspend-hybrid, suspend-ram'
Its very confusing and I could fetch any info web, yet.
Can you please tell me what exactly I am doing wrong ? I know that for virsh command we can do this
'virsh qemu-agent-command v10687 {"execute":"guest-network-get-interfaces"} to get interfaces and
to read file we need a process id and then we can use guest-file-read to get contents.