blob: e55d0034ec224f1a5c352ec9b36eca0c6ae776b7 [file] [log] [blame]
Nicolas Palpacuer16138de2018-07-03 14:35:18 -04001#
2# Copyright 2018 the original author or authors.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
Shad Ansari8d068642019-02-28 23:09:03 -080017from voltha.extensions.alarms.device_alarms import DeviceAlarms
18from voltha.extensions.alarms.simulator.simulate_alarms \
19 import AdapterAlarmSimulator
mzadige4ad1d22018-07-27 15:27:22 -040020from voltha.extensions.alarms.olt.olt_los_alarm import OltLosAlarm
21from voltha.extensions.alarms.onu.onu_dying_gasp_alarm import OnuDyingGaspAlarm
22from voltha.extensions.alarms.onu.onu_los_alarm import OnuLosAlarm
23from voltha.extensions.alarms.onu.onu_lopc_miss_alarm import OnuLopcMissAlarm
Shad Ansari8d068642019-02-28 23:09:03 -080024from voltha.extensions.alarms.onu.onu_lopc_mic_error_alarm \
25 import OnuLopcMicErrorAlarm
mzadige4ad1d22018-07-27 15:27:22 -040026from voltha.extensions.alarms.onu.onu_lob_alarm import OnuLobAlarm
27
mzadigb486c072018-08-08 11:34:51 -040028from voltha.extensions.alarms.onu.onu_startup_alarm import OnuStartupAlarm
Shad Ansari8d068642019-02-28 23:09:03 -080029from voltha.extensions.alarms.onu.onu_signal_degrade_alarm \
30 import OnuSignalDegradeAlarm
31from voltha.extensions.alarms.onu.onu_signal_fail_alarm \
32 import OnuSignalFailAlarm
33from voltha.extensions.alarms.onu.onu_window_drift_alarm \
34 import OnuWindowDriftAlarm
35from voltha.extensions.alarms.onu.onu_activation_fail_alarm \
36 import OnuActivationFailAlarm
Nicolas Palpacuer16138de2018-07-03 14:35:18 -040037
38
39class OpenOltAlarmMgr(object):
Shad Ansari8d068642019-02-28 23:09:03 -080040 def __init__(self, log, platform, data_model):
Nicolas Palpacuer16138de2018-07-03 14:35:18 -040041 self.log = log
Shad Ansaricd20a6d2018-10-02 14:36:33 +000042 self.platform = platform
Shad Ansari8d068642019-02-28 23:09:03 -080043 self.data_model = data_model
mzadigb486c072018-08-08 11:34:51 -040044 """
Shad Ansari8d068642019-02-28 23:09:03 -080045 The following is added to reduce the continual posting of OLT LOS
46 alarming to Kafka. Set enable_alarm_suppress = true to enable
47 otherwise the current openolt bal will send continuous olt los alarm
48 cleared messages ONU disc raised counter is place holder for a future
49 addition
mzadigb486c072018-08-08 11:34:51 -040050 """
51 self.enable_alarm_suppress = True
Shad Ansari8d068642019-02-28 23:09:03 -080052 # Keep count of alarms to limit.
53 self.alarm_suppress = {"olt_los_clear": 0, "onu_disc_raised": []}
mzadig7cda5ff2018-07-10 16:37:28 -040054 try:
Shad Ansari8d068642019-02-28 23:09:03 -080055 self.alarms = DeviceAlarms(self.data_model)
Scott Bakera1737892018-09-11 17:56:26 -070056 self.simulator = AdapterAlarmSimulator(self.alarms)
mzadig7cda5ff2018-07-10 16:37:28 -040057 except Exception as initerr:
Shad Ansari8d068642019-02-28 23:09:03 -080058 self.log.exception("alarmhandler-init-error",
59 errmsg=initerr.message)
mzadig7cda5ff2018-07-10 16:37:28 -040060 raise Exception(initerr)
Nicolas Palpacuer16138de2018-07-03 14:35:18 -040061
62 def process_alarms(self, alarm_ind):
Nicolas Palpacuer16138de2018-07-03 14:35:18 -040063 try:
Shad Ansari8d068642019-02-28 23:09:03 -080064 self.log.debug('alarm-indication', alarm=alarm_ind)
Nicolas Palpacuer16138de2018-07-03 14:35:18 -040065 if alarm_ind.HasField('los_ind'):
66 self.los_indication(alarm_ind.los_ind)
67 elif alarm_ind.HasField('dying_gasp_ind'):
68 self.dying_gasp_indication(alarm_ind.dying_gasp_ind)
69 elif alarm_ind.HasField('onu_alarm_ind'):
70 self.onu_alarm_indication(alarm_ind.onu_alarm_ind)
71 elif alarm_ind.HasField('onu_startup_fail_ind'):
72 self.onu_startup_failure_indication(
73 alarm_ind.onu_startup_fail_ind)
74 elif alarm_ind.HasField('onu_signal_degrade_ind'):
75 self.onu_signal_degrade_indication(
76 alarm_ind.onu_signal_degrade_ind)
77 elif alarm_ind.HasField('onu_drift_of_window_ind'):
78 self.onu_drift_of_window_indication(
79 alarm_ind.onu_drift_of_window_ind)
80 elif alarm_ind.HasField('onu_loss_omci_ind'):
81 self.onu_loss_omci_indication(alarm_ind.onu_loss_omci_ind)
82 elif alarm_ind.HasField('onu_signals_fail_ind'):
83 self.onu_signals_failure_indication(
84 alarm_ind.onu_signals_fail_ind)
85 elif alarm_ind.HasField('onu_tiwi_ind'):
86 self.onu_transmission_interference_warning(
87 alarm_ind.onu_tiwi_ind)
88 elif alarm_ind.HasField('onu_activation_fail_ind'):
89 self.onu_activation_failure_indication(
90 alarm_ind.onu_activation_fail_ind)
91 elif alarm_ind.HasField('onu_processing_error_ind'):
92 self.onu_processing_error_indication(
93 alarm_ind.onu_processing_error_ind)
94 else:
mzadige4ad1d22018-07-27 15:27:22 -040095 self.log.warn('unknown alarm type', alarm=alarm_ind)
Nicolas Palpacuer16138de2018-07-03 14:35:18 -040096
97 except Exception as e:
98 self.log.error('sorting of alarm went wrong', error=e,
99 alarm=alarm_ind)
100
Scott Bakerd3190952018-09-04 15:47:28 -0700101 def simulate_alarm(self, alarm):
Scott Bakera1737892018-09-11 17:56:26 -0700102 self.simulator.simulate_alarm(alarm)
Scott Bakerd3190952018-09-04 15:47:28 -0700103
Nicolas Palpacuer16138de2018-07-03 14:35:18 -0400104 def los_indication(self, los_ind):
mzadig7cda5ff2018-07-10 16:37:28 -0400105
Nicolas Palpacuer16138de2018-07-03 14:35:18 -0400106 try:
mzadig7cda5ff2018-07-10 16:37:28 -0400107 self.log.debug('los indication received', los_ind=los_ind,
108 int_id=los_ind.intf_id, status=los_ind.status)
mzadig7cda5ff2018-07-10 16:37:28 -0400109 try:
Shad Ansari8d068642019-02-28 23:09:03 -0800110 port_type_name \
111 = self.platform.intf_id_to_port_type_name(los_ind.intf_id)
mzadige4ad1d22018-07-27 15:27:22 -0400112 if los_ind.status == 1 or los_ind.status == "on":
mzadigb486c072018-08-08 11:34:51 -0400113 # Zero out the suppression counter on OLT_LOS raise
114 self.alarm_suppress['olt_los_clear'] = 0
Shad Ansari8d068642019-02-28 23:09:03 -0800115 OltLosAlarm(self.alarms, intf_id=los_ind.intf_id,
116 port_type_name=port_type_name).raise_alarm()
mzadig7cda5ff2018-07-10 16:37:28 -0400117 else:
Shad Ansaricd20a6d2018-10-02 14:36:33 +0000118 """
Shad Ansari8d068642019-02-28 23:09:03 -0800119 Check if there has been more that one los clear
120 following a previous los
mzadigb486c072018-08-08 11:34:51 -0400121 """
Shad Ansari8d068642019-02-28 23:09:03 -0800122 if (self.alarm_suppress['olt_los_clear'] == 0
123 and self.enable_alarm_suppress):
124 OltLosAlarm(
125 self.alarms, intf_id=los_ind.intf_id,
126 port_type_name=port_type_name).clear_alarm()
mzadigb486c072018-08-08 11:34:51 -0400127 self.alarm_suppress['olt_los_clear'] += 1
128
mzadig7cda5ff2018-07-10 16:37:28 -0400129 except Exception as alarm_err:
130 self.log.error('los-indication', errmsg=alarm_err.message)
Nicolas Palpacuer16138de2018-07-03 14:35:18 -0400131 except Exception as e:
mzadig7cda5ff2018-07-10 16:37:28 -0400132 self.log.error('los-indication', errmsg=e.message)
Nicolas Palpacuer16138de2018-07-03 14:35:18 -0400133
134 def dying_gasp_indication(self, dying_gasp_ind):
mzadig7cda5ff2018-07-10 16:37:28 -0400135 try:
136 alarm_dgi = dying_gasp_ind
137 onu_id = alarm_dgi.onu_id
Shad Ansari8d068642019-02-28 23:09:03 -0800138 self.log.debug('openolt-alarmindication-dispatch-dying-gasp',
139 int_id=alarm_dgi.intf_id,
140 onu_id=onu_id, status=alarm_dgi.status)
mzadig7cda5ff2018-07-10 16:37:28 -0400141 try:
142 """
Shad Ansari8d068642019-02-28 23:09:03 -0800143 Get the specific onu device information for the onu generating
144 the alarm. Extract the id. In the future extract the serial
145 number as well
mzadig7cda5ff2018-07-10 16:37:28 -0400146 """
Shad Ansari8d068642019-02-28 23:09:03 -0800147 # FIXME - Include ONU serial number in alarm
mzadige4ad1d22018-07-27 15:27:22 -0400148 if dying_gasp_ind.status == 1 or dying_gasp_ind.status == "on":
149 OnuDyingGaspAlarm(self.alarms, dying_gasp_ind.intf_id,
Shad Ansari8d068642019-02-28 23:09:03 -0800150 onu_id).raise_alarm()
mzadig7cda5ff2018-07-10 16:37:28 -0400151 else:
mzadige4ad1d22018-07-27 15:27:22 -0400152 OnuDyingGaspAlarm(self.alarms, dying_gasp_ind.intf_id,
Shad Ansari8d068642019-02-28 23:09:03 -0800153 onu_id).clear_alarm()
mzadig7cda5ff2018-07-10 16:37:28 -0400154 except Exception as alarm_err:
Shad Ansari8d068642019-02-28 23:09:03 -0800155 self.log.exception('dying-gasp-indication',
156 errmsg=alarm_err.message)
mzadig7cda5ff2018-07-10 16:37:28 -0400157
158 except Exception as e:
159 self.log.error('dying_gasp_indication', error=e)
Nicolas Palpacuer16138de2018-07-03 14:35:18 -0400160
161 def onu_alarm_indication(self, onu_alarm_ind):
mzadige4ad1d22018-07-27 15:27:22 -0400162 """
163 LOB = Los of burst
164 LOPC = Loss of PLOAM miss channel
165
166 :param onu_alarm_ind: Alarm indication which currently contains
167 onu_id:
168 los_status:
169 lob_status:
170 lopc_miss_status:
171 lopc_mic_error_status:
172 :return:
173 """
174 self.log.info('onu-alarm-indication')
175
176 try:
Shad Ansari8d068642019-02-28 23:09:03 -0800177 self.log.debug(
178 'onu alarm indication received',
179 los_status=onu_alarm_ind.los_status,
180 onu_intf_id=onu_alarm_ind.onu_id,
181 lob_status=onu_alarm_ind.lob_status,
182 lopc_miss_status=onu_alarm_ind.lopc_miss_status,
183 lopc_mic_error_status=onu_alarm_ind.lopc_mic_error_status,
184 intf_id=onu_alarm_ind.intf_id)
mzadige4ad1d22018-07-27 15:27:22 -0400185
186 try:
187 """
Shad Ansari8d068642019-02-28 23:09:03 -0800188 Get the specific onu device information for the onu
189 generating the alarm. Extract the id. In the future
190 extract the serial number as well
mzadige4ad1d22018-07-27 15:27:22 -0400191 """
Shad Ansari8d068642019-02-28 23:09:03 -0800192 # FIXME - Include ONU serial number in alarm
193 if (onu_alarm_ind.los_status == 1
194 or onu_alarm_ind.los_status == "on"):
195 OnuLosAlarm(self.alarms, onu_id=onu_alarm_ind.onu_id,
196 intf_id=onu_alarm_ind.intf_id).raise_alarm()
197 elif (onu_alarm_ind.los_status == 0
198 or onu_alarm_ind.los_status == "off"):
199 OnuLosAlarm(self.alarms, onu_id=onu_alarm_ind.onu_id,
200 intf_id=onu_alarm_ind.intf_id).clear_alarm()
mzadige4ad1d22018-07-27 15:27:22 -0400201 else: # No Change
202 pass
203
Shad Ansari8d068642019-02-28 23:09:03 -0800204 if (onu_alarm_ind.lopc_miss_status == 1
205 or onu_alarm_ind.lopc_miss_status == "on"):
206 OnuLopcMissAlarm(
207 self.alarms, onu_id=onu_alarm_ind.onu_id,
208 intf_id=onu_alarm_ind.intf_id).raise_alarm()
209 elif (onu_alarm_ind.lopc_miss_status == 0
210 or onu_alarm_ind.lopc_miss_status == "off"):
211 OnuLopcMissAlarm(
212 self.alarms, onu_id=onu_alarm_ind.onu_id,
213 intf_id=onu_alarm_ind.intf_id).clear_alarm()
mzadige4ad1d22018-07-27 15:27:22 -0400214 else: # No Change
215 pass
216
Shad Ansari8d068642019-02-28 23:09:03 -0800217 if (onu_alarm_ind.lopc_mic_error_status == 1
218 or onu_alarm_ind.lopc_mic_error_status == "on"):
219 OnuLopcMicErrorAlarm(
220 self.alarms, onu_id=onu_alarm_ind.onu_id,
221 intf_id=onu_alarm_ind.intf_id).raise_alarm()
222 elif (onu_alarm_ind.lopc_mic_error_status == 0
223 or onu_alarm_ind.lopc_mic_error_status == "off"):
224 OnuLopcMicErrorAlarm(
225 self.alarms, onu_id=onu_alarm_ind.onu_id,
226 intf_id=onu_alarm_ind.intf_id).clear_alarm()
mzadige4ad1d22018-07-27 15:27:22 -0400227 else: # No Change
228 pass
229
Shad Ansari8d068642019-02-28 23:09:03 -0800230 if (onu_alarm_ind.lob_status == 1
231 or onu_alarm_ind.lob_status == "on"):
232 OnuLobAlarm(
233 self.alarms, onu_id=onu_alarm_ind.onu_id,
234 intf_id=onu_alarm_ind.intf_id).raise_alarm()
235 elif (onu_alarm_ind.lob_status == 0
236 or onu_alarm_ind.lob_status == "off"):
237 OnuLobAlarm(
238 self.alarms, onu_id=onu_alarm_ind.onu_id,
239 intf_id=onu_alarm_ind.intf_id).clear_alarm()
mzadige4ad1d22018-07-27 15:27:22 -0400240 else: # No Change
241 pass
242 except Exception as alarm_err:
Shad Ansari8d068642019-02-28 23:09:03 -0800243 self.log.exception('onu-alarm-indication',
244 errmsg=alarm_err.message)
mzadige4ad1d22018-07-27 15:27:22 -0400245
246 except Exception as e:
mzadigb486c072018-08-08 11:34:51 -0400247 self.log.exception('onu-alarm-indication', errmsg=e.message)
Nicolas Palpacuer16138de2018-07-03 14:35:18 -0400248
249 def onu_startup_failure_indication(self, onu_startup_fail_ind):
mzadigb486c072018-08-08 11:34:51 -0400250 """
251 Current protobuf indicator:
252 message OnuStartupFailureIndication {
253 fixed32 intf_id = 1;
254 fixed32 onu_id = 2;
255 string status = 3;
256 }
257
258 :param onu_startup_fail_ind:
259 :return:
260 """
261 try:
262 ind = onu_startup_fail_ind
263 label = "onu-startup-failure-indication"
Shad Ansari8d068642019-02-28 23:09:03 -0800264 self.log.debug(label + " received", onu_startup_fail_ind=ind,
265 int_id=ind.intf_id, onu_id=ind.onu_id,
266 status=ind.status)
mzadigb486c072018-08-08 11:34:51 -0400267 try:
268 if ind.status == 1 or ind.status == "on":
Shad Ansari8d068642019-02-28 23:09:03 -0800269 OnuStartupAlarm(self.alarms, intf_id=ind.intf_id,
270 onu_id=ind.onu_id).raise_alarm()
mzadigb486c072018-08-08 11:34:51 -0400271 else:
Shad Ansari8d068642019-02-28 23:09:03 -0800272 OnuStartupAlarm(self.alarms, intf_id=ind.intf_id,
273 onu_id=ind.onu_id).clear_alarm()
mzadigb486c072018-08-08 11:34:51 -0400274 except Exception as alarm_err:
275 self.log.exception(label, errmsg=alarm_err.message)
276
277 except Exception as e:
278 self.log.exception(label, errmsg=e.message)
Nicolas Palpacuer16138de2018-07-03 14:35:18 -0400279
280 def onu_signal_degrade_indication(self, onu_signal_degrade_ind):
mzadigb486c072018-08-08 11:34:51 -0400281 """
282 Current protobuf indicator:
283 OnuSignalDegradeIndication {
284 fixed32 intf_id = 1;
285 fixed32 onu_id = 2;
286 string status = 3;
287 fixed32 inverse_bit_error_rate = 4;
288 }
289 :param onu_signal_degrade_ind:
290 :return:
291 """
292 try:
293 ind = onu_signal_degrade_ind
294 label = "onu-signal-degrade-indication"
295 self.log.debug(label + ' received',
296 onu_startup_fail_ind=ind,
297 int_id=ind.intf_id,
298 onu_id=ind.onu_id,
299 inverse_bit_error_rate=ind.inverse_bit_error_rate,
300 status=ind.status)
301 try:
302 if ind.status == 1 or ind.status == "on":
Shad Ansari8d068642019-02-28 23:09:03 -0800303 OnuSignalDegradeAlarm(
304 self.alarms, intf_id=ind.intf_id, onu_id=ind.onu_id,
305 inverse_bit_error_rate=ind.inverse_bit_error_rate) \
306 .raise_alarm()
mzadigb486c072018-08-08 11:34:51 -0400307 else:
Shad Ansari8d068642019-02-28 23:09:03 -0800308 OnuSignalDegradeAlarm(
309 self.alarms, intf_id=ind.intf_id, onu_id=ind.onu_id,
310 inverse_bit_error_rate=ind.inverse_bit_error_rate) \
311 .clear_alarm()
mzadigb486c072018-08-08 11:34:51 -0400312 except Exception as alarm_err:
313 self.log.exception(label, errmsg=alarm_err.message)
314
315 except Exception as e:
316 self.log.exception(label, errmsg=e.message)
Nicolas Palpacuer16138de2018-07-03 14:35:18 -0400317
318 def onu_drift_of_window_indication(self, onu_drift_of_window_ind):
mzadigb486c072018-08-08 11:34:51 -0400319 """
320 Current protobuf indicator:
321 OnuDriftOfWindowIndication {
322 fixed32 intf_id = 1;
323 fixed32 onu_id = 2;
324 string status = 3;
325 fixed32 drift = 4;
326 fixed32 new_eqd = 5;
327 }
328
329 :param onu_drift_of_window_ind:
330 :return:
331 """
332 try:
333 ind = onu_drift_of_window_ind
334 label = "onu-window-drift-indication"
335
mzadigb486c072018-08-08 11:34:51 -0400336 self.log.debug(label + ' received',
337 onu_drift_of_window_ind=ind,
338 int_id=ind.intf_id,
339 onu_id=ind.onu_id,
mzadigb486c072018-08-08 11:34:51 -0400340 drift=ind.drift,
341 new_eqd=ind.new_eqd,
342 status=ind.status)
343 try:
344 if ind.status == 1 or ind.status == "on":
345 OnuWindowDriftAlarm(self.alarms, intf_id=ind.intf_id,
Shad Ansari8d068642019-02-28 23:09:03 -0800346 onu_id=ind.onu_id,
347 drift=ind.drift,
348 new_eqd=ind.new_eqd).raise_alarm()
mzadigb486c072018-08-08 11:34:51 -0400349 else:
350 OnuWindowDriftAlarm(self.alarms, intf_id=ind.intf_id,
Shad Ansari8d068642019-02-28 23:09:03 -0800351 onu_id=ind.onu_id,
352 drift=ind.drift,
353 new_eqd=ind.new_eqd).clear_alarm()
mzadigb486c072018-08-08 11:34:51 -0400354 except Exception as alarm_err:
355 self.log.exception(label, errmsg=alarm_err.message)
356
357 except Exception as e:
358 self.log.exception(label, errmsg=e.message)
Nicolas Palpacuer16138de2018-07-03 14:35:18 -0400359
360 def onu_loss_omci_indication(self, onu_loss_omci_ind):
361 self.log.info('not implemented yet')
362
363 def onu_signals_failure_indication(self, onu_signals_fail_ind):
mzadigb486c072018-08-08 11:34:51 -0400364 """
365 Current protobuf indicator:
366 OnuSignalsFailureIndication {
367 fixed32 intf_id = 1;
368 fixed32 onu_id = 2;
369 string status = 3;
370 fixed32 inverse_bit_error_rate = 4;
371 }
372
373 :param onu_signals_fail_ind:
374 :return:
375 """
376 try:
377 ind = onu_signals_fail_ind
378 label = "onu-signal-failure-indication"
379
mzadigb486c072018-08-08 11:34:51 -0400380 self.log.debug(label + ' received',
381 onu_startup_fail_ind=ind,
382 int_id=ind.intf_id,
383 onu_id=ind.onu_id,
mzadigb486c072018-08-08 11:34:51 -0400384 inverse_bit_error_rate=ind.inverse_bit_error_rate,
385 status=ind.status)
386 try:
387 if ind.status == 1 or ind.status == "on":
Shad Ansari8d068642019-02-28 23:09:03 -0800388 OnuSignalFailAlarm(
389 self.alarms, intf_id=ind.intf_id,
390 onu_id=ind.onu_id,
391 inverse_bit_error_rate=ind.inverse_bit_error_rate) \
392 .raise_alarm()
mzadigb486c072018-08-08 11:34:51 -0400393 else:
Shad Ansari8d068642019-02-28 23:09:03 -0800394 OnuSignalFailAlarm(
395 self.alarms, intf_id=ind.intf_id, onu_id=ind.onu_id,
396 inverse_bit_error_rate=ind.inverse_bit_error_rate) \
397 .clear_alarm()
mzadigb486c072018-08-08 11:34:51 -0400398 except Exception as alarm_err:
399 self.log.exception(label, errmsg=alarm_err.message)
400
401 except Exception as e:
402 self.log.exception(label, errmsg=e.message)
403
Nicolas Palpacuer16138de2018-07-03 14:35:18 -0400404 def onu_transmission_interference_warning(self, onu_tiwi_ind):
405 self.log.info('not implemented yet')
406
407 def onu_activation_failure_indication(self, onu_activation_fail_ind):
mzadigb486c072018-08-08 11:34:51 -0400408 """
409
Shad Ansari8d068642019-02-28 23:09:03 -0800410 No status is currently passed with this alarm. Consequently it will
411 always just raise
mzadigb486c072018-08-08 11:34:51 -0400412 :param onu_activation_fail_ind:
413 :return:
414 """
415 try:
416 ind = onu_activation_fail_ind
417 label = "onu-activation-failure-indication"
418
Shad Ansari8d068642019-02-28 23:09:03 -0800419 onu_device_id, onu_serial_number \
420 = self.resolve_onudev_id_onudev_serialnum(
421 self.resolve_onu_id(ind.onu_id, port_intf_id=ind.intf_id))
mzadigb486c072018-08-08 11:34:51 -0400422
423 self.log.debug(label + ' received',
424 onu_startup_fail_ind=ind,
425 int_id=ind.intf_id,
426 onu_id=ind.onu_id,
mzadigb486c072018-08-08 11:34:51 -0400427 onu_serial_number=onu_serial_number)
428 try:
429
430 OnuActivationFailAlarm(self.alarms, intf_id=ind.intf_id,
Shad Ansari8d068642019-02-28 23:09:03 -0800431 onu_id=ind.onu_id).raise_alarm()
mzadigb486c072018-08-08 11:34:51 -0400432 except Exception as alarm_err:
433 self.log.exception(label, errmsg=alarm_err.message)
434
435 except Exception as e:
436 self.log.exception(label, errmsg=e.message)
Nicolas Palpacuer16138de2018-07-03 14:35:18 -0400437
438 def onu_processing_error_indication(self, onu_processing_error_ind):
mzadig7cda5ff2018-07-10 16:37:28 -0400439 self.log.info('not implemented yet')