Sysrepo Integration Installation

The following sections describe how to install, build, and verify Sysrepo Integration support for netconfd-pro.

Two installation models are supported:

  • source-code installation, where netconfd-pro is built with Sysrepo Integration enabled

  • binary-package installation, where a prebuilt package with Sysrepo Integration support is installed together with the required runtime libraries

Before building or running the server, ensure that the required libsysrepo, libyang, and related development tools are installed and visible in the selected build and runtime environment.

Sysrepo Integration Source Code Installation

Sysrepo Integration Dependencies

The Sysrepo Integration feature requires external Sysrepo and libyang packages in addition to the normal YumaPro build environment.

This section lists the packages specifically needed to build and run netconfd-pro with Sysrepo support.

Before building netconfd-pro with Sysrepo Integration support, the following software must already be installed:

  • a compatible libsysrepo installation

  • a compatible libyang installation

  • the pkg-config tool

  • the compiler and build tools required for a normal YumaPro source build

The libyang library is a required dependency of sysrepo. The sysrepo development package provides the header files and pkg-config metadata needed to compile the Sysrepo Integration code.

The Sysrepo command line tools are also recommended for installation and testing:

  • sysrepoctl for YANG module installation and management

  • sysrepocfg for configuration import, export, and datastore verification

Ubuntu version:

sudo apt-get install libyang2-dev libsysrepo-dev sysrepo pkg-config

Fedora version:

sudo dnf install libyang-devel sysrepo-devel sysrepo pkgconf-pkg-config

Notes:

  • On Ubuntu 22.04, the libsysrepo-dev package depends on libyang2-dev.

  • On Fedora, the sysrepo-devel package depends on libyang-devel, pkgconf-pkg-config, and sysrepo.

  • The Sysrepo tools may be packaged separately on some platforms.

The Sysrepo Integration build must use one consistent installation of libsysrepo and libyang. Mixed installations, such as one version in /usr and another version in /usr/local, are not supported and can cause compile-time or runtime failures.

If custom install locations are used, ensure that the compiler, linker, and runtime loader all resolve the same library set.

Sysrepo Source Code Compilation

If YumaPro is installed from source code, then netconfd-pro must be built with the WITH_SYSREPO=1 make variable enabled.

Example:

make DEBUG=1 DEBUG2=1 EVERYTHING=1 WITH_SYSREPO=1 USE_WERROR=1
sudo make DEBUG=1 DEBUG2=1 EVERYTHING=1 WITH_SYSREPO=1 USE_WERROR=1 install

This enables compilation of the Sysrepo Integration code in the server.

If the build system supports a custom Sysrepo installation prefix, then that prefix must also be provided during the build. For example:

make DEBUG=1 DEBUG2=1 EVERYTHING=1 WITH_SYSREPO=1 SYSREPO_PREFIX=/custom/prefix
sudo make DEBUG=1 DEBUG2=1 EVERYTHING=1 WITH_SYSREPO=1 SYSREPO_PREFIX=/custom/prefix install

After installation, verify that the built server resolves the intended libraries. For example:

ldd /usr/sbin/netconfd-pro | egrep 'sysrepo|yang'

This check should show the expected libsysrepo and libyang shared libraries.

Sysrepo Integration Binary Package Installation

If YumaPro is installed from binary packages, then a package build that includes Sysrepo Integration support is required.

Before installing the package, ensure that the required runtime libraries for libsysrepo and libyang are already installed on the target system.

After the binary package is installed, verify that the server resolves the expected runtime libraries:

ldd /usr/sbin/netconfd-pro | egrep 'sysrepo|yang'

If the server does not resolve libsysrepo and libyang, then the required runtime packages are missing or the runtime linker environment is not configured correctly.

Runtime Verification

After the build is complete, verify that the Sysrepo runtime environment is configured correctly before starting the server.

Typical checks include:

pkg-config --modversion sysrepo
pkg-config --modversion libyang
ldconfig -p | egrep 'sysrepo|yang'

If a custom Sysrepo repository location or shared memory prefix is used, the corresponding environment variables must also be set consistently before running the server or any Sysrepo tools.

Example:

export SYSREPO_REPOSITORY_PATH=/custom/repository/path
export SYSREPO_SHM_PREFIX=customprefix

These settings must match the intended Sysrepo deployment.

After the environment is prepared, the server must be started with the --with-sysrepo parameter set to true. If this parameter is not enabled, the Sysrepo Integration code will not be activated even if the server was built with WITH_SYSREPO=1.

Example:

netconfd-pro --with-sysrepo=true

The server can also be started with additional normal netconfd-pro startup parameters required for the deployment.

Next Steps

After installation is complete, the next steps are: