[kea-dev] Kea YANG NETCONF support & build from source

ISC Kea kea-dev.nick.citmu at 8alias.com
Fri Jul 1 12:16:09 UTC 2022


Hello Andrei,

Your message helped me a lot, thank you. Indeed I kinda missed that this
page*[1] existed, and I went too far with things like building as
standalone Netopeer2, etc, which were not needed to build Kea with support
for Netconf.

I manage to build Kea with support for Netconf in a Debian container image.
However I was not able to test is yet.
I tried my best to lower the size of the container image by only installing
the needed libraries.
I used the "ldd" command on the "kea-*" binaries to list the libraries that
are needed.

I will try to continue to execute the example in the doc below.

*[1]
https://kea.readthedocs.io/en/kea-2.1.6/arm/integrations.html?highlight=yang#yang-netconf

Best,
--
Nick

Le lun. 27 juin 2022 à 21:32, Andrei Pavel - andrei at isc.org <
vkllbmpmcoouwtvxvwngvogbjtugidqjflfengyg at simplelogin.co> a écrit :

> Hi there,
>
> Kea currently supports libyang1 and the associated sysrepo version. You
> can find exact versions and instructions on how to install them from
> sources in the Kea Administrator's Manual:
> https://kea.readthedocs.io/en/kea-2.1.6/arm/integrations.html?highlight=yang#yang-netconf.
> --with-libyang and --with-sysrepo need to point to the respective
> installations, or they can be passed as-is if libyang and sysrepo were
> installed in their default locations, without having a prefix set at build
> time as mentioned here:
> https://kea.readthedocs.io/en/latest/arm/install.html?highlight=libyang#build-requirements.
> Be careful if compilation is seemingly successful. There is currently a bug
> that causes Kea to not report an error if there is a problem with the
> dependencies, you can follow it here:
> https://gitlab.isc.org/isc-projects/kea/-/issues/2143. Until that gets
> fixed, look at config.report after running ./configure to check if libyang
> and sysrepo were succesfully compiled in. If they were not, check
> config.log for a meaningful error. You can check other known issues by
> following the "netconf" label in Gitlab:
> https://gitlab.isc.org/isc-projects/kea/-/issues?scope=all&state=opened&label_name
> []=netconf.
>
> We try to stay compatible with all other dependencies as they are released
> and made available by various operating systems. libyang and sysrepo are
> not readily packaged by all supported OSs and if they are, the versions
> vary significantly, along with their APIs that Kea uses. For that reason,
> although not impossible, it's difficult for Kea to support all versions and
> also for Kea to be packaged with these dependencies, so we proceed in
> increments until the situation becomes more stable.
>
> --
> Best regards!
> Andrei Pavel, ISC
>
> On 27/06/2022 19:47, ISC Kea wrote:
>
> Hello everyone and Kea developers :-),
>
> I am new to ISC Kea. I am interested in building and using ISC Kea with
> support for YANG and NETCONF.
>
> My first questions: is it still a thing in 2022? Is it still relevant? Is
> the support of NETCONF/YANG still on the roadmap of Kea?
> Are Kea developers working on this feature? Are there plans to update and
> improve docuementation about this feature?
>
> I saw this YANG/NETCONF feature in ISC Kea documentation, as well as in
> several blog posts:
> * 2016:
> https://www.isc.org/blogs/ietf-hackathon-in-berlin-kea-and-yangnetconf/
> * 14 Dec 2018: https://www.isc.org/blogs/kea-1-5/
>
> I was NOT able to find any pre-built Kea package with NETCONF/YANG support
> on the official ISC repo.
> https://cloudsmith.io/~isc/repos/
>
> Then I was inspired by this Kea post which was probably written in 2019
> (or before).
> https://kb.isc.org/docs/building-a-kea-testbed-with-netconf
> This gives a step by step procedure to achieve using YANG/NETCONF with ISC
> Kea.
> It was a nice start, but this documentation seems outdated and obsolete
> for some steps (example : daemon sysrepod does not seem to exist anymore).
>
> Then, I understood that in order to build ISC Kea from source with option "--with-libyang
> --with-sysrepo", I need the following dependencies (in that order):
> libyang
> libyang-cpp
> sysrepo
> sysrepo-cpp
> zlib
> libssh
> libnetconf2
> netopeer2
>
> Most of those dependencies are found here: https://github.com/CESNET/.
>
> Currently, I am working on building each of the previous components
> (libyang, libyang-cpp, sysrepo, sysrepo-cpp, zlib, libssh, libnetconf2,
> netopeer2).
> I do that by using a multi-stage build in a containeur with "podman build".
> Each stage I build a component and reuse it in the next stage.
>
> My current biggest struggle is to make sure all those dependencies are at
> the right version.
> I also struggled with the version of CMake. Example : "libyang-cpp" need a
> version of CMake that is newer than the one on the Debian apt mirror.
> But I was able to install the proper version of CMake.
>
> Then I needed C++ packages (for "libyang-cpp" and "sysrepo-cpp", docktest
> or trompeloeil).
> I install them with conan C++ package manager.
>
> But even with these precautions, I was still missing some things.
> For example, "libyang-cpp" were crashing, probably because I was not using
> the devel branch but a precise TAG.
> Or later, the Kea build ./configure script was not able to find
> "sysrepo-cpp", even though it was build successfuly (I think).
>
> Therefore, I need some guidances about the support of NETCONF in Kea.
>
> Thank you for your time reading this post. I hope you can help me
> understand a few thing!
> Do you have a Slack or a chat?
>
> --
> A Kea (new) user
>
> PS: Do not worry about the strange email adresses, I am simply using an
> email alias handler from SimpleLogin: https://simplelogin.io/.
>
> --
> kea-dev mailing list
> kea-dev at lists.isc.org
> https://lists.isc.org/mailman/listinfo/kea-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/kea-dev/attachments/20220701/e396bc29/attachment.htm>


More information about the kea-dev mailing list