mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
tools: add 'nodesevinfo' virsh command
While some SEV info is reported in the domain capabilities, for reasons of size, this excludes the certificates. The nodesevinfo command provides the full set of information. Reviewed-by: Peter Krempa <pkrempa@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
@@ -888,6 +888,45 @@ cmdNodeMemStats(vshControl *ctl, const vshCmd *cmd)
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* "nodesevinfo" command
|
||||
*/
|
||||
static const vshCmdInfo info_nodesevinfo[] = {
|
||||
{.name = "help",
|
||||
.data = N_("node SEV information")
|
||||
},
|
||||
{.name = "desc",
|
||||
.data = N_("Returns basic SEV information about the node.")
|
||||
},
|
||||
{.name = NULL}
|
||||
};
|
||||
|
||||
static bool
|
||||
cmdNodeSEVInfo(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
{
|
||||
virshControl *priv = ctl->privData;
|
||||
size_t i;
|
||||
int nparams = 0;
|
||||
virTypedParameterPtr params = NULL;
|
||||
bool ret = false;
|
||||
|
||||
if (virNodeGetSEVInfo(priv->conn, ¶ms, &nparams, 0) != 0) {
|
||||
vshError(ctl, "%s", _("Unable to get host SEV information"));
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
for (i = 0; i < nparams; i++) {
|
||||
g_autofree char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
vshPrint(ctl, "%-18s: %s\n", params[i].field, str);
|
||||
}
|
||||
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
virTypedParamsFree(params, nparams);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* "nodesuspend" command
|
||||
*/
|
||||
@@ -1828,6 +1867,12 @@ const vshCmdDef hostAndHypervisorCmds[] = {
|
||||
.info = info_nodememstats,
|
||||
.flags = 0
|
||||
},
|
||||
{.name = "nodesevinfo",
|
||||
.handler = cmdNodeSEVInfo,
|
||||
.opts = NULL,
|
||||
.info = info_nodesevinfo,
|
||||
.flags = 0
|
||||
},
|
||||
{.name = "nodesuspend",
|
||||
.handler = cmdNodeSuspend,
|
||||
.opts = opts_node_suspend,
|
||||
|
||||
Reference in New Issue
Block a user