Discussion:
[rancid] Eliminating two lines from foundry output
Chris Gauthier
2008-01-07 18:32:34 UTC
Permalink
Hello,

I am a happy user of rancid for my Foundry switches (except the EdgeIron
line, which needs support, but I haven't worked on that yet), but have
become annoyed in the past weeks because I get an email nearly every
time rancid checks one switch. It is because it displays the temp.
Here is the output:

Index: configs/10.x.x.x
===================================================================
retrieving revision 1.1031
diff -U4 -r1.1031 10.x.x.x
@@ -22,9 +22,9 @@
!
! Fan 1 ok, speed (auto): 1<->2<->[[3]]
! Fan 2 ok, speed (auto): 1<->2<->[[3]]
!
- ! Fan controlled temperature: 35.0 deg-C
+ ! Fan controlled temperature: 35.5 deg-C
!
! Fan speed switching temperature thresholds:
! Speed 1: NM<----->30 deg-C
! Speed 2: 25<----->40 deg-C


My problem is that I want to eliminate the "Fan controlled temperature
lines" so I don't get an email every 1/2 hour (as I have rancid
configured to poll).

Any thoughts on how to do this?

Thanks,

Chris
--
Chris Gauthier, CCNA, Network+, A+
Network Administration Team
Portland Community College
Portland, Oregon

"For once you have tasted flight you will walk the earth with your eyes turned skywards, for there you have been and there you will long to return."
--Leonardo da Vinci
Mike Ashcraft
2008-01-07 18:44:14 UTC
Permalink
Chris,

This is a fairly simple modification to francid.

I don't have a Foundry handy to figure this out but the following steps
should get you there quickly.

open francid with an editor and find the line that starts with
@commandtable
After this are the commands run on the switch followed by the name of
the subroutine that processes the output.

Find the name of the subroutine that processes the output you want to
eliminate and modify that subroutine to skip the desired line.

If my guesses are right, you will find the following line which
eliminates TEMPERATURE output but doesn't match on this specific switch:

if (/(POWERS|TEMPERATURE READINGS)/) {

You can add 'temperature' to this line like:

if (/(POWERS|TEMPERATURE READINGS|temperature)/) {

Or otherwise modify the subroutine to skip this output.

Good luck,

Mike



-----Original Message-----
From: rancid-discuss-***@shrubbery.net
[mailto:rancid-discuss-***@shrubbery.net] On Behalf Of Chris
Gauthier
Sent: Monday, January 07, 2008 11:33 AM
To: 'rancid-***@shrubbery.net'
Subject: [rancid] Eliminating two lines from foundry output

Hello,

I am a happy user of rancid for my Foundry switches (except the EdgeIron

line, which needs support, but I haven't worked on that yet), but have
become annoyed in the past weeks because I get an email nearly every
time rancid checks one switch. It is because it displays the temp.
Here is the output:

Index: configs/10.x.x.x
===================================================================
retrieving revision 1.1031
diff -U4 -r1.1031 10.x.x.x
@@ -22,9 +22,9 @@
!
! Fan 1 ok, speed (auto): 1<->2<->[[3]]
! Fan 2 ok, speed (auto): 1<->2<->[[3]]
!
- ! Fan controlled temperature: 35.0 deg-C
+ ! Fan controlled temperature: 35.5 deg-C
!
! Fan speed switching temperature thresholds:
! Speed 1: NM<----->30 deg-C
! Speed 2: 25<----->40 deg-C


My problem is that I want to eliminate the "Fan controlled temperature
lines" so I don't get an email every 1/2 hour (as I have rancid
configured to poll).

Any thoughts on how to do this?

Thanks,

Chris
--
Chris Gauthier, CCNA, Network+, A+
Network Administration Team
Portland Community College
Portland, Oregon

"For once you have tasted flight you will walk the earth with your eyes
turned skywards, for there you have been and there you will long to
return."
--Leonardo da Vinci
Chris Gauthier
2008-01-09 22:08:25 UTC
Permalink
That did the trick, though I have one other trick I need to pull out of
my sleeve (after I learn it).

I still am getting config changes, even though nothing actually changes...

Exerpt:

- ! Fan 1 ok, speed (auto): 1<->2<->[[3]]
- ! Fan 2 ok, speed (auto): 1<->2<->[[3]]
+ ! Fan 1 ok, speed (auto): 1<->[[2]]<->3
+ ! Fan 2 ok, speed (auto): 1<->[[2]]<->3

What I want to do is preserve the "Fan X ok" or "Fan X failed", but with
out the fan speed information. Why? Because the temperature hangs
right at the threshold between the two fan speeds, so it goes up and
down several times per day.

Is there a way to be that granular in my string processing without
bogging everything down?

Chris
Post by Mike Ashcraft
Chris,
This is a fairly simple modification to francid.
I don't have a Foundry handy to figure this out but the following steps
should get you there quickly.
open francid with an editor and find the line that starts with
@commandtable
After this are the commands run on the switch followed by the name of
the subroutine that processes the output.
Find the name of the subroutine that processes the output you want to
eliminate and modify that subroutine to skip the desired line.
If my guesses are right, you will find the following line which
if (/(POWERS|TEMPERATURE READINGS)/) {
if (/(POWERS|TEMPERATURE READINGS|temperature)/) {
Or otherwise modify the subroutine to skip this output.
Good luck,
Mike
-----Original Message-----
Gauthier
Sent: Monday, January 07, 2008 11:33 AM
Subject: [rancid] Eliminating two lines from foundry output
Hello,
I am a happy user of rancid for my Foundry switches (except the EdgeIron
line, which needs support, but I haven't worked on that yet), but have
become annoyed in the past weeks because I get an email nearly every
time rancid checks one switch. It is because it displays the temp.
Index: configs/10.x.x.x
===================================================================
retrieving revision 1.1031
diff -U4 -r1.1031 10.x.x.x
@@ -22,9 +22,9 @@
!
! Fan 1 ok, speed (auto): 1<->2<->[[3]]
! Fan 2 ok, speed (auto): 1<->2<->[[3]]
!
- ! Fan controlled temperature: 35.0 deg-C
+ ! Fan controlled temperature: 35.5 deg-C
!
! Speed 1: NM<----->30 deg-C
! Speed 2: 25<----->40 deg-C
My problem is that I want to eliminate the "Fan controlled temperature
lines" so I don't get an email every 1/2 hour (as I have rancid
configured to poll).
Any thoughts on how to do this?
Thanks,
Chris
--
Chris Gauthier, CCNA, Network+, A+
Network Administration Team
Portland Community College
Portland, Oregon

"For once you have tasted flight you will walk the earth with your eyes turned skywards, for there you have been and there you will long to return."
--Leonardo da Vinci
Jeremy Singletary
2008-01-09 22:32:57 UTC
Permalink
#!/usr/bin/perl

use strict;
use warnings;

while (<DATA>) {
if (/^!\s+Fan\s+\d+/) {
$_ = (split /:/, $_)[0] . "\n";
}
print;
}

__DATA__
!
! Fan 1 ok, speed (auto): 1<->2<->[[3]]
! Fan 2 ok, speed (auto): 1<->2<->[[3]]
!
! Fan controlled temperature: 35.0 deg-C
! Fan controlled temperature: 35.5 deg-C
!
! Fan speed switching temperature thresholds:
! Speed 1: NM<----->30 deg-C
! Speed 2: 25<----->40 deg-C
Post by Chris Gauthier
That did the trick, though I have one other trick I need to pull out of
my sleeve (after I learn it).
I still am getting config changes, even though nothing actually changes...
- ! Fan 1 ok, speed (auto): 1<->2<->[[3]]
- ! Fan 2 ok, speed (auto): 1<->2<->[[3]]
+ ! Fan 1 ok, speed (auto): 1<->[[2]]<->3
+ ! Fan 2 ok, speed (auto): 1<->[[2]]<->3
What I want to do is preserve the "Fan X ok" or "Fan X failed", but with
out the fan speed information. Why? Because the temperature hangs
right at the threshold between the two fan speeds, so it goes up and
down several times per day.
Is there a way to be that granular in my string processing without
bogging everything down?
Chris
Post by Mike Ashcraft
Chris,
This is a fairly simple modification to francid.
I don't have a Foundry handy to figure this out but the following steps
should get you there quickly.
open francid with an editor and find the line that starts with
@commandtable
After this are the commands run on the switch followed by the name of
the subroutine that processes the output.
Find the name of the subroutine that processes the output you want to
eliminate and modify that subroutine to skip the desired line.
If my guesses are right, you will find the following line which
if (/(POWERS|TEMPERATURE READINGS)/) {
if (/(POWERS|TEMPERATURE READINGS|temperature)/) {
Or otherwise modify the subroutine to skip this output.
Good luck,
Mike
-----Original Message-----
Gauthier
Sent: Monday, January 07, 2008 11:33 AM
Subject: [rancid] Eliminating two lines from foundry output
Hello,
I am a happy user of rancid for my Foundry switches (except the EdgeIron
line, which needs support, but I haven't worked on that yet), but have
become annoyed in the past weeks because I get an email nearly every
time rancid checks one switch. It is because it displays the temp.
Index: configs/10.x.x.x
===================================================================
retrieving revision 1.1031
diff -U4 -r1.1031 10.x.x.x
@@ -22,9 +22,9 @@
!
! Fan 1 ok, speed (auto): 1<->2<->[[3]]
! Fan 2 ok, speed (auto): 1<->2<->[[3]]
!
- ! Fan controlled temperature: 35.0 deg-C
+ ! Fan controlled temperature: 35.5 deg-C
!
! Speed 1: NM<----->30 deg-C
! Speed 2: 25<----->40 deg-C
My problem is that I want to eliminate the "Fan controlled temperature
lines" so I don't get an email every 1/2 hour (as I have rancid
configured to poll).
Any thoughts on how to do this?
Thanks,
Chris
--
Chris Gauthier, CCNA, Network+, A+
Network Administration Team
Portland Community College
Portland, Oregon
"For once you have tasted flight you will walk the earth with your eyes turned skywards, for there you have been and there you will long to return."
--Leonardo da Vinci
_______________________________________________
Rancid-discuss mailing list
http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss
Loading...