irqbalance service is re-enabled during a package update. Why?
Environment
- Red Hat Enterprise Linux 6.5
- irqbalance
Issue
-
The
irqbalanceservice 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. We are running Red Hat Enterprise Linux Server release 6.5 (Santiago).
Evidence:
[root@server ~]# # Check installed version of irqbalance
[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
Resolution
- This is the default behaviour of the irqbalance package.
- A Bugzilla case has been submitted for the same to override this default behaviour.
Root Cause
This is the default behaviour of the irqbalance package :-
[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
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
