On Wed, Nov 11, 2009 at 07:48:41PM +0100, Ricardo Mendes wrote:
> >>>import libvirt
> >>>con=libvirt.open('xen:///')
> >> libvirt.getVersion()
> 7002
> >>>dom=con.defineXML('<domain type="xen"><name>rtiago_test2</name><clock 
> >>>offset="utc"/><vcpu>8</vcpu><on_poweroff>restart</on_poweroff><devices><disk
> >>> device="disk" type="file"><source file="/images/SLC-4-x86.img"/><driver 
> >>>name="file"/><target bus="xen" dev="xvda1"/></disk><console 
> >>>tty="/dev/pts/2" type="pty"><source path="/dev/pts/2"/><target 
> >>>port="0"/></console></devices><on_crash>restart</on_crash><currentMemory>300000</currentMemory><memory>300000</memory><on_reboot>restart</on_reboot><os><kernel>/root/vmlinuz</kernel><initrd>/root/initrd.img</initrd><type>linux</type><root>/dev/xvda1
> >>> ro</root><cmdline>rtiago</cmdline></os></domain>')
> 
> >>> dom.create()
> >>>0
> 
> >>> dom.destroy()
> >>> 0
> 
> >>> dom.create()
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> File "/usr/lib64/python2.4/site-packages/libvirt.py", line 287, in create
> if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
> libvirt.libvirtError: Unknown failure
> 
> Every call to create will raise the same exception, It only works if I do a 
> new connection to the 
> hypervisor. Is there an workaround??

It depends on what you are trying to do. If you have a persistent domain
XML that you want to keep, define it once with defineXML and later get
access to it with conn.lookupByName() or friends, create(), and finally
destroy() it.

Anyway, dom.destroy() makes the dom object useless as the name may
suggest ;-)

--
Libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to