utils: refactor utils::getSubtree libyang wrapper

In the change for the commit to follow Vasek suggested that
the utils::getSubtree helper could be renamed to getUniqueSubtree and
the behaviour could be changed to return std::optional<>. When no
matching node is found the function returns std::nullopt. When multiple
matching nodes are found the function throws.

This code in the next commit could benefit a little from this change.

Change-Id: I8ded7695dc383e6654f8efa44b6a5442ef904485
5 files changed
tree: f28cdae5423ded8026d3bb8fa225b37f57037d33
  1. .clang-format
  2. .gitmodules
  3. .zuul.CzechLight-internal.yaml
  4. .zuul.public.yaml
  5. CMakeLists.txt
  6. Doxyfile.in
  7. LICENSE
  8. LICENSE.md
  9. README.md
  10. ci/
  11. cmake/
  12. docs/
  13. src/
  14. tests/
  15. yang/
README.md

YANG System management for embedded devices running Linux

Together with sysrepo, this software provides "general system management" of embedded devices. The target platform is anything that runs Linux with systemd. This runs in production on CzechLight SDN DWDM devices.

Health tracking

This component tracks the overal health state of the system, including various sensors, or the state of systemd units. As an operator-friendly LED at the front panel of the appliance shows the aggregated health state.

System management

Firmware can be updated via RAUC, and various aspects of the system's configuration can be adjusted. This includes a firewall, basic network settings, and authentication management.

Supported YANG models

For a full list, consult the yang/ directory in this repository.