Skip to content

Commit dabccda

Browse files
committed
18895 FIX Fix temperature thresholds of Aruba 6100+ switches
SUP-27595 Change-Id: I7b96fd7f1dbf1d031346ae648b3fd1e65223516f
1 parent 0efb0a4 commit dabccda

4 files changed

Lines changed: 281 additions & 1 deletion

File tree

‎.werks/18895.md‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[//]: # (werk v2)
2+
# Fix temperature thresholds of Aruba 6100+ switches
3+
4+
key | value
5+
---------- | ---
6+
date | 2026-03-16T09:04:12+00:00
7+
version | 2.4.0p24
8+
class | fix
9+
edition | cre
10+
component | checks
11+
level | 1
12+
compatible | no
13+
14+
The explicit default temperature thresholds for the Aruba 6100+ series have been raised across specific sensor limits to better reflect the actual hardware tolerances, see the man page for an overview.
15+
This adjustment reduces false positives on components designed to run at higher temperatures.
16+
Users who wish to retain the previous, lower thresholds must now configure them manually via the corresponding temperature monitoring rules.

‎cmk/plugins/collection/agent_based/aruba_sw_temp.py‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ class SensorWarnTemp:
6060
DDR_INLET = 40
6161
MAINBOARD = 35
6262
INTERNAL = 45
63+
IBC = 45
64+
PCIE = 55
65+
BOARD_REAR = 45
66+
EXHAUST = 45
6367

6468

6569
class SensorCritTemp:
@@ -71,6 +75,10 @@ class SensorCritTemp:
7175
DDR_INLET = 45
7276
MAINBOARD = 40
7377
INTERNAL = 50
78+
IBC = 50
79+
PCIE = 60
80+
BOARD_REAR = 50
81+
EXHAUST = 50
7482

7583

7684
Section = Mapping[str, TemperatureSensor]
@@ -118,6 +126,14 @@ def get_aruba_default_temp(name: str) -> tuple[float, float]:
118126
return (SensorWarnTemp.PHY, SensorCritTemp.PHY)
119127
if "Internal" in name:
120128
return (SensorWarnTemp.INTERNAL, SensorCritTemp.INTERNAL)
129+
if "IBC" in name:
130+
return (SensorWarnTemp.IBC, SensorCritTemp.IBC)
131+
if "PCIE" in name:
132+
return (SensorWarnTemp.PCIE, SensorCritTemp.PCIE)
133+
if "Board-rear" in name:
134+
return (SensorWarnTemp.BOARD_REAR, SensorCritTemp.BOARD_REAR)
135+
if "Exhaust" in name:
136+
return (SensorWarnTemp.EXHAUST, SensorCritTemp.EXHAUST)
121137

122138
return (SensorWarnTemp.MAINBOARD, SensorCritTemp.MAINBOARD)
123139

‎cmk/plugins/collection/checkman/aruba_sw_temp‎

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,19 @@ distribution: check_mk
66
description:
77
This check monitors the temperature of Aruba 6100+ devices.
88

9-
For these devices, different temperature thresholds are defined for the different sensors, e.g CPU, Inlet Air etc.
9+
For these devices, different temperature thresholds are defined for the different sensors, i.e.,
10+
11+
- CPU / ASIC / PHY: 80°C (WARN), 90°C (CRIT)
12+
- DDR: 60°C (WARN), 70°C (CRIT)
13+
- PCIE: 55°C (WARN), 60°C (CRIT)
14+
- IBC: 45°C (WARN), 50°C (CRIT)
15+
- Exhaust: 45°C (WARN), 50°C (CRIT)
16+
- Internal: 45°C (WARN), 50°C (CRIT)
17+
- DDR Inlet: 40°C (WARN), 45°C (CRIT)
18+
- Inlet: 30°C (WARN), 40°C (CRIT)
19+
- Board-rear: 45°C (WARN), 50°C (CRIT)
20+
- Mainboard and Default (Board-front, Board-NW, Board-W, etc.): 35°C (WARN), 40°C (CRIT)
21+
1022
When a sensor is in a "fault" state, this check is in a "WARN" state.
1123
When the sensor is in the "emergency" state, the check is in the "CRIT" state.
1224

‎tests/unit/cmk/plugins/collection/agent_based/test_aruba_sw_temp.py‎

Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,70 @@
105105
"22000",
106106
"55000",
107107
],
108+
[
109+
"1.3.1.9",
110+
"1/1-Fabric-IBC",
111+
"normal",
112+
"46000", # Exceeds 45°C WARN
113+
"25000",
114+
"45000",
115+
],
116+
[
117+
"1.3.1.10",
118+
"1/1-PCIE-Management",
119+
"normal",
120+
"56000", # Exceeds 55°C WARN
121+
"30000",
122+
"55000",
123+
],
124+
[
125+
"1.3.1.11",
126+
"1/3-Board-rear",
127+
"normal",
128+
"46000", # Exceeds 45°C WARN
129+
"25000",
130+
"45000",
131+
],
132+
[
133+
"1.3.1.12",
134+
"1/3-Exhaust-left",
135+
"normal",
136+
"47000", # Exceeds 45°C WARN
137+
"25000",
138+
"45000",
139+
],
140+
[
141+
"1.3.1.13",
142+
"1/1-Exhaust-Air",
143+
"normal",
144+
"48000", # Exceeds 45°C WARN
145+
"25000",
146+
"45000",
147+
],
148+
[
149+
"1.3.1.14",
150+
"1/3-IBC",
151+
"normal",
152+
"49000", # Exceeds 45°C WARN
153+
"25000",
154+
"45000",
155+
],
156+
[
157+
"1.3.1.15",
158+
"1/4-Switch-ASIC",
159+
"normal",
160+
"85000", # Exceeds 80°C WARN
161+
"40000",
162+
"80000",
163+
],
164+
[
165+
"1.3.1.16",
166+
"1/1-Board-NW",
167+
"normal",
168+
"38000", # Exceeds 35°C WARN
169+
"20000",
170+
"35000",
171+
],
108172
]
109173

110174

@@ -125,6 +189,14 @@
125189
Service(item="1/1-Switch-DDR-Inlet-1"),
126190
Service(item="1/1-Switch-Mainboard"),
127191
Service(item="1/1-Internal"),
192+
Service(item="1/1-Fabric-IBC"),
193+
Service(item="1/1-PCIE-Management"),
194+
Service(item="1/3-Board-rear"),
195+
Service(item="1/3-Exhaust-left"),
196+
Service(item="1/1-Exhaust-Air"),
197+
Service(item="1/3-IBC"),
198+
Service(item="1/4-Switch-ASIC"),
199+
Service(item="1/1-Board-NW"),
128200
],
129201
),
130202
],
@@ -349,6 +421,170 @@ def test_discover_aruba_sw_temp_status(
349421
Result(state=State.OK, summary="Max temperature: 55.0 °C"),
350422
],
351423
),
424+
(
425+
[["1.3.1.9", "1/1-Fabric-IBC", "normal", "46000", "25000", "45000"]],
426+
"1/1-Fabric-IBC",
427+
[
428+
Metric(
429+
"temp",
430+
46.0,
431+
levels=(aruba_sw_temp.SensorWarnTemp.IBC, aruba_sw_temp.SensorCritTemp.IBC),
432+
),
433+
Result(state=State.WARN, summary="Temperature: 46.0 °C (warn/crit at 45 °C/50 °C)"),
434+
Result(
435+
state=State.OK,
436+
notice="Configuration: prefer user levels over device levels (used device levels)",
437+
),
438+
Result(state=State.OK, summary="Device status: normal"),
439+
Result(state=State.OK, summary="Min temperature: 25.0 °C"),
440+
Result(state=State.OK, summary="Max temperature: 45.0 °C"),
441+
],
442+
),
443+
(
444+
[["1.3.1.10", "1/1-PCIE-Management", "normal", "56000", "30000", "55000"]],
445+
"1/1-PCIE-Management",
446+
[
447+
Metric(
448+
"temp",
449+
56.0,
450+
levels=(aruba_sw_temp.SensorWarnTemp.PCIE, aruba_sw_temp.SensorCritTemp.PCIE),
451+
),
452+
Result(state=State.WARN, summary="Temperature: 56.0 °C (warn/crit at 55 °C/60 °C)"),
453+
Result(
454+
state=State.OK,
455+
notice="Configuration: prefer user levels over device levels (used device levels)",
456+
),
457+
Result(state=State.OK, summary="Device status: normal"),
458+
Result(state=State.OK, summary="Min temperature: 30.0 °C"),
459+
Result(state=State.OK, summary="Max temperature: 55.0 °C"),
460+
],
461+
),
462+
(
463+
[["1.3.1.11", "1/3-Board-rear", "normal", "46000", "25000", "45000"]],
464+
"1/3-Board-rear",
465+
[
466+
Metric(
467+
"temp",
468+
46.0,
469+
levels=(
470+
aruba_sw_temp.SensorWarnTemp.BOARD_REAR,
471+
aruba_sw_temp.SensorCritTemp.BOARD_REAR,
472+
),
473+
),
474+
Result(state=State.WARN, summary="Temperature: 46.0 °C (warn/crit at 45 °C/50 °C)"),
475+
Result(
476+
state=State.OK,
477+
notice="Configuration: prefer user levels over device levels (used device levels)",
478+
),
479+
Result(state=State.OK, summary="Device status: normal"),
480+
Result(state=State.OK, summary="Min temperature: 25.0 °C"),
481+
Result(state=State.OK, summary="Max temperature: 45.0 °C"),
482+
],
483+
),
484+
(
485+
[["1.3.1.12", "1/3-Exhaust-left", "normal", "47000", "25000", "45000"]],
486+
"1/3-Exhaust-left",
487+
[
488+
Metric(
489+
"temp",
490+
47.0,
491+
levels=(
492+
aruba_sw_temp.SensorWarnTemp.EXHAUST,
493+
aruba_sw_temp.SensorCritTemp.EXHAUST,
494+
),
495+
),
496+
Result(state=State.WARN, summary="Temperature: 47.0 °C (warn/crit at 45 °C/50 °C)"),
497+
Result(
498+
state=State.OK,
499+
notice="Configuration: prefer user levels over device levels (used device levels)",
500+
),
501+
Result(state=State.OK, summary="Device status: normal"),
502+
Result(state=State.OK, summary="Min temperature: 25.0 °C"),
503+
Result(state=State.OK, summary="Max temperature: 45.0 °C"),
504+
],
505+
),
506+
(
507+
[["1.3.1.13", "1/1-Exhaust-Air", "normal", "48000", "25000", "45000"]],
508+
"1/1-Exhaust-Air",
509+
[
510+
Metric(
511+
"temp",
512+
48.0,
513+
levels=(
514+
aruba_sw_temp.SensorWarnTemp.EXHAUST,
515+
aruba_sw_temp.SensorCritTemp.EXHAUST,
516+
),
517+
),
518+
Result(state=State.WARN, summary="Temperature: 48.0 °C (warn/crit at 45 °C/50 °C)"),
519+
Result(
520+
state=State.OK,
521+
notice="Configuration: prefer user levels over device levels (used device levels)",
522+
),
523+
Result(state=State.OK, summary="Device status: normal"),
524+
Result(state=State.OK, summary="Min temperature: 25.0 °C"),
525+
Result(state=State.OK, summary="Max temperature: 45.0 °C"),
526+
],
527+
),
528+
(
529+
[["1.3.1.14", "1/3-IBC", "normal", "49000", "25000", "45000"]],
530+
"1/3-IBC",
531+
[
532+
Metric(
533+
"temp",
534+
49.0,
535+
levels=(aruba_sw_temp.SensorWarnTemp.IBC, aruba_sw_temp.SensorCritTemp.IBC),
536+
),
537+
Result(state=State.WARN, summary="Temperature: 49.0 °C (warn/crit at 45 °C/50 °C)"),
538+
Result(
539+
state=State.OK,
540+
notice="Configuration: prefer user levels over device levels (used device levels)",
541+
),
542+
Result(state=State.OK, summary="Device status: normal"),
543+
Result(state=State.OK, summary="Min temperature: 25.0 °C"),
544+
Result(state=State.OK, summary="Max temperature: 45.0 °C"),
545+
],
546+
),
547+
(
548+
[["1.3.1.15", "1/4-Switch-ASIC", "normal", "85000", "40000", "80000"]],
549+
"1/4-Switch-ASIC",
550+
[
551+
Metric(
552+
"temp",
553+
85.0,
554+
levels=(aruba_sw_temp.SensorWarnTemp.ASIC, aruba_sw_temp.SensorCritTemp.ASIC),
555+
),
556+
Result(state=State.WARN, summary="Temperature: 85.0 °C (warn/crit at 80 °C/90 °C)"),
557+
Result(
558+
state=State.OK,
559+
notice="Configuration: prefer user levels over device levels (used device levels)",
560+
),
561+
Result(state=State.OK, summary="Device status: normal"),
562+
Result(state=State.OK, summary="Min temperature: 40.0 °C"),
563+
Result(state=State.OK, summary="Max temperature: 80.0 °C"),
564+
],
565+
),
566+
(
567+
[["1.3.1.16", "1/1-Board-NW", "normal", "38000", "20000", "35000"]],
568+
"1/1-Board-NW",
569+
[
570+
Metric(
571+
"temp",
572+
38.0,
573+
levels=(
574+
aruba_sw_temp.SensorWarnTemp.MAINBOARD,
575+
aruba_sw_temp.SensorCritTemp.MAINBOARD,
576+
),
577+
),
578+
Result(state=State.WARN, summary="Temperature: 38.0 °C (warn/crit at 35 °C/40 °C)"),
579+
Result(
580+
state=State.OK,
581+
notice="Configuration: prefer user levels over device levels (used device levels)",
582+
),
583+
Result(state=State.OK, summary="Device status: normal"),
584+
Result(state=State.OK, summary="Min temperature: 20.0 °C"),
585+
Result(state=State.OK, summary="Max temperature: 35.0 °C"),
586+
],
587+
),
352588
],
353589
)
354590
def test_check_aruba_fan_status(

0 commit comments

Comments
 (0)