blob: be1a2f0c9e5f68e47f195a4167be50139f2a120a [file] [log] [blame]
Matthew Barthbde68592017-05-24 17:06:13 -05001groups:
Matthew Barth2ca6b7b2017-06-30 11:07:51 -05002 - name: air_cooled_zone0_fans
3 description: Group of fan inventory objects for air cooled zone 0
Matthew Barth46e31152017-08-08 16:08:59 -05004 type: /xyz/openbmc_project/inventory
Matthew Barthbde68592017-05-24 17:06:13 -05005 members:
6 - /system/chassis/motherboard/fan0
7 - /system/chassis/motherboard/fan1
8 - /system/chassis/motherboard/fan2
9 - /system/chassis/motherboard/fan3
Matthew Barth2ca6b7b2017-06-30 11:07:51 -050010 - name: water_and_air_cooled_zone0_fans
11 description: Group of fan inventory objects for water/air cooled zone 0
Matthew Barth46e31152017-08-08 16:08:59 -050012 type: /xyz/openbmc_project/inventory
Matthew Barth2ca6b7b2017-06-30 11:07:51 -050013 members:
14 - /system/chassis/motherboard/fan0
15 - /system/chassis/motherboard/fan2
16 - /system/chassis/motherboard/fan3
Matthew Barth5cde5a62017-07-10 15:35:29 -050017 - name: zone0_ambient
18 description: Group of ambient temperature sensors for zone 0
Matthew Barth46e31152017-08-08 16:08:59 -050019 type: /xyz/openbmc_project/sensors
Matthew Barth5cde5a62017-07-10 15:35:29 -050020 members:
21 - /temperature/ambient
Matthew Barth184a1512017-08-16 10:42:54 -050022 - name: occ0_object
23 description: Dbus object containing OCC0 properties
24 type: /org/open_power/control
25 members:
26 - /occ0
27 - name: occ1_object
28 description: Dbus object containing OCC1 properties
29 type: /org/open_power/control
30 members:
31 - /occ1
32 - name: zone0_cores
33 description: Group of core temperature sensors for zone 0
34 type: /xyz/openbmc_project/sensors
35 members:
36 - /temperature/p0_core0_temp
37 - /temperature/p0_core1_temp
38 - /temperature/p0_core2_temp
39 - /temperature/p0_core3_temp
40 - /temperature/p0_core4_temp
41 - /temperature/p0_core5_temp
42 - /temperature/p0_core6_temp
43 - /temperature/p0_core7_temp
44 - /temperature/p0_core8_temp
45 - /temperature/p0_core9_temp
46 - /temperature/p0_core10_temp
47 - /temperature/p0_core11_temp
48 - /temperature/p0_core12_temp
49 - /temperature/p0_core13_temp
50 - /temperature/p0_core14_temp
51 - /temperature/p0_core15_temp
52 - /temperature/p0_core16_temp
53 - /temperature/p0_core17_temp
54 - /temperature/p0_core18_temp
55 - /temperature/p0_core19_temp
56 - /temperature/p0_core20_temp
57 - /temperature/p0_core21_temp
58 - /temperature/p0_core22_temp
59 - /temperature/p0_core23_temp
60 - /temperature/p1_core0_temp
61 - /temperature/p1_core1_temp
62 - /temperature/p1_core2_temp
63 - /temperature/p1_core3_temp
64 - /temperature/p1_core4_temp
65 - /temperature/p1_core5_temp
66 - /temperature/p1_core6_temp
67 - /temperature/p1_core7_temp
68 - /temperature/p1_core8_temp
69 - /temperature/p1_core9_temp
70 - /temperature/p1_core10_temp
71 - /temperature/p1_core11_temp
72 - /temperature/p1_core12_temp
73 - /temperature/p1_core13_temp
74 - /temperature/p1_core14_temp
75 - /temperature/p1_core15_temp
76 - /temperature/p1_core16_temp
77 - /temperature/p1_core17_temp
78 - /temperature/p1_core18_temp
79 - /temperature/p1_core19_temp
80 - /temperature/p1_core20_temp
81 - /temperature/p1_core21_temp
82 - /temperature/p1_core22_temp
83 - /temperature/p1_core23_temp
Matthew Barth7a512782017-08-16 12:43:07 -050084 - name: zone0_regulators
85 description: Group of regulator temperature sensors for zone 0
86 type: /xyz/openbmc_project/sensors
87 members:
88 - /temperature/p0_vdd_temp
89 - /temperature/p1_vdd_temp
Matthew Barth362d8232017-08-18 10:39:03 -050090 - name: zone0_dimms
91 description: Group of dimm temperature sensors for zone 0
92 type: /xyz/openbmc_project/sensors
93 members:
94 - /temperature/dimm0_temp
95 - /temperature/dimm1_temp
96 - /temperature/dimm2_temp
97 - /temperature/dimm3_temp
98 - /temperature/dimm4_temp
99 - /temperature/dimm5_temp
100 - /temperature/dimm6_temp
101 - /temperature/dimm7_temp
102 - /temperature/dimm8_temp
103 - /temperature/dimm9_temp
104 - /temperature/dimm10_temp
105 - /temperature/dimm11_temp
106 - /temperature/dimm12_temp
107 - /temperature/dimm13_temp
108 - /temperature/dimm14_temp
109 - /temperature/dimm15_temp
Matthew Barth1f8bf1d2017-09-14 13:26:06 -0500110 - name: zone0_gpu_cores
111 description: Group of gpu core temperature sensors for zone 0
112 type: /xyz/openbmc_project/sensors
113 members:
114 - /temperature/gpu0_core_temp
115 - /temperature/gpu1_core_temp
116 - /temperature/gpu2_core_temp
117 - /temperature/gpu3_core_temp
118 - /temperature/gpu4_core_temp
119 - /temperature/gpu5_core_temp
Matthew Barthfe1823a2017-09-14 13:39:49 -0500120 - name: zone0_gpu_memory
121 description: Group of gpu memory temperature sensors for zone 0
122 type: /xyz/openbmc_project/sensors
123 members:
124 - /temperature/gpu0_mem_temp
125 - /temperature/gpu1_mem_temp
126 - /temperature/gpu2_mem_temp
127 - /temperature/gpu3_mem_temp
128 - /temperature/gpu4_mem_temp
129 - /temperature/gpu5_mem_temp
Matthew Barth336e2622017-10-13 14:45:27 -0500130 - name: zone0_pcie
131 description: Group of pcie temperature sensors for zone 0
132 type: /xyz/openbmc_project/sensors
133 members:
134 - /temperature/pcie
Matthew Barth184a1512017-08-16 10:42:54 -0500135
Matthew Barth4faed5e2017-12-11 15:02:32 -0600136matches:
137 - name: propertiesChanged
138 description: >
139 A property changed match
140 parameters:
141 - object
142 - interface
143 signal: propertySignal
144 - name: interfacesAdded
145 description: >
146 An interfaces added match
147 parameters:
148 - object
149 signal: objectSignal
150 - name: interfacesRemoved
151 description: >
152 An interfaces removed match
153 parameters:
154 - object
155 signal: objectSignal
156 - name: nameOwnerChanged
157 description: >
158 A name owner changed match
159 parameters:
160 - object
161 - interface
162 signal: ownerSignal
163
164signals:
165 - name: propertySignal
166 description: >
167 Handle property signals
168 parameters:
169 - type
170 - object
171 - interface
172 - property
173 handler: setProperty
174 - name: objectSignal
175 description: >
176 Handle object signals
177 parameters:
178 - type
179 - object
180 - interface
181 - property
182 handler: setProperty
183 - name: ownerSignal
184 description: >
185 Handle owner signals
186 parameters:
187 - object
188 - interface
189 handler: setService
190
191handlers:
192 - name: setProperty
193 description: >
194 Sets a value for the given object/interface/property
195 parameters:
196 - type
197 - object
198 - interface
199 - property
200 - name: setService
201 description: >
202 Sets the service name(s) for the given group
203 parameters:
204 - group
205
Matthew Barth184a1512017-08-16 10:42:54 -0500206preconditions:
207 - name: property_states_match
208 description: >
209 All defined properties must match the values given to
210 enable a set speed event otherwise fan speeds are set to full
211 parameters:
212 - groups
Matthew Barthbde68592017-05-24 17:06:13 -0500213
214actions:
Matthew Barth4faed5e2017-12-11 15:02:32 -0600215 - name: call_actions_based_on_timer
216 description: >
217 Sets up a list of actions to be invoked when the defined timer
218 expires (or for each expiration of a repeating timer)
219 parameters:
220 - timer
221 - actions
222 - name: default_floor_on_missing_owner
223 description: >
224 Set the fan floor to the default floor
225 - name: set_speed_on_missing_owner
226 description: >
227 Set fans to the given speed when any service within the group
228 no longer exists
229 parameters:
230 - speed
Matthew Barth1181f282017-09-15 14:53:01 -0500231 - name: set_request_speed_base_with_max
232 description: >
233 Set the base request speed of a zone to the max value of a group for
234 calculating a new target speed
Matthew Barthbde68592017-05-24 17:06:13 -0500235 - name: count_state_before_speed
236 description: Set the speed when a number of properties at a state
237 parameters:
238 - count
239 - property
240 - speed
Matthew Barth5cde5a62017-07-10 15:35:29 -0500241 - name: set_floor_from_average_sensor_value
242 description: Set floor speed from first entry with average less than key
243 parameters:
244 - map
245 - name: set_ceiling_from_average_sensor_value
246 description: Set ceiling speed based on key transition values with average
247 parameters:
248 - map
Matthew Barth184a1512017-08-16 10:42:54 -0500249 - name: set_net_increase_speed
250 description: >
251 Set the speed increase delta based on a factor applied to
252 the delta increase size times the given value and property's
253 value difference
254 parameters:
255 - property
256 - factor
257 - delta
258 - name: set_net_decrease_speed
259 description: >
260 Set the speed decrease delta based on a factor applied to
261 the delta decrease size times the given value and property's
262 value difference
263 parameters:
264 - property
265 - factor
266 - delta
Matthew Barthbde68592017-05-24 17:06:13 -0500267
268events:
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500269 - name: missing_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500270 zone_conditions:
271 - name: air_cooled_chassis
272 zones:
273 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500274 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500275 interface: xyz.openbmc_project.Inventory.Item
276 property:
277 name: Present
278 type: bool
Matthew Barth4faed5e2017-12-11 15:02:32 -0600279 matches:
280 - name: propertiesChanged
Matthew Barth2e104962017-09-14 12:32:49 -0500281 actions:
282 - name: count_state_before_speed
283 count: 1
284 property: false
285 speed:
286 value: 10500
287 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500288 - name: fails_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500289 zone_conditions:
290 - name: air_cooled_chassis
291 zones:
292 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500293 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500294 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
295 property:
296 name: Functional
297 type: bool
Matthew Barth4faed5e2017-12-11 15:02:32 -0600298 matches:
299 - name: propertiesChanged
Matthew Barth2e104962017-09-14 12:32:49 -0500300 actions:
301 - name: count_state_before_speed
302 count: 1
303 property: false
304 speed:
305 value: 10500
306 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500307 - name: missing_before_high_speed_water_and_air
308 zone_conditions:
309 - name: water_and_air_cooled_chassis
310 zones:
311 - 0
312 group: water_and_air_cooled_zone0_fans
313 interface: xyz.openbmc_project.Inventory.Item
314 property:
315 name: Present
316 type: bool
Matthew Barth4faed5e2017-12-11 15:02:32 -0600317 matches:
318 - name: propertiesChanged
Matthew Barth2e104962017-09-14 12:32:49 -0500319 actions:
320 - name: count_state_before_speed
321 count: 1
322 property: false
323 speed:
324 value: 10500
325 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500326 - name: fails_before_high_speed_water_and_air
327 zone_conditions:
328 - name: water_and_air_cooled_chassis
329 zones:
330 - 0
331 group: water_and_air_cooled_zone0_fans
332 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
333 property:
334 name: Functional
335 type: bool
Matthew Barth4faed5e2017-12-11 15:02:32 -0600336 matches:
337 - name: propertiesChanged
Matthew Barth2e104962017-09-14 12:32:49 -0500338 actions:
339 - name: count_state_before_speed
340 count: 1
341 property: false
342 speed:
343 value: 10500
344 type: uint64_t
345 - name: set_air_cooled_speed_boundaries_based_on_ambient
Matthew Barth5cde5a62017-07-10 15:35:29 -0500346 zone_conditions:
347 - name: air_cooled_chassis
348 zones:
349 - 0
350 group: zone0_ambient
351 interface: xyz.openbmc_project.Sensor.Value
352 property:
353 name: Value
354 type: int64_t
Matthew Barth4faed5e2017-12-11 15:02:32 -0600355 matches:
356 - name: propertiesChanged
Matthew Barth2e104962017-09-14 12:32:49 -0500357 actions:
358 - name: set_floor_from_average_sensor_value
359 map:
360 value:
Matthew Barthf826d772017-12-11 14:47:54 -0600361 - 27000: 3500
362 - 32000: 4600
363 - 37000: 5200
364 - 40000: 5800
Matthew Barth2e104962017-09-14 12:32:49 -0500365 type: std::map<int64_t, uint64_t>
366 - name: set_ceiling_from_average_sensor_value
367 map:
368 value:
Matthew Barth0359dc92017-10-16 15:57:20 -0500369 - 25000: 7200
Matthew Barth2e104962017-09-14 12:32:49 -0500370 - 27000: 10500
371 type: std::map<int64_t, uint64_t>
372 - name: set_water_cooled_speed_boundaries_based_on_ambient
Matthew Barth5cde5a62017-07-10 15:35:29 -0500373 zone_conditions:
374 - name: water_and_air_cooled_chassis
375 zones:
376 - 0
377 group: zone0_ambient
378 interface: xyz.openbmc_project.Sensor.Value
379 property:
380 name: Value
381 type: int64_t
Matthew Barth4faed5e2017-12-11 15:02:32 -0600382 matches:
383 - name: propertiesChanged
Matthew Barth2e104962017-09-14 12:32:49 -0500384 actions:
385 - name: set_floor_from_average_sensor_value
386 map:
387 value:
Matthew Barth0692acb2017-11-02 13:03:11 -0500388 - 27000: 3000
389 - 32000: 4300
390 - 37000: 5000
391 - 40000: 5800
Matthew Barth2e104962017-09-14 12:32:49 -0500392 type: std::map<int64_t, uint64_t>
393 - name: set_ceiling_from_average_sensor_value
394 map:
395 value:
Matthew Barth0359dc92017-10-16 15:57:20 -0500396 - 25000: 7200
Matthew Barth2e104962017-09-14 12:32:49 -0500397 - 27000: 10500
398 type: std::map<int64_t, uint64_t>
399 - name: speed_changes_based_on_regulator_temps
Matthew Barth7a512782017-08-16 12:43:07 -0500400 zone_conditions:
Matthew Barth173cc482017-11-08 11:02:33 -0600401 - name: air_cooled_chassis
402 zones:
403 - 0
Matthew Barth7a512782017-08-16 12:43:07 -0500404 - name: water_and_air_cooled_chassis
405 zones:
406 - 0
407 group: zone0_regulators
408 interface: xyz.openbmc_project.Sensor.Value
409 property:
410 name: Value
411 type: int64_t
Matthew Barth4faed5e2017-12-11 15:02:32 -0600412 matches:
413 - name: interfacesAdded
414 - name: propertiesChanged
Matthew Barth2e104962017-09-14 12:32:49 -0500415 actions:
416 - name: set_net_increase_speed
417 property: 85000
418 factor:
419 value: 1000
420 type: int64_t
421 delta:
422 value: 400
423 type: uint64_t
424 - name: set_net_decrease_speed
425 property: 82000
426 factor:
427 value: 1000
428 type: int64_t
429 delta:
Matthew Barth23bb1572017-09-14 13:09:39 -0500430 value: 40
Matthew Barth2e104962017-09-14 12:32:49 -0500431 type: uint64_t
Matthew Barth7a512782017-08-16 12:43:07 -0500432 timer:
Matthew Barth23bb1572017-09-14 13:09:39 -0500433 interval: 5
Matthew Barth336e2622017-10-13 14:45:27 -0500434 - name: speed_changes_based_on_pcie_temps
435 zone_conditions:
Matthew Barth173cc482017-11-08 11:02:33 -0600436 - name: air_cooled_chassis
437 zones:
438 - 0
Matthew Barth336e2622017-10-13 14:45:27 -0500439 - name: water_and_air_cooled_chassis
440 zones:
441 - 0
442 group: zone0_pcie
443 interface: xyz.openbmc_project.Sensor.Value
444 property:
445 name: Value
446 type: int64_t
Matthew Barth4faed5e2017-12-11 15:02:32 -0600447 matches:
448 - name: interfacesAdded
449 - name: propertiesChanged
Matthew Barth336e2622017-10-13 14:45:27 -0500450 actions:
451 - name: set_net_increase_speed
452 property: 55000
453 factor:
454 value: 1000
455 type: int64_t
456 delta:
457 value: 400
458 type: uint64_t
459 - name: set_net_decrease_speed
460 property: 52000
461 factor:
462 value: 1000
463 type: int64_t
464 delta:
465 value: 40
466 type: uint64_t
467 timer:
468 interval: 5
Matthew Barth2e104962017-09-14 12:32:49 -0500469 - name: occ_active_speed_changes
Matthew Barth362d8232017-08-18 10:39:03 -0500470 precondition:
471 name: property_states_match
472 groups:
473 - name: occ0_object
474 interface: org.open_power.OCC.Status
475 property:
476 name: OccActive
477 type: bool
478 value: true
479 - name: occ1_object
480 interface: org.open_power.OCC.Status
481 property:
482 name: OccActive
483 type: bool
484 value: true
Matthew Barth4faed5e2017-12-11 15:02:32 -0600485 matches:
486 - name: interfacesAdded
487 - name: propertiesChanged
Matthew Barth2e104962017-09-14 12:32:49 -0500488 events:
Matthew Barth173cc482017-11-08 11:02:33 -0600489 - name: speed_changes_based_on_core_temps
490 zone_conditions:
491 - name: air_cooled_chassis
492 zones:
493 - 0
494 group: zone0_cores
495 interface: xyz.openbmc_project.Sensor.Value
496 property:
497 name: Value
498 type: int64_t
Matthew Barth4faed5e2017-12-11 15:02:32 -0600499 matches:
500 - name: interfacesAdded
501 - name: propertiesChanged
Matthew Barth173cc482017-11-08 11:02:33 -0600502 actions:
503 - name: set_net_increase_speed
504 property: 73000
505 factor:
506 value: 1000
507 type: int64_t
508 delta:
509 value: 400
510 type: uint64_t
511 - name: set_net_decrease_speed
512 property: 70000
513 factor:
514 value: 1000
515 type: int64_t
516 delta:
517 value: 40
518 type: uint64_t
519 timer:
520 interval: 5
Matthew Barth2e104962017-09-14 12:32:49 -0500521 - name: speed_changes_based_on_dimm_temps
522 zone_conditions:
Matthew Barth173cc482017-11-08 11:02:33 -0600523 - name: air_cooled_chassis
524 zones:
525 - 0
Matthew Barth2e104962017-09-14 12:32:49 -0500526 - name: water_and_air_cooled_chassis
527 zones:
528 - 0
529 group: zone0_dimms
530 interface: xyz.openbmc_project.Sensor.Value
Matthew Barth362d8232017-08-18 10:39:03 -0500531 property:
Matthew Barth2e104962017-09-14 12:32:49 -0500532 name: Value
533 type: int64_t
Matthew Barth4faed5e2017-12-11 15:02:32 -0600534 matches:
535 - name: interfacesAdded
536 - name: propertiesChanged
Matthew Barth2e104962017-09-14 12:32:49 -0500537 actions:
538 - name: set_net_increase_speed
Matthew Barth23bb1572017-09-14 13:09:39 -0500539 property: 64000
Matthew Barth2e104962017-09-14 12:32:49 -0500540 factor:
541 value: 1000
542 type: int64_t
543 delta:
544 value: 200
545 type: uint64_t
546 - name: set_net_decrease_speed
Matthew Barth23bb1572017-09-14 13:09:39 -0500547 property: 61000
Matthew Barth2e104962017-09-14 12:32:49 -0500548 factor:
549 value: 1000
550 type: int64_t
551 delta:
Matthew Barth23bb1572017-09-14 13:09:39 -0500552 value: 40
Matthew Barth2e104962017-09-14 12:32:49 -0500553 type: uint64_t
554 timer:
Matthew Barth23bb1572017-09-14 13:09:39 -0500555 interval: 5
Matthew Barth173cc482017-11-08 11:02:33 -0600556 - name: speed_changes_based_on_gpu_core_temps
557 zone_conditions:
558 - name: air_cooled_chassis
559 zones:
560 - 0
561 group: zone0_gpu_cores
562 interface: xyz.openbmc_project.Sensor.Value
563 property:
564 name: Value
565 type: int64_t
Matthew Barth4faed5e2017-12-11 15:02:32 -0600566 matches:
567 - name: interfacesAdded
568 - name: propertiesChanged
Matthew Barth173cc482017-11-08 11:02:33 -0600569 actions:
570 - name: set_net_increase_speed
571 property: 78000
572 factor:
573 value: 1000
574 type: int64_t
575 delta:
576 value: 600
577 type: uint64_t
578 - name: set_net_decrease_speed
579 property: 75000
580 factor:
581 value: 1000
582 type: int64_t
583 delta:
584 value: 40
585 type: uint64_t
586 timer:
587 interval: 5
588 - name: speed_changes_based_on_gpu_memory_temps
589 zone_conditions:
590 - name: air_cooled_chassis
591 zones:
592 - 0
593 group: zone0_gpu_memory
594 interface: xyz.openbmc_project.Sensor.Value
595 property:
596 name: Value
597 type: int64_t
Matthew Barth4faed5e2017-12-11 15:02:32 -0600598 matches:
599 - name: interfacesAdded
600 - name: propertiesChanged
Matthew Barth173cc482017-11-08 11:02:33 -0600601 actions:
602 - name: set_net_increase_speed
603 property: 80000
604 factor:
605 value: 1000
606 type: int64_t
607 delta:
608 value: 600
609 type: uint64_t
610 - name: set_net_decrease_speed
611 property: 77000
612 factor:
613 value: 1000
614 type: int64_t
615 delta:
616 value: 40
617 type: uint64_t
618 timer:
619 interval: 5