Add NETCONF notification for ONU activation and Kafka client to receive events, update dependencies

Change-Id: I5f768fa8077ef7c64e00a534744ca47492344935
diff --git a/build/yang-files/notification/submodules/bbf-xpon-multicast-gemport-body.yang b/build/yang-files/notification/submodules/bbf-xpon-multicast-gemport-body.yang
new file mode 100644
index 0000000..e5ce9e6
--- /dev/null
+++ b/build/yang-files/notification/submodules/bbf-xpon-multicast-gemport-body.yang
@@ -0,0 +1,158 @@
+submodule bbf-xpon-multicast-gemport-body {
+  yang-version 1.1;
+  belongs-to bbf-xpon {
+    prefix bbf-xpon;
+  }
+
+  import ietf-interfaces {
+    prefix if;
+  }
+  import bbf-xpon-if-type {
+    prefix bbf-xponift;
+  }
+  import bbf-yang-types {
+    prefix bbf-yang;
+  }
+  include bbf-xpon-base;
+
+  organization
+    "Broadband Forum <https://www.broadband-forum.org>
+     Fiber Access Networks Work Area";
+  contact
+    "Comments or questions about this Broadband Forum YANG module
+     should be directed to <mailto:help@broadband-forum.org>.
+
+     Editor:      Joey Boyd, ADTRAN
+
+     Editor:      Samuel Chen, Broadcom
+
+     Editor:      Robert Peschi, Nokia
+
+     WA Director: Marta Seda, Calix
+
+     WA Director: Lin Wei, Huawei";
+  description
+    "This submodule contains a collection of YANG definitions for
+     managing multicast GEM ports.
+
+     Copyright (c) 2018, Broadband Forum
+
+     Redistribution and use in source and binary forms, with or
+     without modification, are permitted provided that the following
+     conditions are met:
+
+     1. Redistributions of source code must retain the above copyright
+        notice, this list of conditions and the following disclaimer.
+
+     2. Redistributions in binary form must reproduce the above
+        copyright notice, this list of conditions and the following
+        disclaimer in the documentation and/or other materials
+        provided with the distribution.
+
+     3. Neither the name of the copyright holder nor the names of its
+        contributors may be used to endorse or promote products
+        derived from this software without specific prior written
+        permission.
+
+     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+     CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+     INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+     MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+     CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+     SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+     STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+     ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+     The above license is used as a license under copyright only.
+     Please reference the Forum IPR Policy for patent licensing terms
+     <https://www.broadband-forum.org/ipr-policy>.
+
+     Any moral rights which are necessary to exercise under the above
+     license grant are also deemed granted under this license.
+
+     This version of this YANG module is part of TR-385; see
+     the TR itself for full legal notices.";
+
+  revision 2019-02-25 {
+    description
+      "Initial revision.
+       * Approval Date:    2019-02-25.
+       * Publication Date: 2019-02-25.";
+    reference
+      "TR-385: ITU-T PON YANG Modules
+               <https://www.broadband-forum.org/technical/download/
+                        TR-385.pdf>";
+  }
+
+  typedef multicast-gemport-ref {
+    type leafref {
+      path '/bbf-xpon:xpon/bbf-xpon:multicast-gemports/bbf-xpon:'
+         + 'multicast-gemport/bbf-xpon:name';
+    }
+    description
+      "Points to multicast GEM port.";
+  }
+
+  augment '/bbf-xpon:xpon' {
+    description
+      "Augment system level xPON configuration with multicase GEM
+       port configuration.";
+    container multicast-gemports {
+      description
+        "Multicast GEM ports configuration data.";
+      uses multicast-gemports-config-data;
+    }
+  }
+
+  grouping multicast-gemports-config-data {
+    description
+      "The config data of multicast GEM ports. Multicast GEM ports
+       can be used for multicast or broadcast.";
+    list multicast-gemport {
+      key "name";
+      leaf name {
+        type bbf-yang:string-ascii64;
+        description
+          "The name of the multicast GEM port.";
+      }
+      leaf gemport-id {
+        type uint32;
+        description
+          "The ID of the multicast GEM port.";
+      }
+      leaf interface {
+        type if:interface-ref;
+        must
+          "/if:interfaces/if:interface[if:name=current()]
+           /if:type='bbf-xponift:channel-pair'" {
+          error-message
+            "Must reference a channel pair.";
+        }
+        description
+          "Each channel pair has in general one or several multicast
+           GEM ports.";
+      }
+      leaf traffic-class {
+        type uint8 {
+          range "0..7";
+        }
+        description
+          "Traffic class value.";
+      }
+      leaf is-broadcast {
+        type boolean;
+        default "false";
+        description
+          "If true, this multicast GEM port is used for broadcast
+           traffic.";
+      }
+      description
+        "List of multicast GEM ports.";
+    }
+  }
+}