[libvirt-users] Problem with listDomains() in Xen
PREETHI RAMESH
iampreethiramesh at gmail.com
Sat Nov 12 06:29:32 UTC 2011
Hey,
I've tried the following:
1.Domain d=conn.domainLookupByName("test");
System.out.print("Active test" +d.isActive() );
O/p- This gives me 1 as the answer and hence active.
2.Domain d=conn.domainLookupByName("test");
System.out.print("Active test" +d.isPersistent() );
O/p- Gives me the following error:
Exception in thread "main" org.libvirt.LibvirtException: Unknown failure
at org.libvirt.ErrorHandler.processError(Unknown Source)
at org.libvirt.Connect.processError(Unknown Source)
at org.libvirt.Domain.processError(Unknown Source)
at org.libvirt.Domain.isPersistent(Unknown Source)
3. Using listDefinedDomains():
String a[]=conn.listDefinedDomains();
System.out.println(a.length); --->gives 0
System.out.println(a[0]); ----> throes null pointer exception
4.Tried looking at VMM, and all the domains are running. The output of xm
--list also confirms it.
Thanks!
Preethi
On Sat, Nov 12, 2011 at 4:51 AM, Eric Blake <eblake at redhat.com> wrote:
> [your mailer seems to want to start a new thread rather than replying to
> the existing thread, which makes following your mails difficult. Could
> you please fix that?]
>
> On 11/10/2011 09:09 PM, PREETHI RAMESH wrote:
> > This question concerns the usage of the listDomains(). When I run this
> > piece of code in KVM, it works perfectly fine but throws an array out of
> > bounds exception in Xen.
> >
> > Connect conn=null;
> > conn = new Connect("xen:///", true);
> > int[] id = conn.listDomains();
> > System.out.println("lD of VM " +id[0]);
> >
> > Answer I'd got:
> > Well, your code assumes that id.length is >= 1, but listDomains() can
> > return an empty array when there are no active domains known to
> > libvirt. So you need to check id.length before accessing any element
> > in the array.
> >
> > Follow up- I tried accessing the length of the array and it's 0 all the
> > time. And there are active domains available.
> > In fact, I'm able to getUUID from the domain name. Other functions work
> > fine too.
>
> getUUID works on inactive domains. Are you sure you have active
> domains? Most likely, the array length really is 0 because you haven't
> started any of your domains.
>
> Have you looked into using listDefinedDomains(), to see the remaining
> persistent domains that are defined but not running?
>
> --
> Eric Blake eblake at redhat.com +1-801-349-2682
> Libvirt virtualization library http://libvirt.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20111112/14420ec5/attachment.htm>
More information about the libvirt-users
mailing list