532 lines
16 KiB
Plaintext
532 lines
16 KiB
Plaintext
--*******************************************************
|
|
--Nokia IPSO Load Balancing Cluster MIB
|
|
--May 14 2001, Kripa Karlekar
|
|
--
|
|
--*******************************************************
|
|
|
|
NOKIA-IPSO-LBCLUSTER-MIB DEFINITIONS ::= BEGIN
|
|
IMPORTS
|
|
IpAddress, OBJECT-TYPE FROM RFC1155-SMI
|
|
ipsoProducts FROM NOKIA-IPSO-REGISTRATION-MIB
|
|
NOTIFICATION-TYPE, MODULE-IDENTITY
|
|
FROM SNMPv2-SMI
|
|
MacAddress, TimeStamp
|
|
FROM SNMPv2-TC
|
|
InterfaceIndex FROM IF-MIB;
|
|
|
|
ipsoLBClusterMIB MODULE-IDENTITY
|
|
LAST-UPDATED "0105140000Z"
|
|
ORGANIZATION "Nokia IPRG"
|
|
CONTACT-INFO
|
|
" Nokia IPRG
|
|
Customer Service"
|
|
|
|
DESCRIPTION
|
|
"The MIB Module for the management of Load Balancing IPSO systems.
|
|
A load balancing IPSO cluster comprises a number of nodes with
|
|
a single master node and multiple member nodes.
|
|
A master or member can be a part of single cluster or multiple
|
|
clusters.
|
|
|
|
The master is responsible for calculating the worksets and assigning
|
|
it to all the members and to itself.
|
|
|
|
The information provided by this MIB implementation will vary depending
|
|
on if this node is a master or member."
|
|
|
|
REVISION "0105140000Z"
|
|
DESCRIPTION "Initial Version of the MIB -- Kripa Karlekar"
|
|
::= { ipsoProducts 5 }
|
|
|
|
-- MIB Contains 5 tables
|
|
|
|
ipsoLBClusterInfo OBJECT IDENTIFIER ::= { ipsoLBClusterMIB 1}
|
|
ipsoLBClusterNodeSpecificInfo OBJECT IDENTIFIER ::= { ipsoLBClusterMIB 2}
|
|
ipsoLBClusterNotificationGroup OBJECT IDENTIFIER ::= { ipsoLBClusterMIB 3}
|
|
|
|
ipsoLBNumClusters OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "Number of clusters in which this node is either a master
|
|
or a member"
|
|
::= {ipsoLBClusterInfo 1}
|
|
|
|
ipsoLBClusterInfoTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF IpsoLBClusterInfoEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION "This table contains a row for each cluster to which
|
|
this system belongs."
|
|
INDEX {ClusterIndex }
|
|
::= {ipsoLBClusterInfo 2}
|
|
|
|
ipsoLBClusterInfoEntry OBJECT-TYPE
|
|
SYNTAX IpsoLBClusterInfoEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION "An entry containing cluster management information for
|
|
each cluster this system belongs."
|
|
::= {ipsoLBClusterInfoTable 1}
|
|
|
|
IpsoLBClusterInfoEntry ::=
|
|
SEQUENCE {
|
|
clusterIndex INTEGER,
|
|
clusterID INTEGER,
|
|
clusterNumMembers INTEGER,
|
|
clusterNumInterfaces INTEGER,
|
|
clusterUpTimeAtJoin TimeStamp,
|
|
systemUpTimeAtJoin TimeStamp,
|
|
clusterTotalBuckets INTEGER,
|
|
clusterBucketsAssigned INTEGER
|
|
}
|
|
|
|
clusterIndex OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The Cluster Index"
|
|
::= { ipsoLBClusterInfoEntry 1}
|
|
|
|
clusterID OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The Identity for the cluster"
|
|
::= { ipsoLBClusterInfoEntry 2}
|
|
|
|
clusterNumMembers OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "Number of members for this cluster"
|
|
::= { ipsoLBClusterInfoEntry 3}
|
|
|
|
clusterNumInterfaces OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "Number of interfaces participating in this cluster"
|
|
::= { ipsoLBClusterInfoEntry 4}
|
|
|
|
clusterUpTimeAtJoin OBJECT-TYPE
|
|
SYNTAX TimeStamp
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "Time since the cluster started when this member joined the cluster"
|
|
::= { ipsoLBClusterInfoEntry 5}
|
|
|
|
systemUpTimeAtJoin OBJECT-TYPE
|
|
SYNTAX TimeStamp
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The system up time when this member joined the cluster"
|
|
::= { ipsoLBClusterInfoEntry 6}
|
|
|
|
clusterTotalBuckets OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "Overall number of buckets that will be distributed among
|
|
cluster members for this cluster"
|
|
::= { ipsoLBClusterInfoEntry 7}
|
|
|
|
clusterBucketsAssigned OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "Total number of buckets assigned to each individual
|
|
cluster members on this cluster"
|
|
::= { ipsoLBClusterInfoEntry 8}
|
|
|
|
ipsoLBClusterAddressTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF IpsoLBClusterAddressEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION "This table contains a row for each cluster to which
|
|
this system belongs. This table provides cluster
|
|
interface address for this cluster."
|
|
INDEX {ClusterIndex, ClusterAddress}
|
|
::= {ipsoLBClusterInfo 3}
|
|
|
|
ipsoLBClusterAddressEntry OBJECT-TYPE
|
|
SYNTAX IpsoLBClusterAddressEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION "An entry containing cluster interface address
|
|
information of each cluster this node is participating."
|
|
::= {ipsoLBClusterAddressTable 1}
|
|
|
|
IpsoLBClusterAddressEntry ::=
|
|
SEQUENCE {
|
|
clusterIndex INTEGER,
|
|
clusterAddress IpAddress,
|
|
clusterMACAddress MacAddress
|
|
}
|
|
|
|
clusterIndex2 OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The cluster index"
|
|
::= { ipsoLBClusterAddressEntry 1}
|
|
|
|
clusterAddress OBJECT-TYPE
|
|
SYNTAX IpAddress
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The cluster interface address"
|
|
::= { ipsoLBClusterAddressEntry 2}
|
|
|
|
clusterMACAddress OBJECT-TYPE
|
|
SYNTAX MacAddress
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The cluster MAC Address"
|
|
::= { ipsoLBClusterAddressEntry 3}
|
|
|
|
ipsoLBClusterMemberTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF IpsoLBClusterMemberEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION "This table has information about all the members
|
|
in each cluster this node participates. The information
|
|
in this table varies depending on if this mode is a member
|
|
or master in each cluster. If this node is a master in a
|
|
cluster it furnishes more information"
|
|
INDEX { ClusterIndex, MemberID}
|
|
::= {ipsoLBClusterInfo 4}
|
|
|
|
ipsoLBClusterMemberEntry OBJECT-TYPE
|
|
SYNTAX IpsoLBClusterMemberEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION "An entry containing member information."
|
|
::= {ipsoLBClusterMemberTable 1}
|
|
|
|
IpsoLBClusterMemberEntry ::=
|
|
SEQUENCE {
|
|
clusterIndex INTEGER,
|
|
memberID INTEGER,
|
|
memberPercentageBucketsAssigned INTEGER,
|
|
memberRating OCTET STRING,
|
|
memberPrimaryAddress IpAddress
|
|
}
|
|
|
|
clusterIndex3 OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The index of the cluster"
|
|
::= { ipsoLBClusterMemberEntry 1}
|
|
|
|
memberID OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The member id in the cluster"
|
|
::= { ipsoLBClusterMemberEntry 2}
|
|
|
|
memberPercentageBucketsAssigned OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "A percentage of how many buckets this member is processing
|
|
for each cluster"
|
|
::= { ipsoLBClusterMemberEntry 3}
|
|
|
|
memberRating OBJECT-TYPE
|
|
SYNTAX OCTET STRING
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The Rating of this member for this cluster, only available on Master."
|
|
::= { ipsoLBClusterMemberEntry 4}
|
|
|
|
memberPrimaryAddress OBJECT-TYPE
|
|
SYNTAX IpAddress
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "Members's primary interface address"
|
|
::= { ipsoLBClusterMemberEntry 5}
|
|
|
|
|
|
ipsoLBClusterNodeSpecificTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF IpsoLBClusterNodeSpecificEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION "This table contains a row for each cluster to which
|
|
this system belongs. This table provides specific
|
|
cluster related information about this node"
|
|
INDEX { ClusterIndex }
|
|
::= {ipsoLBClusterNodeSpecificInfo 1}
|
|
|
|
ipsoLBClusterNodeSpecificEntry OBJECT-TYPE
|
|
SYNTAX IpsoLBClusterNodeSpecificEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION "An entry containing management information for
|
|
this node in each cluster."
|
|
::= {ipsoLBClusterNodeSpecificTable 1}
|
|
|
|
IpsoLBClusterNodeSpecificEntry ::=
|
|
SEQUENCE {
|
|
clusterIndex INTEGER,
|
|
memberID INTEGER,
|
|
percentageBucketsAssigned INTEGER,
|
|
memberMode INTEGER,
|
|
memberRating INTEGER,
|
|
memberPrimaryAddress IpAddress
|
|
}
|
|
|
|
clusterIndex4 OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The cluster index for which this node is a member"
|
|
::= { ipsoLBClusterNodeSpecificEntry 1}
|
|
|
|
memberID2 OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "This member's id in the cluster"
|
|
::= { ipsoLBClusterNodeSpecificEntry 2}
|
|
|
|
percentageBucketsAssigned OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "Percentage of buckets assigned to this member in this cluster"
|
|
::= { ipsoLBClusterNodeSpecificEntry 3}
|
|
|
|
memberMode OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
uninitialized(1),
|
|
initialized(2),
|
|
joining(3),
|
|
becomingmaster(4),
|
|
master(5),
|
|
member(6),
|
|
unknown(7)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The member's mode in this cluster"
|
|
::= { ipsoLBClusterNodeSpecificEntry 4}
|
|
|
|
memberRating2 OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "Member's rating in this cluster"
|
|
::= { ipsoLBClusterNodeSpecificEntry 5}
|
|
|
|
memberPrimaryAddress2 OBJECT-TYPE
|
|
SYNTAX IpAddress
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "Members's primary interface address"
|
|
::= { ipsoLBClusterNodeSpecificEntry 6}
|
|
|
|
|
|
ipsoLBClusterNodeSpecificInterfaceTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF IpsoLBClusterNodeSpecificInterfaceEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION "This table contains information about each interface
|
|
that participates in the cluster.
|
|
The interfaces in this node can be a part of multiple
|
|
cluster in which case there will be a row for each
|
|
interface in each cluster."
|
|
INDEX { ClusterIndex, ifIndex}
|
|
::= {ipsoLBClusterNodeSpecificInfo 2}
|
|
|
|
ipsoLBClusterNodeSpecificInterfaceEntry OBJECT-TYPE
|
|
SYNTAX IpsoLBClusterNodeSpecificInterfaceEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION "An entry containing management information for
|
|
each interface in this member for each cluster."
|
|
::= {ipsoLBClusterNodeSpecificInterfaceTable 1}
|
|
|
|
IpsoLBClusterNodeSpecificInterfaceEntry ::=
|
|
SEQUENCE {
|
|
clusterIndex INTEGER,
|
|
memberID INTEGER,
|
|
ifIndex InterfaceIndex,
|
|
clusterIPAddress IpAddress,
|
|
clusterNetMask IpAddress,
|
|
clusterBroadcastAddress IpAddress,
|
|
realIPAddress IpAddress,
|
|
masterIPAddress IpAddress
|
|
}
|
|
|
|
clusterIndex5 OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The cluster index for which this node is a member"
|
|
::= { ipsoLBClusterNodeSpecificInterfaceEntry 1}
|
|
|
|
memberID3 OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "This member's ID"
|
|
::= { ipsoLBClusterNodeSpecificInterfaceEntry 2}
|
|
|
|
ifIndex OBJECT-TYPE
|
|
SYNTAX InterfaceIndex
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The interface index in the interface table"
|
|
::= { ipsoLBClusterNodeSpecificInterfaceEntry 3}
|
|
|
|
clusterIPAddress OBJECT-TYPE
|
|
SYNTAX IpAddress
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "Cluster's IP address for this interface"
|
|
::= { ipsoLBClusterNodeSpecificInterfaceEntry 4}
|
|
|
|
clusterNetMask OBJECT-TYPE
|
|
SYNTAX IpAddress
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "Cluster Netmask "
|
|
::= { ipsoLBClusterNodeSpecificInterfaceEntry 5}
|
|
|
|
clusterBroadcastAddress OBJECT-TYPE
|
|
SYNTAX IpAddress
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The Broadcast address"
|
|
::= { ipsoLBClusterNodeSpecificInterfaceEntry 6}
|
|
|
|
realIPAddress OBJECT-TYPE
|
|
SYNTAX IpAddress
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "The real IP Address of the interface, if there
|
|
are multiple IP address then this will the first
|
|
IP address configured"
|
|
::= { ipsoLBClusterNodeSpecificInterfaceEntry 7}
|
|
|
|
masterIPAddress OBJECT-TYPE
|
|
SYNTAX IpAddress
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION "Master's IP address assosiated with this interface"
|
|
::= { ipsoLBClusterNodeSpecificInterfaceEntry 8}
|
|
|
|
-- Following are the cluster related notifcation traps
|
|
|
|
ipsoLBMemberJoinRejectReason OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
fewinterface (1),
|
|
illegallicence(2)
|
|
}
|
|
MAX-ACCESS accessible-for-notify
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Reason why a node was rejected from joining a cluster."
|
|
::= { ipsoLBClusterNotificationGroup 0 }
|
|
|
|
ipsoLBClusterNewMasterReason OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
oldMasterHelloTimeout (1),
|
|
iamBetterMaster(2),
|
|
initalizedAsMaster(3),
|
|
unknown(4)
|
|
}
|
|
MAX-ACCESS accessible-for-notify
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Potential reason why this node became a master."
|
|
::= { ipsoLBClusterNotificationGroup 1 }
|
|
|
|
ipsoLBClusterMemberJoin NOTIFICATION-TYPE
|
|
OBJECTS {clusterID, memberID, ipsoMemberIPAddress}
|
|
STATUS current
|
|
DESCRIPTION "This trap is sent when a member node joins the cluster by the master"
|
|
::= { ipsoLBClusterNotificationGroup 2 }
|
|
|
|
ipsoLBClusterMemberLeft NOTIFICATION-TYPE
|
|
OBJECTS {clusterID, memberID, ipsoMemberIPAddress}
|
|
STATUS current
|
|
DESCRIPTION "This trap is sent when a member node leaves the cluster by the master."
|
|
::= { ipsoLBClusterNotificationGroup 3 }
|
|
|
|
ipsoLBClusterNewMaster NOTIFICATION-TYPE
|
|
OBJECTS {clusterID, ipsoLBClusterNewMasterReason}
|
|
STATUS current
|
|
DESCRIPTION "This trap is sent when a cluster is formed and a new master is elected."
|
|
::= { ipsoLBClusterNotificationGroup 4 }
|
|
|
|
ipsoLBJoinReject NOTIFICATION-TYPE
|
|
OBJECTS {clusterID, ipsoMemberIPAddress, ipsoMemberRejectErcode,
|
|
ipsoMemberRejectWrongIntf, ipsoMemberRejectprimaryintf, ipsoMemberRejectCip,
|
|
ipsoMemberRejectHash }
|
|
STATUS current
|
|
DESCRIPTION "This trap is sent when a member's request to join the cluster
|
|
is rejected"
|
|
::= { ipsoLBClusterNotificationGroup 5 }
|
|
|
|
--ERROR REASONS
|
|
|
|
--ERROR CODE INTEGER
|
|
ipsoMemberRejectErcode OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
internalerroronmaster (55),
|
|
numberofmembersclustercansupportexceeded (22),
|
|
nodeunreachableononeoftheselectedinterfaces (65),
|
|
protocolversionmismatch (61),
|
|
configurationmismatch (6)
|
|
}
|
|
MAX-ACCESS accessible-for-notify
|
|
STATUS current
|
|
DESCRIPTION "Potential reason why this node is rejected."
|
|
::= { ipsoLBClusterNotificationGroup 6 }
|
|
|
|
-- ERROR REASON WRONG NO OF INTERFACES CHOSEN
|
|
ipsoMemberRejectWrongIntf OBJECT-TYPE
|
|
SYNTAX OCTET STRING
|
|
MAX-ACCESS accessible-for-notify
|
|
STATUS current
|
|
DESCRIPTION "Wrong number of Interfaces Selected."
|
|
::= { ipsoLBClusterNotificationGroup 7 }
|
|
|
|
-- ERROR REASON WRONG PRIMARY INTERFACE SELECTED
|
|
ipsoMemberRejectprimaryintf OBJECT-TYPE
|
|
SYNTAX OCTET STRING
|
|
MAX-ACCESS accessible-for-notify
|
|
STATUS current
|
|
DESCRIPTION "Primary addresses didn't match."
|
|
::= { ipsoLBClusterNotificationGroup 8 }
|
|
|
|
-- ERROR REASON WRONG CLUSTER IP ADDRESS ON MORE INTERFACES
|
|
ipsoMemberRejectCip OBJECT-TYPE
|
|
SYNTAX OCTET STRING
|
|
MAX-ACCESS accessible-for-notify
|
|
STATUS current
|
|
DESCRIPTION "Cluster IP address didn't match on one or more interfaces."
|
|
::= { ipsoLBClusterNotificationGroup 9 }
|
|
|
|
-- ERROR REASON WRONG HASH ON OR MORE INTERFACES
|
|
ipsoMemberRejectHash OBJECT-TYPE
|
|
SYNTAX OCTET STRING
|
|
MAX-ACCESS accessible-for-notify
|
|
STATUS current
|
|
DESCRIPTION "Hash Configuration did not match on one or more interfaces."
|
|
::= { ipsoLBClusterNotificationGroup 10 }
|
|
|
|
--IP ADDRESS OF THE MEMBER THAT IS REJECTED or that has JOINED or LEFT.
|
|
ipsoMemberIPAddress OBJECT-TYPE
|
|
SYNTAX IpAddress
|
|
MAX-ACCESS accessible-for-notify
|
|
STATUS current
|
|
DESCRIPTION "IP address of a member."
|
|
::= { ipsoLBClusterNotificationGroup 11 }
|
|
|
|
END
|