Bug 639601

Summary: "virt-ls" command failed to parse domain name "#"
Product: Red Hat Enterprise Linux 6 Reporter: Humble Chirammal <hchiramm>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: low    
Version: 6.1CC: dallan, hbrock, leiwang, mshao, rjones
Target Milestone: rcKeywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: libguestfs-1.7.17-4.el6 Doc Type: Bug Fix
Doc Text:
libguestfs documentation did not specify that special characters should be surrounded by quotes or otherwise "escaped" when used with the virt-ls command at the command line. The following has been added to the libguestfs documentation: Libvirt guest names can contain arbitrary characters, some of which have meaning to the shell such as # and space. You may need to quote or escape these characters on the command line. See the shell manual page sh(1) for details.
Story Points: ---
Clone Of:
: 643624 (view as bug list) Environment:
Last Closed: 2011-05-19 11:45:42 UTC Type: ---
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: 613593, 643624    
Bug Blocks: 645519    
Attachments:
Description Flags
To check the syntax of the vm name none

Description Humble Chirammal 2010-10-02 12:53:16 UTC
Description of problem:

"virt-ls" will fail to parse the command line argument if the domain name is "#".


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

Red Hat Enterprise Linux release 6.0 Beta (Santiago)

Kernel : 2.6.32-44.2.el6.x86_64

Package: libguestfs-tools-1.2.7-1.el6.5.x86_64

Arch   : x86_64 

How reproducible:

Always

Steps to Reproduce:

1. Start a guest which has name "#"

2. Make sure that guest is running.

[root@dhcp210-84 ~]# virsh list
 Id Name                 State
----------------------------------
  4 RHEL6-64             running
  6 #                    running



3. Run #virt-ls command as shown below

  [root@dhcp210-84 ~]# virt-ls -l # /root
virt-ls: no image, VM names or directory to list given
Usage:
     virt-ls [--options] domname directory

     virt-ls [--options] disk.img [disk.img ...] directory


Actual results:

It failed to parse domain name even-though virsh was able to start the guest with the same name.

Expected results:

There should not be any error.

--Humble

Comment 1 Richard W.M. Jones 2010-10-02 14:19:25 UTC
Requested comments from libvirt developers:
https://www.redhat.com/archives/libvir-list/2010-October/msg00053.html

Comment 3 Humble Chirammal 2010-10-03 06:04:09 UTC
Created attachment 451244 [details]
To check the syntax of the vm name

Comment 4 Richard W.M. Jones 2010-10-04 10:47:00 UTC
This is actually not a bug.  You need to escape
the parameter on the command line, eg:

virt-ls -l '#' /root

However this lead to a very interesting thread on
the upstream mailing list, and there are undoubtedly
other bugs in this area.

Comment 6 Richard W.M. Jones 2010-10-13 12:50:54 UTC
OK well it's a documentation bug.  Setting target to 6.1.

Hugh can you dev-ack+ this please?

Comment 7 Richard W.M. Jones 2011-01-04 14:00:12 UTC
All the virt-* tools manual pages in the rebased package
now contain a section explaining about escaping similar
to this:

http://libguestfs.org/virt-cat.1.html#shell_quoting

  SHELL QUOTING
  
  Libvirt guest names can contain arbitrary characters, some
  of which have meaning to the shell such as # and space. You
  may need to quote or escape these characters on the command
  line. See the shell manual page sh(1) for details.

Comment 9 Lei Wang 2011-01-21 08:16:51 UTC
Tested with libguestfs-1.7.17-10.el6:
Have checked all the virt-* tools manual pages, including:
virt-edit
virt-inspector
virt-list-filesystems
virt-list-partitions
virt-make-fs
virt-resize
virt-tar
virt-win-reg
virt-cat
virt-df
virt-filesystems
virt-inspector2
virt-ls
virt-rescue

All the manual pages have the "SHELL QUOTING" content mentioned in comment 7.
According to the result above, move to VERIFIED.

Comment 12 Laura Bailey 2011-04-19 05:32:40 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
libguestfs documentation did not specify that special characters should be surrounded by quotes or otherwise "escaped" when used at the command line. The following has been added to the libguestfs documentation:

Libvirt guest names can contain arbitrary characters, some of which have meaning to the shell such as # and space. You may need to quote or escape these characters on the command line. See the shell manual page <command>sh(1)</command> for details.

Comment 13 Richard W.M. Jones 2011-04-19 07:43:29 UTC
This is fine thanks.

Comment 14 Laura Bailey 2011-04-20 02:05:57 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,3 +1,3 @@
-libguestfs documentation did not specify that special characters should be surrounded by quotes or otherwise "escaped" when used at the command line. The following has been added to the libguestfs documentation:
+libguestfs documentation did not specify that special characters should be surrounded by quotes or otherwise "escaped" when used with the virt-ls command at the command line. The following has been added to the libguestfs documentation:
 
-Libvirt guest names can contain arbitrary characters, some of which have meaning to the shell such as # and space. You may need to quote or escape these characters on the command line. See the shell manual page <command>sh(1)</command> for details.+Libvirt guest names can contain arbitrary characters, some of which have meaning to the shell such as # and space. You may need to quote or escape these characters on the command line. See the shell manual page sh(1) for details.

Comment 15 errata-xmlrpc 2011-05-19 11:45:42 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0586.html

Comment 16 errata-xmlrpc 2011-05-19 13:10:33 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0586.html