On Thu, Jul 17, 2008 at 01:20:59PM +0400, Evgeniy Sokolov wrote:
Daniel Veillard ?????:
>On Wed, Jul 16, 2008 at 08:10:21PM +0100, Daniel P. Berrange wrote:
>>Yes, the documentation is wrong - all inactive VMs have an ID
>>of -1, and thus lookup-by-ID is nonsensical for inactive VMs.
>>
>>If any application did make use of this change which falls back to
>>lookup-by-name, then it would only ever work with OpenVZ and not
>>any of the other libvirt drivers, which isn't useful behaviour.
>[...]
>>> Then the virLookupById description must be updated, I'm not against
it,
>>>but we need to be coherent.
>>Indeed, the docs need to be clarified.
>
> okay, what about
> * Try to find a domain based on the hypervisor ID number
> * Note that this won't work for inactive domains which have an ID of -1,
> * in that case a lookup based on the Name or UUId need to be done
> instead.
Ok.
In that case we may disable lookup-by-id in undefine subcommand.
Ahhhh, so that's why you were seeing the error. Yes, this makes sens
because a VM has to be shutoff before undefine is allowed.
Index: virsh.c
===================================================================
RCS file: /data/cvs/libvirt/src/virsh.c,v
retrieving revision 1.155
diff -u -p -r1.155 virsh.c
--- virsh.c 29 May 2008 14:56:12 -0000 1.155
+++ virsh.c 17 Jul 2008 09:04:17 -0000
@@ -978,7 +978,8 @@ cmdUndefine(vshControl * ctl, vshCmd * c
if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
return FALSE;
- if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &name)))
+ if (!(dom = vshCommandOptDomainBy(ctl, cmd, "domain", &name,
+ VSH_BYNAME|VSH_BYUUID)))
return FALSE;
if (virDomainUndefine(dom) == 0) {
ACK
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|