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)