Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1335671 - extra quotes around UUID confuses findfs in RHEL (but not in Fedora)
extra quotes around UUID confuses findfs in RHEL (but not in Fedora)
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: util-linux (Show other bugs)
7.2
Unspecified Unspecified
unspecified Severity medium
: rc
: ---
Assigned To: Karel Zak
qe-baseos-daemons
:
Depends On:
Blocks: TRACKER-bugs-affecting-libguestfs
  Show dependency treegraph
 
Reported: 2016-05-12 15:58 EDT by Thom Carlin
Modified: 2016-11-03 17:27 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-11-03 17:27:16 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2016:2605 normal SHIPPED_LIVE Low: util-linux security, bug fix, and enhancement update 2016-11-03 08:13:26 EDT

  None (edit)
Description Thom Carlin 2016-05-12 15:58:36 EDT
Description of problem:

Failure running virt-v2v with misleading error message

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

virt-v2v 1:1.28.1-1.55.el7_2.2

How reproducible:

100% for this guest VM

Steps to Reproduce:
1. LIBGUESTFS_BACKEND=direct virt-v2v -v -x -ic vpx://vcenter_string guest_vm -o local -os /tmp
2.
3.

Actual results:

virt-v2v: error: no grub1/grub-legacy or grub2 configuration file was found

Expected results:

Successful conversion

Additional info:

Similar to 1229119, the error message is misleading.  The actual message seems to be "augeas failed to parse /etc/httpd/conf.d/pulp_puppet.conf:
  error "Syntax error" at line 50 char 0 in lens /usr/share/augeas/lenses/dist/httpd.aug.98.10-.44:

apachectl configtest reports "Syntax OK"
Comment 1 Richard W.M. Jones 2016-05-12 17:21:17 EDT
Can you attach the full log (from virt-v2v -v -x) please.
Comment 4 Richard W.M. Jones 2016-05-13 03:17:57 EDT
I believe that the Augeas error can be ignored.

Does the guest have a /boot partition?  It looks like it does not,
or if it does libguestfs cannot find it.  Because there's no /boot
partition found, no grub configuration is found and virt-v2v
gives up.

Where does the guest come from?  How was it created?
Comment 5 Thom Carlin 2016-05-15 16:41:14 EDT
Yes, the guest has a boot partition:
df -T /boot
Filesystem     Type 1K-blocks   Used Available Use% Mounted on
/dev/sda1      xfs     508588 201912    306676  40% /boot

The guest is RHEL 7.2 running on VMware 5.5.  It was created from booting a RHEL ISO.
Comment 6 Thom Carlin 2016-05-15 16:43:54 EDT
ll /boot/grub2/grub.cfg
-rw-------. 1 root root 5814 May 14 13:44 /boot/grub2/grub.cfg
Comment 7 Thom Carlin 2016-05-15 16:46:51 EDT
/dev/sda1: UUID="9b6e77f6-1bf0-46e4-bd8c-22ed3f59bc8e" TYPE="xfs" 

findfs UUID="9b6e77f6-1bf0-46e4-bd8c-22ed3f59bc8e"
/dev/sda1
Comment 8 Richard W.M. Jones 2016-05-15 18:13:14 EDT
Ah, got it.  The actual error is a strange one.  /etc/fstab
references the /boot filesystem by UUID.  It contains the UUID
quoted:

  UUID="9b6e77f6-1bf0-46e4-bd8c-22ed3f59bc8e" /boot [...]

However the findfs command (in libguestfs) is unable to resolve this UUID.
From your log file:

  findfs UUID="9b6e77f6-1bf0-46e4-bd8c-22ed3f59bc8e"
  findfs: unable to resolve 'UUID="9b6e77f6-1bf0-46e4-bd8c-22ed3f59bc8e"'
  guestfsd: error: findfs: unable to resolve 'UUID="9b6e77f6-1bf0-46e4-bd8c-22ed3f59bc8e"'

It turns out that this is because the findfs command in RHEL 7
doesn't like the extra set of quotes.

Here is the same thing from my RHEL 7.2 machine with
util-linux-2.23.2-26.el7.x86_64:

  $ findfs 'UUID="8e404981-c9ca-4f77-a017-c5a9da4c02bb"'
  findfs: unable to resolve 'UUID="8e404981-c9ca-4f77-a017-c5a9da4c02bb"'
  $ findfs 'UUID=8e404981-c9ca-4f77-a017-c5a9da4c02bb'
  /dev/sda3

And from my Fedora machine with util-linux-2.28-2.fc24.x86_64:

  $ findfs 'UUID="96945d72-61cb-4518-8585-583f77d379ac"'
  /dev/sda1
  $ findfs 'UUID=96945d72-61cb-4518-8585-583f77d379ac'
  /dev/sda1

I had a quick look at the util-linux code, and nothing seems to have changed
since long before RHEL 7, so I'm not sure exactly why findfs in RHEL doesn't
work with the quotes.
Comment 9 Karel Zak 2016-05-16 04:43:53 EDT
The problem is that RHEL7 findfs main() parses the tag, the side effect is that findfs in RHEL7 does not support anything else that LABEL and UUID, Fedora (upstream) version supports PARTUUID= and quoted tags.

We need upstream commits:

  c48508c2faa356c48c26d7d0070a6f20ae4ba9a0  (findfs: use libblkid to parse tags)
  c1178175e7adb35388a3e34495974d7f24f45d5d  (libblkid: fix memory leak)
  aab691cf8deb4a53782a0317b6f96c5d8b61f8e9  (libblkid: ignore incomplete tags)
Comment 10 Richard W.M. Jones 2016-05-16 08:16:19 EDT
I really should have cloned this bug for util-linux, because I think
it also requires a fix in virt-v2v:

https://github.com/libguestfs/libguestfs/commit/e13334a1a2a934ad9dd4fc9500491b0dba3cd687
https://github.com/libguestfs/libguestfs/commit/653e374ef6a5fda3e6575166e159d5727b9248fa

As well as the util-linux reproducer shown in comment 8, here is
an end-to-end reproducer using virt-v2v (only works in RHEL 7.2):

$ virt-builder centos-7.2 --edit '/etc/fstab:s/^UUID=([-a-f0-9]+)/UUID="$1"/'
$ virt-v2v -i disk centos-7.2.img -o null

In the error case, the second command will print:

virt-v2v: error: no grub1/grub-legacy or grub2 configuration file was found
Comment 12 Richard W.M. Jones 2016-06-02 08:19:25 EDT
Re comment 10, this is fixed in libguestfs-1.32.5-1.el7
Comment 17 errata-xmlrpc 2016-11-03 17:27:16 EDT
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://rhn.redhat.com/errata/RHSA-2016-2605.html

Note You need to log in before you can comment on or make changes to this bug.