-- ****************************************************************************
--
--                    Compaq CR3500 RAID Controller
--         Management Information Base for SNMP Network Management
--
--
--      Copyright 2002 Compaq Information Technologies Group, L.P.
--
--      Compaq and the Compaq logo are trademarks of Compaq Information
--      Technologies Group, L.P. in the U.S. and/or other countries.  All
--      other product names mentioned herein may be trademarks of their
--      respective companies.
--
--      Compaq shall not be liable for technical or editorial errors or
--      omissions contained herein. The information in this document is
--      provided "as is" without warranty of any kind and is subject to
--      change without notice.  The warranties for Compaq products are set
--      forth in the express limited warranty statements accompanying such
--      products. Nothing herein should be construed as constituting an
--      additional warranty.
--
--      Refer to the READMIB.RDM file for more information about the
--      organization of the information in the Compaq Enterprise.
--
--      The Compaq Enterprise number is 232.
--      The ASN.1 prefix to, and including the Compaq Enterprise is:
--           1.3.6.1.4.1.232
--
--
-- ****************************************************************************

CPQCR-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        compaq                  FROM CPQHOST-MIB
        enterprises             FROM RFC1155-SMI
        Counter                 FROM RFC1155-SMI
        Gauge                   FROM RFC1155-SMI
        DisplayString           FROM RFC1213-MIB
        OBJECT-TYPE             FROM RFC-1212
        TRAP-TYPE               FROM RFC-1215
        sysName                 FROM RFC1213-MIB
        cpqHoTrapFlags          FROM CPQHOST-MIB;

--  compaq              OBJECT IDENTIFIER ::= { enterprises 232 }

    cpqClusteredRAID    OBJECT IDENTIFIER ::= { compaq 141 }
    cpqCrMibRev         OBJECT IDENTIFIER ::= { cpqClusteredRAID 1 }
    cpqCrComponent      OBJECT IDENTIFIER ::= { cpqClusteredRAID 2 }
    cpqCrTrap           OBJECT IDENTIFIER ::= { cpqClusteredRAID 3 }

    cpqCrInterface      OBJECT IDENTIFIER ::= { cpqCrComponent 1 }
    cpqCrCntlr          OBJECT IDENTIFIER ::= { cpqCrComponent 2 }
    cpqCrLogDrv         OBJECT IDENTIFIER ::= { cpqCrComponent 3 }
    cpqCrSpareDrv       OBJECT IDENTIFIER ::= { cpqCrComponent 4 }
    cpqCrPhyDrv         OBJECT IDENTIFIER ::= { cpqCrComponent 5 }
    cpqCrEMU            OBJECT IDENTIFIER ::= { cpqCrComponent 7 }
    cpqCrExpCab         OBJECT IDENTIFIER ::= { cpqCrComponent 8 }
    cpqCrPartition      OBJECT IDENTIFIER ::= { cpqCrComponent 9 }

    cpqCrOsCommon       OBJECT IDENTIFIER ::= { cpqCrInterface 4 }

    cpqCrInterfaceTrap  OBJECT IDENTIFIER ::= { cpqCrTrap 1 }
    cpqCrCntlrTrap      OBJECT IDENTIFIER ::= { cpqCrTrap 2 }
    cpqCrLogDrvTrap     OBJECT IDENTIFIER ::= { cpqCrTrap 3 }
    cpqCrSpareDrvTrap   OBJECT IDENTIFIER ::= { cpqCrTrap 4 }
    cpqCrPhyDrvTrap     OBJECT IDENTIFIER ::= { cpqCrTrap 5 }
    cpqCrEMUTrap        OBJECT IDENTIFIER ::= { cpqCrTrap 7 }
    cpqCrExpCabTrap     OBJECT IDENTIFIER ::= { cpqCrTrap 8 }

-- ****************************************************************************
--   Clustered RAID MIB Revision
--   ===========================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrMibRev Group             (1.3.6.1.4.1.232.141.1)
--
--      An SNMP agent conforming to this document will return a
--      cpqCrMibRevMajor of one (1) and a cpqCrMibRevMinor of one (1).
--
-- ****************************************************************************

    cpqCrMibRevMajor OBJECT-TYPE
        SYNTAX  INTEGER (1..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The Major Revision level.
             A change in the major revision level represents a major change
             in the architecture of the MIB.  A change in the major revision
             level may indicate a significant change in the information
             supported and/or the meaning of the supported information,
             correct interpretation of data may require a MIB document with
             the same major revision level."
    ::= { cpqCrMibRev 1 }

    cpqCrMibRevMinor OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The Minor Revision level.
             A change in the minor revision level may represent some minor
             additional support, no changes to any pre-existing information
             has occurred."
    ::= { cpqCrMibRev 2 }

    cpqCrMibCondition OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The overall condition (status) of the system represented by
             this MIB."
    ::= { cpqCrMibRev 3 }

-- ****************************************************************************
--    Clustered RAID Common Group
--    ========================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrComponent Group          (1.3.6.1.4.1.232.141.2)
--        cpqCrInterface Group         (1.3.6.1.4.1.232.141.2.1)
--         cpqCrOsCommon Group         (1.3.6.1.4.1.232.141.2.1.4)
--
--  The cpqCrOsCommon group describes the interface to the Clustered RAID
--  components.  This information describes the interface modules
--  and general OS interface architectural information.
--
-- ****************************************************************************

    cpqCrOsCommonPollFreq OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "The Insight Agent's polling frequency.

            The frequency, in seconds, at which the Insight Agent requests
            information from the device driver.  A frequency of zero (0)
            indicates that the Insight Agent retrieves the information upon
            request of a management station, it does not poll the device
            driver at a specific interval.

            The polling frequency is set in a configuration file used by
            the agent."

    ::= { cpqCrOsCommon 1 }

-- ****************************************************************************
--    Clustered RAID Controller Group
--    ===============================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrComponent Group          (1.3.6.1.4.1.232.141.2)
--        cpqCrCntlr Group             (1.3.6.1.4.1.232.141.2.2)
--         cpqCrCntlrTable             (1.3.6.1.4.1.232.141.2.2.1)
--
--      The Cntlr group contains the configuration information
--      of the Clustered RAID controllers
--
-- ****************************************************************************

    cpqCrCntlrTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqCrCntlrEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Array Controller Table."
    ::= { cpqCrCntlr 1 }

    cpqCrCntlrEntry OBJECT-TYPE
        SYNTAX  CpqCrCntlrEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Array Controller Entry."
        INDEX   { cpqCrCntlrIndex }
    ::= { cpqCrCntlrTable 1 }

    CpqCrCntlrEntry ::= SEQUENCE
    {
        cpqCrCntlrIndex                   INTEGER,
        cpqCrCntlrSerialNumber            DisplayString,
        cpqCrCntlrFWRev                   DisplayString,
        cpqCrCntlrCondition               INTEGER,
        cpqCrCntlrCurrentRole             INTEGER,
        cpqCrCntlrDriveOwnership          INTEGER,
        cpqCrCntlrCreateRate              INTEGER,
        cpqCrCntlrRebuildRate             INTEGER,
        cpqCrCntlrCacheSize               INTEGER,
        cpqCrCntlrSimmSizeA               INTEGER,
        cpqCrCntlrSimmSizeB               INTEGER
    }

    cpqCrCntlrIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Array Controller Index.

            This value is a logical number whose meaning is OS dependent.
            Each physical controller has one unique controller number
            associated with it."
    ::= { cpqCrCntlrEntry 1 }

    cpqCrCntlrSerialNumber OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..9))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Compaq CR3500 Controller Serial Number."

    ::= { cpqCrCntlrEntry 2 }

    cpqCrCntlrFWRev OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..9))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Array Controller Firmware Revision.

            The firmware revision of the Compaq Clustered RAID Controller.
            This value can be used to help identify a particular revision
            of the controller."
    ::= { cpqCrCntlrEntry 3 }

    cpqCrCntlrCondition OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The condition of the device.  This value represents the overall
            condition of this controller, and any associated logical drives,
            physical drives, and array accelerators."
    ::= { cpqCrCntlrEntry 4 }

    cpqCrCntlrCurrentRole OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            notDuplexed(2),
            active(3),
            backup(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Array Controller Current Role.

            For duplexed array controllers, this is the controllers current
            role.  The following values are valid:

            other (1)
              Indicates that the instrument agent does not recognize the
              role of the controller.  You may need to upgrade the instrument
              agent.

            notDuplexed (2)
              This array controller is not duplexed.

            active (3)
              This duplexed array controller is the active controller.

            backup (4)
              This duplexed array controller is the backup controller."
    ::= { cpqCrCntlrEntry 8 }


    cpqCrCntlrDriveOwnership OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            owner(2),
            notOwner(3)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Array Controller Drive Ownership.

            For duplexed controllers, indicates to which controller slot
            the shared devices are associated.

            The following values are valid:

            other (1)
              Indicates that the instrument agent does not recognize the
              status of the controller.  You may need to upgrade the instrument
              agent.

            owner (2)
              All the logical, physical and spare drives are associated
              with this controller.

            notOwner (3)
              The logical, physical and spare drives are not associated
              with this controller."
    ::= { cpqCrCntlrEntry 9 }

    cpqCrCntlrRebuildRate OBJECT-TYPE
        SYNTAX  INTEGER (1..100)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Array Controller Rebuild Rate.

             Determines the rate at which disks are to be rebuilt if
             there is I/O activity.

             1   = Minimum rate
             100 = Maximum rate"
    ::= { cpqCrCntlrEntry 10 }

    cpqCrCntlrCreateRate OBJECT-TYPE
        SYNTAX INTEGER (1..100)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "Compaq Clustered RAID Array Controller Create Rate.

             Determines the rate at which RAIDsets are to be created if
             there is I/O activity.

             1   = Minimum rate
             100 = maximum rate"
    ::= { cpqCrCntlrEntry 11 }

    cpqCrCntlrCacheSize OBJECT-TYPE
        SYNTAX INTEGER (0..512)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "Compaq Clustered RAID Array Controller Cache Size.

             Size of the controller's cache in MB."
    ::= {cpqCrCntlrEntry 12 }

    cpqCrCntlrSimmSizeA OBJECT-TYPE
         SYNTAX INTEGER (0..128)
         ACCESS read-only
         STATUS mandatory
         DESCRIPTION
            "Compaq Clustered RAID Array Controller Memory Module Size.

                Size of the memory module in slot A in MB."
    ::= {cpqCrCntlrEntry 13 }

    cpqCrCntlrSimmSizeB OBJECT-TYPE
         SYNTAX INTEGER (0..128)
         ACCESS read-only
         STATUS mandatory
         DESCRIPTION
            "Compaq Clustered RAID Array Controller Memory Module Size.

            Size of the memory module in slot B in MB."
    ::= { cpqCrCntlrEntry 14 }


-- ****************************************************************************
--    Clustered RAID Logical Drive Table (RAIDsets)
--    =============================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrComponent Group          (1.3.6.1.4.1.232.141.2)
--        cpqCrLogDrv Group            (1.3.6.1.4.1.232.141.2.3)
--         cpqCrLogDrvTable            (1.3.6.1.4.1.232.141.2.3.1)
--
--      The cpqCrLogDrv group contains configuration and statistical
--      information about the RAIDsets associated with Compaq
--      Clustered RAID controllers.
--
-- ****************************************************************************

    cpqCrLogDrvTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqCrLogDrvEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID RAIDset Table.

            A table of RAIDset entries."
    ::= { cpqCrLogDrv 1 }

    cpqCrLogDrvEntry OBJECT-TYPE
        SYNTAX  CpqCrLogDrvEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID RAIDset Entry.

            A RAIDset entry."
        INDEX   { cpqCrLogDrvCntlrIndex, cpqCrLogDrvIndex }
    ::= { cpqCrLogDrvTable 1 }

    CpqCrLogDrvEntry ::= SEQUENCE
    {
        cpqCrLogDrvCntlrIndex        INTEGER,
        cpqCrLogDrvIndex             INTEGER,
        cpqCrLogDrvRAIDLevel         INTEGER,
        cpqCrLogDrvStatus            INTEGER,
        cpqCrLogDrvRebuildPercentage INTEGER,
        cpqCrLogDrvAvailSpares       OCTET STRING,
        cpqCrLogDrvSize              INTEGER,
        cpqCrLogDrvPhyDrvIDs         OCTET STRING,
        cpqCrLogDrvCondition         INTEGER,
        cpqCrLogDrvPartitionIDs      OCTET STRING
    }

    cpqCrLogDrvCntlrIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID RAIDset Controller Index.

            This maps the RAIDsets into their respective controllers.
            Controller index 'i' under the controller group owns the
            associated drives in the RAIDset which use that index."
    ::= { cpqCrLogDrvEntry 1 }

    cpqCrLogDrvIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID RAIDset Index.

            This logical drive number keeps track of multiple instances of
            logical drives which are on the same controller.  For each
            controller index value, the logical drive index starts at 1 and
            increments for each logical drive."
    ::= { cpqCrLogDrvEntry 2 }

    cpqCrLogDrvRAIDLevel OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            jbod(2),
            raid0(3),
            raid1(4),
            raid0plus1(5),
            raid4(6),
            raid5(7)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "RAID Level.

            This shows the RAID level of the RAIDset.
            To change the RAID level, run the Compaq CL1850 Array
            Configuration Utility.

            The following values are valid for the RAIDset RAID
            Level:

            JBOD (2)
               Just a Bunch of Drives. Fault tolerance is not enabled. This
               RAIDset is made up of one device. Does not provide extended data
               redundancy, availability or protection, and does not use striping
               for performance enhancements.
               Good for applications requiring high device capacity. Requires one
               and only one device.

            RAID0 (3)
               A RAIDset using device striping and write-back caching.
               Data is spread across many devices, offering faster read/write
               performance than a single device. Does not provide extended data
               redundancy, availability or protection. Good for applications with
               large files needing high I/O performance. Requires a minimum of
               two devices.

            RAID1 (4)
               A RAIDset using device mirroring. Any time data is written to
               a device, a duplicate write is also made to a second device. Reading
               from multiple devices is usually faster than reading from a single
               device. Provides extended data redundancy, availability and
               protection. Good for read-intensive applications needing high
               availability. Requires a minimum of two devices.

            RAID0PLUS1 (5)
               A RAIDset where data is striped across devices and duplicated
               on an equivalent number of devies. Provides extended data
               redundancy, availability and protection. Good for applications
               requiring high availability, high performance and capacity.
               Requires an even number of devices, and a minimum of four devices.

            RAID4 (6)
               A RAIDset using device striping, with one device assigned for
               parity. Provides extended data redundancy, availability and
               protection. Good for applications such as graphics and imaging that
               call for writing huge, sequential blocks of data. Requires a minimum
               of three devices.

            RAID5(7)
               A RAIDset using device striping, with parity distributed across
               devices. Provides extended data redundancy, availability and
               protection. Good for transaction processing, applications requiring
               many, small I/O operations scattered randomly and widely across the
               devices. Requires a minimum of three devices."

    ::= { cpqCrLogDrvEntry 3 }

    cpqCrLogDrvStatus OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            good(2),
            reduced(3),
            failed(4),
            reconstructing(5),
            initializing(6)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "RAIDset Status.

            The RAIDset can be in one of the following states:

            Good (2)
              Indicates that the RAIDset is fully operational.

            Reduced (3)
              Indicates that the RAIDset is operating in a degraded or
              reduced state. One or more of the physical disks which make
              up the RAIDset are either missing or failed, but the
              RAIDset can continue to operate without data loss.

            Failed (4)
              Indicates that the RAIDset is not operational.

            Reconstructing (5)
              Indicates that the RAIDset is regenerating a failed
              physical drive's data onto a replacement drive that is part
              of the RAIDset.

              All user data remains available during the reconstruction
              process, but some performance reduction may occur when a
              request requires access to the device being reconstructed.

            Initializing (6)
              Indicates that the controller is writing its file structure
              onto the RAIDset's member devices."

    ::= { cpqCrLogDrvEntry 4 }


    cpqCrLogDrvRebuildPercentage OBJECT-TYPE
        SYNTAX  INTEGER (0..100)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "RAIDset Rebuild Percentage Complete.

            After a failed physical drive has been replaced, the physical
            drive must have its data rebuilt.  This value shows how far
            the rebuild process has progressed as a percentage.
            When the value reaches 100, the rebuilding process is complete.
            The drive array continues to operate in reduced mode while a
            drive is rebuilding.

            This value is only valid if the RAIDset Status is
            reconstructing (6)."

    ::= { cpqCrLogDrvEntry 5 }

    cpqCrLogDrvAvailSpares OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..255))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "RAIDset Available Spares.

            This indicates if this RAIDset has one or more spares
            designated for it that are not currently in use by another drive.
            Each octet present will be a physical drive ID that is an
            available spare for this logical drive.  These are the same ID's
            which can be used as indexes into the physical drive table.
            An octet string of length zero indicates that there are no
            available spares for this logical drive."
    ::= { cpqCrLogDrvEntry 7 }

    cpqCrLogDrvSize OBJECT-TYPE
        SYNTAX  INTEGER (0..2147483647)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "RAIDset Size.

            This is the size of the RAIDset in megabytes.  This value
            is calculated using the value 1,048,576 (2^20) as a megabyte.
            Drive manufacturers sometimes use the number 1,000,000 as a
            megabyte when giving drive capacities so this value may
            differ from the advertised size of a drive."
    ::= { cpqCrLogDrvEntry 8 }

    cpqCrLogDrvPhyDrvIDs OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..255))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "RAIDset Physical Drive IDs.

            This lists the physical drive IDs which are associated with this
            RAIDset. These are the same IDs which can be used as
            indices into the physical drive table. Each byte of the string
            is an index."
    ::= { cpqCrLogDrvEntry 9 }

    cpqCrLogDrvCondition OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "RAIDset condition.

            This value represents the overall condition of this RAIDset
            and any associated physical drives."
    ::= { cpqCrLogDrvEntry 10 }

    cpqCrLogDrvPartitionIDs OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..255))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "RAIDset Logical Drive IDs.

            This lists the logical drive IDs which are associated with this
            RAIDset. These are the same IDs which can be used as
            indices into the logical drive table. Each byte of the string
            is an index."
    ::= { cpqCrLogDrvEntry 11 }

-- ****************************************************************************
--    Clustered RAID Spare Drive Table
--    ================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrComponent Group          (1.3.6.1.4.1.232.141.2)
--        cpqCrSpareDrv Group          (1.3.6.1.4.1.232.141.2.4)
--         cpqCrSpareTable             (1.3.6.1.4.1.232.141.2.4.1)
--
--      The cpqCrSpareDrv group contains configuration and statistical
--      information about the spare drives associated with Compaq Clustered RAID
--      controllers.
--
-- ****************************************************************************


    cpqCrSpareTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqCrSpareEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Spare Table.

            A table of spare entries."
    ::= { cpqCrSpareDrv 1 }

    cpqCrSpareEntry OBJECT-TYPE
        SYNTAX  CpqCrSpareEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Spare Entry.

            An entry in the spare table."
        INDEX   { cpqCrSpareCntlrIndex, cpqCrSparePhyDrvIndex }
    ::= { cpqCrSpareTable 1 }

    CpqCrSpareEntry ::= SEQUENCE
    {
        cpqCrSpareCntlrIndex        INTEGER,
        cpqCrSparePhyDrvIndex       INTEGER,
        cpqCrSpareStatus            INTEGER,
        cpqCrSpareCondition         INTEGER,
        cpqCrSpareScsiID            INTEGER
    }

    cpqCrSpareCntlrIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Spare Controller Index.

            This index maps the spare drive back to the controller to which
            it is attached.  The value of this index is the same as the one
            used under the controller group."
    ::= { cpqCrSpareEntry 1 }

    cpqCrSparePhyDrvIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Physical Drive Index.

            This index maps the spare to the physical drive it represents.
            The value of this index is the same as the one used with the
            physical drive table."
    ::= { cpqCrSpareEntry 2 }

    cpqCrSpareStatus OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            empty(2),
            offline(3),
            online(4),
            hotSpare(5),
            warmSpare(6),
            creating(7),
            rebuilding(8),
            addingSpare(9),
            formatting(10)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Spare Status.

            This shows the status of the on-line spare drive.

            The following values are valid for the spare status:

                Hot Spare(5)
                  The drive attached to this channel is kept spinning
                  whenever the controller is powered up and it is to
                  be automatically brought online to replace a failed drive.

                Warm Spare(6)
                  The drive attached to this channel is not spun up
                  until a disk in the array fails and it is automatically
                  brought online to replace a failed drive.

                Adding Spare(9)
                  The drive is in the process of becoming a spare drive."

    ::= { cpqCrSpareEntry 3 }

    cpqCrSpareCondition OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Spare Drive condition.

            This value represents the overall condition of this spare drive
            and any associated physical drives."
    ::= { cpqCrSpareEntry 4 }

    cpqCrSpareScsiID OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "SCSI ID.

            This value represents the SCSI identifier of this spare drive."

    ::= { cpqCrSpareEntry 5 }


-- ****************************************************************************
--    Clustered RAID Physical Drive Group
--    ===================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrComponent Group          (1.3.6.1.4.1.232.141.2)
--        cpqCrPhyDrv Group            (1.3.6.1.4.1.232.141.2.5)
--         cpqCrPhyDrvTable            (1.3.6.1.4.1.232.141.2.5.1)
--
--      The cpqCrPhyDrv group contains configuration and statistical
--      information about the physical drives associated with Compaq Drive
--      Array controllers.
--
-- ****************************************************************************


    cpqCrPhyDrvTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqCrPhyDrvEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Physical Drive Table.

            A table of physical drive entries."
    ::= { cpqCrPhyDrv 1 }

    cpqCrPhyDrvEntry OBJECT-TYPE
        SYNTAX  CpqCrPhyDrvEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Physical Drive Entry.

            A physical drive entry."
        INDEX   { cpqCrPhyDrvCntlrIndex, cpqCrPhyDrvIndex }
    ::= { cpqCrPhyDrvTable 1 }

    CpqCrPhyDrvEntry ::= SEQUENCE
    {
        cpqCrPhyDrvCntlrIndex       INTEGER,
        cpqCrPhyDrvIndex            INTEGER,
        cpqCrPhyDrvVendor           DisplayString,
        cpqCrPhyDrvModel            DisplayString,
        cpqCrPhyDrvRevision         DisplayString,
        cpqCrPhyDrvStatus           INTEGER,
        cpqCrPhyDrvSize             INTEGER,
        cpqCrPhyDrvCondition        INTEGER,
        cpqCrPhyDrvScsiID           INTEGER
    }

    cpqCrPhyDrvCntlrIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Physical Drive Controller Index.

            This index maps the physical drive back to the controller to
            which it is attached. The value of this index is the same as
            the one used under the controller group."
    ::= { cpqCrPhyDrvEntry 1 }

    cpqCrPhyDrvIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Physical Drive Index.

            This index is used for selecting the physical drive table entry.
            This number, along with the cpqCrPhyDrvCntlrIndex uniquely
            identify a specific physical drive."
    ::= { cpqCrPhyDrvEntry 2 }

    cpqCrPhyDrvVendor OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..8))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Physical Drive Vendor.

            This is the name of the manufacturer of the physical drive.
            This value is based upon the vendor name as returned by the
            SCSI inquiry command but may have been modified due to space
            limitations.  This can be used for identification purposes."
    ::= { cpqCrPhyDrvEntry 3 }

    cpqCrPhyDrvModel OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..16))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Physical Drive Model.

            This is a text description of the physical drive.  The text that
            appears depends upon who manufactured the drive and the drive
            type.

            For example, you might see:  CP3201.

            If a drive fails, note the model to identify the type of drive
            necessary for replacement."

    ::= { cpqCrPhyDrvEntry 4 }

    cpqCrPhyDrvRevision OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..4))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Physical Drive Revision.

            This shows the physical drive revision number."

    ::= { cpqCrPhyDrvEntry 5 }

    cpqCrPhyDrvStatus OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            empty(2),
            offline(3),
            online(4),
            hotSpare(5),
            warmSpare(6),
            creating(7),
            rebuilding(8),
            addingSpare(9),
            formatting(10)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Physical Drive Status.

            This shows the status of the physical drive.

            The following values are valid for the physical drive status:

            Offline (3)
                The drive attached to this channel is not a member of the
                RAID set.

            Online (4)
                The drive attached to this channel is a fully functional
                member of this RAID set.

            Creating (5)
                The drive is currently being created as part of a RAID set.

            Rebuilding (6)
                The drive is currently being rebuilt.

            Formatting (8)
                The drive is currently being formatted"

    ::= { cpqCrPhyDrvEntry 6 }

    cpqCrPhyDrvSize OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Physical Drive Size in MB.

            This is the size of the physical drive in megabytes.  This value
            is calculated using the value 1,048,576 (2^20) as a megabyte.
            Drive manufacturers sometimes use the number 1,000,000 as a
            megabyte when giving drive capacities so this value may differ
            from the advertised size of a drive.  This field is only
            applicable for controllers which support SCSI drives, and
            therefore is not supported by the IDA or IDA-2 controllers.
            The field will contain 0xFFFFFFFF if the drive capacity cannot
            be calculated or if the controller does not support SCSI drives."
    ::= { cpqCrPhyDrvEntry 7 }

    cpqCrPhyDrvCondition OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Physical Drive condition.

            This value represents the overall condition of this physical drive."
    ::= { cpqCrPhyDrvEntry 8 }

    cpqCrPhyDrvScsiID OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "SCSI ID.

            This value represents the SCSI identifier of this physical
            drive."
    ::= { cpqCrPhyDrvEntry 9 }

-- ****************************************************************************
--    Clustered RAID EMU (primary enclosure) Objects
--    ==============================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrComponent Group          (1.3.6.1.4.1.232.141.2)
--        cpqCrEMU Group               (1.3.6.1.4.1.232.141.2.7)
--
-- ****************************************************************************

        cpqCrEMUBoardTemperatureStatus OBJECT-TYPE
                SYNTAX INTEGER
                {
                other (1),
                emuBoardTempNotInstalled (2),
                emuBoardTempNormal (3),
                emuBoardTempBelowNormal (4),
                emuBoardTempAboveNormal (5),
                emuBoardTempFarBelowNormal (6),
                emuBoardTempFarAboveNormal (7),
                emuBoardTempBackToNormal (8)
                }
                ACCESS read-only
                STATUS deprecated
                DESCRIPTION
                        "Environmental Monitoring Unit (EMU) Board Temperature status.

                        The System Board Temperature status as determined by the EMU is:

                        Not Installed (2)
                                The board temperature can not be detected in the unit.

                        Normal (3)
                                The board temperature detected by the EMU is normal.

                        Below Normal (4)
                                The board temperature detected by the EMU is below normal.

                        Above Normal (5)
                                The board temperature detected by the EMU is above normal.

                        Far Below Normal (6)
                                The board temperature detected by the EMU is far below normal.

                        Far Above Normal (7)
                                The board temperature detected by the EMU is far above normal.

                        Back To Normal (8)
                                The board temperature detected by the EMU has returned to normal."

                ::= { cpqCrEMU 1 }

        cpqCrEMUEnclosureTemperatureStatus OBJECT-TYPE
                SYNTAX INTEGER
                {
                other (1),
                emuEnclosureTempNotInstalled (2),
                emuEnclosureTempNormal (3),
                emuEnclosureTempBelowNormal (4),
                emuEnclosureTempAboveNormal (5),
                emuEnclosureTempFarBelowNormal (6),
                emuEnclosureTempFarAboveNormal (7),
                emuEnclosureTempBackToNormal (8)
                }
                ACCESS read-only
                STATUS deprecated
                DESCRIPTION
                        "Environmental Monitoring Unit (EMU) Enclosure Temperature status.

                        The Enclosure Housing Temperature status as determined by the EMU is:

                        Not Installed (2)
                                The enclosure temperature can not be detected in the unit.

                        Normal (3)
                                The enclosure temperature detected by the EMU is normal.

                        Below Normal (4)
                                The enclosure temperature detected by the EMU is below normal.

                        Above Normal (5)
                                The enclosure temperature detected by the EMU is above normal.

                        Far Below Normal (6)
                                The enclosure temperature detected by the EMU is far below normal.

                        Far Above Normal (7)
                                The enclosure temperature detected by the EMU is far above normal.

                        Back To Normal (8)
                                The enclosure temperature detected by the EMU has returned to normal."

                ::= { cpqCrEMU 2 }

        cpqCrEMUBoardTemperatureLevel OBJECT-TYPE
                SYNTAX INTEGER (0..255)
                ACCESS read-only
                STATUS deprecated
                DESCRIPTION
                        "Environmental Monitoring Unit (EMU) Board Temperature.

                        Indicates the System Board temperature in degrees Fahrenheit."

                ::= { cpqCrEMU 3 }

        cpqCrEMUEnclosureTemperatureLevel OBJECT-TYPE
                SYNTAX INTEGER (0..255)
                ACCESS read-only
                STATUS deprecated
                DESCRIPTION
                        "Environmental Monitoring Unit (EMU) Enclosure Temperature.

                        Indicates the Enclosure Housing temperature in degrees Fahrenheit."

                ::= { cpqCrEMU 4 }


    cpqCrEMUCondition OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Primary enclosure condition.

            This value represents the overall condition of the primary
            enclosure."

    ::= { cpqCrEMU 5 }

    cpqCrEMUFanStatus OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            emuFanOK(2),
            emuFanCritical(3),
            emuFanUnknown(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Primary enclosure fan status.

            The primary enclosure fan status is:

            OK (2)
                Status is normal.

            Critical (3)
                Fan has failed.

            Unknown (4)
                Information unavailable."
    ::= { cpqCrEMU 6 }

    cpqCrEMUFanCondition OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Primary enclosure fan condition.

            This value represents the overall condition of the fan
            in the primary enclosure."
    ::= { cpqCrEMU 7 }

    cpqCrEMUPowerSupplyStatus OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            emuPwrSupplyOK(2),
            emuPwrSupplyCritical(3),
            emuPwrSupplyNotInstalled(4),
            emuPwrSupplyUnknown(5)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Primary enclosure power supply status.

            The primary enclosure power supply status is:

            OK (2)
                Status is normal.

            Critical (3)
                Power supply is installed and marked as failed.

            Not Installed (4)
                One of the redundant power supplies has been removed.

            Unknown (5)
                Information unavailable."
    ::= { cpqCrEMU 8 }

    cpqCrEMUPowerSupplyCondition OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Primary enclosure power supply condition.

            This value represents the overall condition of the power
            supply in the primary enclosure."
    ::= { cpqCrEMU 9 }

    cpqCrEMUTemperatureStatus OBJECT-TYPE
        SYNTAX INTEGER
        {
            other (1),
            emuTempOK (2),
            emuTempCritical (3),
            emuTempNonCritical (4),
            emuTempUnknown (5)
        }

        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "Primary enclosure temperature status.

            The primary enclosure temperature status is:

                OK (2)
                    Status is normal.

                Critical (3)
                    Controller temperature sensor has detected a critical
                    temperature condition in the primary enclosure.

                Non-critical (4)
                    Controller temperature sensor has detected an abnormal
                    temperature condition in the primary enclosure.

                Unknown (5)
                    Information unavailable."
    ::= { cpqCrEMU 10 }

    cpqCrEMUTemperatureLevel OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "Primary enclosure temperature.

            Indicates the temperature within the primary enclosure in degrees
            Celsius."
    ::= { cpqCrEMU 11 }

    cpqCrEMUTemperatureCondition OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Primary enclosure temperature condition.

            This value represents the overall condition of the
            temperature in the primary enclosure."
    ::= { cpqCrEMU 12 }


-- ****************************************************************************
--    Clustered RAID Expansion Cabinet (Starlight shelf) Objects
--    ==========================================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrComponent Group          (1.3.6.1.4.1.232.141.2)
--        cpqCrExpCab Group            (1.3.6.1.4.1.232.141.2.8)
--
-- ****************************************************************************

    cpqCrExpCabPowerSupplyStatus OBJECT-TYPE
        SYNTAX INTEGER
        {
            other(1),
            expCabPwrSupplyOK(2),
            expCabPwrSupplyNonCritical(3),
            expCabPwrSupplyUnknown(5)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "Expansion Cabinet power supply status.

            The expansion cabinet power supply status is:

            OK (2)
                Status is normal. Either redundant power supplies are
                installed and reporting no error or a single power
                supply is installed.

            Non-Critical (3)
                Redundant power supplies are installed and reporting
                a fault.

            Unknown (5)
                Information unavailable."
    ::= { cpqCrExpCab 1 }

    cpqCrExpCabFanStatus OBJECT-TYPE
        SYNTAX INTEGER
        {
            other(1),
            expCabFanOK(2),
            expCabFanNonCritical(4),
            expCabFanNotInstalled(5),
            expCabFanUnknown(6)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "Expansion Cabinet fan status.

            The expansion cabinet fan status is:

            OK (2)
                Status is normal. One or more fans is installed and no
                error is reported.

            Non-Critical (4)
                Fan degraded condition. One or more fans are reporting an
                error or only one fan is installed.

            Not Installed (5)
                Fan valid bit not set.

            Unknown (6)
                Information unavailable."
    ::= { cpqCrExpCab 2 }

    cpqCrExpCabTemperatureStatus OBJECT-TYPE
        SYNTAX INTEGER
        {
            other(1),
            expCabTempOK(2),
            expCabTempCritical(3),
            expCabTempNonCritical(4),
            expCabTempNotInstalled(5),
            expCabTempUnknown(6)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "Expansion Cabinet temperature status.

            The expansion cabinet temperature status is:

            OK (2)
                Status is normal.

            Critical (3)
                Critical temperature condition reported.

            Non-Critical (4)
                Warning temperature condition reported.

            Not Installed (5)
                Temperature valid bit not set.

            Unknown (6)
                Information unavailable."
    ::= { cpqCrExpCab 3 }

    cpqCrExpCabCondition OBJECT-TYPE
        SYNTAX INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "Expansion Cabinet condition.

            This value represents the overall condition of the
            expansion cabinet."
    ::= { cpqCrExpCab 6 }

    cpqCrExpCabPowerSupplyCondition OBJECT-TYPE
        SYNTAX INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "Expansion Cabinet power supply condition.

            This value represents the overall condition of the
            power supply in the expansion cabinet."
    ::= { cpqCrExpCab 7 }

    cpqCrExpCabFanCondition OBJECT-TYPE
        SYNTAX INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "Expansion Cabinet fan condition.

            This value represents the overall condition of the
            fan in the expansion cabinet."
    ::= { cpqCrExpCab 9 }

    cpqCrExpCabTemperatureCondition OBJECT-TYPE
        SYNTAX INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "Expansion Cabinet temperature condition.

            This value represents the overall condition of the
            temperature in the expansion cabinet."
    ::= { cpqCrExpCab 10 }


-- ****************************************************************************
--    Clustered RAID Partition Table (Logical Drives)
--    ===============================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrComponent Group          (1.3.6.1.4.1.232.141.2)
--        cpqCrPartition Group         (1.3.6.1.4.1.232.141.2.9)
--         cpqCrPartitionTable         (1.3.6.1.4.1.232.141.2.9.1)
--
--      The cpqCrPartition group contains configuration and statistical
--      information about the logical drives associated with Compaq
--      Clustered RAID controllers.
--
-- ****************************************************************************

    cpqCrPartitionTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqCrPartitionEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Logical Drive Table.

            A table of logical drive entries."
    ::= { cpqCrPartition 1 }

    cpqCrPartitionEntry OBJECT-TYPE
        SYNTAX  CpqCrPartitionEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Logical Drive Entry.

            A Logical Drive entry."
        INDEX   { cpqCrPartitionLogDrvIndex, cpqCrPartitionIndex }
    ::= { cpqCrPartitionTable 1 }

    CpqCrPartitionEntry ::= SEQUENCE
    {
        cpqCrPartitionLogDrvIndex       INTEGER,
        cpqCrPartitionIndex             INTEGER,
        cpqCrPartitionRAIDLevel         INTEGER,
        cpqCrPartitionStatus            INTEGER,
        cpqCrPartitionSize              INTEGER,
        cpqCrPartitionCondition         INTEGER
    }

    cpqCrPartitionLogDrvIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Logical Drive Index.

            This maps the logical drives into their respective RAIDsets.
            RAIDset index 'i' under the RAIDset group owns the
            associated drives in the logical drives which use that index."
    ::= { cpqCrPartitionEntry 1 }

    cpqCrPartitionIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Compaq Clustered RAID Logical Drive Index.

            This logical drive number keeps track of multiple instances of
            logical drives which are part of the same RAIDset.  For each
            RAIDset index value, the logical drive index starts at 1 and
            increments for each logical drive."
    ::= { cpqCrPartitionEntry 2 }

    cpqCrPartitionRAIDLevel OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            jbod(2),
            raid0(3),
            raid1(4),
            raid0plus1(5),
            raid4(6),
            raid5(7)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Logical Drive RAID Level.

            This shows the RAID level of the logical drive.
            To change the RAID level, run the Compaq CR3500 Array
            Configuration Utility.

            The following values are valid for the logical drive RAID
            Level:

            JBOD (2)
               Just a Bunch of Drives. Fault tolerance is not enabled. This
               logicl drive is made up of one device. Does not provide extended data
               redundancy, availability or protection, and does not use striping
               for performance enhancements.
               Good for applications requiring high device capacity. Requires one
               and only one device.

            RAID0 (3)
               A logical drive using device striping and write-back caching.
               Data is spread across many devices, offering faster read/write
               performance than a single device. Does not provide extended data
               redundancy, availability or protection. Good for applications with
               large files needing high I/O performance. Requires a minimum of
               two devices.

            RAID1 (4)
               A logical drive using device mirroring. Any time data is written to
               a device, a duplicate write is also made to a second device. Reading
               from multiple devices is usually faster than reading from a single
               device. Provides extended data redundancy, availability and
               protection. Good for read-intensive applications needing high
               availability. Requires a minimum of two devices.

            RAID0PLUS1 (5)
               A logical drive where data is striped across devices and duplicated
               on an equivalent number of devies. Provides extended data
               redundancy, availability and protection. Good for applications
               requiring high availability, high performance and capacity.
               Requires an even number of devices, and a minimum of four devices.

            RAID4 (6)
               A logical drive using device striping, with one device assigned for
               parity. Provides extended data redundancy, availability and
               protection. Good for applications such as graphics and imaging that
               call for writing huge, sequential blocks of data. Requires a minimum
               of three devices.

            RAID5(7)
               A logical drive using device striping, with parity distributed across
               devices. Provides extended data redundancy, availability and
               protection. Good for transaction processing, applications requiring
               many, small I/O operations scattered randomly and widely across the
               devices. Requires a minimum of three devices."

    ::= { cpqCrPartitionEntry 3 }

    cpqCrPartitionStatus OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            good(2),
            reduced(3),
            failed(4),
            reconstructing(5),
            initializing(6)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Logical Drive Status.

            The logical drive can be in one of the following states:

            Good (2)
              Indicates that the logical drive is fully operational.

            Reduced (3)
              Indicates that the logical drive is operating in a degraded or
              reduced state. One or more of the physical disks which make
              up the logical drive are either missing or failed, but the
              logical drive can continue to operate without data loss.

            Failed (4)
              Indicates that the logical drive is not operational.

            Reconstructing (5)
              Indicates that the logical drive is regenerating a failed
              physical drive's data onto a replacement drive that is part
              of the logical drive.

              All user data remains available during the reconstruction
              process, but some performance reduction may occur when a
              request requires access to the device being reconstructed.

            Initializing (6)
              Indicates that the controller is writing its file structure
              onto the logical drive's member devices."

    ::= { cpqCrPartitionEntry 4 }

    cpqCrPartitionSize OBJECT-TYPE
        SYNTAX  INTEGER (0..2147483647)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Logical Drive Size.

            This is the size of the logical drive in megabytes.  This value
            is calculated using the value 1,048,576 (2^20) as a megabyte.
            Drive manufacturers sometimes use the number 1,000,000 as a
            megabyte when giving drive capacities so this value may
            differ from the advertised size of a drive."
    ::= { cpqCrPartitionEntry 5 }

    cpqCrPartitionCondition OBJECT-TYPE
        SYNTAX  INTEGER
        {
            other(1),
            ok(2),
            degraded(3),
            failed(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Logical drive condition.

            This value represents the overall condition of this logical
            drive and any associated physical drives."
    ::= { cpqCrPartitionEntry 6 }


-- ****************************************************************************
--    Clustered RAID Subsystem Traps
--    ==============================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrTrap                     (1.3.6.1.4.1.232.141.3)
--        cpqCrCntlrTrap               (1.3.6.1.4.1.232.141.3.2)
--
-- ****************************************************************************

    cpqCrController1FailureTrap TRAP-TYPE
        ENTERPRISE cpqCrCntlrTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "The primary controller in the subsytem has failed.

            Details:
              The primary Controller has failed.

            User Action:
              Replace controller.  Possible causes are controller physically
              removed, actual hardware failure."
    ::= 1

    cpqCrController1InformationTrap TRAP-TYPE
        ENTERPRISE cpqCrCntlrTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "The primary controller in the subsytem has recovered.

             Details:
               The primary controller has recovered.

             User Action:
               None."

    ::= 2

    cpqCrController2FailureTrap TRAP-TYPE
        ENTERPRISE cpqCrCntlrTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "The secondary controller in the subsytem has failed.

             Details:
               The secondary controller has failed.

             User Action:
               Replace controller.  Possible causes are controller
               physically removed, actual hardware failure."

    ::= 3

    cpqCrController2InformationTrap TRAP-TYPE
        ENTERPRISE cpqCrCntlrTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "The secondary controller in the subsytem has recovered.

             Details:
               The secondary controller has recovered.

             User Action:
               None."

    ::= 4

-- ****************************************************************************
--    Clustered RAID Logical Drive (RAIDset) Traps
--    ============================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrTrap                     (1.3.6.1.4.1.232.141.3)
--        cpqCrLogDrvTrap              (1.3.6.1.4.1.232.141.3.3)
--
-- ****************************************************************************

    cpqCrLogDriveInformationTrap TRAP-TYPE
        ENTERPRISE cpqCrLogDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrLogDrvIndex
        }
        DESCRIPTION
            "A RAIDset has become optimal.

             Details:
               A RAIDset has become optimal due to a successful completion
               of the reconstruction process.

             User Action:
               None."

    ::= 5

    cpqCrLogDriveFailureTrap TRAP-TYPE
        ENTERPRISE cpqCrLogDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrLogDrvIndex
        }
        DESCRIPTION
            "A RAIDset has failed.

             Details:
               The RAIDset has failed and is off-line.

             User Action:
               Possible cause is too many failed disk drives that make up
               the RAIDset, the OS can no longer communicate with the RAIDset
               for other reasons."

    ::= 6

    cpqCrLogDriveReconstructTrap TRAP-TYPE
        ENTERPRISE cpqCrLogDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrLogDrvIndex
        }
        DESCRIPTION
            "A RAIDset has started the reconstruction process.

            Details:
              The RAIDset has started the reconstruction process but is available
              for normal use.
              Possible causes are an available disk drive was created as
              a spare to be inserted into the set, an existing spare was
              automatically added to the set for reconstruction upon failure
              of a member disk device.

            User Action:
              None."

    ::= 7

    cpqCrLogDriveReducedTrap TRAP-TYPE
        ENTERPRISE cpqCrLogDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrLogDrvIndex
        }
        DESCRIPTION
            "A RAIDset has become degraded.

             Details:
               A RAIDset has become degraded due to a member disk device
               failure.

             User Action:
               Replace the failed disk device; add a spare to the system
               to cause a reconstruct."

    ::= 8

    cpqCrLogDriveInitializingTrap TRAP-TYPE
        ENTERPRISE cpqCrLogDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrLogDrvIndex
        }
        DESCRIPTION
            "A RAIDset is initializing.

            Details:
              A RAIDset is in the process of being intialized.

            User Action:
              None."

    ::= 9

-- ****************************************************************************
--    Clustered RAID Physical Drive Traps
--    ===================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrTrap                     (1.3.6.1.4.1.232.141.3)
--        cpqCrPhyDrvTrap              (1.3.6.1.4.1.232.141.3.5)
--
-- ****************************************************************************


   cpqCrDiskInformationTrap TRAP-TYPE
        ENTERPRISE cpqCrPhyDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrPhyDrvCntlrIndex,
            cpqCrPhyDrvIndex
        }
        DESCRIPTION
            "A disk drive has recovered.

             Details:
               A disk device has recovered.

             User Action:
               None."

    ::= 10


    cpqCrDiskFailureTrap TRAP-TYPE
        ENTERPRISE cpqCrPhyDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrPhyDrvCntlrIndex,
            cpqCrPhyDrvIndex
        }
        DESCRIPTION
            "A disk drive has failed.

             Details:
               A disk device has failed.

             User Action:
               Replace the disk device."

    ::= 11


    cpqCrDiskReconstructTrap TRAP-TYPE
        ENTERPRISE cpqCrPhyDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrPhyDrvIndex
        }
        DESCRIPTION
            "A disk drive has started the reconstruction process.

            Details:
              A disk member of a logical drive has begun the reconstruction
              process and will be available for use when reconstruction is
              complete.

            User Action:
              Wait for the reconstruction to complete."

    ::= 12


    cpqCrDiskAvailableTrap TRAP-TYPE
        ENTERPRISE cpqCrPhyDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrPhyDrvIndex
        }
        DESCRIPTION
            "A disk drive has been made available for use.

            Details:
              A disk drive has been physically added or set to the
              Available state. It can be used as a RAIDset member or as a Spare.

            User Action:
              None."

    ::= 13


    cpqCrDiskSpareTrap TRAP-TYPE
        ENTERPRISE cpqCrPhyDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrPhyDrvIndex
        }
        DESCRIPTION
            "A disk drive has been made a Spare.

            Details:
              A disk drive has been set to Spare status from Available and
              may be used in a RAID 1, RAID 0+1 or RAID 5 logical disk should
              a member device fail in one of those RAIDsets.

            User Action:
              None."

    ::= 14

   cpqCrPhyDiskInformationTrap TRAP-TYPE
        ENTERPRISE cpqCrPhyDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrPhyDrvScsiID
        }
        DESCRIPTION
            "A disk drive has recovered.

             Details:
               A disk device has recovered.

             User Action:
               None."

    ::= 30

    cpqCrPhyDiskFailureTrap TRAP-TYPE
        ENTERPRISE cpqCrPhyDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrPhyDrvScsiID
        }
        DESCRIPTION
            "A disk drive has failed.

             Details:
               A disk device has failed.

             User Action:
               Replace the disk device."

    ::= 31

    cpqCrPhyDiskReconstructTrap TRAP-TYPE
        ENTERPRISE cpqCrPhyDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrPhyDrvScsiID
        }
        DESCRIPTION
            "A disk drive has started the reconstruction process.

            Details:
              A disk member of a logical drive has begun the reconstruction
              process and will be available for use when reconstruction is
              complete.

            User Action:
              Wait for the reconstruction to complete."

    ::= 32

    cpqCrPhyDiskAvailableTrap TRAP-TYPE
        ENTERPRISE cpqCrPhyDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrPhyDrvScsiID
        }
        DESCRIPTION
            "A disk drive has been made available for use.

            Details:
              A disk drive has been physically added or set to the
              Available state. It can be used as a RAIDset member or as a Spare.

            User Action:
              None."

    ::= 33

    cpqCrPhyDiskSpareTrap TRAP-TYPE
        ENTERPRISE cpqCrPhyDrvTrap
        VARIABLES
        {
            sysName,
            cpqCrSpareScsiID
        }
        DESCRIPTION
            "A disk drive has been made a Spare.

            Details:
              A disk drive has been set to Spare status from Available and
              may be used in a RAID 1, RAID 0+1 or RAID 5 logical disk should
              a member device fail in one of those RAIDsets.

            User Action:
              None."

    ::= 34

-- ****************************************************************************
--    Clustered RAID EMU Traps
--    ========================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrTrap                     (1.3.6.1.4.1.232.141.3)
--        cpqCrEMUTrap                 (1.3.6.1.4.1.232.141.3.7)
--
-- ****************************************************************************

    cpqCrEMUNormalTrap TRAP-TYPE
        ENTERPRISE cpqCrEMUTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "Primary enclosure state is normal.

            Details:
              The overall condition of the primary enclosure has returned
              to normal.


            User Action:
              None."

    ::= 15

    cpqCrEMUFanFailureTrap TRAP-TYPE
        ENTERPRISE cpqCrEMUTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "Fan has failed.

            Details:
              One of the cooling fans in the primary enclosure has
              failed.

            User Action:
              Replace the cooling fan. Possible causes are fan
              physically removed, actual hardware failure."
    ::= 16

    cpqCrEMUFanInformationTrap TRAP-TYPE
        ENTERPRISE cpqCrEMUTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "The fan has recovered.

            Details:
              The cooling fan in the primary enclosure has recovered.

            User Action:
              None."
    ::= 17

    cpqCrEMUPowerSupplyFailureTrap TRAP-TYPE
        ENTERPRISE cpqCrEMUTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "Power supply has failed.

            Details:
              One of the power supplies in the primary enclosure has
              failed.

            User Action:
              Replace the power supply. Possible causes are power
              supply physically removed, power cord unplugged, actual
              hardware failure."
    ::= 18

    cpqCrEMUPowerSupplyInformationTrap TRAP-TYPE
        ENTERPRISE cpqCrEMUTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "The power supply has recovered.

            Details:
              The power supply in the primary enclosure has recovered.

            User Action:
              None."
    ::= 19

    cpqCrEMUTemperatureWarningTrap TRAP-TYPE
        ENTERPRISE cpqCrEMUTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "Primary enclosure temperature warning.

            Details:
              The temperature in the primary enclosure has triggered a
              warning condition detected by the controller.

            User Action:
              Check the cooling fans in the primary enclosure."
    ::= 23

    cpqCrEMUTemperatureCriticalTrap TRAP-TYPE
        ENTERPRISE cpqCrEMUTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "Primary enclosure temperature critical!.

            Details:
              The temperature in the primary enclosure has triggered a
              critical condition detected by the controller.

            User Action:
              Check the cooling fans in the primary enclosure."
    ::= 24

    cpqCrEMUTemperatureInformationTrap TRAP-TYPE
        ENTERPRISE cpqCrEMUTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "Primary enclosure temperature normal.

            Details:
              The temperature in the primary enclosure has
              returned to normal.

            User Action:
              None."
    ::= 25

-- ****************************************************************************
--    Clustered RAID Expansion Cabinet Traps
--    ======================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqClusteredRAID Group         (1.3.6.1.4.1.232.141)
--       cpqCrTrap                     (1.3.6.1.4.1.232.141.3)
--        cpqCrExpCabTrap              (1.3.6.1.4.1.232.141.3.8)
--
-- ****************************************************************************

    cpqCrExpCabFanFailureTrap TRAP-TYPE
        ENTERPRISE cpqCrExpCabTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "Fan has failed in expansion cabinet.

            Details:
              One of the cooling fans in the expansion cabinet has
              failed.

            User Action:
              Replace the cooling fan. Possible causes are fan
              physically removed, actual hardware failure."
    ::= 20

    cpqCrExpCabFanInformationTrap TRAP-TYPE
        ENTERPRISE cpqCrExpCabTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "Fan has recovered.

            Details:
              A cooling fan in the expansion cabinet has returned to a
              normal state.

            User Action:
              None."
    ::= 21

    cpqCrExpCabPowerSupplyFailureTrap TRAP-TYPE
        ENTERPRISE cpqCrExpCabTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "Power supply has failed.

            Details:
              One of the power supplies in the expansion cabinet has
              failed.

            User Action:
              Replace the power supply. Possible causes are power
              supply physically removed, power cord unplugged, actual
              hardware failure."
    ::= 22

    cpqCrExpCabPowerSupplyInformationTrap TRAP-TYPE
        ENTERPRISE cpqCrExpCabTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "The power supply has recovered.

            Details:
              The power supply in the expansion cabinet has recovered.

            User Action:
              None."
    ::= 29

    cpqCrExpCabTemperatureWarningTrap TRAP-TYPE
        ENTERPRISE cpqCrExpCabTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "Expansion cabinet temperature warning.

            Details:
              The temperature in the expansion cabinet has triggered a
              warning condition detected by the controller.

            User Action:
              Check the cooling fans in the expansion cabinet."
    ::= 26

    cpqCrExpCabTemperatureCriticalTrap TRAP-TYPE
        ENTERPRISE cpqCrExpCabTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "Expansion cabinet temperature critical!

            Details:
              The temperature in the expansion cabinet has triggered a
              critical condition detected by the controller.

            User Action:
              Check the cooling fans in the expansion cabinet."
    ::= 27

    cpqCrExpCabTemperatureInformationTrap TRAP-TYPE
        ENTERPRISE cpqCrExpCabTrap
        VARIABLES
        {
            sysName
        }
        DESCRIPTION
            "Expansion cabinet temperature normal.

            Details:
              The temperature in the expansion cabinet has returned to
              normal.

            User Action:
              None."
    ::= 28

END
