Red Hat Bugzilla – Bug 1273505
irqbalance service is re-enabled during a package update.
Last modified: 2016-10-04 00:16:20 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)
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
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.
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
(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.
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
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