blob: ddf1556d26143712c5f6a26bddbe18a16231ad5e [file] [log] [blame]
Lei YU17bf1f12018-01-26 16:53:57 +08001groups:
2 - name: air_cooled_zone0_fans
3 description: Group of fan inventory objects for air cooled zone 0
4 type: /xyz/openbmc_project/inventory
5 members:
6 - /system/chassis/motherboard/fan0
7 - /system/chassis/motherboard/fan1
8 - /system/chassis/motherboard/fan2
9 - name: zone0_ambient
10 description: Group of ambient temperature sensors for zone 0
11 type: /xyz/openbmc_project/sensors
12 members:
13 - /temperature/outlet
14 - name: occ0_object
15 description: Dbus object containing OCC0 properties
16 type: /org/open_power/control
17 members:
18 - /occ0
19 - name: occ1_object
20 description: Dbus object containing OCC1 properties
21 type: /org/open_power/control
22 members:
23 - /occ1
24 - name: zone0_cores
25 description: Group of core temperature sensors for zone 0
26 type: /xyz/openbmc_project/sensors
27 members:
28 - /temperature/p0_core0_temp
29 - /temperature/p0_core1_temp
30 - /temperature/p0_core2_temp
31 - /temperature/p0_core3_temp
32 - /temperature/p0_core4_temp
33 - /temperature/p0_core5_temp
34 - /temperature/p0_core6_temp
35 - /temperature/p0_core7_temp
36 - /temperature/p0_core8_temp
37 - /temperature/p0_core9_temp
38 - /temperature/p0_core10_temp
39 - /temperature/p0_core11_temp
40 - /temperature/p0_core12_temp
41 - /temperature/p0_core13_temp
42 - /temperature/p0_core14_temp
43 - /temperature/p0_core15_temp
44 - /temperature/p0_core16_temp
45 - /temperature/p0_core17_temp
46 - /temperature/p0_core18_temp
47 - /temperature/p0_core19_temp
48 - /temperature/p0_core20_temp
49 - /temperature/p0_core21_temp
50 - /temperature/p0_core22_temp
51 - /temperature/p0_core23_temp
52 - /temperature/p1_core0_temp
53 - /temperature/p1_core1_temp
54 - /temperature/p1_core2_temp
55 - /temperature/p1_core3_temp
56 - /temperature/p1_core4_temp
57 - /temperature/p1_core5_temp
58 - /temperature/p1_core6_temp
59 - /temperature/p1_core7_temp
60 - /temperature/p1_core8_temp
61 - /temperature/p1_core9_temp
62 - /temperature/p1_core10_temp
63 - /temperature/p1_core11_temp
64 - /temperature/p1_core12_temp
65 - /temperature/p1_core13_temp
66 - /temperature/p1_core14_temp
67 - /temperature/p1_core15_temp
68 - /temperature/p1_core16_temp
69 - /temperature/p1_core17_temp
70 - /temperature/p1_core18_temp
71 - /temperature/p1_core19_temp
72 - /temperature/p1_core20_temp
73 - /temperature/p1_core21_temp
74 - /temperature/p1_core22_temp
75 - /temperature/p1_core23_temp
76 - name: zone0_dimms
77 description: Group of dimm temperature sensors for zone 0
78 type: /xyz/openbmc_project/sensors
79 members:
80 - /temperature/dimm0_temp
81 - /temperature/dimm1_temp
82 - /temperature/dimm2_temp
83 - /temperature/dimm3_temp
84 - /temperature/dimm4_temp
85 - /temperature/dimm5_temp
86 - /temperature/dimm6_temp
87 - /temperature/dimm7_temp
88 - /temperature/dimm8_temp
89 - /temperature/dimm9_temp
90 - /temperature/dimm10_temp
91 - /temperature/dimm11_temp
92 - /temperature/dimm12_temp
93 - /temperature/dimm13_temp
94 - /temperature/dimm14_temp
95 - /temperature/dimm15_temp
96
97matches:
98 - name: propertiesChanged
99 description: >
100 A property changed match
101 parameters:
102 - object
103 - interface
104 signal: propertySignal
105 - name: interfacesAdded
106 description: >
107 An interfaces added match
108 parameters:
109 - object
110 signal: objectSignal
111 - name: nameOwnerChanged
112 description: >
113 A name owner changed match
114 parameters:
115 - object
116 - interface
117 signal: ownerSignal
118
119signals:
120 - name: propertySignal
121 description: >
122 Handle property signals
123 parameters:
124 - type
125 - object
126 - interface
127 - property
128 handler: setProperty
129 - name: objectSignal
130 description: >
131 Handle object signals
132 parameters:
133 - type
134 - object
135 - interface
136 - property
137 handler: setProperty
138 - name: ownerSignal
139 description: >
140 Handle owner signals
141 parameters:
142 - object
143 - interface
144 handler: setService
145
146handlers:
147 - name: setProperty
148 description: >
149 Sets a value for the given object/interface/property
150 parameters:
151 - type
152 - object
153 - interface
154 - property
155 - name: setService
156 description: >
157 Sets the service name(s) for the given group
158 parameters:
159 - group
160
161preconditions:
162 - name: property_states_match
163 description: >
164 All defined properties must match the values given to
165 enable a set speed event otherwise fan speeds are set to full
166 parameters:
167 - groups
168
169actions:
170 - name: call_actions_based_on_timer
171 description: >
172 Sets up a list of actions to be invoked when the defined timer
173 expires (or for each expiration of a repeating timer)
174 parameters:
175 - timer
176 - actions
177 - name: default_floor_on_missing_owner
178 description: >
179 Set the fan floor to the default floor
180 - name: set_speed_on_missing_owner
181 description: >
182 Set fans to the given speed when any service within the group
183 no longer exists
184 parameters:
185 - speed
186 - name: set_request_speed_base_with_max
187 description: >
188 Set the base request speed of a zone to the max value of a group for
189 calculating a new target speed
190 - name: count_state_before_speed
191 description: Set the speed when a number of properties at a state
192 parameters:
193 - count
194 - property
195 - speed
196 - name: set_floor_from_average_sensor_value
197 description: Set floor speed from first entry with average less than key
198 parameters:
199 - map
200 - name: set_ceiling_from_average_sensor_value
201 description: Set ceiling speed based on key transition values with average
202 parameters:
203 - map
204 - name: set_net_increase_speed
205 description: >
206 Set the speed increase delta based on a factor applied to
207 the delta increase size times the given value and property's
208 value difference
209 parameters:
210 - property
211 - factor
212 - delta
213 - name: set_net_decrease_speed
214 description: >
215 Set the speed decrease delta based on a factor applied to
216 the delta decrease size times the given value and property's
217 value difference
218 parameters:
219 - property
220 - factor
221 - delta
222
223events:
Lei YUf10a1f02018-03-13 16:05:42 +0800224 - name: default_fan_floor_on_service_fail
225 groups:
226 - name: zone0_ambient
227 interface: xyz.openbmc_project.Sensor.Value
228 property:
229 name: Value
230 type: int64_t
231 matches:
232 - name: nameOwnerChanged
233 actions:
234 - name: call_actions_based_on_timer
235 timer:
236 delay: 5
237 type: oneshot
238 actions:
239 - name: default_floor_on_missing_owner
240 - name: high_speed_on_occ0_service_fail
241 groups:
242 - name: occ0_object
243 interface: org.open_power.OCC.Status
244 property:
245 name: OccActive
246 type: bool
247 matches:
248 - name: nameOwnerChanged
249 actions:
250 - name: call_actions_based_on_timer
251 timer:
252 delay: 5
253 type: oneshot
254 actions:
255 - name: set_speed_on_missing_owner
256 speed:
257 value: 255
258 type: uint64_t
259 - name: high_speed_on_occ1_service_fail
260 groups:
261 - name: occ1_object
262 interface: org.open_power.OCC.Status
263 property:
264 name: OccActive
265 type: bool
266 matches:
267 - name: nameOwnerChanged
268 actions:
269 - name: call_actions_based_on_timer
270 timer:
271 delay: 5
272 type: oneshot
273 actions:
274 - name: set_speed_on_missing_owner
275 speed:
276 value: 255
277 type: uint64_t
Lei YU17bf1f12018-01-26 16:53:57 +0800278 - name: missing_before_high_speed_air
279 groups:
280 - name: air_cooled_zone0_fans
281 interface: xyz.openbmc_project.Inventory.Item
282 property:
283 name: Present
284 type: bool
285 matches:
286 - name: propertiesChanged
287 actions:
288 - name: count_state_before_speed
289 count: 1
290 property:
291 value: false
292 type: bool
293 speed:
294 value: 255
295 type: uint64_t
296 - name: fails_before_high_speed_air
297 groups:
298 - name: air_cooled_zone0_fans
299 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
300 property:
301 name: Functional
302 type: bool
303 matches:
304 - name: propertiesChanged
305 actions:
306 - name: count_state_before_speed
307 count: 1
308 property:
309 value: false
310 type: bool
311 speed:
312 value: 255
313 type: uint64_t
314 - name: set_air_cooled_speed_boundaries_based_on_ambient
315 groups:
316 - name: zone0_ambient
317 interface: xyz.openbmc_project.Sensor.Value
318 property:
319 name: Value
320 type: int64_t
321 matches:
322 - name: propertiesChanged
323 actions:
324 - name: set_floor_from_average_sensor_value
325 map:
326 value:
327 - 27000: 85
328 - 32000: 112
329 - 37000: 126
330 - 40000: 141
331 type: std::map<int64_t, uint64_t>
332 - name: set_ceiling_from_average_sensor_value
333 map:
334 value:
335 - 25000: 175
336 - 27000: 255
337 type: std::map<int64_t, uint64_t>
338 - name: occ_active_speed_changes
339 precondition:
340 name: property_states_match
341 groups:
342 - name: occ0_object
343 interface: org.open_power.OCC.Status
344 property:
345 name: OccActive
346 type: bool
347 value: true
348 - name: occ1_object
349 interface: org.open_power.OCC.Status
350 property:
351 name: OccActive
352 type: bool
353 value: true
354 matches:
355 - name: interfacesAdded
356 - name: propertiesChanged
357 events:
358 - name: speed_changes_based_on_core_temps
359 groups:
360 - name: zone0_cores
361 interface: xyz.openbmc_project.Sensor.Value
362 property:
363 name: Value
364 type: int64_t
365 matches:
366 - name: interfacesAdded
367 - name: propertiesChanged
368 actions:
369 - name: set_net_increase_speed
370 property:
371 value: 73000
372 type: int64_t
373 factor:
374 value: 1000
375 type: int64_t
376 delta:
377 value: 11
378 type: uint64_t
379 - name: set_net_decrease_speed
380 property:
381 value: 70000
382 type: int64_t
383 factor:
384 value: 1000
385 type: int64_t
386 delta:
387 value: 11
388 type: uint64_t
389 timer:
390 interval: 5
391 - name: speed_changes_based_on_dimm_temps
392 groups:
393 - name: zone0_dimms
394 interface: xyz.openbmc_project.Sensor.Value
395 property:
396 name: Value
397 type: int64_t
398 matches:
399 - name: interfacesAdded
400 - name: propertiesChanged
401 actions:
402 - name: set_net_increase_speed
403 property:
404 value: 64000
405 type: int64_t
406 factor:
407 value: 1000
408 type: int64_t
409 delta:
410 value: 6
411 type: uint64_t
412 - name: set_net_decrease_speed
413 property:
414 value: 61000
415 type: int64_t
416 factor:
417 value: 1000
418 type: int64_t
419 delta:
420 value: 6
421 type: uint64_t
422 timer:
423 interval: 5