towerops/priv/mibs/calix/OCCAM-SHELF-MIB
Graham McIntire b4f8b40b7f
Include MIB files in Docker image instead of using PVC
- Remove PVC volume mount from k8s/deployment.yaml
- Delete k8s/mib-pvc.yaml (no longer needed)
- Update .gitignore to commit MIB files to git
- Add mix import_mibs task to copy MIBs from LibreNMS
- Add all MIB files from priv/mibs/ to git

This fixes the multi-attach volume error in Kubernetes where new pods
couldn't start because the RWO (ReadWriteOnce) PVC was attached to the
old pod. MIBs are now part of the Docker image and can be used by all
pods simultaneously.
2026-01-19 14:01:03 -06:00

461 lines
14 KiB
Text

OCCAM-SHELF-MIB DEFINITIONS ::= BEGIN
IMPORTS
occamGenericHardwareModules
FROM OCCAM-REG-MODULE
TEXTUAL-CONVENTION, TruthValue, DisplayString
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
OBJECT-IDENTITY, MODULE-IDENTITY, OBJECT-TYPE,
NOTIFICATION-TYPE, Integer32, enterprises, private, internet,
IpAddress, TimeTicks
FROM SNMPv2-SMI;
occamShelfMib MODULE-IDENTITY
LAST-UPDATED "200104271051Z"
ORGANIZATION "Occam Networks"
CONTACT-INFO "email support@occamnetworks.com"
DESCRIPTION "The mib module to describe a shelf."
REVISION "200104271051Z"
DESCRIPTION "Reformatted certain text"
REVISION "200702220000Z"
DESCRIPTION "Removed DISPLAY-HINT"
::= { occamGenericHardwareModules 3 }
-- TEXTUAL-CONVENTIONS --
ValidValue ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A validity value."
SYNTAX INTEGER { valid ( 1 ) ,
not-valid ( 2 )
}
ShelfControllerRoleValue ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A shelf controller role value."
SYNTAX INTEGER { primary ( 1 ) ,
secondary ( 2 ) }
ShelfSlotIndexValue ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A slot index value within a shelf."
SYNTAX Integer32 ( 1 .. 15 )
ShelfIndexValue ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A shelf index value within the network."
SYNTAX Integer32 ( 0 .. 4095 )
ShelfControllerPeerFoundStatusValue ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A peer found status value."
SYNTAX INTEGER { peer-found ( 1 ) ,
peer-not-found ( 2 ) }
CardOperationalStatusValue ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A card operational status value."
SYNTAX INTEGER { up ( 1 ) , down ( 2 ) }
CardRoleValue ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A card role value."
SYNTAX INTEGER {
standalone ( 1 ),
card ( 2 ),
shelf-controller( 3 )
}
SlotsInShelfValue ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The number of slots a shelf may have.
A 1RU has 1 slot. A 12RU has 12 slots."
SYNTAX Integer32 ( 1 .. 15 )
CardPresenceStatusValue ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A card presence status value."
SYNTAX INTEGER { inserted ( 1 ) ,
removed ( 2 ) }
ShelfControllerRedundancyStateValue ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A shelf controller redundancy role value."
SYNTAX INTEGER { active ( 1 ) ,
standby ( 2 ) }
ShelfRedundancyStatusValue ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A shelf redundancy status value."
SYNTAX INTEGER { redundant ( 1 ) ,
not-redundant ( 2 ) }
shelfMibObjects OBJECT IDENTIFIER
::= { occamShelfMib 1 }
shelfMibTraps OBJECT IDENTIFIER
::= { occamShelfMib 2 }
cardIpAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains the Ip Address of the card."
::= { shelfMibObjects 1 }
cardShelfIndex OBJECT-TYPE
SYNTAX ShelfIndexValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains the Shelf Index of the card."
::= { shelfMibObjects 2 }
cardSlotIndex OBJECT-TYPE
SYNTAX ShelfSlotIndexValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains the slot index of the card
within the shelf."
::= { shelfMibObjects 3 }
cardShelfSlots OBJECT-TYPE
SYNTAX SlotsInShelfValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the number of slots in the shelf this
card is inserted into."
::= { shelfMibObjects 4 }
cardRole OBJECT-TYPE
SYNTAX CardRoleValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the card shelf role."
::= { shelfMibObjects 5 }
shelfControllerPeerIpAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains the Ip Address of this
shelf controller's peer."
::= { shelfMibObjects 6 }
shelfControllerPeerFoundStatus OBJECT-TYPE
SYNTAX ShelfControllerPeerFoundStatusValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates if a shelf controller
peer has been found."
::= { shelfMibObjects 7 }
shelfControllerRole OBJECT-TYPE
SYNTAX ShelfControllerRoleValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the role of the shelf controller."
::= { shelfMibObjects 8 }
shelfControllerRedundancyState OBJECT-TYPE
SYNTAX ShelfControllerRedundancyStateValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the redundancy state of the shelf
controller."
::= { shelfMibObjects 9 }
shelfClusterIpAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains the cluster Ip Address of
the shelf."
::= { shelfMibObjects 10 }
shelfRedundancyStatus OBJECT-TYPE
SYNTAX ShelfRedundancyStatusValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the redundancy status of the shelf."
::= { shelfMibObjects 11 }
blcConfigChangeString OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates area(s) of a config change on a BLC."
::= { shelfMibObjects 12 }
shelfSlotTable OBJECT-TYPE
SYNTAX SEQUENCE OF ShelfSlotEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of information about
the BLC cards configured in a shelf system
and managed by a shelf controller. The number of
entries depends on how blades are configured
in the shelf."
::= { shelfMibObjects 13 }
shelfSlotEntry OBJECT-TYPE
SYNTAX ShelfSlotEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the ShelfSlotTable. A row in this
table cannot be created or deleted by SNMP
operations on columns of the table."
INDEX { shelfSlotIndex }
::= { shelfSlotTable 1 }
ShelfSlotEntry ::= SEQUENCE {
shelfSlotIndex ShelfSlotIndexValue,
shelfCardIpAddress IpAddress,
shelfCardPresenceStatus CardPresenceStatusValue,
shelfCardOperationalStatus CardOperationalStatusValue,
shelfSlotRowStatus ValidValue
}
shelfSlotIndex OBJECT-TYPE
SYNTAX ShelfSlotIndexValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The index of this slot in the shelf."
::= { shelfSlotEntry 1 }
shelfCardIpAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ip address of this card in the shelf."
::= { shelfSlotEntry 2 }
shelfCardPresenceStatus OBJECT-TYPE
SYNTAX CardPresenceStatusValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates if a card is inserted in this slot."
::= { shelfSlotEntry 3 }
shelfCardOperationalStatus OBJECT-TYPE
SYNTAX CardOperationalStatusValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates if the card is inserted in this slot
is operational."
::= { shelfSlotEntry 4 }
shelfSlotRowStatus OBJECT-TYPE
SYNTAX ValidValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates if this row of the card table is valid."
::= { shelfSlotEntry 5 }
resyncTrigger OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"A read of this object will trigger a resync of
past notifications to all hosts. A write of a
timetick to this object will trigger a resync
of past notifications newer than this timetick
only to the requesting host.
NOTE: The resync'd notifications will have an extra
varbind attached that indicates that this
is a resync notification. The extra varbind also
gives a count of which notification out of the total
notifications is being sent.
The format for the extra varbind is:
<this trap count>:<total traps to be
resync'd:resync=true
"
::= { shelfMibObjects 14 }
resyncTriggerAll OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"A read of this object will trigger a resync of all
past notifications to the requesting host.
A write of a timetick to this object will trigger a
resync of all past notifications newer than this
timetick to the requesting host.
NOTE: The resync'd notifications will have an extra
varbind attached that indicates that this is a resync
notification. The extra varbind also gives a count of
which notification out of the total notifications is
being sent.
The format for the extra varbind is:
<this trap count>:<total traps to be
resync'd:resync=true
"
::= { shelfMibObjects 15 }
resyncActiveAlarms OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"A read of this value will return a dummy value.
A write of this object(any value) will send the
active alarms to the requesting host.
NOTE: The resync'd notifications will have an extra
varbind attached that indicates that this is a resync
notification. The extra varbind also gives a count of
which notification out of the total notifications
is being sent.
The format for the extra varbind is:
<this trap count>:<total traps to be
resynced:resync=true>"
::= { shelfMibObjects 16 }
resyncEvents OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"A read of this value will return a dummy value.
A write of this object will send events to the
requesting host. The format of the variable is the
following:
0 will resync all the stored events (a 100 of them).
x will resync all the events with a sequence number
superior to the host
x_y will resync all the events between x and y.
NOTE: The resync'd notifications will have an extra
varbind attached that indicates that this is a resync
notification. The extra varbind also gives A count
of which notification out of the total notifications
is being sent.
The format for the extra varbind is:
<this trap count>:<total traps to be
resynced:resync=true>"
::= { shelfMibObjects 17 }
cardPresenceNotification NOTIFICATION-TYPE
OBJECTS { cardIpAddress, cardShelfIndex,
cardSlotIndex,shelfCardPresenceStatus }
STATUS current
DESCRIPTION
"This trap is sent when the card presence status
changes."
::= { shelfMibTraps 1 }
cardOperationalNotification NOTIFICATION-TYPE
OBJECTS { cardIpAddress, cardShelfIndex,
cardSlotIndex,
shelfCardOperationalStatus }
STATUS current
DESCRIPTION
"This trap is sent when the card operational status
changes."
::= { shelfMibTraps 2 }
shelfControllerFailoverNotification NOTIFICATION-TYPE
OBJECTS { cardIpAddress, cardShelfIndex,
cardSlotIndex,
shelfControllerPeerIpAddress,
shelfControllerRole,
shelfControllerRedundancyState }
STATUS current
DESCRIPTION
"This trap is sent when a shelf failover occurs."
::= { shelfMibTraps 3 }
shelfControllerForcedFailoverNotification NOTIFICATION-TYPE
OBJECTS { cardIpAddress, cardShelfIndex,
cardSlotIndex,
shelfControllerPeerIpAddress,
shelfControllerRole,
shelfControllerRedundancyState }
STATUS current
DESCRIPTION
"This trap is sent when a forced shelf failover occurs."
::= { shelfMibTraps 4 }
peerFoundNotification NOTIFICATION-TYPE
OBJECTS { cardIpAddress, cardShelfIndex,
cardSlotIndex,
shelfControllerPeerIpAddress,
shelfControllerRole,
shelfControllerRedundancyState,
shelfControllerPeerFoundStatus }
STATUS current
DESCRIPTION
"This trap is sent when the peerFound status changes."
::= { shelfMibTraps 5 }
configChangedNotification NOTIFICATION-TYPE
OBJECTS { cardIpAddress, cardShelfIndex,
cardSlotIndex, blcConfigChangeString }
STATUS current
DESCRIPTION
"This trap is sent when a copy running to startup
occurs."
::= { shelfMibTraps 6 }
shelfRedundancyChangeNotification NOTIFICATION-TYPE
OBJECTS { cardIpAddress, cardShelfIndex,
cardSlotIndex, shelfControllerRole,
shelfControllerRedundancyState,
shelfRedundancyStatus }
STATUS current
DESCRIPTION
"This trap is sent when the shelf redundancy status
changes."
::= { shelfMibTraps 7 }
END