Allow VIRSH_DEFAULT_CONNECT_URI to override default URI. Don't asusme there is always a domain-0

This commit is contained in:
Daniel P. Berrange committed 2006-08-25 22:40:33 +00:00
1 parent b1ca7467f4
commit 18bb75eb84
2 files changed
+22 -9

No files matched your search

+7
View File
@@ -1,3 +1,10 @@
Fri Aug 25 17:42:12 EDT 2006 Daniel Berrange <berrange@redhat.com>
* src/virsh.c: Allow VIRSH_DEFAULT_CONNECT_URI to be set to
override the default Xen connection attempt in favour of a
different backend. Fix 'virsh list' so that it doesn't assume
there is always a Domain-0 (a Xen-ism).
Thu Aug 24 16:43:47 EDT 2006 Daniel Berrange <berrange@redhat.com>
* tests/virshtest.c: Test suite for validating output / operation
+15 -9
View File
@@ -319,24 +319,24 @@ static vshCmdInfo info_list[] = {
static int
cmdList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
{
int *ids, maxid, i;
int *ids = NULL, maxid, i;
if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
return FALSE;
maxid = virConnectNumOfDomains(ctl->conn);
if (maxid <= 0) {
/* strange, there should be at least dom0... */
if (maxid < 0) {
vshError(ctl, FALSE, "failed to list active domains.");
return FALSE;
}
ids = vshMalloc(ctl, sizeof(int) * maxid);
if (maxid) {
ids = vshMalloc(ctl, sizeof(int) * maxid);
if (virConnectListDomains(ctl->conn, &ids[0], maxid) < 0) {
vshError(ctl, FALSE, "failed to list active domains.");
return FALSE;
if (virConnectListDomains(ctl->conn, &ids[0], maxid) < 0) {
vshError(ctl, FALSE, "failed to list active domains.");
return FALSE;
}
}
vshPrintExtra(ctl, "%3s %-20s %s\n", "Id", "Name", "State");
vshPrintExtra(ctl, "----------------------------------\n");
@@ -357,7 +357,8 @@ cmdList(vshControl * ctl, vshCmd * cmd ATTRIBUTE_UNUSED)
0 ? "no state" : vshDomainStateToString(info.state));
virDomainFree(dom);
}
free(ids);
if (ids)
free(ids);
return TRUE;
}
@@ -2377,6 +2378,7 @@ int
main(int argc, char **argv)
{
vshControl _ctl, *ctl = &_ctl;
char *defaultConn;
int ret = TRUE;
if (!(progname = strrchr(argv[0], '/')))
@@ -2387,6 +2389,10 @@ main(int argc, char **argv)
memset(ctl, 0, sizeof(vshControl));
ctl->imode = TRUE; /* default is interactive mode */
if ((defaultConn = getenv("VIRSH_DEFAULT_CONNECT_URI"))) {
ctl->name = strdup(defaultConn);
}
if (!vshParseArgv(ctl, argc, argv))
exit(EXIT_FAILURE);