blob: e0beec33f480c2d43d6d05e8e91142e70e621b5d [file] [log] [blame]
Matthew Barthb477a562021-10-19 14:39:19 -05001[
2 {
3 // Hold fans at the given target when a number of fans are missing.
4 "name": "fan(s) missing",
5 "groups": [
6 {
7 "name": "fan inventory",
8 "interface": "xyz.openbmc_project.Inventory.Item",
9 "property": { "name": "Present" }
10 }
11 ],
12 "triggers": [
13 {
14 "class": "init",
15 "method": "get_properties"
16 },
17 {
18 "class": "signal",
19 "signal": "properties_changed"
20 }
21 ],
22 "actions": [
23 {
24 "name": "count_state_before_target",
25 "count": 1,
26 "state": false,
27 "target": 10000
28 }
29 ]
Matthew Barthdc593cb2021-10-19 14:43:41 -050030 },
31 {
32 // Hold fans at the given target when a number of rotors are nonfunctional.
33 "name": "fan rotor(s) faulted",
34 "groups": [
35 {
36 "name": "fan0 rotor inventory",
37 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
38 "property": { "name": "Functional" }
39 },
40 {
41 "name": "fan1 rotor inventory",
42 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
43 "property": { "name": "Functional" }
44 },
45 {
46 "name": "fan2 rotor inventory",
47 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
48 "property": { "name": "Functional" }
49 },
50 {
51 "name": "fan4 rotor inventory",
52 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
53 "property": { "name": "Functional" }
54 }
55 ],
56 "triggers": [
57 {
58 "class": "init",
59 "method": "get_properties"
60 },
61 {
62 "class": "signal",
63 "signal": "properties_changed"
64 }
65 ],
66 "actions": [
67 {
68 "name": "count_state_before_target",
69 "count": 1,
70 "state": false,
71 "target": 10000
72 }
73 ]
Matthew Barth09b09e52021-10-28 15:29:13 -050074 },
75 {
76 // Hold fans at the given target when any critical service
77 // is not running for 5 seconds.
78 "name": "service(s) missing",
79 "groups": [
80 {
Matthew Barthf3a6d452021-11-23 14:41:43 -060081 "name": "fan inventory",
82 "interface": "xyz.openbmc_project.Inventory.Item",
83 "property": { "name": "Present" }
84 },
85 {
Matthew Barth09b09e52021-10-28 15:29:13 -050086 "name": "occ objects",
87 "interface": "org.open_power.OCC.Status",
88 "property": { "name": "OccActive" }
89 }
90 ],
91 "triggers": [
92 {
93 "class": "init",
94 "method": "name_has_owner"
95 },
96 {
97 "class": "signal",
98 "signal": "name_owner_changed"
99 }
100 ],
101 "actions": [
102 {
103 "name": "call_actions_based_on_timer",
104 "timer": {
105 "interval": 5000000,
106 "type": "oneshot"
107 },
108 "actions": [
109 {
110 "name": "set_target_on_missing_owner",
111 "groups": [
112 {
113 "name": "fan inventory",
114 "interface": "xyz.openbmc_project.Inventory.Item",
115 "property": { "name": "Present" }
116 },
117 {
118 "name": "occ objects",
119 "interface": "org.open_power.OCC.Status",
120 "property": { "name": "OccActive" }
121 }
122 ],
123 "target": 10000
124 }
125 ]
126 }
127 ]
Matt Spinler5934f092021-11-03 14:30:28 -0500128 },
129 {
130 // Set a fan floor if an OCC isn't active
131 "name": "Non-active OCC(s)",
132 "groups": [
133 {
134 "name": "occ objects",
135 "interface": "org.open_power.OCC.Status",
136 "property": {
137 "name": "OccActive"
138 }
139 }
140 ],
141 "triggers": [
142 {
143 "class": "signal",
144 "signal": "properties_changed"
145 },
146 {
147 "class": "signal",
148 "signal": "interfaces_added"
149 },
150 {
151 "class": "init",
152 "method": "get_properties"
153 }
154 ],
155 "actions": [
156 {
157 "name": "count_state_floor",
158 "count": 1,
159 "state": false,
160 "floor": 10000
161 }
162 ]
Matt Spinler323694a2021-11-11 16:03:18 -0600163 },
164 {
Matthew Barth39925fb2022-01-12 10:45:59 -0600165 // Set a raised fan floor when any OCC sensor is nonfunctional
166 "name": "Nonfunctional OCC sensors",
167 "groups": [
168 {
169 "name": "proc0 core temps",
170 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
171 "property": { "name": "Functional" }
172 },
173 {
174 "name": "proc1 core temps",
175 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
176 "property": { "name": "Functional" }
177 },
178 {
179 "name": "proc0 ioring temp",
180 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
181 "property": { "name": "Functional" }
182 },
183 {
184 "name": "proc1 ioring temp",
185 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
186 "property": { "name": "Functional" }
187 },
188 {
189 "name": "dram temps",
190 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
191 "property": { "name": "Functional" }
192 },
193 {
194 "name": "pmic temps",
195 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
196 "property": { "name": "Functional" }
197 },
198 {
199 "name": "internal memory buffer temps",
200 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
201 "property": { "name": "Functional" }
202 },
203 {
204 "name": "dram and external memory buffer temps",
205 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
206 "property": { "name": "Functional" }
207 },
208 {
209 "name": "external memory buffer temps",
210 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
211 "property": { "name": "Functional" }
212 },
213 {
214 "name": "vdd vrm temps",
215 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
216 "property": { "name": "Functional" }
217 }
218 ],
219 "triggers": [
220 {
221 "class": "signal",
222 "signal": "properties_changed"
223 },
224 {
225 "class": "signal",
226 "signal": "interfaces_added"
227 },
228 {
229 "class": "init",
230 "method": "get_properties"
231 }
232 ],
233 "actions": [
234 {
235 "name": "count_state_floor",
236 "count": 1,
237 "state": false,
238 "floor": 10000
239 }
240 ]
241 },
242 {
Matt Spinler323694a2021-11-11 16:03:18 -0600243 "name": "Set Proc 0 Core DVFS parameter",
244 "groups": [
245 {
246 "name": "proc 0 core dvfs temp",
247 "interface": "xyz.openbmc_project.Sensor.Value",
248 "property": { "name": "Value" }
249 }
250 ],
251 "triggers": [
252 {
253 "class": "init",
254 "method": "get_properties"
255 },
256 {
257 "class": "signal",
258 "signal": "interfaces_added"
259 },
260 {
261 "class": "signal",
262 "signal": "properties_changed"
263 }
264 ],
265 "actions": [
266 {
267 "name": "set_parameter_from_group_max",
Matthew Bartha0a72b12021-12-01 21:18:13 -0600268 "parameter_name": "proc_0_core_dvfs_increase_temp",
Matt Spinler323694a2021-11-11 16:03:18 -0600269 "modifier": {
270 "operator": "minus",
Matthew Bartha0a72b12021-12-01 21:18:13 -0600271 "value": 10
Matt Spinler323694a2021-11-11 16:03:18 -0600272 }
Matthew Barthdcf39732021-12-01 21:58:59 -0600273 },
274 {
275 "name": "set_parameter_from_group_max",
276 "parameter_name": "proc_0_core_dvfs_decrease_temp",
277 "modifier": {
278 "operator": "minus",
279 "value": 13
280 }
Matt Spinler323694a2021-11-11 16:03:18 -0600281 }
282 ]
283 },
284 {
285 "name": "Set Proc 1 Core DVFS parameter",
286 "groups": [
287 {
288 "name": "proc 1 core dvfs temp",
289 "interface": "xyz.openbmc_project.Sensor.Value",
290 "property": { "name": "Value" }
291 }
292 ],
293 "triggers": [
294 {
295 "class": "init",
296 "method": "get_properties"
297 },
298 {
299 "class": "signal",
300 "signal": "interfaces_added"
301 },
302 {
303 "class": "signal",
304 "signal": "properties_changed"
305 }
306 ],
307 "actions": [
308 {
309 "name": "set_parameter_from_group_max",
Matthew Bartha0a72b12021-12-01 21:18:13 -0600310 "parameter_name": "proc_1_core_dvfs_increase_temp",
Matt Spinler323694a2021-11-11 16:03:18 -0600311 "modifier": {
312 "operator": "minus",
Matthew Bartha0a72b12021-12-01 21:18:13 -0600313 "value": 10
Matt Spinler323694a2021-11-11 16:03:18 -0600314 }
Matthew Barthdcf39732021-12-01 21:58:59 -0600315 },
316 {
317 "name": "set_parameter_from_group_max",
318 "parameter_name": "proc_1_core_dvfs_decrease_temp",
319 "modifier": {
320 "operator": "minus",
321 "value": 13
322 }
Matt Spinler323694a2021-11-11 16:03:18 -0600323 }
324 ]
325 },
326 {
327 "name": "Set Proc 0 IO Ring DVFS parameter",
328 "groups": [
329 {
330 "name": "proc 0 ioring dvfs temp",
331 "interface": "xyz.openbmc_project.Sensor.Value",
332 "property": { "name": "Value" }
333 }
334 ],
335 "triggers": [
336 {
337 "class": "init",
338 "method": "get_properties"
339 },
340 {
341 "class": "signal",
342 "signal": "interfaces_added"
343 },
344 {
345 "class": "signal",
346 "signal": "properties_changed"
347 }
348 ],
349 "actions": [
350 {
351 "name": "set_parameter_from_group_max",
Matthew Bartha0a72b12021-12-01 21:18:13 -0600352 "parameter_name": "proc_0_ioring_dvfs_increase_temp",
Matt Spinler323694a2021-11-11 16:03:18 -0600353 "modifier": {
354 "operator": "minus",
Matthew Bartha0a72b12021-12-01 21:18:13 -0600355 "value": 10
Matt Spinler323694a2021-11-11 16:03:18 -0600356 }
Matthew Barthdcf39732021-12-01 21:58:59 -0600357 },
358 {
359 "name": "set_parameter_from_group_max",
360 "parameter_name": "proc_0_ioring_dvfs_decrease_temp",
361 "modifier": {
362 "operator": "minus",
363 "value": 13
364 }
Matt Spinler323694a2021-11-11 16:03:18 -0600365 }
366 ]
367 },
368 {
369 "name": "Set Proc 1 IO Ring DVFS parameter",
370 "groups": [
371 {
372 "name": "proc 1 ioring dvfs temp",
373 "interface": "xyz.openbmc_project.Sensor.Value",
374 "property": { "name": "Value" }
375 }
376 ],
377 "triggers": [
378 {
379 "class": "init",
380 "method": "get_properties"
381 },
382 {
383 "class": "signal",
384 "signal": "interfaces_added"
385 },
386 {
387 "class": "signal",
388 "signal": "properties_changed"
389 }
390 ],
391 "actions": [
392 {
393 "name": "set_parameter_from_group_max",
Matthew Bartha0a72b12021-12-01 21:18:13 -0600394 "parameter_name": "proc_1_ioring_dvfs_increase_temp",
Matt Spinler323694a2021-11-11 16:03:18 -0600395 "modifier": {
396 "operator": "minus",
Matthew Bartha0a72b12021-12-01 21:18:13 -0600397 "value": 10
Matt Spinler323694a2021-11-11 16:03:18 -0600398 }
Matthew Barthdcf39732021-12-01 21:58:59 -0600399 },
400 {
401 "name": "set_parameter_from_group_max",
402 "parameter_name": "proc_1_ioring_dvfs_decrease_temp",
403 "modifier": {
404 "operator": "minus",
405 "value": 13
406 }
Matt Spinler323694a2021-11-11 16:03:18 -0600407 }
408 ]
Matthew Barthb6f10352021-12-02 17:42:49 -0600409 },
410 {
411 // Collect group temperatures each iteration the repeating timer expires
412 "name": "Fan control timer loop",
413 "groups": [
414 {
415 "name": "proc0 core temps",
416 "interface": "xyz.openbmc_project.Sensor.Value",
417 "property": { "name": "Value" }
418 },
419 {
420 "name": "proc1 core temps",
421 "interface": "xyz.openbmc_project.Sensor.Value",
422 "property": { "name": "Value" }
423 },
424 {
425 "name": "proc0 ioring temp",
426 "interface": "xyz.openbmc_project.Sensor.Value",
427 "property": { "name": "Value" }
428 },
429 {
430 "name": "proc1 ioring temp",
431 "interface": "xyz.openbmc_project.Sensor.Value",
432 "property": { "name": "Value" }
433 },
434 {
435 "name": "dram temps",
436 "interface": "xyz.openbmc_project.Sensor.Value",
437 "property": { "name": "Value" }
438 },
439 {
440 "name": "pmic temps",
441 "interface": "xyz.openbmc_project.Sensor.Value",
442 "property": { "name": "Value" }
443 },
444 {
445 "name": "internal memory buffer temps",
446 "interface": "xyz.openbmc_project.Sensor.Value",
447 "property": { "name": "Value" }
448 },
449 {
450 "name": "dram and external memory buffer temps",
451 "interface": "xyz.openbmc_project.Sensor.Value",
452 "property": { "name": "Value" }
453 },
454 {
455 "name": "external memory buffer temps",
456 "interface": "xyz.openbmc_project.Sensor.Value",
457 "property": { "name": "Value" }
458 },
459 {
460 "name": "vdd vrm temps",
461 "interface": "xyz.openbmc_project.Sensor.Value",
462 "property": { "name": "Value" }
Matthew Barth23a7b2b2022-01-11 15:22:55 -0600463 },
464 {
465 "name": "nvme temps",
466 "interface": "xyz.openbmc_project.Sensor.Value",
467 "property": { "name": "Value" }
468 },
469 {
470 "name": "planar temps",
471 "interface": "xyz.openbmc_project.Sensor.Value",
472 "property": { "name": "Value" }
Matt Spinler9b7fc002022-01-11 15:35:29 -0600473 },
474 {
475 "name": "flett temps",
476 "interface": "xyz.openbmc_project.Sensor.Value",
477 "property": { "name": "Value" }
478 },
479 {
480 "name": "bear lake temps",
481 "interface": "xyz.openbmc_project.Sensor.Value",
482 "property": { "name": "Value" }
Matthew Barthb6f10352021-12-02 17:42:49 -0600483 }
484 ],
485 "triggers": [
486 {
487 "class": "timer",
488 "type": "repeating",
489 "interval": 2000000,
490 "preload_groups": true
491 }
Matthew Barthbf3c6b92021-12-06 22:35:30 -0600492 ],
493 "actions": [
494 {
495 "name": "set_net_increase_target",
496 "groups": [
497 {
498 "name": "proc0 core temps",
499 "interface": "xyz.openbmc_project.Sensor.Value",
500 "property": { "name": "Value" }
501 }
502 ],
503 "state_parameter_name": "proc_0_core_dvfs_increase_temp",
504 "delta": 300
505 },
506 {
507 "name": "set_net_increase_target",
508 "groups": [
509 {
510 "name": "proc1 core temps",
511 "interface": "xyz.openbmc_project.Sensor.Value",
512 "property": { "name": "Value" }
513 }
514 ],
515 "state_parameter_name": "proc_1_core_dvfs_increase_temp",
516 "delta": 300
517 },
518 {
519 "name": "set_net_increase_target",
520 "groups": [
521 {
522 "name": "proc0 ioring temp",
523 "interface": "xyz.openbmc_project.Sensor.Value",
524 "property": { "name": "Value" }
525 }
526 ],
527 "state_parameter_name": "proc_0_ioring_dvfs_increase_temp",
528 "delta": 300
529 },
530 {
531 "name": "set_net_increase_target",
532 "groups": [
533 {
534 "name": "proc1 ioring temp",
535 "interface": "xyz.openbmc_project.Sensor.Value",
536 "property": { "name": "Value" }
537 }
538 ],
539 "state_parameter_name": "proc_1_ioring_dvfs_increase_temp",
540 "delta": 300
541 },
542 {
543 "name": "set_net_increase_target",
544 "groups": [
545 {
546 "name": "dram temps",
547 "interface": "xyz.openbmc_project.Sensor.Value",
548 "property": { "name": "Value" }
549 }
550 ],
551 "state": 66.0,
552 "delta": 200
553 },
554 {
555 "name": "set_net_increase_target",
556 "groups": [
557 {
558 "name": "pmic temps",
559 "interface": "xyz.openbmc_project.Sensor.Value",
560 "property": { "name": "Value" }
561 }
562 ],
563 "state": 52.0,
564 "delta": 200
565 },
566 {
567 "name": "set_net_increase_target",
568 "groups": [
569 {
570 "name": "internal memory buffer temps",
571 "interface": "xyz.openbmc_project.Sensor.Value",
572 "property": { "name": "Value" }
573 }
574 ],
575 "state": 72.0,
576 "delta": 200
577 },
578 {
579 "name": "set_net_increase_target",
580 "groups": [
581 {
582 "name": "dram and external memory buffer temps",
583 "interface": "xyz.openbmc_project.Sensor.Value",
584 "property": { "name": "Value" }
585 }
586 ],
587 "state": 55.0,
588 "delta": 200
589 },
590 {
591 "name": "set_net_increase_target",
592 "groups": [
593 {
594 "name": "external memory buffer temps",
595 "interface": "xyz.openbmc_project.Sensor.Value",
596 "property": { "name": "Value" }
597 }
598 ],
599 "state": 55.0,
600 "delta": 200
601 },
602 {
603 "name": "set_net_increase_target",
604 "groups": [
605 {
606 "name": "vdd vrm temps",
607 "interface": "xyz.openbmc_project.Sensor.Value",
608 "property": { "name": "Value" }
609 }
610 ],
611 "state": 82.0,
612 "delta": 300
Matthew Barth1cb3ce12021-12-06 22:38:15 -0600613 },
614 {
Matthew Barth4a7337e2021-12-08 22:03:48 -0600615 "name": "set_net_increase_target",
616 "groups": [
617 {
618 "name": "nvme temps",
619 "interface": "xyz.openbmc_project.Sensor.Value",
620 "property": { "name": "Value" }
621 }
622 ],
623 "state": 58.0,
624 "delta": 200
625 },
626 {
Matthew Barth075fcd82021-12-13 20:56:49 -0600627 "name": "set_net_increase_target",
628 "groups": [
629 {
630 "name": "planar temps",
631 "interface": "xyz.openbmc_project.Sensor.Value",
632 "property": { "name": "Value" }
633 }
634 ],
635 "state": 65.0,
636 "delta": 255
637 },
638 {
Matt Spinler1006fe32022-01-10 14:06:22 -0600639 "name": "set_net_increase_target",
640 "groups": [
641 {
642 "name": "flett temps",
643 "interface": "xyz.openbmc_project.Sensor.Value",
644 "property": { "name": "Value" }
645 }
646 ],
647 "state": 70.0,
648 "delta": 255
649 },
650 {
651 "name": "set_net_increase_target",
652 "groups": [
653 {
654 "name": "bear lake temps",
655 "interface": "xyz.openbmc_project.Sensor.Value",
656 "property": { "name": "Value" }
657 }
658 ],
659 "state": 70.0,
660 "delta": 255
661 },
662 {
Matthew Barth1cb3ce12021-12-06 22:38:15 -0600663 "name": "set_net_decrease_target",
664 "groups": [
665 {
666 "name": "proc0 core temps",
667 "interface": "xyz.openbmc_project.Sensor.Value",
668 "property": { "name": "Value" }
669 }
670 ],
671 "state_parameter_name": "proc_0_core_dvfs_decrease_temp",
672 "delta": 30
673 },
674 {
675 "name": "set_net_decrease_target",
676 "groups": [
677 {
678 "name": "proc1 core temps",
679 "interface": "xyz.openbmc_project.Sensor.Value",
680 "property": { "name": "Value" }
681 }
682 ],
683 "state_parameter_name": "proc_1_core_dvfs_decrease_temp",
684 "delta": 30
685 },
686 {
687 "name": "set_net_decrease_target",
688 "groups": [
689 {
690 "name": "proc0 ioring temp",
691 "interface": "xyz.openbmc_project.Sensor.Value",
692 "property": { "name": "Value" }
693 }
694 ],
695 "state_parameter_name": "proc_0_ioring_dvfs_decrease_temp",
696 "delta": 30
697 },
698 {
699 "name": "set_net_decrease_target",
700 "groups": [
701 {
702 "name": "proc1 ioring temp",
703 "interface": "xyz.openbmc_project.Sensor.Value",
704 "property": { "name": "Value" }
705 }
706 ],
707 "state_parameter_name": "proc_1_ioring_dvfs_decrease_temp",
708 "delta": 30
709 },
710 {
711 "name": "set_net_decrease_target",
712 "groups": [
713 {
714 "name": "dram temps",
715 "interface": "xyz.openbmc_project.Sensor.Value",
716 "property": { "name": "Value" }
717 }
718 ],
719 "state": 63.0,
720 "delta": 40
721 },
722 {
723 "name": "set_net_decrease_target",
724 "groups": [
725 {
726 "name": "pmic temps",
727 "interface": "xyz.openbmc_project.Sensor.Value",
728 "property": { "name": "Value" }
729 }
730 ],
731 "state": 49.0,
732 "delta": 40
733 },
734 {
735 "name": "set_net_decrease_target",
736 "groups": [
737 {
738 "name": "internal memory buffer temps",
739 "interface": "xyz.openbmc_project.Sensor.Value",
740 "property": { "name": "Value" }
741 }
742 ],
743 "state": 69.0,
744 "delta": 40
745 },
746 {
747 "name": "set_net_decrease_target",
748 "groups": [
749 {
750 "name": "dram and external memory buffer temps",
751 "interface": "xyz.openbmc_project.Sensor.Value",
752 "property": { "name": "Value" }
753 }
754 ],
755 "state": 52.0,
756 "delta": 40
757 },
758 {
759 "name": "set_net_decrease_target",
760 "groups": [
761 {
762 "name": "external memory buffer temps",
763 "interface": "xyz.openbmc_project.Sensor.Value",
764 "property": { "name": "Value" }
765 }
766 ],
767 "state": 52.0,
768 "delta": 40
769 },
770 {
771 "name": "set_net_decrease_target",
772 "groups": [
773 {
774 "name": "vdd vrm temps",
775 "interface": "xyz.openbmc_project.Sensor.Value",
776 "property": { "name": "Value" }
777 }
778 ],
779 "state": 79.0,
780 "delta": 30
Matthew Barthcd8a80f2021-12-08 22:28:38 -0600781 },
782 {
783 "name": "set_net_decrease_target",
784 "groups": [
785 {
786 "name": "nvme temps",
787 "interface": "xyz.openbmc_project.Sensor.Value",
788 "property": { "name": "Value" }
789 }
790 ],
791 "state": 55.0,
792 "delta": 40
Matthew Barth075fcd82021-12-13 20:56:49 -0600793 },
794 {
795 "name": "set_net_decrease_target",
796 "groups": [
797 {
798 "name": "planar temps",
799 "interface": "xyz.openbmc_project.Sensor.Value",
800 "property": { "name": "Value" }
801 }
802 ],
803 "state": 60.0,
804 "delta": 80
Matt Spinler1006fe32022-01-10 14:06:22 -0600805 },
806 {
807 "name": "set_net_decrease_target",
808 "groups": [
809 {
810 "name": "flett temps",
811 "interface": "xyz.openbmc_project.Sensor.Value",
812 "property": { "name": "Value" }
813 }
814 ],
815 "state": 65.0,
816 "delta": 80
817 },
818 {
819 "name": "set_net_decrease_target",
820 "groups": [
821 {
822 "name": "bear lake temps",
823 "interface": "xyz.openbmc_project.Sensor.Value",
824 "property": { "name": "Value" }
825 }
826 ],
827 "state": 65.0,
828 "delta": 80
Matthew Barthbf3c6b92021-12-06 22:35:30 -0600829 }
Matthew Barthb6f10352021-12-02 17:42:49 -0600830 ]
Matthew Barthcf34be22021-12-08 22:53:48 -0600831 },
832 {
833 // Remove NVMe temperature objects from cache when they are removed from
834 // dbus. There's no need to react to their removal.
835 "name": "remove nvme objects",
836 "groups": [
837 {
838 "name": "nvme temps",
839 "interface": "xyz.openbmc_project.Sensor.Value",
840 "property": { "name": "Value" }
841 }
842 ],
843 "triggers": [
844 {
845 "class": "signal",
846 "signal": "interfaces_removed"
847 }
848 ]
Matt Spinler323694a2021-11-11 16:03:18 -0600849 }
Matthew Barthb477a562021-10-19 14:39:19 -0500850]