YumaPro Packages

There are several variants of YumaPro SDK in binary form. The installation is similar for all packages.

Packages are organized by release train (e.g., 19.10, 20.10, 21.10).

Note

  • The release train identifier represents the year and month of the initial release, similar to Ubuntu.

  • This numbering will change in a future release to use the YumaPro SEMVER numbering instead. This is more compliant with Linux packaging conventions.

  • The <version#> in the package name is the monthly version number

  • The first monthly release is in October (e.g., 23.10-1)

  • A snapshot release will be identified by its snapshot sequence (e.g. 23.10-1.1)

In most cases the latest version of the SDK should be used.

Binary Packages

There are several binary distributions available, depending on the license.

Refer to this feature comparison chart for details on the Core and Advanced Feature Sets.

Within the YumaPro download site, there are several folders with the same structure.

  • There is a directory for each release (e.g. 21.10-3).

  • There is a directory for each platform in this directory (e.g., u1804). Select the package based on the required CPU architecture (e.g. amd64).

yumapro-sdk-basic

  • Basic Feature Set

  • No Posix Threads

  • This package is obsolete and no longer available to new customers

yumapro-sdk-core

  • Core Feature Set

  • No Posix Threads

yumapro-sdk

  • Advanced Feature Set

  • No Posix Threads

yumapro-sdk-eval

This is an evaluation version of the SDK:

yumapro-pthreads-basic

  • Basic Feature Set

  • With Posix Threads

  • This package is obsolete and no longer available to new customers

yumapro-pthreads-core

  • Core Feature Set

  • With Posix Threads

yumapro-pthreads

  • Advanced Feature Set

  • With Posix Threads

  • With yp-client Support

yumapro-pthreads-eval

This is an evaluation version of the SDK:

yumapro-snmp

This package contains the full SDK with the Simple Network Management Protocol (SNMP) supported.

  • Advanced Feature Set

  • No Posix Threads

  • SNMP Protocol

yumapro-gnmi

This package contains the full SDK with the gNMI and gRPC protocols supported.

  • Advanced Feature Set

  • No Posix Threads

  • Contains the yp-gnmi server distribution

Debian Packages

The Debian Packaging system is supported. Files with the ".deb" extension are Debian packages.

RPM Packages

The RPM Packaging system is supported. RPM packages are provided for selected platforms that do not support Debian Packages. Files with the ".rpm" extension are RPM packages.

Supported Linux Platforms

Each Linux-specific binary package is specific to a Linux distribution and CPU type.

The list of supported distributions and CPUs change over time. The current support is listed above, refer to Supported Distributions and Architectures

EVAL Version Restrictions

The evaluation version of YumaPro packages has some usage restrictions.

EVAL Version Expires in 65 Days

Most programs in the yumapro-sdk-eval and yumapro-pthreads-eval packages will stop working 65 days after the build date of the package. Binary packages are updated every month, so it should be possible to download a new package version before the 65 day limit is reached.

Error: EVAL version has expired

If the server is started with --log-level='debug4', then the version and build date will be printed at the start of the log file.

Example build-date:

version: 23.10-5-EVAL (23.5.0)
build-date: Feb  5 2024

EVAL Version of netconfd-pro Accepts 500 Requests

The evaluation server will stop accepting client requests after 500 NETCONF requests and 500 RESTCONF requests. The server will not shut down. Instead, an error will be returned for any client request.

  • The server must be manually restarted by Control-C or a signal.

Example: rpc- error returned when limit is reached

<?xml version="1.0" encoding="UTF-8"?>
<rpc-reply message-id="500"
 xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
 xmlns:ncx="http://netconfcentral.org/ns/yuma-ncx"
 xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
 <rpc-error>
  <error-type>rpc</error-type>
  <error-tag>operation-failed</error-tag>
  <error-severity>error</error-severity>
  <error-app-tag>no-access</error-app-tag>
  <error-path>/nc:rpc/nc:get</error-path>
  <error-message xml:lang="en">request limit reached in evaluation version</error-message>
  <error-info>
   <error-number>398</error-number>
  </error-info>
 </rpc-error>
</rpc-reply>

Installing YumaPro SDK Binary Packages

Download the Correct YumaPro Package

Navigate to https://www.yumaworks.com/dld and log in with the credentials provided by YumaWorks.

Select a Package To Download

The root directory contains a number of directories, depending on the YumaPro license.

Documentation

Documentation is available online:

Install the Package

On Debian systems:

sudo dpkg -i yumapro-sdk-21.10-3.u1804.amd64.deb

On RPM systems:

sudo dnf install yumapro-sdk-21.10-3.fc34.x86_64.rpm

To quickly test the install run the server to just display its version:

> /usr/sbin/netconfd-pro --version

 Starting netconfd-pro...
 Copyright (c) 2008-2012, Andy Bierman, All Rights Reserved.
 Copyright (c) 2012-2021, YumaWorks, Inc., All Rights Reserved.

 netconfd-pro version 21.10-3-3fcf

 >

To see which files are installed in more detail refer to Appendix: Installed Files at the end of this document.

Installing YumaPro SDK from Source Code

To install YumaPro SDK from source files, install the developer versions of the External Packages listed previously. Navigate to the YumaPro top level directory. The file "README" describes how to build YumaPro SDK and the build variables available. Below is an example. It is best to build, install, and if needed uninstall using the same build variables.

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

Note

If Server source code is used (e.g., yumapro-server2), the yangcli-pro/yp-shell source code is not included and EVERYTHING=1 will not work.

Substitute EVERYTHING=1 with the features to include such as WITH_RESTCONF=1.

Refer to the YumaPro Source Code Guide for more details.

Uninstalling YumaPro SDK

There are two ways to uninstall YumaPro SDK, depending on how the SDK was installed.

Uninstall a binary package

For installations from a binary package (.deb or .rpm), use the system package manager to remove it.

The package name to remove is the prefix at the beginning of the installer file name.

Sample installer file names:

  • yumapro-sdk-basic-20.10-12.2.u2004.amd64.deb

  • yumapro-sdk-basic-20.10-12.2.fc34.x86_64.rpm

Package name for both examples:

  • yumapro-sdk-basic

Ubuntu / Debian:

sudo dpkg --purge yumapro-sdk-basic

Fedora / RPM:

sudo rpm -e yumapro-sdk-basic

Uninstall a source build

For installations from source code, use the 'uninstall' target with 'make' and use the same build variables that were used during installation.

Template:

sudo make <build-variables> uninstall

Example:

sudo make EVERYTHING=1 DEBUG=1 DEBUG2=1 USE_WERROR=1 uninstall

Note

If the SDK was originally installed with:

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

then use the same variables for uninstall (replace 'install' with 'uninstall').

Removing Files Not Needed By The Server

Installing yumapro-sdk and yumapro-pthreads SDK packages includes host platform developer tools that are not used by the server on a runtime platform.

Warning

This section is intended for runtime platforms where only 'netconfd-pro' is needed. Do not remove these files from a development system.

The file locations shown below are typical for Ubuntu and may be different on the platform. Refer to Appendix: Installed Files for a complete list.

Configuration sample files (/etc)

The configuration files installed in /etc/yumapro are samples and can be deleted:

  • netconfd-pro-sample.conf

  • yangcli-pro-sample.conf

  • yangdiff-pro-sample.conf

  • yangdump-pro-sample.conf

SDK binaries (/usr/bin)

Some SDK tools installed in /usr/bin can be deleted:

  • make_sil_bundle

  • make_sil_dir_pro

  • make_sil_sa_bundle

  • make_sil_sa_dir

  • yangcli-pro

  • yangdiff-pro

  • yangdump-pro

  • yangdump-sdk

Shared libraries (/usr/lib*/yumapro)

The shared libraries installed in the yumapro library directory are runtime dependencies for YumaPro programs (including 'netconfd-pro') and should not be deleted on systems that run any YumaPro binaries.

The yumapro library directory is typically /usr/lib/yumapro. On Fedora and CentOS 64-bit systems, it is typically /usr/lib64/yumapro.

Some libraries in this directory:

  • libyumapro_ncx.so

  • libyumapro_agt.so

  • libyumapro_db-api.so

  • libyumapro_sil-sa.so

  • libyumapro_ycontrol.so

  • libyumapro_mgr.so

  • libyumapro_subsys-pro.so

  • libyumapro_ycli.so

SDK headers (/usr/include)

All include files installed in /usr/include/yumapro can be deleted:

  • /usr/include/yumapro/*

Documentation (/usr/share/doc)

All documentation files installed in /usr/share/doc can be deleted:

  • /usr/share/doc/yumapro/*

  • /usr/share/doc/yumapro-sdk/*

Manual pages (/usr/share/man)

All manual page files installed in /usr/share/man/man1 can be deleted:

  • combo-app.1.gz

  • db-api-app.1.gz

  • make_sil_bundle.1.gz

  • make_sil_dir_pro.1.gz

  • make_sil_sa_bundle.1.gz

  • make_sil_sa_dir.1.gz

  • netconf-subsystem-pro.1.gz

  • netconfd-pro.1.gz

  • restconf.1.gz

  • sil-sa-app.1.gz

  • support-save-app.1.gz

  • yangcli-pro.1.gz

  • yangdiff-pro.1.gz

  • yangdump-pro.1.gz

  • yangdump-sdk.1.gz

  • yp-controller.1.gz

  • yp-ha-app.1.gz

  • yp-shell.1.gz

  • ypcontrol.1.gz

  • ypwatcher.1.gz

Test modules (/usr/share/yumapro/modules/test)

All test YANG modules installed can be deleted:

  • /usr/share/yumapro/modules/test/*

Example source code (/usr/share/yumapro/src)

All example source code files installed can be deleted:

  • /usr/share/yumapro/src/*

Utilities (/usr/share/yumapro/util)

All utility files installed can be deleted:

  • /usr/share/yumapro/util/*