[libvirt-users] Fwd: undefining and redefining a Domain from libvirt java bindings

Ravi Pawar ravifc at gmail.com
Fri Oct 22 14:23:19 UTC 2010


that worked :-)

Thanks,
Ravi

On Thu, Oct 21, 2010 at 9:04 PM, Matthias Bolte <
matthias.bolte at googlemail.com> wrote:

> You need to free() all domain objects that represent the undefine
> domain before defining a domain with the same name again:
>
> System.out.println("first define tt2...");
> Domain dm1 = conn.domainDefineXML(dumpxml);
> Domain dm2 = conn.domainLookupByName("tt2");
> System.out.println("Now undefine....");
> if (dm2 != null) {
>        System.out.println("undefine tt2...");
>        dm2.undefine();
>        dm2.free();
>        dm1.free(); // <---------- need to free dm1 here too
>        System.out.println("undefine tt2... done");
> }
>
> Matthias
>
> 2010/10/21 Ravi Pawar <ravifc at gmail.com>:
> > Thanks Matthias,
> >
> > can you please have a look at the program attached? this should work as i
> > have used free() call. but its not working for me.
> >
> > Thanks,
> > Ravi
> >
> > On Mon, Oct 18, 2010 at 6:20 PM, Bryan Kearney <bkearney at redhat.com>
> wrote:
> >>
> >> On 10/15/2010 10:05 AM, Matthias Bolte wrote:
> >>>
> >>> 2010/10/13 Matthias Bolte<matthias.bolte at googlemail.com>:
> >>>>
> >>>> 2010/10/12 Matthias Bolte<matthias.bolte at googlemail.com>:
> >>>>>
> >>>>> 2010/10/12 Ravi Pawar<ravifc at gmail.com>:
> >>>>>>
> >>>>>> hi,
> >>>>>>
> >>>>>> i am trying to undefine a domain  by using dm.undefine();
> >>>>>> and then trying to create one with same name is giving me error
> saying
> >>>>>> 'Domain not found: no domain with matching uuid
> >>>>>> 'aeae9d4e-17cb-b661-a612-88ac677c28c1'
> >>>>>>
> >>>>>> i have attached my test program which reproduces the issue.
> >>>>>>
> >>>>>> please let me know where i am going wrong?
> >>>>>>
> >>>>>> configuration: libvirt : 0.6.3
> >>>>>>                     Java Bindings: 0.4.2
> >>>>>
> >>>>> I didn't look into this problem in detail, but I think you need to
> >>>>> call free on the Domain object after you undefined it.
> >>>>>
> >>>>> dm.undefine();
> >>>>> dm.free();
> >>>>> dm = null;
> >>>>>
> >>>>> Matthias
> >>>>>
> >>>>
> >>>> Okay, calling free doesn't help. I tested it with libvirt 0.6.3 and
> >>>> libvirt-java 0.4.6 and can reproduce your problem.
> >>>>
> >>>> This problem is fixed in libvirt 0.8.2. I didn't track it down to the
> >>>> actual commit.
> >>>>
> >>>> So in order to fix your problem you'll have to update libvirt to 0.8.2
> >>>> or identify the commit between 0.8.1 and 0.8.2 that fixes your problem
> >>>> and backport it to 0.6.3.
> >>>>
> >>>> Matthias
> >>>>
> >>>
> >>> I found the commit (30ec755ecb3350116d2851afa0de02e77dbe2c51) that
> >>> avoids the problem in your original test code. I say 'avoid' instead
> >>> of 'fix' because the actual fix is to call free on the domain objects
> >>> after undefining them as I initially suggested. But when I tested this
> >>> I did it wrong and jumped to false conclusions.
> >>>
> >>> Just to say it once again: Adding free calls solve this problem for me
> >>> with libvirt 0.6.3.
> >>>
> >>> I attached a modified version of your test code that works for me.
> >>>
> >>
> >> Which the latest code has.
> >>
> >> -- bk
> >>
> >>
> >
> >
> >
> > --
> > Thanks & Regards
> >
> > Ravi Pawar
> >
>



-- 
Thanks & Regards

Ravi Pawar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20101022/cc815292/attachment.htm>


More information about the libvirt-users mailing list