UPS-MIB :: upsTestSpinLock

MIB Reference — IPNetwork Monitor · Updated September 14, 2026

All MIBsUPS-MIBupsTestSpinLock

upsTestSpinLock

Module: UPS-MIB

OID (symbolic): UPS-MIB::upsTestSpinLock

OID (numeric): 1.3.6.1.2.1.33.1.7.2

Node type: OBJECT-TYPE

Type: TestAndIncr

Access: read-write

Description: A spin lock on the test subsystem. The spinlock is used as follows.

Before starting a test, a manager-station should make sure that a test is not in progress as follows:

try_again: get (upsTestSpinLock) while (upsTestResultsSummary == inProgress) { /* loop while a test is running for another manager */ short delay get (upsTestSpinLock) } lock_value = upsTestSpinLock /* no test in progress, start the test */ set (upsTestSpinLock = lock_value, upsTestId = requested_test) if (error_index == 1) { /* (upsTestSpinLock failed) */ /* if problem is not access control, then some other manager slipped in ahead of us */ goto try_again } if (error_index == 2) { /* (upsTestId) */ /* cannot perform the test */ give up } /* test started ok */ /* wait for test completion by polling

upsTestResultsSummary */ get (upsTestSpinLock, upsTestResultsSummary, upsTestResultsDetail) while (upsTestResultsSummary == inProgress) { short delay get (upsTestSpinLock, upsTestResultsSummary, upsTestResultsDetail) } /* when test completes, retrieve any additional test results */ /* if upsTestSpinLock == lock_value + 1, then these are our test */ /* results (as opposed to another manager's */ The initial value of upsTestSpinLock at agent initialization shall be 1.

What is upsTestSpinLock?

This is a TestAndIncr spin-lock object that management stations use to serialize access to the UPS's built-in diagnostic test subsystem, incrementing on each successful set. Before starting a test, an admin's tool reads this lock, then sets it back with the same value alongside the desired test ID; if another manager's set has already advanced the lock, the set fails and the tool must retry, preventing two managers from launching conflicting tests simultaneously. For example, a monitoring script polls upsTestSpinLock, gets 7, then attempts set(upsTestSpinLock=7, upsTestId=quickTest); if that succeeds, its test has been safely queued.

Examples

Walk all instances (SNMPv2c):

snmpwalk -v2c -c public <target> 1.3.6.1.2.1.33.1.7.2
snmpwalk -v2c -c public <target> UPS-MIB::upsTestSpinLock

Get a specific instance (index 1):

snmpget -v2c -c public <target> 1.3.6.1.2.1.33.1.7.2.1
snmpget -v2c -c public <target> UPS-MIB::upsTestSpinLock.1

Set instance 1 (SNMPv2c):

snmpset -v2c -c private <target> 1.3.6.1.2.1.33.1.7.2.1 s <value>

Start monitoring vendor-neutral, standards-based MIB, Uninterruptible Power Supply (UPS) systems (battery health/runtime/alarm status) with a free 30-day trial of IPNetwork Monitor. Create custom SNMP monitor using the UPS-MIB::upsTestSpinLock OID value, configure state conditions and alerts, and monitor any vendor-neutral, standards-based MIB, Uninterruptible Power Supply (UPS) systems (battery health/runtime/alarm status) from a single console.

OID Breakdown

Upper-level ancestors (6 from the standard OID tree / other modules)
Numeric OIDNameModule
1isoLANART-AGENT
1.3orgAirPair-MIB
1.3.6dodAirPair-MIB
1.3.6.1internetAirPair-MIB
1.3.6.1.2mgmtAXON-MIB
1.3.6.1.2.1mib_2AXON-MIB
Numeric OIDNameModule
1.3.6.1.2.1.33upsMIBUPS-MIB
1.3.6.1.2.1.33.1upsObjectsUPS-MIB
1.3.6.1.2.1.33.1.7upsTestUPS-MIB
1.3.6.1.2.1.33.1.7.2upsTestSpinLockUPS-MIB