Red Hat Bugzilla – Bug 1455161
Not limited parser for bootloader variable initrd_remove_dir
Last modified: 2018-04-10 12:01:26 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.
Resolved by commit https://github.com/redhat-performance/tuned/commit/4e90f1494161fb0fa3b021e85f0c8bfbc6e9a107.
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
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
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
tuned-2.9.0-1.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-0e45ce4685
tuned-2.9.0-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-c30e9bd1ea
============================ 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)
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