Bug 1455161 - Not limited parser for bootloader variable initrd_remove_dir
Not limited parser for bootloader variable initrd_remove_dir
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: tuned (Show other bugs)
7.4
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Jaroslav Škarvada
Tereza Cerna
: Patch, Upstream
Depends On:
Blocks: 1485946 1465887 TUNED-7.5-REBASE
  Show dependency treegraph
 
Reported: 2017-05-24 07:59 EDT by Tereza Cerna
Modified: 2018-04-10 12:01 EDT (History)
4 users (show)

See Also:
Fixed In Version: tuned-2.9.0-0.1.rc1.el7
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2018-04-10 12:01:26 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)

  None (edit)
Description Tereza Cerna 2017-05-24 07:59:25 EDT
Description of problem:
=======================
There is parser with no limits for variable initrd_remove_dir. By description, it should check something like 'True', 'true' and '1' and then remove specified directory. However it removes directory for all values of this variable. I tried 'True', 'true', '1', 'False', 'false', '0', '/root/image' or 'blabla' and it removes this directory for all these values.


Version-Release number of selected component:
=============================================
tuned-2.8.0-2.el7.noarch


How reproducible:
=================
Always


Steps to Reproduce:
===================
# cat /usr/lib/tuned/test-profile/tuned.conf 
[bootloader]
initrd_add_dir=/root/image
initrd_dst_img=/boot/test-tuned-2.img
initrd_remove_dir=blabla

# find /root/image
/root/image
/root/image/etc
/root/image/etc/aaa

# tuned-adm profile test-profile

# cat /var/log/tuned/tuned.log 
2017-05-24 07:04:25,872 INFO     tuned.daemon.daemon: stopping tunning
2017-05-24 07:04:26,072 INFO     tuned.profiles.loader: loading profile: test-profile
2017-05-24 07:04:26,073 INFO     tuned.daemon.daemon: starting tuning
2017-05-24 07:04:26,076 INFO     tuned.plugins.plugin_bootloader: generating initrd image from directory '/root/image'
2017-05-24 07:04:26,080 INFO     tuned.plugins.plugin_bootloader: installing initrd image as '/boot/test-tuned-2.img'
2017-05-24 07:04:26,081 INFO     tuned.plugins.plugin_bootloader: removing directory '/root/image'
2017-05-24 07:04:26,082 INFO     tuned.daemon.daemon: static tuning from profile 'test-profile' applied

# ls /root | grep image


Actual results:
===============
# cat /var/log/tuned/tuned.log 
...
2017-05-24 07:04:26,081 INFO     tuned.plugins.plugin_bootloader: removing directory '/root/image'
...


Expected results:
=================
It can't remove anything. There is no valid value in variable initrd_remove_dir in profile configuration file. It should remove /root/image only if this variable is set to 'True', 'true' or '1'.


Additional info:
================
I tried these values of initrd_remove_dir:
  initrd_remove_dir=True
  initrd_remove_dir=true
  initrd_remove_dir=1
  initrd_remove_dir=/root/image
  initrd_remove_dir=False
  initrd_remove_dir=false
  initrd_remove_dir=0
  initrd_remove_dir=blabla

For all these options, directory /root/image was removed.
Comment 4 Fedora Update System 2017-10-13 10:20:53 EDT
tuned-2.9.0-0.1.rc1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-d9c6b990df
Comment 6 Fedora Update System 2017-10-13 18:25:15 EDT
tuned-2.9.0-0.1.rc1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-d9c6b990df
Comment 7 Fedora Update System 2017-10-13 19:25:04 EDT
tuned-2.9.0-0.1.rc1.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-5f0849d207
Comment 8 Fedora Update System 2017-10-29 17:07:05 EDT
tuned-2.9.0-1.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-0e45ce4685
Comment 9 Fedora Update System 2017-10-29 17:13:12 EDT
tuned-2.9.0-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-c30e9bd1ea
Comment 10 Tereza Cerna 2018-01-25 10:17:01 EST
============================
Verified in:
    tuned-2.9.0-1.el7.noarch
PASS
============================

:: [   LOG    ] :: ================================================================
:: [   LOG    ] :: ==== Config: [bootloader] initrd_remove_dir=False ====
:: [   LOG    ] :: See content of profile dst-img-profile2
[bootloader]
initrd_add_dir=/root/tuned-overlay.img
initrd_dst_img=/boot/test-tuned-2.img
initrd_remove_dir=False
:: [   PASS   ] :: Command 'tuned-adm profile dst-img-profile2' (Expected 0, got 0)
:: [   PASS   ] :: Command 'tuned-adm active | grep dst-img-profile2' (Expected 0, got 0)
:: [   LOG    ] :: Check log file
:: [   PASS   ] :: Command 'grep "INFO     tuned.plugins.plugin_bootloader: generating initrd image from directory '/root/tuned-overlay.img'" /var/log/tuned/tuned.log' (Expected 0, got 0)
:: [   PASS   ] :: Command 'grep "INFO     tuned.plugins.plugin_bootloader: installing initrd image as '/boot/test-tuned-2.img'" /var/log/tuned/tuned.log' (Expected 0, got 0)
:: [   PASS   ] :: Command 'grep "INFO     tuned.plugins.plugin_bootloader: removing directory '/root/tuned-overlay.img'" /var/log/tuned/tuned.log' (Expected 1, got 1)
:: [   PASS   ] :: Command 'grep "ERROR" /var/log/tuned/tuned.log' (Expected 1, got 1)
:: [   LOG    ] :: Check grub.cfg
:: [   PASS   ] :: Command 'grep 'set tuned_initrd="/test-tuned-2.img"' /boot/grub2/grub.cfg' (Expected 0, got 0)
:: [   LOG    ] :: Check existence of new image in /boot
:: [   PASS   ] :: Command 'ls /boot | grep test-tuned-2.img' (Expected 0, got 0)
:: [   PASS   ] :: Command 'ls /root | grep tuned-overlay.img' (Expected 0, got 0)

============================
Reproduced in:
    tuned-2.8.0-5.el7.noarch
FAIL
============================

:: [   LOG    ] :: ================================================================
:: [   LOG    ] :: ==== Config: [bootloader] initrd_remove_dir=$INVALID_VALUE ====
:: [   LOG    ] :: See content of profile dst-img-profile2
:: [   PASS   ] :: Command 'tuned-adm profile dst-img-profile2' (Expected 0, got 0)
:: [   PASS   ] :: Command 'tuned-adm active | grep dst-img-profile2' (Expected 0, got 0)
:: [   LOG    ] :: Check log file
:: [   PASS   ] :: Command 'grep "INFO     tuned.plugins.plugin_bootloader: generating initrd image from directory '/root/tuned-overlay.img'" /var/log/tuned/tuned.log' (Expected 0, got 0)
:: [   PASS   ] :: Command 'grep "INFO     tuned.plugins.plugin_bootloader: installing initrd image as '/boot/test-tuned-2.img'" /var/log/tuned/tuned.log' (Expected 0, got 0)
:: [   FAIL   ] :: Command 'grep "INFO     tuned.plugins.plugin_bootloader: removing directory '/root/tuned-overlay.img'" /var/log/tuned/tuned.log' (Expected 1, got 0)
:: [   PASS   ] :: Command 'grep "ERROR" /var/log/tuned/tuned.log' (Expected 1, got 1)
:: [   LOG    ] :: Check grub.cfg
:: [   PASS   ] :: Command 'grep 'set tuned_initrd="/test-tuned-2.img"' /boot/grub2/grub.cfg' (Expected 0, got 0)
:: [   LOG    ] :: Check existence of new image in /boot
:: [   PASS   ] :: Command 'ls /boot | grep test-tuned-2.img' (Expected 0, got 0)
:: [   FAIL   ] :: Command 'ls /root | grep tuned-overlay.img' (Expected 0, got 1)
Comment 13 errata-xmlrpc 2018-04-10 12:01:26 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://access.redhat.com/errata/RHBA-2018:0879

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