Bug 1477983

Summary: tuned configuration function script can empty /etc/sysconfig/cpuspeed file
Product: Red Hat Enterprise Linux 6 Reporter: Paolo Di Napoli <pdinapol>
Component: tunedAssignee: Jaroslav Škarvada <jskarvad>
Status: CLOSED WONTFIX QA Contact: qe-baseos-daemons
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.8CC: jeder, jskarvad, thozza
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-09-06 09:49:22 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:

Description Paolo Di Napoli 2017-08-03 12:02:16 UTC
Description of problem:
If the file /var/run/tuned/ktune-cpuspeed.save is empty, /etc/sysconfig/cpuspeed will be made empty upon default profile change because of the code  in file /etc/tune-profiles/functions


~~~
set_cpu_governor() {
        governor=$1

        # always patch cpuspeed configuration if exists, if it doesn't exist and is enabled,
        # explictly disable it with hint
        if [ -e $CPUSPEED_INIT ]; then
                if [ ! -e $CPUSPEED_SAVE_FILE -a -e $CPUSPEED_CFG ]; then
                        cp -p $CPUSPEED_CFG $CPUSPEED_SAVE_FILE
                        sed -e 's/^GOVERNOR=.*/GOVERNOR='$governor'/g' $CPUSPEED_SAVE_FILE > $CPUSPEED_CFG
                fi
        else
                if [ "$CPUSPEED_USE" = "1" ]; then
                        echo >&2
                        echo "Suggestion: install 'cpuspeed' package to get best tuning results." >&2
                        echo "Falling back to sysfs control." >&2
                        echo >&2
                fi

                CPUSPEED_USE="0"
        fi
[...]
restore_cpu_governor() {
        if [ -e $CPUSPEED_INIT ]; then
                if [ -e $CPUSPEED_SAVE_FILE ]; then
                        cp -fp $CPUSPEED_SAVE_FILE $CPUSPEED_CFG
                        rm -f $CPUSPEED_SAVE_FILE
                fi

~~~~

Version-Release number of selected component (if applicable):
tuned-0.2.19-18.el6.noarch

How reproducible:
always

Steps to Reproduce:
1. start tuned
2. switch to profile enterprise-storage: # tuned-adm profile enterprise-storage
3. make file /var/run/tuned/ktune-cpuspeed.save empty
4. switch to profile throughput-performance: # tuned-adm-profile throughput-performance
5. verify that /etc/sysconfig/cpuspeed is empty

Actual results:
/etc/sysconfig/cpuspeed is empty

Expected results:
the /etc/sysconfig/cpuspeed file should not be emptied if /var/run/tuned/ktune-cpuspeed.save is empty

Additional info:

Comment 2 Tomáš Hozza 2017-09-06 09:49:22 UTC
Red Hat Enterprise Linux 6 transitioned to the Production 3 Phase on May 10, 2017.  During the Production 3 Phase, Critical impact Security Advisories (RHSAs) and selected Urgent Priority Bug Fix Advisories (RHBAs) may be released as they become available.

The official life cycle policy can be reviewed here:
http://redhat.com/rhel/lifecycle

This issue does not appear to meet the inclusion criteria for the Production Phase 3 and will be marked as CLOSED/WONTFIX. If this remains a critical requirement, please contact Red Hat Customer Support to request a re-evaluation of the issue, citing a clear business justification.  Red Hat Customer Support can be contacted via the Red Hat Customer Portal at the following URL:

https://access.redhat.com