Your message dated Thu, 21 Jun 2018 23:23:47 +0200
with message-id <20180621232347.3ef7b...@erker.lan>
and subject line Re: Bug in bonding_err_ plugin
has caused the Debian Bug report #648686,
regarding Bug in bonding_err_ plugin
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
648686: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648686
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: munin-node
Version: 1.4.6-1
Severity: normal
Dear Maintainer,
I rebooted a system that was using kernel 2.6.32 into one running kernel 3.0.0
After that the /usr/share/munin/plugins/bonding_err_ plugin stopped working.
Here is an example of the results returned.
$ telnet localhost munin
Trying ::1...
Connected to localhost.
Escape character is '^]'.
# munin node at wwvrt01.nsw.ddihealth.com
fetch bonding_err_bond0
if_eth0.value if_eth1.value if_eth2.value if_eth3.value
.
The code for this plugin contains the following line:
grep -A 2 "^Slave Interface: ${if}" ${PROCDIR}/${BONDINGIF} | grep
"Link Failure Count:" | cut -d " " -f 4
The 'grep -A 2' only returns two lines after the matched line.
So for eth0 (which is part of bond0) I get the following results when just
running the grep:
$ grep -A 2 "^Slave Interface: eth0" /proc/net/bonding/bond0
Slave Interface: eth0
MII Status: up
Speed: 100 Mbps
Those lines don't contian the 'Link Failure Count:' line that grep looks for in
the pipeline.
The full set of entries for interfaces that form the bond0 device look as
follows:
Slave Interface: eth0
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:1b:21:71:9a:f0
Aggregator ID: 4
Slave queue ID: 0
Slave Interface: eth1
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:1b:21:71:9a:f1
Aggregator ID: 4
Slave queue ID: 0
Slave Interface: eth2
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:1b:21:71:9a:f4
Aggregator ID: 4
Slave queue ID: 0
Slave Interface: eth3
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:1b:21:71:9a:f5
Aggregator ID: 4
Slave queue ID: 0
Instead of 'grep -A 2' it should instead match all the lines from the 'Slave
Interface:' line up to the next blank line or EOF.
This way it'll work no matter the order of the lines nor how many get added in
the future.
I have achieved this by using sed instead of grep.
I've replaced:
grep -A 2 "^Slave Interface: ${if}" ${PROCDIR}/${BONDINGIF} | grep
"Link Failure Count:" | cut -d " " -f 4
With:
sed "0,/^Slave Interface: ${if}/d; /^\$/,\$d" ${PROCDIR}/${BONDINGIF} |
grep "Link Failure Count:" | cut -d " " -f 4
Or in patch form it is as follows:
--- bonding_err_.orig 2011-11-14 12:42:18.332577791 +1100
+++ bonding_err_ 2011-11-14 12:44:24.594788291 +1100
@@ -97,7 +97,7 @@
grep "^Slave Interface:" ${PROCDIR}/${BONDINGIF} | while read a b if; do
fieldname=$(clean_fieldname "$if")
echo -n "if_${fieldname}.value "
- grep -A 2 "^Slave Interface: ${if}" ${PROCDIR}/${BONDINGIF} | grep "Link
Failure Count:" | cut -d " " -f 4
+ sed "0,/^Slave Interface: ${if}/d; /^\$/,\$d" ${PROCDIR}/${BONDINGIF} | grep
"Link Failure Count:" | cut -d " " -f 4
done
After making this change, the results are now returned.
# telnet localhost munin
Trying ::1...
Connected to localhost.
Escape character is '^]'.
# munin node at wwvrt01.nsw.ddihealth.com
fetch bonding_err_bond0
if_eth0.value 0
if_eth1.value 0
if_eth2.value 0
if_eth3.value 0
.
Regards,
Jim Barber
----------
DDI Health
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (990, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.38-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_AU, LC_CTYPE=en_AU (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash
Versions of packages munin-node depends on:
ii adduser 3.113
ii gawk 1:3.1.8+dfsg-0.1
ii libnet-server-perl 0.99-3
ii lsb-base 3.2-28
ii munin-common 1.4.6-1
ii perl 5.12.4-6
ii procps 1:3.2.8-11
Versions of packages munin-node recommends:
ii libnet-snmp-perl 6.0.1-2
--- End Message ---
--- Begin Message ---
Package: munin-plugins-core
Version: 2.0.12-1
Followup-For: Bug #648686
Hi,
the issue was fixed by upstream in 2.0.12.
@Jim: thank you for the improved parsing expression. I pushed your patch
upstream now.
Cheers,
Lars
--- End Message ---