blob: f4c6fa3bf69d77131e6d2d343654c00aeab26992 [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
84
85preconditions:
86 - name: property_states_match
87 description: >
88 All defined properties must match the values given to
89 enable a set speed event otherwise fan speeds are set to full
90 parameters:
91 - groups
Matthew Barthbde68592017-05-24 17:06:13 -050092
93actions:
94 - name: count_state_before_speed
95 description: Set the speed when a number of properties at a state
96 parameters:
97 - count
98 - property
99 - speed
Matthew Barth5cde5a62017-07-10 15:35:29 -0500100 - name: set_floor_from_average_sensor_value
101 description: Set floor speed from first entry with average less than key
102 parameters:
103 - map
104 - name: set_ceiling_from_average_sensor_value
105 description: Set ceiling speed based on key transition values with average
106 parameters:
107 - map
Matthew Barth184a1512017-08-16 10:42:54 -0500108 - name: set_net_increase_speed
109 description: >
110 Set the speed increase delta based on a factor applied to
111 the delta increase size times the given value and property's
112 value difference
113 parameters:
114 - property
115 - factor
116 - delta
117 - name: set_net_decrease_speed
118 description: >
119 Set the speed decrease delta based on a factor applied to
120 the delta decrease size times the given value and property's
121 value difference
122 parameters:
123 - property
124 - factor
125 - delta
Matthew Barthbde68592017-05-24 17:06:13 -0500126
127events:
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500128 - name: missing_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500129 zone_conditions:
130 - name: air_cooled_chassis
131 zones:
132 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500133 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500134 interface: xyz.openbmc_project.Inventory.Item
135 property:
136 name: Present
137 type: bool
138 action:
139 name: count_state_before_speed
140 count: 1
141 property: false
142 speed:
143 value: 10500
144 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500145 - name: fails_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500146 zone_conditions:
147 - name: air_cooled_chassis
148 zones:
149 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500150 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500151 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
152 property:
153 name: Functional
154 type: bool
155 action:
156 name: count_state_before_speed
157 count: 1
158 property: false
159 speed:
160 value: 10500
161 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500162 - name: missing_before_high_speed_water_and_air
163 zone_conditions:
164 - name: water_and_air_cooled_chassis
165 zones:
166 - 0
167 group: water_and_air_cooled_zone0_fans
168 interface: xyz.openbmc_project.Inventory.Item
169 property:
170 name: Present
171 type: bool
172 action:
173 name: count_state_before_speed
174 count: 1
175 property: false
176 speed:
177 value: 10500
178 type: uint64_t
179 - name: fails_before_high_speed_water_and_air
180 zone_conditions:
181 - name: water_and_air_cooled_chassis
182 zones:
183 - 0
184 group: water_and_air_cooled_zone0_fans
185 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
186 property:
187 name: Functional
188 type: bool
189 action:
190 name: count_state_before_speed
191 count: 1
192 property: false
193 speed:
194 value: 10500
195 type: uint64_t
Matthew Barth5cde5a62017-07-10 15:35:29 -0500196 - name: update_air_cooled_floor_speed_based_on_ambient
197 zone_conditions:
198 - name: air_cooled_chassis
199 zones:
200 - 0
201 group: zone0_ambient
202 interface: xyz.openbmc_project.Sensor.Value
203 property:
204 name: Value
205 type: int64_t
206 action:
207 name: set_floor_from_average_sensor_value
208 map:
209 value:
Matthew Barthd82e9d12017-08-16 11:07:46 -0500210 - 27000: 8000
211 - 32000: 8000
212 - 37000: 8000
213 - 40000: 8000
Matthew Barth5cde5a62017-07-10 15:35:29 -0500214 type: std::map<int64_t, uint64_t>
215 - name: update_water_cooled_floor_speed_based_on_ambient
216 zone_conditions:
217 - name: water_and_air_cooled_chassis
218 zones:
219 - 0
220 group: zone0_ambient
221 interface: xyz.openbmc_project.Sensor.Value
222 property:
223 name: Value
224 type: int64_t
225 action:
226 name: set_floor_from_average_sensor_value
227 map:
228 value:
Matthew Barthd82e9d12017-08-16 11:07:46 -0500229 - 27000: 8000
230 - 32000: 8000
231 - 37000: 8000
232 - 40000: 8000
Matthew Barth5cde5a62017-07-10 15:35:29 -0500233 type: std::map<int64_t, uint64_t>
234 - name: update_ceiling_speed_based_on_ambient
235 zone_conditions:
236 - name: air_cooled_chassis
237 zones:
238 - 0
239 - name: water_and_air_cooled_chassis
240 zones:
241 - 0
242 group: zone0_ambient
243 interface: xyz.openbmc_project.Sensor.Value
244 property:
245 name: Value
246 type: int64_t
247 action:
248 name: set_ceiling_from_average_sensor_value
249 map:
250 value:
Matthew Barthd82e9d12017-08-16 11:07:46 -0500251 - 25000: 10500
Matthew Barth5cde5a62017-07-10 15:35:29 -0500252 - 27000: 10500
253 type: std::map<int64_t, uint64_t>
Matthew Barth184a1512017-08-16 10:42:54 -0500254 - name: speed_increase_changes_based_on_core_temps
255 zone_conditions:
256 - name: air_cooled_chassis
257 zones:
258 - 0
259 - name: water_and_air_cooled_chassis
260 zones:
261 - 0
262 precondition:
263 name: property_states_match
264 groups:
265 - name: occ0_object
266 interface: org.open_power.OCC.Status
267 property:
268 name: OccActive
269 type: bool
270 value: true
271 - name: occ1_object
272 interface: org.open_power.OCC.Status
273 property:
274 name: OccActive
275 type: bool
276 value: true
277 group: zone0_cores
278 interface: xyz.openbmc_project.Sensor.Value
279 property:
280 name: Value
281 type: int64_t
282 action:
283 name: set_net_increase_speed
284 property: 73000
285 factor:
286 value: 1000
287 type: int64_t
288 delta:
289 value: 400
290 type: uint64_t
291 - name: speed_decrease_changes_based_on_core_temps
292 zone_conditions:
293 - name: air_cooled_chassis
294 zones:
295 - 0
296 - name: water_and_air_cooled_chassis
297 zones:
298 - 0
299 precondition:
300 name: property_states_match
301 groups:
302 - name: occ0_object
303 interface: org.open_power.OCC.Status
304 property:
305 name: OccActive
306 type: bool
307 value: true
308 - name: occ1_object
309 interface: org.open_power.OCC.Status
310 property:
311 name: OccActive
312 type: bool
313 value: true
314 group: zone0_cores
315 interface: xyz.openbmc_project.Sensor.Value
316 property:
317 name: Value
318 type: int64_t
319 action:
320 name: set_net_decrease_speed
321 property: 70000
322 factor:
323 value: 1000
324 type: int64_t
325 delta:
326 value: 10
327 type: uint64_t
328 timer:
329 interval: 15