mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: implementing qemuAgentGetHostname() function.
This commit implements the function qemuAgentGetHostname() that uses the QEMU guest agent command 'guest-get-host-name' to retrieve the guest hostname of virtual machine running the QEMU-GA. Signed-off-by: Julio Faracco <jcfaracco@gmail.com> Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
cce981331e
commit
597bba39ec
@ -1683,6 +1683,50 @@ qemuAgentUpdateCPUInfo(unsigned int nvcpus,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
qemuAgentGetHostname(qemuAgentPtr mon,
|
||||||
|
char **hostname)
|
||||||
|
{
|
||||||
|
int ret = -1;
|
||||||
|
virJSONValuePtr cmd;
|
||||||
|
virJSONValuePtr reply = NULL;
|
||||||
|
virJSONValuePtr data = NULL;
|
||||||
|
const char *result = NULL;
|
||||||
|
|
||||||
|
cmd = qemuAgentMakeCommand("guest-get-host-name",
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
if (!cmd)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
if (qemuAgentCommand(mon, cmd, &reply, true,
|
||||||
|
VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
if (!(data = virJSONValueObjectGet(reply, "return"))) {
|
||||||
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
|
_("malformed return value"));
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(result = virJSONValueObjectGetString(data, "host-name"))) {
|
||||||
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
|
_("'host-name' missing in guest-get-host-name reply"));
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (VIR_STRDUP(*hostname, result) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
virJSONValueFree(cmd);
|
||||||
|
virJSONValueFree(reply);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
qemuAgentGetTime(qemuAgentPtr mon,
|
qemuAgentGetTime(qemuAgentPtr mon,
|
||||||
long long *seconds,
|
long long *seconds,
|
||||||
|
@ -105,6 +105,10 @@ int qemuAgentUpdateCPUInfo(unsigned int nvcpus,
|
|||||||
qemuAgentCPUInfoPtr cpuinfo,
|
qemuAgentCPUInfoPtr cpuinfo,
|
||||||
int ncpuinfo);
|
int ncpuinfo);
|
||||||
|
|
||||||
|
int
|
||||||
|
qemuAgentGetHostname(qemuAgentPtr mon,
|
||||||
|
char **hostname);
|
||||||
|
|
||||||
int qemuAgentGetTime(qemuAgentPtr mon,
|
int qemuAgentGetTime(qemuAgentPtr mon,
|
||||||
long long *seconds,
|
long long *seconds,
|
||||||
unsigned int *nseconds);
|
unsigned int *nseconds);
|
||||||
|
Loading…
Reference in New Issue
Block a user