This is a short roundup of things I learned after I've rolled out the stuff I wrote about here.

Bugs and fighting with multiarch rpm/yum

One oversight led me to not special case the perl-devel dependency on the net-snmp-devel package for CentOS 5, to depend on perl instead. That was easily fixed but afterwards a yum install net-snmp-devel still failed because it tried to install the stock CentOS 5 net-snmp-devel package and its dependencies. Closer investigation showed that it did so because I only provided x86_64 packages in our internal repository but it wanted to install i386 and x86_64 packages.

Looking around this issue is documented in the Fedora Wiki. So the modern way to deal with it is to make the dependency architecture dependend with the

%{?_isa}

macro. That is evaluated at build time of the src.rpm and then the depedency is hardcoded together with the architecture. Compare

$ rpm -qRp net-snmp-devel-5.7.2-18.el6.x86_64.rpm|grep perl
perl-devel(x86-64)

to

$ rpm -qRp net-snmp-devel-5.7.2-19.el5.centos.x86_64.rpm |grep perl
perl

As you can see it's missing for the el5 package and that's because it's too old, or more specific, rpm is too old to know about it.

The workaround we use for now is to explicitly install only the x86_64 version of net-snmp-devel on CentOS 5 when required. That's a

yum install net-snmp-devel.x86_64

Another possible workaround is to remove i386 from your repository or just blacklist it in your yum configuration. I've read that's possible but did not try it.

steal time still missing on CentOS 6

One of the motivations for this backport is support for steal time reporting via SNMP. For CentOS 5 that's solved with our net-snmp backport but for CentOS 6 we still do not see steal time. A short look around showed that it's also missing in top, vmstat and friends. Could it be a kernel issue?

Since we're already running on the CentOS Xen hypervisor we gave the Linux 3.10.x packages a spin in a domU and now we also have steal time reporting. Yes, a kernel issue with the stock CentOS 6/RHEL 6 kernel. I'm not sure where and how to fill it since RedHat moved to KVM.