Bug 639601
| Summary: | "virt-ls" command failed to parse domain name "#" | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Humble Chirammal <hchiramm> | ||||
| Component: | libguestfs | Assignee: | Richard W.M. Jones <rjones> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | low | ||||||
| Version: | 6.1 | CC: | dallan, hbrock, leiwang, mshao, rjones | ||||
| Target Milestone: | rc | Keywords: | 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: |
|
||||||
Requested comments from libvirt developers: https://www.redhat.com/archives/libvir-list/2010-October/msg00053.html Created attachment 451244 [details]
To check the syntax of the vm name
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. OK well it's a documentation bug. Setting target to 6.1. Hugh can you dev-ack+ this please? 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. 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.
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.
This is fine thanks.
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.
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 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 |
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