LSF-SNMP-MIB DEFINITIONS ::= BEGIN

IMPORTS
	enterprises, IpAddress                          
		FROM RFC1155-SMI
	OBJECT-TYPE                             
		FROM RFC-1212
	DisplayString
		FROM RFC1213-MIB;


platform        OBJECT IDENTIFIER ::= { enterprises 2766 }

lsfAgent        OBJECT IDENTIFIER ::= { platform 100 }
lsfEvents	OBJECT IDENTIFIER ::= { platform 1000 }

-- Main Groups in LSF-SNMP-MIB

lsfHosts        OBJECT IDENTIFIER ::= { lsfAgent 1 }

lsfResources    OBJECT IDENTIFIER ::= { lsfAgent 2 }

lsfBatch        OBJECT IDENTIFIER ::= { lsfAgent 3 }


--
-- The lsfHost group of the MIB tree describes information
-- configured and maintained by the "LSF Base" portion of
-- the LSF product suite.
--

--
-- The lsfStatic Table describes host information which can only
-- be changed by doing a "reconfig" on a cluster.
--
lsfStaticTable OBJECT-TYPE
	SYNTAX SEQUENCE OF LsfStaticEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table which corresponds to information displayed
		by the lshosts command."
	::= { lsfHosts 1 }

lsfStaticEntry OBJECT-TYPE
	SYNTAX LsfStaticEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"One instance (row) of host information. It is indexed
		by the host's IP address in order to provide a
		deterministic way of accessing a specific host's
		configuration information."
	INDEX { lsfStaticIpIndex }
	::= { lsfStaticTable 1 }

LsfStaticEntry ::=
	SEQUENCE {
		lsfStaticIpIndex IpAddress,
		lsfHostName DisplayString,
		lsfType DisplayString,
		lsfModel DisplayString,
		lsfCPUFactor INTEGER,
		lsfNumCPU INTEGER,
		lsfMaxMemory INTEGER,
		lsfMaxSwap INTEGER,
		lsfMaxTempSpace INTEGER,
		lsfExecutionPriority INTEGER,
		lsfIsServer INTEGER,
		lsfHostResources DisplayString
	}

lsfStaticIpIndex OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION 
		"IP address of this host as known by LSF."
	::= { lsfStaticEntry 1 }

lsfHostName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Host name for this host as known by LSF."
	::= { lsfStaticEntry 2 }

lsfType OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Type of this host. Available host types are defined
		in the lsf.shared file, and can be displayed using
		the lsinfo command."
	::= { lsfStaticEntry 3 }

lsfModel OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Model of this host. Available host models are defined
		in the lsf.shared file, and can be displayed using
		the lsinfo command."
	::= { lsfStaticEntry 4 }

lsfCPUFactor OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A relative measure of this host's CPU speed. It is
		normally represented as a floating point number, and
		thus has been scaled by 100 for representation in
		the SNMP."
	::= { lsfStaticEntry 5 }

lsfNumCPU OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Number of CPUs in this host."
	::= { lsfStaticEntry 6 }

lsfMaxMemory OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The configured amount of RAM in this host, in megabytes."
	::= { lsfStaticEntry 7 }

lsfMaxSwap OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The configured amount of physical swap space on this
		host, in megabytes."
	::= { lsfStaticEntry 8 }

lsfMaxTempSpace OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The size of the temporary file space on this
		machine. Typically this corresponds to /tmp, but can
		be overridden in LSF configuration files by the
		LSF_TMPDIR environment variable."
	::= { lsfStaticEntry 9 }

lsfExecutionPriority OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The execution priority, or nice level, of processes 
		spawned by the RES on this host."
	::= { lsfStaticEntry 10 }

lsfIsServer OBJECT-TYPE
	SYNTAX INTEGER {
		true(1),
		false(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION 
		"true if this host will accept and run remote
		processes, and false if it won't."
	::= { lsfStaticEntry 11 }

lsfHostResources OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A string containing the boolean resources applied to
		this host. Available boolean resources can be
		displayed using the lsinfo command."
	::= { lsfStaticEntry 12 }


-- 
-- The lsfDynamicTable describes the load indices for LSF hosts.
-- This information changes during the running of the LIM and gives
-- a picture of the load on a host's resources.
--
lsfDynamicTable OBJECT-TYPE
	SYNTAX SEQUENCE OF LsfDynamicEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table which corresponds to information displayed
		by the lsload command."
	::= { lsfHosts 2 }

lsfDynamicEntry OBJECT-TYPE
	SYNTAX LsfDynamicEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"One instance (row) of host information. It is indexed 
		by the host's IP address in order to provide a
		deterministic way of accessing a specific host's load
		information."
	INDEX { lsfDynamicIpIndex }
	::= { lsfDynamicTable 1 }

LsfDynamicEntry ::=
	SEQUENCE {
		lsfDynamicIpIndex IpAddress,
		lsfHostStatus INTEGER,
		lsfFifteenSecondRunQueue INTEGER,
		lsfOneMinuteRunQueue INTEGER,
		lsfFifteenMinuteRunQueue INTEGER,
		lsfCPUUtilization INTEGER,
		lsfPagingRate INTEGER,
		lsfIoRate INTEGER,
		lsfLoginSessions INTEGER,
		lsfIdleTime INTEGER,
		lsfFreeMemory INTEGER,
		lsfFreeSwap INTEGER,
		lsfFreeTempSpace INTEGER
	}

lsfDynamicIpIndex OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION 
		"IP address of this host as known by LSF."
	::= { lsfDynamicEntry 1 }

lsfHostStatus OBJECT-TYPE
	SYNTAX INTEGER {
		ok(1),
		resDown(2),
		busy(3),
		lockU(4),
		lockW(5),
		lockUW(6),
		unavail(7),
		unlicensed(8)
	}
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The operating status of LSF on this host. The host
		can be locked from a management entity by setting this 
		variable to lockU(4). If the host status is lockW(5),
		the status will become lockUW(6). The management
		entity can also unlock a host by attempting to set it
		to ok(1)."
	::= { lsfDynamicEntry 2 }

lsfFifteenSecondRunQueue OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The 15 second run queue length on this host. This
		value is a float which is scaled by 100 to format it
		as an integer."
	::= { lsfDynamicEntry 3 }
		
lsfOneMinuteRunQueue OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The 1 minute run queue length on this host. This
		value is a float which is scaled by 100 to format it
		as an integer."
	::= { lsfDynamicEntry 4 }
		
lsfFifteenMinuteRunQueue OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The 15 minute run queue length on this host. This
		value is a float which is scaled by 100 to format it
		as an integer."
	::= { lsfDynamicEntry 5 }
		
lsfCPUUtilization OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A percentage of how much CPU time is spent processing 
		system and user processes. A high utilization means
		that a host's CPU is kept busy."
	::= { lsfDynamicEntry 6 }

lsfPagingRate OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A measure of page-in and page-out requests on this
		host over the lim sample interval. Since it is a
		floating point number in LSF, it is scaled by 100 to
		represent it as an INTEGER."
	::= { lsfDynamicEntry 7 }

lsfIoRate OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A measure of number of disk operations on this
		host over the last lim sample interval."
	::= { lsfDynamicEntry 8}

lsfLoginSessions OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of login sessions on this host."
	::= { lsfDynamicEntry 9 }

lsfIdleTime OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of seconds for which all interactive login 
		sessions have been idle on this host."
	::= { lsfDynamicEntry 10 }

lsfFreeMemory OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The amount of free real memory on this host, in
		megabytes."
	::= { lsfDynamicEntry 11 }

lsfFreeSwap OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The amount of free physical swap on this host, in
		megabytes." 
	::= { lsfDynamicEntry 12 }

lsfFreeTempSpace OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The amount of free space in the temporary filesystem, 
		in megabytes. This is typically /tmp, but can be
		overridden in the LSF configuration files using the
		LSF_TMPDIR environment variable."
	::= { lsfDynamicEntry 13 }




--
-- The lsfResources group describes external indices and shared
-- resources for the cluster for which the agent is running.
--

lsfNumericTable OBJECT-TYPE
	SYNTAX SEQUENCE OF LsfNumericEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table which describes numeric type external indices
		and shared resources defined for a cluster."
	::= { lsfResources 1 }

lsfNumericEntry OBJECT-TYPE
	SYNTAX LsfNumericEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"One instance of resource information. It is indexed
		by two entries: host IpAddress and a resource index
		which is generated by the agent by sorting a list of
		resource names, and numbering the resource names in
		ascending alphabetical order."
	INDEX { lsfNumericIndex, lsfNumericIP }
	::= { lsfNumericTable 1 }

LsfNumericEntry ::=
	SEQUENCE {
		lsfNumericIndex INTEGER,
		lsfNumericIp IpAddress,
		lsfNumericLocation DisplayString,
		lsfNumericName DisplayString,
		lsfNumericOrder INTEGER,
		lsfNumericValue INTEGER
	}

lsfNumericIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A number generated by the agent to uniquely identify
		this resource name."
	::= { lsfNumericEntry 1 }

lsfNumericIP OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The IP address corresponding to the location of this
		resource." 
	::= { lsfNumericEntry 2 }

lsfNumericLocation OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The host on which this resource is located."
	::= { lsfNumericEntry 3 }

lsfNumericName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The name of this resource."
	::= { lsfNumericEntry 4 }

lsfNumericOrder OBJECT-TYPE
	SYNTAX INTEGER {
		ascending(1),
		descending(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Indicates the direction which denotes higher load. If 
		a resource is ascending, the load is higher when the
		resource is higher (e.g. incoming packets). If the
		resource is descending, the load is higher when the
		resource is lower (e.g. space on a temporary
		filesystem)."
	::= { lsfNumericEntry 5 }

lsfNumericValue OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The current value of this resource. Note that
		floating point values will be scaled by 100 before
		being returned."
	::= { lsfNumericEntry 6 }



	
--
-- The lsfBatch group describes information corresponding the 
-- the operation of the Batch portion of the LSF suite.
--

--
-- The lsbHostTable describes host information as it pertains 
-- to batch.
-- 

lsbHostTable OBJECT-TYPE
	SYNTAX SEQUENCE OF LsbHostEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table which provides the same information as the
		bhosts command without any arguments."
	::= { lsfBatch 1 }

lsbHostEntry OBJECT-TYPE
	SYNTAX LsbHostEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"One instance of batch host information. It is indexed 
		by the host's IP address."
	INDEX { lsbHostIp }
	::= { lsbHostTable 1 }

LsbHostEntry ::=
	SEQUENCE {
		lsbHostIp IpAddress,
		lsbHostName DisplayString,
		lsbHostStatus INTEGER,
		lsbHostUserJobLimit INTEGER,
		lsbHostMaximumJobs INTEGER,
		lsbHostNumberOfJobs INTEGER,
		lsbHostRunningJobs INTEGER,
		lsbHostSystemSuspendedJobs INTEGER,
		lsbHostUserSuspendedJobs INTEGER,
		lsbHostReservedJobSlots INTEGER
	}

lsbHostIp OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"IP address of this host."
	::= { lsbHostEntry 1 }

lsbHostName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Host name for this entry."
	::= { lsbHostEntry 2 }

lsbHostStatus OBJECT-TYPE
	SYNTAX INTEGER {
		ok(1),
		unavail(2),
		unreach(3),
		closed(4),
		unlicensed(5)
	}
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Current status of this host. Only when a host is in
		ok status can batch jobs be dispatched to it. An SNMP
		management entity can close hosts by setting this
		variable to closed(4), and can reopen hosts by setting 
		this variable to ok(1)."
	::= { lsbHostEntry 3 }

lsbHostUserJobLimit OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Maximum batch job slots that the host can provide
		per user."
	::= { lsbHostEntry 4 }

lsbHostMaximumJobs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Maximum number of job slots that the host can
		provide in total."
	::= { lsbHostEntry 5 }

lsbHostNumberOfJobs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Number of job slots used by jobs started on this
		host." 
	::= { lsbHostEntry 6 }

lsbHostRunningJobs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Number of job slots used by jobs running on this
		host." 
	::= { lsbHostEntry 7 }

lsbSystemSuspendedJobs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Number of job slots used by jobs suspended by LSF on
		the host." 
	::= { lsbHostEntry 8 }

lsbUserSuspendedJobs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Number of job slots used by jobs suspended by the
		job owner or an LSF administrator"
	::= { lsbHostEntry 9 }

lsbHostReservedJobSlots OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Number of job slots used by pending jobs which have
		job slots reserved on the host." 
	::= { lsbHostEntry 10 }



--
-- The lsbQueueTable describes the basic configuration and status 
-- of LSF Batch queues.
--

lsbQueueTable OBJECT-TYPE
	SYNTAX SEQUENCE OF LsbQueueEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table which provides the same information as the
		bqueues command without any arguments."
	::= { lsfBatch 2 }

lsbQueueEntry OBJECT-TYPE
	SYNTAX LsbQueueEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"One instance of batch queue information. The index
		field is generated by the agent by sorting the list of 
		queues, and numbering the queue names in ascending
		alphabetical order."
	INDEX { lsbQueueIndex }
	::= { lsbQueueTable 1 }

LsbQueueEntry ::= 
	SEQUENCE {
		lsbQueueIndex INTEGER,
		lsbQueueName DisplayString,
		lsbQueuePriority INTEGER,
		lsbQueueIsOpen INTEGER,
		lsbQueueIsActive INTEGER,
		lsbQueueMaximumJobs INTEGER,
		lsbQueueUserJobLimit INTEGER,
		lsbQueueProcessorJobLimit INTEGER,
		lsbQueueHostJobLimit INTEGER,
		lsbQueueNumberOfJobs INTEGER,
		lsbQueuePendingJobs INTEGER,
		lsbQueueRunningJobs INTEGER,
		lsbQueueSystemSuspendedJobs INTEGER,
		lsbQueueUserSuspendedJobs INTEGER
	}

lsbQueueIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A number generated by the agent to uniquely identify
		this queue."
	::= { lsbQueueEntry 1 }

lsbQueueName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The name of this queue."
	::= { lsbQueueEntry 2 }

lsbQueuePriority OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The priority of the queue. It determines the order in 
		which job queues are searched for jobs to
		dispatch. Queues with higher priorities are searched
		first."
	::= { lsbQueueEntry 3 }

lsbQueueIsOpen OBJECT-TYPE
	SYNTAX INTEGER {
		open(1),
		closed(2)
	}
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"A flag telling whether the queue is open to accept
		jobs submitted to it, or whether it is closed so that
		it will not accept jobs. The management entity can set 
		this variable to open(1) or closed(2) to change the
		submission status of this queue."
	::= { lsbQueueEntry 4 }

lsbQueueIsActive OBJECT-TYPE
	SYNTAX INTEGER {
		active(1),
		inactive(2)
	}
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"A flag telling whether the queue is active
		(dispatching jobs to run), or whether it is inactive
		so that jobs are not being dispatched. The management
		entity can set this variable to active(1) or
		inactive(2) to change the dispatching status of this
		queue." 
	::= { lsbQueueEntry 5 }

lsbQueueMaximumJobs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of job slots which can be used by
		jobs from this queue."
	::= { lsbQueueEntry 6 }

lsbQueueUserJobLimit OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of job slots a user can use for
		his/her jobs in this queue."
	::= { lsbQueueEntry 7 }

lsbQueueProcessorJobLimit OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of job slots which a processor can 
		process from this queue. This limit controls the
		number of jobs sent to each host. The limit is
		configured per processor so that a multiprocessor host 
		is automatically allowed to run more jobs."
	::= { lsbQueueEntry 8 }

lsbQueueHostJobLimit OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of job slots which a host can
		process from this queue. This limit controls the
		number of jobs sent to each host, regardless of
		whether a host is a uniprocessor or a multiprocessor."
	::= { lsbQueueEntry 9 }

lsbQueueNumberOfJobs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of job slots which jobs in this
		queue are currently holding."
	::= { lsbQueueEntry 10 }

lsbQueuePendingJobs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of pending job slots in this queue."
	::= { lsbQueueEntry 11 }

lsbQueueRunningJobs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of running job slots in this queue."
	::= { lsbQueueEntry 12 }

lsbQueueSystemSuspendedJobs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of job slots suspended by the system in
		this queue." 
	::= { lsbQueueEntry 13 }

lsbQueueUserSuspendedJobs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of job slots suspended by the user in this
		queue." 
	::= { lsbQueueEntry 14 }



--
-- The lsbJobTable describes the jobs in the batch system which are
-- currently running.
--

lsbJobTable OBJECT-TYPE
	SYNTAX SEQUENCE OF LsbJobEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table which provides the same information as the
		bjobs -r -u all command, and the resource usage of
		each running job."
	::= { lsfBatch 3 }

lsbJobEntry OBJECT-TYPE
	SYNTAX LsbJobEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"An instance of a running job. The entries are indexed 
		by jobID, since it uniquely identifies running jobs in
		the batch system."
	INDEX { lsbJobId }
	::= { lsbJobTable 1 }

LsbJobEntry ::= 
	SEQUENCE {
		lsbJobId INTEGER,
		lsbJobName DisplayString,
		lsbJobUser DisplayString,
		lsbJobQueue DisplayString,
		lsbJobStatus INTEGER,
		lsbJobSubmissionHost DisplayString,
		lsbJobExecutionHost DisplayString,
		lsbJobSubmitTime DisplayString,
		lsbJobProcessGroupIds DisplayString,
		lsbJobProcessIds DisplayString,
		lsbJobCpuUsage INTEGER,
		lsbJobMemoryUsage INTEGER,
		lsbJobSwapUsage INTEGER
	}

lsbJobID OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number which uniquely identifies this job in the
		batch system."
	::= { lsbJobEntry 1 }

lsbJobName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The job name assigned by the user, or the command
		string assigned by default."
	::= { lsbJobEntry 2 }

lsbJobUser OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The user who submitted the job."
	::= { lsbJobEntry 3 }

lsbJobQueue OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The name of the queue to which the job belongs."
	::= { lsbJobEntry 4 }

lsbJobStatus OBJECT-TYPE
	SYNTAX INTEGER {
		pending(1),
		psusp(2),
		running(3),
		ususp(4),
		ssusp(5),
		done(6),
		exit(7),
		unknown(8),
		zombie(9)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The current status of the job."
	::= { lsbJobEntry 5}

lsbJobSubmissionHost OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The name of the host from which the job was
		submitted."
	::= { lsbJobEntry 6 }

lsbJobExecutionHost OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The name of one or more hosts on which the job is
		executing. If the field is empty, the job has not been 
		dispatched yet. If the execution host for a job has
		been removed from the configuration, this will be
		displayed as lost_and_found."
	::= { lsbJobEntry 7 }

lsbJobSubmitTime OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The submission time of the job."
	::= { lsbJobEntry 8 }

lsbJobProcessGroupIds OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A space delimited list of process group ids which
		make up this job."
	::= { lsbJobEntry 9 }

lsbJobProcessIds OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A space delimited list of process ids which make up
		this job."
	::= { lsbJobEntry 10 }

lsbJobCpuUsage OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The cumulative total CPU time in seconds of all
		processes in a job."
	::= { lsbJobEntry 11 }

lsbJobMemoryUsage OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total resident memory usage in KBytes of all
		the processes in a job."
	::= { lsbJobEntry 12 }

lsbJobVirtualMemoryUsage OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total virtual memory usage in KBytes of all the
		processes in a job."
	::= { lsbJobEntry 13 }



	lsfLimDown TRAP-TYPE
		ENTERPRISE lsfEvents
		VARIABLES { lsfHostStatus }
		DESCRIPTION
	"This trap is sent when the lim on a host goes down. 
	The variable points to the status of the host on which the lim went down."

	--#TYPE "LSF LIM Down"
	--#SUMMARY "Host status is now %d."
	--#ARGUMENTS {1}
	--#SEVERITY MAJOR
	--#TIMEINDEX 99

	::= 1


	lsfResDown TRAP-TYPE
		ENTERPRISE lsfEvents
		VARIABLES { lsfHostStatus }
		DESCRIPTION
	"This trap is sent when the res on a host goes down. 
	The variable points to the status of the host on which the res went down."

	--#TYPE "LSF RES Down"
	--#SUMMARY "Host status is now %d."
	--#ARGUMENTS {1}
	--#SEVERITY MAJOR
	--#TIMEINDEX 99

	::= 2

	lsfSbdDown TRAP-TYPE
		ENTERPRISE lsfEvents
		VARIABLES { lsbHostStatus }
		DESCRIPTION
	"This trap is sent when the sbatchd on a host goes down. 
	The variable points to the status of the batch host on which the 
	sbatchd went down."

	--#TYPE "LSF SBATCHD Down"
	--#SUMMARY "Host status is now %d."
	--#ARGUMENTS {1}
	--#SEVERITY MAJOR
	--#TIMEINDEX 99
	::= 3

	lsfHostUnlicensed TRAP-TYPE
		ENTERPRISE lsfEvents
		VARIABLES { lsfHostStatus }
		DESCRIPTION
	"This trap is sent when a host in the cluster becomes unlicensed."

	--#TYPE "LSF Unlicensed Cluster"
	--#SUMMARY "Status is now %d."
	--#ARGUMENTS {1}
	--#SEVERITY MAJOR
	--#TIMEINDEX 99
	::= 4


	lsfMasterElect TRAP-TYPE
		ENTERPRISE lsfEvents
		VARIABLES { lsfHostName }
		DESCRIPTION
	"This trap is sent to announce which host has won the master election."

	--#TYPE "LSF Master Host"
	--#SUMMARY "Host is %s."
	--#ARGUMENTS {1}
	--#SEVERITY INFORMATIONAL
	--#TIMEINDEX 99

	::= 5

	lsfMbdUp TRAP-TYPE
		ENTERPRISE lsfEvents
		VARIABLES { lsbHostName }
		DESCRIPTION
	"This trap is sent when an mbatchd comes up on a host, has done its 
	initialization and replay, and is ready to start accepting and 
	scheduling jobs."

	--#TYPE "LSF MBATCHD Ready"
	--#SUMMARY "Host is %s."
	--#ARGUMENTS {1}
	--#SEVERITY INFORMATIONAL
	--#TIMEINDEX 99

	::= 6


	lsfMbdDown TRAP-TYPE
		ENTERPRISE lsfEvents
		VARIABLES { lsbHostName }
		DESCRIPTION

	"This trap is sent if the mbatchd goes down in the cluster. 
	It could be sent by mbatchd itself, or could be sent by some other 
	agent which detects the condition."

	--#TYPE "LSF MBATCHD Down"
	--#SUMMARY "Host is %s."
	--#ARGUMENTS {1}
	--#SEVERITY MAJOR
	--#TIMEINDEX 99

	::= 7

	lsfMbdReconfig TRAP-TYPE
		ENTERPRISE lsfEvents
		VARIABLES { lsbHostName }
		DESCRIPTION
	"This trap is sent by the mbatchd when it is going to reconfigure itself."

	--#TYPE "LSF MBATCHD Reconfig"
	--#SUMMARY "Host name is %s."
	--#ARGUMENTS {1}
	--#SEVERITY MAJOR
	--#TIMEINDEX 99
	::= 8

	lsfWorkdirFull TRAP-TYPE
		ENTERPRISE lsfEvents
		DESCRIPTION
	"This trap is sent if the mbatchd cannot write to the LSB_SHAREDIR 
	because it is full."
	--#TYPE "LSF MBATCHD Cannot Write"
	--#SUMMARY "Host master is now %s."
	--#ARGUMENTS {}
	--#SEVERITY MAJOR
	--#TIMEINDEX 99
	::= 9

END

