OSSP CVS Repository

ossp - Check-in [3566]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 3566
Date: 2003-Sep-08 16:37:21 (local)
2003-Sep-08 14:37:21 (UTC)
User:thl
Branch:
Comment: hwFan and hwPs for SunOS as array
Tickets:
Inspections:
Files:
ossp-pkg/snmpdx/snmpdx.d/hwFan.pm      added-> 1.1
ossp-pkg/snmpdx/snmpdx.d/hwPs.pm      added-> 1.1
ossp-pkg/snmpdx/snmpdx.mib/snmpdx.mib      1.7 -> 1.8     82 inserted, 20 deleted

ossp-pkg/snmpdx/snmpdx.d/hwFan.pm -> 1.1

*** /dev/null    Sat Nov 23 05:09:28 2024
--- -    Sat Nov 23 05:09:35 2024
***************
*** 0 ****
--- 1,86 ----
+ ##
+ ##  snmpdx -- SNMP Daemon Extension
+ ##  Copyright (c) 2003 The OSSP Project <http://www.ossp.org/>
+ ##  Copyright (c) 2003 Ralf S. Engelschall <rse@engelschall.com>
+ ##  Copyright (c) 2003 Cable & Wireless <http://www.cw.com/>
+ ##
+ ##  Permission to use, copy, modify, and distribute this software for
+ ##  any purpose with or without fee is hereby granted, provided that
+ ##  the above copyright notice and this permission notice appear in all
+ ##  copies.
+ ##
+ ##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+ ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ ##  SUCH DAMAGE.
+ ##
+ ##  hwFan: Hardware, Fan
+ ##
+ 
+ package My::Probe::hwFan;
+ our @ISA = qw(My::Probe);
+ 
+ sub oids ($) {
+     my ($self) = @_;
+     return $self->{-ctx}->{-mib}->oids("*.snmpdx.host.hardware.hwFan.*");
+ }
+ 
+ sub probe ($$) {
+     my ($self, $obj) = @_;
+ 
+     if ($self->{-ctx}->{-platform}->id() =~ m/FreeBSD/i) {
+         my $hwFanInfoENTRY = undef; #N/A
+     }
+     elsif ($self->{-ctx}->{-platform}->id() =~ m/Linux/i) {
+         my $hwFanInfoENTRY = undef; #N/A
+     }
+     elsif($self->{-ctx}->{-platform}->id() =~ m/SunOS/i) {
+         my $hwFanInfoENTRY = undef;
+ 
+         #   local workspace
+         my $out; my $raw; my $arch; my $new;
+ 
+         #   initialize arch
+         $arch = $self->{-ctx}->{-platform}->arch();
+ 
+         #   hwFanInfoENTRY
+         $out = $self->{-ctx}->{-sys}->run("/usr/platform/$arch/sbin/prtdiag -v", "1m");
+         $raw = $out->{-stdout};
+         if ($raw =~ m/\n=+ Environmental Status =+\n.*\nFan Bank.:[^\n]*\n(.*?)\n=+/s) {
+             $raw = $1;
+             foreach $line (split "\n", $raw) {
+                 if ($line =~ m/([A-Z]+)\s+(\d+)\s+(OK|ERROR)/) {
+                     my $new = {};
+                     $new->{hwFanId} = "$1";
+                     $new->{hwFanSpeed} = "$2";
+                     if ($3 =~ m/^OK$/) {
+                         $new->{hwFanStatus} = 1;
+                     }
+                     else {
+                         $new->{hwFanStatus} = 0;
+                     }
+                     push(@hwFanInfoENTRY, $new);
+                 }
+             }
+         }
+ 
+         if ($obj->{-name} =~ m/\.hwFanInfoENTRY\.([^.]+)\.(\d+)$/) {
+             my $col = $1;
+             my $row = ($2 > 0 ? $2 - 1 : 0);
+             $self->{-ctx}->{-log}->printf(4, "col=%s row=%s", $col, $row);
+             $obj->{-value} = @hwFanInfoENTRY[$row]->{$col} if (defined @hwFanInfoENTRY[$row] and defined @hwFanInfoENTRY[$row]->{$col});
+         }
+     }
+     return;
+ }
+ 
+ 1;
+ 


ossp-pkg/snmpdx/snmpdx.d/hwPs.pm -> 1.1

*** /dev/null    Sat Nov 23 05:09:28 2024
--- -    Sat Nov 23 05:09:35 2024
***************
*** 0 ****
--- 1,85 ----
+ ##
+ ##  snmpdx -- SNMP Daemon Extension
+ ##  Copyright (c) 2003 The OSSP Project <http://www.ossp.org/>
+ ##  Copyright (c) 2003 Ralf S. Engelschall <rse@engelschall.com>
+ ##  Copyright (c) 2003 Cable & Wireless <http://www.cw.com/>
+ ##
+ ##  Permission to use, copy, modify, and distribute this software for
+ ##  any purpose with or without fee is hereby granted, provided that
+ ##  the above copyright notice and this permission notice appear in all
+ ##  copies.
+ ##
+ ##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+ ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ ##  SUCH DAMAGE.
+ ##
+ ##  hwPs: Hardware, Powersupply
+ ##
+ 
+ package My::Probe::hwPs;
+ our @ISA = qw(My::Probe);
+ 
+ sub oids ($) {
+     my ($self) = @_;
+     return $self->{-ctx}->{-mib}->oids("*.snmpdx.host.hardware.hwPs.*");
+ }
+ 
+ sub probe ($$) {
+     my ($self, $obj) = @_;
+ 
+     if ($self->{-ctx}->{-platform}->id() =~ m/FreeBSD/i) {
+         my $hwPsInfoENTRY = undef; #N/A
+     }
+     elsif ($self->{-ctx}->{-platform}->id() =~ m/Linux/i) {
+         my $hwPsInfoENTRY = undef; #N/A
+     }
+     elsif($self->{-ctx}->{-platform}->id() =~ m/SunOS/i) {
+         my $hwPsInfoENTRY = undef;
+ 
+         #   local workspace
+         my $out; my $raw; my $arch; my $new;
+ 
+         #   initialize arch
+         $arch = $self->{-ctx}->{-platform}->arch();
+ 
+         #   hwPsInfoENTRY
+         $out = $self->{-ctx}->{-sys}->run("/usr/platform/$arch/sbin/prtdiag -v", "1m");
+         $raw = $out->{-stdout};
+         if ($raw =~ m/\n=+ Environmental Status =+\n.*\nPower Supplies:[^\n]*\n(.*?)\n=+/s) {
+             $raw = $1;
+             foreach $line (split "\n", $raw) {
+                 if ($line =~ m/(\d+)\s+(OK|ERROR)/) {
+                     my $new = {};
+                     $new->{hwPsId} = "PS$1";
+                     if ($2 =~ m/^OK$/) {
+                         $new->{hwPsStatus} = 1;
+                     }
+                     else {
+                         $new->{hwPsStatus} = 0;
+                     }
+                     push(@hwPsInfoENTRY, $new);
+                 }
+             }
+         }
+ 
+         if ($obj->{-name} =~ m/\.hwPsInfoENTRY\.([^.]+)\.(\d+)$/) {
+             my $col = $1;
+             my $row = ($2 > 0 ? $2 - 1 : 0);
+             $self->{-ctx}->{-log}->printf(4, "col=%s row=%s", $col, $row);
+             $obj->{-value} = @hwPsInfoENTRY[$row]->{$col} if (defined @hwPsInfoENTRY[$row] and defined @hwPsInfoENTRY[$row]->{$col});
+         }
+     }
+     return;
+ }
+ 
+ 1;
+ 


ossp-pkg/snmpdx/snmpdx.mib/snmpdx.mib 1.7 -> 1.8

--- snmpdx.mib   2003/09/08 13:43:05     1.7
+++ snmpdx.mib   2003/09/08 14:37:21     1.8
@@ -253,6 +253,7 @@
     STATUS      current
     DESCRIPTION "currently free filesystem space in MB"
     ::= { sysFsInfoENTRY 5 }
+
 --
 --  Hardware: Product
 --
@@ -378,47 +379,108 @@
     ::= { hwDiskInfoENTRY 1 }
 
 hwDiskStatus OBJECT-TYPE
-    SYNTAX      DisplayString
+    SYNTAX      Integer32
     MAX-ACCESS  read-only
     STATUS          current
     DESCRIPTION "Disk status"
     ::= { hwDiskInfoENTRY 2 }
 
-
 --
---  Hardware: Power Supply
+--  Hardware: Fan
 --
 
-hwPS OBJECT IDENTIFIER
+hwFan OBJECT IDENTIFIER
     ::= { hardware 5 }
 
-hwPSNum OBJECT-TYPE
-    SYNTAX      Integer32
-    MAX-ACCESS  read-only
+hwFanInfoTABLE OBJECT-TYPE
+    SYNTAX          SEQUENCE OF HwFanIndexENTRY
+    MAX-ACCESS  not-accessible
     STATUS      current
-    DESCRIPTION "number of power supplies"
-    ::= { hwPS 1 }
+    DESCRIPTION "FIXME Table description!?"
+    ::= { hwFan 1 }
 
-hwPSTemp OBJECT-TYPE
-    SYNTAX      Gauge32
-    MAX-ACCESS  read-only
-    STATUS      current
-    DESCRIPTION "temperature of Power Supply"
-    ::= { hwPS 2 }
+hwFanInfoENTRY OBJECT-TYPE
+    SYNTAX          HwFanIndexENTRY
+    MAX-ACCESS  not-accessible
+    STATUS          current
+    DESCRIPTION "FIXME Row description!?"
+    INDEX           { hwFanInfoIndex }
+    ::= { hwFanInfoTABLE 1 }
+
+HwFanIndexENTRY ::= SEQUENCE {
+    hwFanId       DisplayString,
+    hwFanSpeed    Integer32,
+    hwFanStatus   Integer32
+}
+
+hwFanId OBJECT-TYPE
+    SYNTAX      DisplayString
+    MAX-ACCESS  read-only
+    STATUS          current
+    DESCRIPTION "Fan identification"
+    ::= { hwFanInfoENTRY 1 }
 
-hwPSStatus OBJECT-TYPE
+hwFanSpeed OBJECT-TYPE
     SYNTAX      Integer32
-    MAX-ACCESS  read-only
+    MAX-ACCESS  read-only
+    STATUS          current
+    DESCRIPTION "Fan speed"
+    ::= { hwFanInfoENTRY 2 }
+
+hwFanStatus OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS          current
+    DESCRIPTION "Fan status"
+    ::= { hwFanInfoENTRY 3 }
+
+--
+--  Hardware: Powersupply
+--
+
+hwPs OBJECT IDENTIFIER
+    ::= { hardware 6 }
+
+hwPsInfoTABLE OBJECT-TYPE
+    SYNTAX          SEQUENCE OF HwPsIndexENTRY
+    MAX-ACCESS  not-accessible
     STATUS      current
-    DESCRIPTION "boolean status of Power Supply (0:shutdown, 1:operating: 2:error)"
-    ::= { hwPS 3 }
+    DESCRIPTION "FIXME Table description!?"
+    ::= { hwPs 1 }
+
+hwPsInfoENTRY OBJECT-TYPE
+    SYNTAX          HwPsIndexENTRY
+    MAX-ACCESS  not-accessible
+    STATUS          current
+    DESCRIPTION "FIXME Row description!?"
+    INDEX           { hwPsInfoIndex }
+    ::= { hwPsInfoTABLE 1 }
+
+HwPsIndexENTRY ::= SEQUENCE {
+    hwPsId       DisplayString,
+    hwPsStatus   Integer32
+}
+
+hwPsId OBJECT-TYPE
+    SYNTAX      DisplayString
+    MAX-ACCESS  read-only
+    STATUS          current
+    DESCRIPTION "Powersupply identification"
+    ::= { hwPsInfoENTRY 1 }
+
+hwPsStatus OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS          current
+    DESCRIPTION "Powersupply status"
+    ::= { hwPsInfoENTRY 2 }
 
 --
 --  Hardware: Chassis
 --
 
 hwChassis OBJECT IDENTIFIER
-    ::= { hardware 6 }
+    ::= { hardware 7 }
 
 hwChassisOpen OBJECT-TYPE
     SYNTAX      Integer32

CVSTrac 2.0.1