VOL-888 Onu Disabled Alarm
Added support to raise an alarm event in case a ONU is
disabled.
Change-Id: I8f5f3ddba767437f567f26604f7d315c4c27c740
diff --git a/VERSION b/VERSION
index 3b31fa0..a4c8060 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.3.21
+2.3.22
diff --git a/pyvoltha/adapters/extensions/events/device_events/onu/onu_disabled_event.py b/pyvoltha/adapters/extensions/events/device_events/onu/onu_disabled_event.py
new file mode 100644
index 0000000..ac5e422
--- /dev/null
+++ b/pyvoltha/adapters/extensions/events/device_events/onu/onu_disabled_event.py
@@ -0,0 +1,51 @@
+# Copyright 2017-present Adtran, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from __future__ import absolute_import
+from voltha_protos.events_pb2 import EventCategory, EventSubCategory, EventType
+from pyvoltha.adapters.extensions.events.adapter_events import DeviceEventBase
+
+
+class OnuDisabledEvent(DeviceEventBase):
+ def __init__(self, event_mgr, device_id, pon_id, onu_serial_number,
+ reg_id, olt_serial_number, raised_ts, ipv4_address=None,
+ onu_id=None):
+ super(OnuDisabledEvent, self).__init__(event_mgr, raised_ts, object_type='ONU',
+ event='ONU_DISABLED',
+ resource_id=pon_id,
+ category=EventCategory.COMMUNICATION,
+ sub_category=EventSubCategory.PON,
+ )
+
+ self._pon_id = pon_id
+ self._onu_id = onu_id
+ self._onu_serial_number = onu_serial_number
+ self._device_id = device_id
+ self._olt_serial_number = olt_serial_number
+ self._host = ipv4_address
+ self._reg_id = reg_id
+
+ def get_context_data(self):
+ data = {
+ 'pon-id': self._pon_id,
+ 'onu-id': self._onu_id,
+ 'serial-number': self._onu_serial_number,
+ 'olt_serial_number': self._olt_serial_number,
+ 'device_id': self._device_id,
+ 'registration_id': self._reg_id
+ }
+ if self._host is not None:
+ data['host'] = self._host
+
+ return data