[rancid] Ciena Waveserver 1.6 - fluctuating power values + other improvement suggestions

heasley heas at shrubbery.net
Fri Aug 3 20:49:28 UTC 2018


Fri, Aug 03, 2018 at 11:29:03AM -0500, Chris Wopat:
> We recently upgraded some Ciena Waveservers to v1.6, Ciena added power draw
> info to the output of "show chassis". That value fluctuates a lot, causing
> diffs on most rancid-runs. looking to see the best method to filter it out.
> 
> Attached is a .txt file (or see
> https://falz.net/static/waveserver-1.6-chassis.txt)  with sample output
> from 1.5 and 1.6m where the power column was added as well as a new box
> displaying a total power value, which also fluctuates.
> 
> Is there a quick and easy way to filter out just the power values? If not,

does the patch below do it?  I no longer have any of these devices.

> a proposed solution would be to run these commands instead of 'chassis
> show':
> 
> chassis show capabilities
> chassis show mac
> 
> These would not show the power related info, but it would show the rest of
> whats normally in the 'chassis show command'.
> 
> While looking in to this issue, we also notice that the command 'software
> show' is run, but our diffs never show the output of it. If i run this via
> command line, it does show output.

what does the cmd output look like?  output from one of ours looked like:

! WS>  software show
! +---------------- ACTIVE RELEASE INFORMATION -------------------+
! | Parameter                     | Value                         |
! +-------------------------------+-------------------------------+
! | Version                       | 1.0.1                         |
! | Build                         | ae03                          |
! | Build Date                    | 2015.12.16-13:36.17           |
! | Catalog Name                  | 1.0.1-ae03_svrbuild_wvsrvr    |
! +-------------------------------+-----------+---------+---------+
! | Release Component             | Version   | Build   | State   |
! +-------------------------------+-----------+---------+---------+
! | Waveserver OS                 | 1.0.1     | ae03    | Active  |
! | WS Control Datapath Firmware  | 1.0.1     | ae03    | Active  |
! | WS Wavelogic Firmware         | 1.0.1     | ae03    | Active  |
! | WS Controller App             | 1.0.1     | ae03    | Active  |
! | WS Datapath App               | 1.0.1     | ae03    | Active  |
! | WS Management App             | 1.0.1     | ae03    | Active  |
! | WS MIB                        | 01-00-00  | 00      | Active  |
! | WS YANG                       | 01-00-00  | 00      | Active  |
! | WS HW-ID                      | 003       | 00      | Active  |
! | WS SW-ID                      | 01        | 00      | Active  |
! +-------------------------------+-----------+---------+---------+

> Lastly, there's a few other useful commands that I could see being added
> fairly painlessly that show some useful information. Some of these came
> from looking at what Juniper does already and some are unique to Fortigate
> (the service things).
> 
> alarm show
> blade show
> license client show
> license file list
> service-domain show
> service show map

you have to show me output of these.

Index: wavesvros.pm.in
===================================================================
--- wavesvros.pm.in	(revision 3846)
+++ wavesvros.pm.in	(working copy)
@@ -103,6 +103,7 @@
 # This routine parses "chassis show"
 sub ShowChassis {
     my($INPUT, $OUTPUT, $cmd) = @_;
+    my($PSW) = 0;
     print STDERR "    In ShowChassisClocks: $_" if ($debug);
 
     # include the command
@@ -113,8 +114,8 @@
 	last if (/^$prompt/);
 	/no matching entry found/ && return(-1);	# unknown cmd
 
-	# skip fan status
-	if (/CFU FAN STATUS/) {
+	# skip fan status/chassis power draw
+	if (/(cfu fan status|chassis power summary)/i) {
 	    while (<$INPUT>) {
 		tr/\015//d;
 		return(-1) if (/^$prompt/);
@@ -121,6 +122,20 @@
 		last if (/^\s*$/);
 	    }
 	}
+	# filter PS wattage from power supply status
+	if (/(cfu fan status|chassis power summary)/i) {
+	    while (<$INPUT>) {
+		tr/\015//d;
+		return(-1) if (/^$prompt/);
+		$PSW = 1 if (/power \(w\)/i);
+		if ($PSW && /^(|[^|]+){7,}|\s+([0-9.]+ |)/) {
+		    ProcessHistory("","","","! $1|\n");
+		} else {
+		    ProcessHistory("","","","! $_");
+		}
+		last if (/^\s*$/);
+	    }
+	}
 
 	ProcessHistory("","","","! $_");
     }



More information about the Rancid-discuss mailing list