Bug 1367738

Summary: Missing bash completion scripts for: virt-diff guestunmount virt-copy-in virt-copy-out virt-customize virt-get-kernel virt-p2v-make-disk virt-p2v-make-kickstart virt-tar-in virt-tar-out virt-v2v-copy-to-local virt-win-reg
Product: Red Hat Enterprise Linux 7 Reporter: Richard W.M. Jones <rjones>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact: Jiri Herrmann <jherrman>
Priority: unspecified    
Version: 7.3CC: mxie, ptoscano, rjones, tzheng, xchen
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libguestfs-1.36.3-1.el7 Doc Type: Release Note
Doc Text:
Tab completion for all *libguestfs* commands Bash completion scripts have been added for all *libguestfs* tools. As a result, it is now possible to use Tab completion in bash with every *libguestfs* command.
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 22:08:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1359086    
Bug Blocks:    

Description Richard W.M. Jones 2016-08-17 10:56:53 UTC
Description of problem:

Bash completion scripts are missing for the tools mentioned
in the summary.

Version-Release number of selected component (if applicable):

libguestfs-bash-completion-1.32.7-1.el7.noarch

How reproducible:

100%

Steps to Reproduce:
1. virt-diff --<tab>

Actual results:

No completions are listed.

Expected results:

It should produce a list of completions.

Comment 2 Richard W.M. Jones 2016-08-25 12:16:09 UTC
I've posted most of the fix for this:

https://www.redhat.com/archives/libguestfs/2016-August/msg00138.html

Comment 3 Richard W.M. Jones 2016-08-25 12:59:15 UTC
The above (mostly-) fix will be upstream in >= 1.34.1.

Comment 5 mxie@redhat.com 2017-03-22 03:03:25 UTC
I can reproduce the bug with build:
libguestfs-bash-completion-1.32.7-3.el7.noarch

Verify the bug with build:
libguestfs-bash-completion-1.36.2-2.el7.noarch
libguestfs-1.36.2-2.el7.x86_64

Steps:
1.Install libguestfs-bash-completion and libguestfs related packages on the test server

2.Verify whether there is bash completion scripts for virt-diff
#virt-diff -<tab>
-a                 -c                 -d                 --dir-nlinks       --extra-stat       --human-readable   --times            -V                 --xattrs           
-A                 --checksum         -D                 --dir-time         --extra-stats      --keys-from-stdin  --time-t           --verbose          
--add              --checksums        --dir-link         --dir-times        --format           --time             --uid              --version          
--all              --connect          --dir-links        --domain           -h                 --time-days        --uids             -x                 
--atime            --csv              --dir-nlink        --echo-keys        --help             --time-relative    -v                 --xattr            

Result:
Can't get the short options and long options by typing tab at first time, but could get the options normaly after typing the tab at second time


3.Verify whether there is bash completion scripts for guestunmount,virt-copy-in,virt-copy-out, virt-customize, virt-get-kernel, virt-p2v-make-disk, virt-p2v-make-kickstart, virt-tar-in and virt-tar-out, get same result with step2


4.Verify whether there is bash completion scripts for virt-v2v-copy-to-local
# virt-v2v-copy-to-local -<tab>
nothing

Result:
Can't get the short options and long options by typing tab for virt-v2v-copy-to-local command

Hi rjones,

Pls help check the results of step2 and step4, and I don't know where could download virt-win-reg rpm pkg

Comment 6 Richard W.M. Jones 2017-03-22 10:31:29 UTC
You probably have to start a new shell/terminal in order to get the
completion scripts (they are loaded by bash when it starts up).

Step 2 looks OK if you get tab completion for those commands.

I notice that we forgot to add tab completion to virt-v2v-copy-to-local
upstream which is why it doesn't work.  I posted a fix for that:

https://www.redhat.com/archives/libguestfs/2017-March/msg00247.html

Comment 7 Richard W.M. Jones 2017-03-22 15:54:10 UTC
Upstream in commit:
2f25d23ac85bbc341459da03da6cfa6d85dae8dc
and in libguestfs >= 1.37.7.

Comment 8 mxie@redhat.com 2017-03-24 08:42:56 UTC
Verify the bug with builds again:
libguestfs-bash-completion-1.36.2-3.el7.noarch
libguestfs-1.36.2-3.el7.x86_64
libguestfs-tools-1.36.2-3.el7.noarch


Steps:
1.Verify whether there is bash completion scripts for virt-v2v-copy-to-local
# virt-v2v-copy-to-local -<tab>
--color          --colours        --ic             --quiet          --verbose        
--colors         --debug-gc       --password-file  -v               --version        
--colour         --help           -q               -V               -x             

Result:
Can get the short options and long options by typing tab two times

2.Verify whether there is bash completion scripts for virt-diff,guestunmount,virt-copy-in,virt-copy-out, virt-customize, virt-get-kernel, virt-p2v-make-disk, virt-p2v-make-kickstart, virt-tar-in and virt-tar-out, get same result with step1

3..Verify whether there is bash completion scripts for virt-win-reg
#virt-win-reg -<tab>
nothing

Result:
Can't get the short options and long options by typing tab for virt-win-reg

Comment 9 Richard W.M. Jones 2017-03-24 09:01:51 UTC
Tab completion added for virt-win-reg too:

https://www.redhat.com/archives/libguestfs/2017-March/msg00277.html

Comment 10 mxie@redhat.com 2017-03-28 08:38:26 UTC
Verify the bug with builds:
libguestfs-1.36.3-1.el7.x86_64
libguestfs-tools-1.36.3-1.el7.noarch
libguestfs-bash-completion-1.36.3-1.el7.noarch


Steps:
1.Verify whether there is bash completion scripts for virt-win-reg
# virt-win-reg -<tab>
-?                          --format
-c                          --help
--connect                   --merge
-d                          --unsafe-printable-strings
--debug                     --version


Result:
Can get the short options and long options for virt-win-reg by typing tab two times

2.Verify whether there is bash completion scripts for virt-diff,guestunmount,virt-copy-in,virt-copy-out, virt-customize, virt-get-kernel, virt-p2v-make-disk, virt-p2v-make-kickstart, virt-tar-in,virt-tar-out and virt-v2v-copy-to-local, get same result with step1

So the bug has been fixed, move the bug from ON_QA to VERIFIED

Comment 11 errata-xmlrpc 2017-08-01 22:08:55 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:2023