mirror of
https://github.com/libvirt/libvirt.git
synced 2026-09-03 20:53:04 -05:00
virt-admin: Introduce cmdSrvList
Since we introduced listing API earlier in these series, it's time to wire up the API to the virt-admin client. Signed-off-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
@@ -300,6 +300,56 @@ cmdConnect(vshControl *ctl, const vshCmd *cmd)
|
|||||||
return !!priv->conn;
|
return !!priv->conn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ---------------
|
||||||
|
* Command srv-list
|
||||||
|
* ---------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
static const vshCmdInfo info_srv_list[] = {
|
||||||
|
{.name = "help",
|
||||||
|
.data = N_("list available servers on a daemon")
|
||||||
|
},
|
||||||
|
{.name = "desc",
|
||||||
|
.data = N_("List all manageable servers on a daemon.")
|
||||||
|
},
|
||||||
|
{.name = NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
static bool
|
||||||
|
cmdSrvList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
int nsrvs = 0;
|
||||||
|
size_t i;
|
||||||
|
bool ret = false;
|
||||||
|
const char *uri = NULL;
|
||||||
|
virAdmServerPtr *srvs = NULL;
|
||||||
|
vshAdmControlPtr priv = ctl->privData;
|
||||||
|
|
||||||
|
/* Obtain a list of available servers on the daemon */
|
||||||
|
if ((nsrvs = virAdmConnectListServers(priv->conn, &srvs, 0)) < 0) {
|
||||||
|
uri = virAdmConnectGetURI(priv->conn);
|
||||||
|
vshError(ctl, _("failed to obtain list of available servers from %s"),
|
||||||
|
NULLSTR(uri));
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf(" %-5s %-15s\n", "Id", "Name");
|
||||||
|
printf("---------------\n");
|
||||||
|
for (i = 0; i < nsrvs; i++)
|
||||||
|
vshPrint(ctl, " %-5zu %-15s\n", i, virAdmServerGetName(srvs[i]));
|
||||||
|
|
||||||
|
ret = true;
|
||||||
|
cleanup:
|
||||||
|
if (srvs) {
|
||||||
|
for (i = 0; i < nsrvs; i++)
|
||||||
|
virAdmServerFree(srvs[i]);
|
||||||
|
VIR_FREE(srvs);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
static void *
|
static void *
|
||||||
vshAdmConnectionHandler(vshControl *ctl)
|
vshAdmConnectionHandler(vshControl *ctl)
|
||||||
{
|
{
|
||||||
@@ -592,8 +642,19 @@ static const vshCmdDef vshAdmCmds[] = {
|
|||||||
{.name = NULL}
|
{.name = NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const vshCmdDef monitoringCmds[] = {
|
||||||
|
{.name = "srv-list",
|
||||||
|
.handler = cmdSrvList,
|
||||||
|
.opts = NULL,
|
||||||
|
.info = info_srv_list,
|
||||||
|
.flags = 0
|
||||||
|
},
|
||||||
|
{.name = NULL}
|
||||||
|
};
|
||||||
|
|
||||||
static const vshCmdGrp cmdGroups[] = {
|
static const vshCmdGrp cmdGroups[] = {
|
||||||
{"Virt-admin itself", "virt-admin", vshAdmCmds},
|
{"Virt-admin itself", "virt-admin", vshAdmCmds},
|
||||||
|
{"Monitoring commands", "monitor", monitoringCmds},
|
||||||
{NULL, NULL, NULL}
|
{NULL, NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user