Bug 1273505 - irqbalance service is re-enabled during a package update.
irqbalance service is re-enabled during a package update.
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: irqbalance (Show other bugs)
6.5
All Linux
high Severity high
: rc
: ---
Assigned To: Petr Holasek
Andrej Manduch
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-10-20 11:18 EDT by Madhup Srivastawa
Modified: 2016-10-04 00:16 EDT (History)
9 users (show)

See Also:
Fixed In Version: irqbalance-1.0.7-6.el6
Doc Type: Bug Fix
Doc Text:
Cause: Post-install script doesn't distinguish between new package install and package update. Consequence: If package was disabled in initscripts, it would be enabled after package update anyway. Fix: Post-install script doesn't change initscript settings while just updating. Result: Disabled irqbalance service won't be re-enabled after package update.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-05-10 16:10:15 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 Madhup Srivastawa 2015-10-20 11:18:36 EDT
Description of problem: The irqbalance service is re-enabled during a package update.

Background:"Many of our ultra-low latency server configurations have the irqbalance service disabled and explicitly allocate IRQ affinity. However, when the irqbalance package is updated (for example moving from RHEL6.5 to 6.6) the package update doesn’t honour the existing setting. Instead, it always re-enables the service. This is causing us a serious problem because many of our system updates are automated and we’re now forced to roll out an additional script across the server base to ensure irqbalance remains disabled."



Version-Release number of selected component (if applicable):
The issue was observed on RHEL 6.5

How reproducible:
Consistently

Steps to Reproduce:
[root@server ~]# rpm -q irqbalance
irqbalance-1.0.4-9.el6_5.x86_64
[root@server ~]#
[root@server ~]# # Stop and disable it if necessary
[root@server ~]# pidof irqbalance
1582
[root@server ~]# service irqbalance stop
Stopping irqbalance:                                       [  OK  ]
[root@server ~]# chkconfig --del irqbalance
[root@server ~]#
[root@server ~]# # Ensure it's disabled
[root@server ~]# chkconfig --list irqbalance
service irqbalance supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add irqbalance')
[root@server ~]#
[root@server ~]# # Update the package from 1.0.4-9 to 1.0.4-10
[root@server ~]# yum -y update irqbalance
Loaded plugins: security
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package irqbalance.x86_64 2:1.0.4-9.el6_5 will be updated
---> Package irqbalance.x86_64 2:1.0.4-10.el6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================================================================
 Package                                      Arch                                     Version                                             Repository                                    Size
==============================================================================================================================================================================================
Updating:
 irqbalance                                   x86_64                                   2:1.0.4-10.el6                                      201504-2_4                                    38 k

Transaction Summary
==============================================================================================================================================================================================
Upgrade       1 Package(s)

Total download size: 38 k
Downloading Packages:
irqbalance-1.0.4-10.el6.x86_64.rpm                                                                                                                                     |  38 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : 2:irqbalance-1.0.4-10.el6.x86_64                                                                                                                                           1/2
  Cleanup    : 2:irqbalance-1.0.4-9.el6_5.x86_64                                                                                                                                          2/2
  Verifying  : 2:irqbalance-1.0.4-10.el6.x86_64                                                                                                                                           1/2
  Verifying  : 2:irqbalance-1.0.4-9.el6_5.x86_64                                                                                                                                          2/2

Updated:
  irqbalance.x86_64 2:1.0.4-10.el6

Complete!
[root@server ~]# # Check the state of the service
[root@server ~]# chkconfig --list irqbalance
irqbalance      0:off   1:off   2:off   3:on    4:on    5:on    6:off
[root@server ~]#
[root@server ~]# # It's re-enabled
[root@server ~]#

Similarly, upgrading to the RHEL6.7 version of irqbalance does the same thing:

[root@server ~]# # Check installed version of irqbalance
[root@server ~]# rpm -q irqbalance
irqbalance-1.0.4-10.el6.x86_64
[root@server ~]#  # Stop and disable it if necessary
[root@server ~]# pidof irqbalance
[root@server ~]# chkconfig --list irqbalance
irqbalance      0:off   1:off   2:off   3:on    4:on    5:on    6:off
[root@server ~]# chkconfig --del irqbalance
[root@server ~]# chkconfig --list irqbalance
service irqbalance supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add irqbalance')
[root@server ~]#
[root@server ~]# yum list updates|grep irqbalance
irqbalance.x86_64                    2:1.0.7-5.el6             RHEL-6-20150801_5
[root@server ~]#
[root@server ~]# # Update from 1.0.4-10 to 1.0.7-5
[root@server ~]# yum -y update irqbalance
Loaded plugins: security
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package irqbalance.x86_64 2:1.0.4-10.el6 will be updated
---> Package irqbalance.x86_64 2:1.0.7-5.el6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================================================================
 Package                                     Arch                                    Version                                         Repository                                          Size
==============================================================================================================================================================================================
Updating:
 irqbalance                                  x86_64                                  2:1.0.7-5.el6                                   RHEL-6-20150801_5                                   41 k

Transaction Summary
==============================================================================================================================================================================================
Upgrade       1 Package(s)

Total download size: 41 k
Downloading Packages:
irqbalance-1.0.7-5.el6.x86_64.rpm                                                                                                                                      |  41 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : 2:irqbalance-1.0.7-5.el6.x86_64                                                                                                                                            1/2
  Cleanup    : 2:irqbalance-1.0.4-10.el6.x86_64                                                                                                                                           2/2
  Verifying  : 2:irqbalance-1.0.7-5.el6.x86_64                                                                                                                                            1/2
  Verifying  : 2:irqbalance-1.0.4-10.el6.x86_64                                                                                                                                           2/2

Updated:
  irqbalance.x86_64 2:1.0.7-5.el6

Complete!
[root@server ~]# chkconfig --list irqbalance
irqbalance      0:off   1:off   2:off   3:on    4:on    5:on    6:off
[root@server ~]#
[root@server ~# # It's been re-enabled again
Actual results:


Expected results: The expected result is fine as we know :-

[root@server ~]# rpm -q --scripts irqbalance
postinstall scriptlet (using /bin/sh):
/sbin/chkconfig --add irqbalance ===============> after its installed it would add this to chkconfig.
preuninstall scriptlet (using /bin/sh):
if [ "$1" = "0" ] ; then
 /sbin/chkconfig --del irqbalance
fi

However, this behaviour is not desired by the customer wants this service to remain disabled even after an upgrade of the service.


Additional info:
NA (not applicable)
Comment 5 Karel Srot 2015-10-28 07:36:54 EDT
Hi Petr,
why do you believe that this should be handled by yum? IMHO the problem is in the irqbalance postinstall script 

postinstall scriptlet (using /bin/sh):
/sbin/chkconfig --add irqbalance

If you would be doing this action only on install (and not also for update) it won't be happening, see
https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Syntax
Comment 6 Karel Srot 2015-10-28 07:46:50 EDT
Btw, if the customer would be doing
  chkconfig irqbalance off
instead of
  chkconfig --del irqbalance
it won't be enabled again after a package update.
Comment 7 Madhup Srivastawa 2015-11-02 08:36:45 EST
Hi Karel,

The customer already tried this out and mentioned in his initial case description that even executing 'chkconfig --del irqbalance', does not do any good. Before writing this note I validated it myself too.

regards,
madhup
Comment 8 Karel Srot 2015-11-04 07:00:33 EST
(In reply to Madhup Srivastawa from comment #7)
> Hi Karel,
> 
> The customer already tried this out and mentioned in his initial case
> description that even executing 'chkconfig --del irqbalance', does not do
> any good. Before writing this note I validated it myself too.
> 
> regards,
> madhup

I am speaking about "chkconfig irqbalance off" which seem to work properly according to my testing.
Comment 13 Madhup Srivastawa 2015-11-05 10:35:05 EST
Hi Petr,

I have shared the test package with the cu and asked him to try it out. 

sfdc case status :- Waiting on Cu.

Will update here as soon as I get news.

regards,
madhup
Comment 22 errata-xmlrpc 2016-05-10 16:10:15 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/RHEA-2016-0776.html

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