[libvirt] [PATCH v2 4/9] virsh: Add vshDomainCompleter

Peter Krempa pkrempa at redhat.com
Thu Aug 22 08:26:15 UTC 2013


On 08/20/13 22:40, Eric Blake wrote:
> On 08/20/2013 02:30 PM, Eric Blake wrote:
>> I'm not a fan of this.  We worked hard to get some commands (like 'virsh
>> echo') to NOT need a connection, and this would be undoing that work.  I
>> think we should NOT autoconnect UNTIL we reach the point that completion
>> is being attempted on something where a connection is needed to get the
>> completer list, rather than this code which autoconnects regardless of
>> whether we need completion.  Having 'virsh echo' avoid an autoconnect is
>> useful - it can be used to prove whether virsh itself is working or has
>> a problem such as a missing .so, without complicating the diagnosis with
>> a question of whether it is a bad default connection to blame.
> 
> More along that line of thought:
> 
> If I type:
> 
> $ virsh
> virsh> e<TAB>
> 
> I want a completion to list all commands that start with 'e'; one of
> those commands is 'echo', which does not need a connection.
> 
> Therefore, if I use the shell:
> 
> $ virsh e<TAB>
> 
> and the shell uses, under the hood,
> 
> $ virsh complete e
> 
> that particular completion attempt should NOT attempt an autoconnect,
> because it is not completing on any information that requires a
> connection.  autoconnect to qemu:///session can be noticeably
> time-consuming on the first time it is attempted.  Although the session
> server tends to stick around for a few seconds after the last
> connection, so that future connection attempts in a short timeframe are
> serviced faster, you still don't want to pay the penalty for a delay for
> the first autoconnect until it is mandatory for the completion at hand.
>  Whereas an interactive virsh keeps one connection open across multiple
> uses, the bash completion routines will be invoking a different instance
> of 'virsh' for every <TAB> hit on the shell command line, where we want
> each instance to be as fast as possible.

Also if a user decides to use a ssh-tunneled connection as default but
will not use ssh keys for authentication each completion attempt will
request the password from the user, which might get annoying.

Peter


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130822/4c15f1f9/attachment-0001.sig>


More information about the libvir-list mailing list