blob: bfa1623b8546a8e5b44abd28aaf0b6577c45919c [file] [log] [blame]
William Kurkian6f436d02019-02-06 16:25:01 -05001# Copyright 2017-present Adtran, Inc.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14from voltha.protos.events_pb2 import AlarmEventType, AlarmEventSeverity, AlarmEventCategory
15from voltha.extensions.alarms.adapter_alarms import AlarmBase
16
17
18class OnuTempRedAlarm(AlarmBase):
19 """
20 The ONU Temperature Yellow Alarm is reported by both the CircuitPack
21 (ME #6) and the ONT-G (ME # 256) to indicate no service has been shut
22 down to avoid equipment damage. The operational state of the affected
23 PPTPs indicates the affected services.
24
25 For CircuitPack equipment alarms, the intf_id reported is that of the
26 UNI's logical port number
27
28 For ONT-G equipment alarms, the intf_id reported is that of the PON/ANI
29 physical port number
30 """
31 def __init__(self, alarm_mgr, onu_id, intf_id):
32 super(OnuTempRedAlarm, self).__init__(alarm_mgr, object_type='onu temperature red',
33 alarm='ONU_TEMP_RED',
34 alarm_category=AlarmEventCategory.ONU,
35 alarm_type=AlarmEventType.ENVIRONMENT,
36 alarm_severity=AlarmEventSeverity.CRITICAL)
37 self._onu_id = onu_id
38 self._intf_id = intf_id
39
40 def get_context_data(self):
41 return {'onu-id': self._onu_id,
42 'onu-intf-id': self._intf_id}