Bug 1544520

Summary: Fstab lens cannot parse lines with leading whitespaces
Product: Red Hat Enterprise Linux 7 Reporter: Pino Toscano <ptoscano>
Component: augeasAssignee: Pino Toscano <ptoscano>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact: Jiri Herrmann <jherrman>
Priority: high    
Version: 7.5CC: jherrman, mtessun, rjones, xchen, yoguo
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: All   
Whiteboard:
Fixed In Version: augeas-1.4.0-6.el7 Doc Type: Bug Fix
Doc Text:
Augeas reads `/etc/fstab` with white spaces more reliably Previously, Augeas was not able to parse lines in the `/etc/fstab` file if they had white spaces at the beginning. This sometime caused problems in software tools that use Augeas, such as the *virt-v2v* utility or the *Puppet* management tool. With this update, the Fstab lens of Augeas correctly ignores white spaces at the beginning of lines. As a result, Augeas now reads `/etc/fstab` as expected.
Story Points: ---
Clone Of:
: 1554927 (view as bug list) Environment:
Last Closed: 2018-10-30 07:45:20 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:    
Bug Blocks: 1554927    

Description Pino Toscano 2018-02-12 18:04:11 UTC
Description of problem:
If any line with a filesystem specification in /etc/fstab has whitespace at the beginning, the Fstab lens cannot parse it. This seems supported by tools, and there were reports of customers with such /etc/fstab in working systems.

Steps to Reproduce:
1. edit /etc/fstab, and add whitespaces at the beginning of a line that contains a filesystem
2. run `augtool`
3. in the augtool prompt, run `ls /augeas//error`

Actual results:
augtool> ls /augeas//error
pos = 221
line = 9
char = 2
lens/ = /usr/share/augeas/lenses/dist/fstab.aug:34.12-.42:
message = Iterated lens matched less than it should

(the actual values of 'pos', 'line' and 'char' depend on the actual file)

Expected results:
1. no errors printed
2. the same output of `print /files/etc/fstab/` for both /etc/fstab without the whitespaces added and with the whitespaces

Additional info:
I just sent an PR to upstream for this:
https://github.com/hercules-team/augeas/pull/544

Comment 1 YongkuiGuo 2018-02-14 07:16:02 UTC
Reproduced it with package:
augeas-1.4.0-5.el7.x86_64

Steps:
1. edit /etc/fstab, and add whitespaces at the beginning of the following line:
  /dev/mapper/rhel_amd--xxx--4--1-home /home                   xfs     defaults        0 0

2. run the augtool command:
augtool> print /files/etc/fstab
augtool> ls /augeas//error
pos = 406
line = 11
char = 2
lens/ = /usr/share/augeas/lenses/dist/fstab.aug:34.12-.42:
message = Iterated lens matched less than it should

Comment 5 YongkuiGuo 2018-03-30 05:01:51 UTC
Verified it with package:
augeas-1.4.0-6.el7.x86_64

Steps:
1. edit /etc/fstab and add whitespaces at the beginning of the following line:
  /dev/mapper/rhel_hp--dlxxx--04-home /home   xfs     defaults        0 0

2. run the augtool command:
#augtool print /files/etc/fstab
...
/files/etc/fstab/3
/files/etc/fstab/3/spec = "/dev/mapper/rhel_hp--dlxxx--04-home"
/files/etc/fstab/3/file = "/home"
/files/etc/fstab/3/vfstype = "xfs"
/files/etc/fstab/3/opt = "defaults"
/files/etc/fstab/3/dump = "0"
/files/etc/fstab/3/passno = "0"
...


So verified it.

Comment 7 errata-xmlrpc 2018-10-30 07:45:20 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-2018:3020