VOL-2988 Raise event when an ONU device handler is removed
This commits adds a ONU deleted event in the pyvoltha
event generation framework
Change-Id: Id7446444bd77881dd961376b5aaf08a2b11abfeb
diff --git a/VERSION b/VERSION
index 35cee72..79a6144 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.4.3
+2.4.4
diff --git a/pyvoltha/adapters/extensions/events/device_events/onu/onu_active_event.py b/pyvoltha/adapters/extensions/events/device_events/onu/onu_active_event.py
index 6927f7e..2a3f07e 100644
--- a/pyvoltha/adapters/extensions/events/device_events/onu/onu_active_event.py
+++ b/pyvoltha/adapters/extensions/events/device_events/onu/onu_active_event.py
@@ -41,9 +41,9 @@
'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
+ '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
diff --git a/pyvoltha/adapters/extensions/events/device_events/onu/onu_deleted_event.py b/pyvoltha/adapters/extensions/events/device_events/onu/onu_deleted_event.py
new file mode 100644
index 0000000..87bae89
--- /dev/null
+++ b/pyvoltha/adapters/extensions/events/device_events/onu/onu_deleted_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 OnuDeletedEvent(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(OnuDeletedEvent, self).__init__(event_mgr, raised_ts, object_type='ONU',
+ event='ONU_DELETED',
+ 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
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
index ac5e422..ab5116b 100644
--- a/pyvoltha/adapters/extensions/events/device_events/onu/onu_disabled_event.py
+++ b/pyvoltha/adapters/extensions/events/device_events/onu/onu_disabled_event.py
@@ -41,9 +41,9 @@
'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
+ '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
diff --git a/test/unit/extensions/events/device_events/onu/test_onu_events.py b/test/unit/extensions/events/device_events/onu/test_onu_events.py
index f6c1e50..43e6a6c 100644
--- a/test/unit/extensions/events/device_events/onu/test_onu_events.py
+++ b/test/unit/extensions/events/device_events/onu/test_onu_events.py
@@ -85,9 +85,9 @@
'pon-id': DEFAULT_PON_ID,
'onu-id': DEFAULT_ONU_ID,
'serial-number': DEFAULT_ONU_SN,
- 'olt_serial_number': DEFAULT_OLT_SN,
- 'device_id': DEFAULT_ONU_DEVICE_ID,
- 'registration_id': DEFAULT_ONU_REG
+ 'olt-serial-number': DEFAULT_OLT_SN,
+ 'device-id': DEFAULT_ONU_DEVICE_ID,
+ 'registration-id': DEFAULT_ONU_REG
}
self.assertEqual(self.event.get_context_data(), expected_dict)