[VOL-4648] Add connection to sysrepo and subscribe to NETCONF 'get' requests with dummy callback

Change-Id: I9124d9b9430ee1358885bdb5c65dedfb3c5d3978
diff --git a/build/yang-files/bbf-device-aggregation.yang b/build/yang-files/bbf-device-aggregation.yang
new file mode 100644
index 0000000..24a5141
--- /dev/null
+++ b/build/yang-files/bbf-device-aggregation.yang
@@ -0,0 +1,154 @@
+module bbf-device-aggregation {
+  yang-version 1.1;
+  namespace "urn:bbf:yang:bbf-device-aggregation";
+  prefix bbf-dev-agg;
+
+  import bbf-yang-types {
+    prefix bbf-yang;
+  }
+  import bbf-device-types {
+    prefix bbf-dvct;
+  }
+  import ietf-yang-schema-mount {
+    prefix yangmnt;
+  }
+
+  organization
+    "Broadband Forum <https://www.broadband-forum.org>
+     Common YANG Work Area";
+  contact
+    "Comments or questions about this Broadband Forum YANG module
+     should be directed to <mailto:help@broadband-forum.org>.
+
+     Editor:      Nick Hancock, ADTRAN
+
+     Editor:      Ludwig Pauwels, Nokia
+
+     PS Leader:   Joey Boyd, ADTRAN
+
+     WA Director: Joey Boyd, ADTRAN
+
+     WA Director: Sven Ooghe, Nokia";
+  description
+    "This module contains a collection of YANG definitions for
+     supporting the Broadband Forum requirements on device
+     aggregation. As such, this module is specific to access network
+     equipment (e.g., BBF-specified Access Nodes and FTTdp DPUs).
+
+     Copyright (c) 2017-2022, 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-383a5; see
+     the TR itself for full legal notices.";
+
+  revision 2022-03-01 {
+    description
+      "Amendment 5.
+       * Approval Date:    2022-03-01.
+       * Publication Date: 2022-03-01.";
+    reference
+      "TR-383a5: Common YANG Modules
+                 <https://www.broadband-forum.org/technical/download/
+                          TR-383_Amendment-5.pdf>";
+  }
+
+  container devices {
+    description
+      "Aggregation and management of multiple devices.";
+    list device {
+      key "name";
+      description
+        "An aggregated device.";
+      leaf name {
+        type bbf-yang:string-ascii64;
+        description
+          "The unique name of the device.";
+      }
+      leaf type {
+        type identityref {
+          base bbf-dvct:device-type;
+        }
+        mandatory true;
+        description
+          "The type of device.";
+      }
+      container identification {
+        presence
+          "Presence of the container indicates that data nodes that
+           identify the device exist.";
+        description
+          "Data nodes identifying the device instance.";
+        choice identification {
+          mandatory true;
+          description
+            "A choice for different methods to uniquely identify a
+             device instance.";
+          case hardware-inventory-data {
+            leaf mfg-name {
+              type string;
+              description
+                "The name of the manufacturer of the device.";
+            }
+            leaf model-name {
+              type string;
+              description
+                "The vendor-specific model name associated with the
+                 device.";
+            }
+            leaf serial-num {
+              type string;
+              description
+                "The vendor-specific serial number string for the
+                 device.";
+            }
+          }
+        }
+      }
+      container data {
+        description
+          "The data nodes of the device's schema.";
+        yangmnt:mount-point "device-yang-library" {
+          description
+            "The YANG library associated with the device.";
+        }
+      }
+    }
+  }
+}
diff --git a/build/yang-files/bbf-device-types.yang b/build/yang-files/bbf-device-types.yang
new file mode 100644
index 0000000..8448e2f
--- /dev/null
+++ b/build/yang-files/bbf-device-types.yang
@@ -0,0 +1,185 @@
+module bbf-device-types {
+  yang-version 1.1;
+  namespace "urn:bbf:yang:bbf-device-types";
+  prefix bbf-dvct;
+
+  organization
+    "Broadband Forum <https://www.broadband-forum.org>
+     Common YANG Work Area";
+  contact
+    "Comments or questions about this Broadband Forum YANG module
+     should be directed to <mailto:help@broadband-forum.org>.
+
+     Editor:      Nick Hancock, ADTRAN
+
+     Editor:      Ludwig Pauwels, Nokia
+
+     PS Leader:   Joey Boyd, ADTRAN
+
+     PS Leader:   Sowrirajan Padmanabhan, Nokia
+
+     WA Director: Joey Boyd, ADTRAN
+
+     WA Director: Sven Ooghe, Nokia";
+  description
+    "This module contains a collection of YANG definitions for
+     supporting the Broadband Forum requirements on managing physical
+     devices.
+
+     Specifically, this module defines common types associated with
+     device management.
+
+     Copyright (c) 2017-2021, 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-383a4; see
+     the TR itself for full legal notices.";
+
+  revision 2021-06-02 {
+    description
+      "Amendment 4.
+       * Approval Date:    2021-06-02.
+       * Publication Date: 2021-06-02.";
+    reference
+      "TR-383a4: Common YANG Modules
+                 <https://www.broadband-forum.org/technical/download/
+                          TR-383_Amendment-4.pdf>";
+  }
+
+  // Identities
+  // Device types
+
+  identity device-type {
+    description
+      "Base identity from which specific device node types are
+       derived.";
+  }
+
+  identity access-device-type {
+    base device-type;
+    description
+      "Base identity from which specific access device node types are
+       derived.";
+  }
+
+  identity dpu {
+    base access-device-type;
+    description
+      "Distribution Point Unit (DPU).";
+  }
+
+  identity msan {
+    base access-device-type;
+    description
+      "Multiservice Access Node (MSAN).";
+  }
+
+  identity dslam {
+    base access-device-type;
+    description
+      "Digital Subscriber Line Access Multiplexer (DSLAM).";
+  }
+
+  identity olt {
+    base access-device-type;
+    description
+      "Optical Line Terminal (OLT).";
+  }
+
+  identity onu {
+    base access-device-type;
+    description
+      "Optical Network Unit (ONU).";
+  }
+
+  identity fast-cpe {
+    base access-device-type;
+    description
+      "The G.fast CPE. G.fast is a Digital Subscriber Line (DSL)
+       protocol standard.";
+  }
+
+  identity vdsl2-cpe {
+    base access-device-type;
+    description
+      "The Very High-speed Digital Subscriber Line 2 (VDSL2) CPE.";
+  }
+
+  // Device Subcategory
+
+  identity device-subcategory {
+    description
+      "Base identity from which specific subcategories of device types
+       are derived.";
+  }
+
+  identity access-device-subcategory {
+    base device-subcategory;
+    description
+      "Identity from which specific subcategories of access device
+       types are derived.";
+  }
+
+  identity multi-card {
+    base access-device-subcategory;
+    description
+      "The multi card subcategory.
+
+       An access device of this or a derived identity is a device that
+       has the capability to support multiple cards, independent of
+       the actual deployment.";
+  }
+
+  identity single-card {
+    base access-device-subcategory;
+    description
+      "The single card subcategory.
+
+       An access device of this or a derived identity is a device that
+       is a fully self-contained device that does not has the
+       capability to plug or unplug cards.";
+  }
+
+  identity pluggable-transceiver {
+    base access-device-subcategory;
+    description
+      "The pluggable transceiver subcategory.";
+  }
+}
diff --git a/build/yang-files/bbf-yang-types.yang b/build/yang-files/bbf-yang-types.yang
new file mode 100644
index 0000000..efa31d5
--- /dev/null
+++ b/build/yang-files/bbf-yang-types.yang
@@ -0,0 +1,275 @@
+module bbf-yang-types {
+  yang-version 1.1;
+  namespace "urn:bbf:yang:bbf-yang-types";
+  prefix bbf-yang;
+
+  organization
+    "Broadband Forum <https://www.broadband-forum.org>
+     Common YANG Work Area";
+  contact
+    "Comments or questions about this Broadband Forum YANG module
+     should be directed to <mailto:help@broadband-forum.org>.
+
+     Editor:      Nick Hancock, ADTRAN
+
+     Editor:      Ludwig Pauwels, Nokia
+
+     PS Leader:   Joey Boyd, ADTRAN
+
+     WA Director: Joey Boyd, ADTRAN
+
+     WA Director: Sven Ooghe, Nokia";
+  description
+    "This module contains a collection of YANG definitions for
+     supporting the Broadband Forum requirements on reusable data
+     types as applicable to access network equipment. As such, this
+     module is specific to access network equipment (e.g.,
+     BBF-specified Access Nodes and FTTdp DPUs).
+
+     Specifically, this module defines common types used throughout
+     BBF data models.
+
+     Copyright (c) 2017-2022, 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-383a5; see
+     the TR itself for full legal notices.";
+
+  revision 2022-03-01 {
+    description
+      "Amendment 5.
+       * Approval Date:    2022-03-01.
+       * Publication Date: 2022-03-01.";
+    reference
+      "TR-383a5: Common YANG Modules
+                 <https://www.broadband-forum.org/technical/download/
+                          TR-383_Amendment-5.pdf>";
+  }
+  revision 2021-06-02 {
+    description
+      "Amendment 4.
+       * Approval Date:    2021-06-02.
+       * Publication Date: 2021-06-02.";
+    reference
+      "TR-383a4: Common YANG Modules
+                 <https://www.broadband-forum.org/technical/download/
+                          TR-383_Amendment-4.pdf>";
+  }
+  revision 2020-10-13 {
+    description
+      "Amendment 3.
+       * Approval Date:    2020-10-13.
+       * Publication Date: 2020-10-13.";
+    reference
+      "TR-383a3: Common YANG Modules
+                 <https://www.broadband-forum.org/technical/download/
+                          TR-383_Amendment-3.pdf>";
+  }
+  revision 2019-10-21 {
+    description
+      "Amendment 2 Corrigendum 1.
+       * Approval Date:    2019-10-21.
+       * Publication Date: 2019-10-21.";
+    reference
+      "TR-383a2c1: Common YANG Modules
+                 <https://www.broadband-forum.org/technical/download/
+                          TR-383_Amendment-2.pdf>";
+  }
+  revision 2018-07-13 {
+    description
+      "Amendment 1.
+       * Approval Date:    2018-06-04.
+       * Publication Date: see revision date above.";
+    reference
+      "TR-383: Common YANG Modules
+               <https://www.broadband-forum.org/technical/download/
+                        TR-383_Amendment-1.pdf>";
+  }
+  revision 2017-05-08 {
+    description
+      "Initial revision.
+       * Approval Date:    see revision date above.
+       * Publication Date: 2017-06-02.";
+    reference
+      "TR-383: Common YANG Modules
+               <https://www.broadband-forum.org/technical/download/
+                        TR-383.pdf>";
+  }
+  revision 2016-07-18 {
+    description
+      "Initial revision.
+       * Approval Date:    see revision date above.
+       * Publication Date: 2016-08-05.";
+    reference
+      "TR-355: YANG Modules for FTTdp Management
+               <https://www.broadband-forum.org/technical/download/
+                        TR-355.pdf>";
+  }
+
+  typedef name-string {
+    type string {
+      length "1..64";
+    }
+    description
+      "Used where a string is needed which has a maximum length of
+       64 characters and a minimum length of 1 character.";
+  }
+
+  typedef percent {
+    type uint8 {
+      range "0..100";
+    }
+    units "percentage";
+    description
+      "A percentage.";
+  }
+
+  typedef performance-counter32 {
+    type uint32;
+    description
+      "The 'performance-counter32' type represents a non-negative
+       integer that monotonically increases until it reaches a maximum
+       value of 2^32-1 (4294967295 decimal), but does not wrap around
+       once the maximum value is reached.";
+  }
+
+  typedef performance-counter32-or-inactive {
+    type union {
+      type uint32;
+      type enumeration {
+        enum inactive {
+          description
+            "Indicates that this counter is not active.";
+        }
+      }
+    }
+    description
+      "The 'performance-counter32-or-inactive' type represents a
+       non-negative integer that monotonically increases until it
+       reaches a maximum value of 2^32-1 (4294967295 decimal), but
+       does not wrap around once the maximum value is reached.
+
+       A special value (enum inactive) indicates that this counter
+       is not active.";
+  }
+
+  typedef performance-counter64 {
+    type uint64;
+    description
+      "The 'performance-counter64' type represents a non-negative
+       integer that monotonically increases until it reaches a maximum
+       value of 2^64-1 (18446744073709551615 decimal), but does not
+       wrap around once the maximum value is reached.";
+  }
+
+  typedef string-ascii63-or-empty {
+    type string {
+      length "0..63";
+      pattern '[ -~]*';
+      // allows the 95 printable ASCII characters
+    }
+    description
+      "Used where a string is needed which has a maximum length of
+       63 characters and also allows for a null string (length = 0).
+
+       The character set is limited to the 95 printable ASCII
+       characters.";
+  }
+
+  typedef string-ascii64 {
+    type string {
+      length "1..64";
+      pattern '[ -~]*';
+    }
+    description
+      "Used where a string is represented using at least 1 and no more
+       than 64 ASCII characters.
+
+       The character set is limited to the 95 printable ASCII
+       characters.";
+  }
+
+  typedef string-ascii64-or-empty {
+    type string {
+      length "0..64";
+      pattern '[ -~]*';
+    }
+    description
+      "Used where a string is needed which has a maximum length of
+       64 characters and also allows for a null string (length = 0).
+
+       The character set is limited to the 95 printable ASCII
+       characters.";
+  }
+
+  typedef undetermined {
+    type enumeration {
+      enum undetermined {
+        description
+          "Indicates the value is not determined.";
+      }
+    }
+    description
+      "A type which defines an enumeration representing when
+       the value for an object is not determined. Often, this is
+       combined with other data via a union acting as a special value
+       to indicate the undetermined state.";
+  }
+
+  typedef data-rate32 {
+    type uint32;
+    units "kbits/second";
+    description
+      "A type which represents the rate at which data is being
+       transferred.";
+  }
+
+  typedef data-rate32-or-undetermined {
+    type union {
+      type undetermined;
+      type data-rate32;
+    }
+    units "kbits/second";
+    description
+      "A type which represents the rate at which data is being
+       transferred. A special value, 'undetermined', is used to
+       indicate the data rate is undetermined.";
+  }
+}