Upgrading YumaPro

There are some considerations needed when upgrading to a new release train. This section describes the differences between release trains and highlights any non-backward compatible changes.

LTS Release Schedule

Each October a new 5 year release train is started, since 2017. YumaPro SDK has been in production since 2012.

There are 4 lifecycle phases for each release train:

  • Active: Minor enhancements can be made in the first year (green)

  • Maintenance: Bug fixes only for release 13 through 2.5 years (yellow)

  • Sustaining: SEV1 and SEV2 bug fixes only for remainder of 5 years (orange)

  • EOL: End-of-life; Support terminated for the release train (red)

../_images/release_schedule.png

From 20.10 (or earlier) to 21.10

From 21.10 to 22.10

This section summarizes the new and changed features in the YumaPro SDK 22.10 release train.

New Features in 22.10

YANG Module Changes in 22.10

CLI Parameter Changes in 22.10

  • Added --highres-event-time

    • Changed eventTime timestamp to use highRes by default

  • Added --log-highres-datetime

    • high-res timestanps in 'custom' log headers

    • Default is false so no behavior change

  • Added --max-lock-hold-time

    • Default is 0 so no change in behavior

  • Added --max-user-sessions

    • Default is 0 so no change in behavior

  • Added --sil-cc-callback-all

    • Access new CommitCompletenes even if target=running

    • Default is false so no change in behavior

  • Added --tls-deprecated-ok

    • Change: TLS 1.0 now disabled by default

    • Must set to true to allow TLS 1.0

  • Added --with-error-number

    • Some clients do not parse the error-number correctly

    • Sometimes not needed

    • Default is to add error-number, so no behavior change

  • Added --tcp-connect-timeout

    • Changed TCP connect wait from blocking to non-blocking by default

    • Changed TCP timeout default from system timeout value to 10 sec by default

  • Added --with-yumaworks-lock

    • New <lock-all> and <unlock-all> operations

    • Default is true to add module but optional to use

From 22.10 to 23.10

This section summarizes the new and changed features in the YumaPro SDK 23.10 release train.

New Features in 23.10

Programs Removed in 23.10

  • The 'yangdump-sdk' program has been removed. Use the 'yangdump-pro' program instead.

YANG Module Changes in 23.10

  • New YANG modules:

CLI Parameter Changes in 23.10

From 23.10 to 24.10

This section summarizes the new and changed features in the YumaPro SDK 24.10 release train.

New Features in 24.10

New server features in 24.10:

New yangcli-pro Features in 24.10:

  • Call Home Server can be configured at run-time in yangcli-pro (source code and Advanced Binary only)

New yangcli-pro Commands in 24.10:

Removed Features in 24.10

The GET1 Callback has been deprecated for several years. It is no longer supported for new YANG module development.

Server Design Changes in 24.10

Internal Error Handling:

  • Server functions no longer use 'assert' or 'SET_ERROR' in case any programming errors are encountered

    • If NULL parameters encountered then an ERR_NCX_MISSING_PARM error is returned

    • The 'SET_ERROR' macro has not been removed but it is no longer used in the YumaPro source code

    • The new 'FLAG_INT_ERROR` macro is used instead of 'SET_ERROR' which just prints an error message to the log

    • Graceful error recovery is done instead of forcing a server crash with 'assert(0)`

    • SIL and SIL-SA code stubs generated by 'yangdump-pro' now use 'FLAG_INT_ERROR' instead of 'SET_ERROR'

Conditional Compilation Requirements:

  • Structs defined in H files that can be used by SIL and SIL-SA modules have been changed as needed so they are always the same size, even if different compiler flags are used

    • SIL and SIL-SA code still need proper flags set to include conditional function definitions, etc.

    • No changed structures are intended for SIL or SIL-SA use but may be accessible through the various control blocks passed to the callback functions

  • The SNMP parameters in the RESTCONF control block (yangapi_cb_t) have been moved to their own control block (yangapi_snmp_cb_t)

YANG Module Changes in 24.10

New YANG modules:

  • ietf-notification-capabilities.yang

    • Only enabled if YANG Push is enabled

    • The WITH_YANG_PUSH=1 compiler flag is required to build support for this module in the source code.

    • The top-level 'libietf-caps/src' directory contains the source code

  • ietf-system-capabilities.yang

    • Only enabled if YANG Push is enabled

    • The WITH_YANG_PUSH=1 compiler flag is required to build support for this module in the source code.

    • The top-level 'libietf-caps/src' directory contains the source code

  • ietf-system.yang

    • Only enabled if module ietf-system used in the server configuration.

    • The WITH_IETF_SYSTEM=1 compiler flag is required to build support for this module in the source code.

    • The top-level 'libietf-system/src' directory contains the source code for the YANG instrumentation.

    • The top-level 'libsystem-linux/src' directory contains the source code for the Linux system bindings.

  • yumaworks-zmqapi.yang

    • Only used by the 'yangcli-gw' program described in the YumaPro yangcli-gw Manual

    • The WITH_ZEROMQ=1 compiler flag is required to build support for this module in the source code.

    • This module is available in source distributions only.

    • This module and support code are not included in binary packages in the 24.10 release train. Use the binary packages in the 24.10T release train.

    • This module is not supported in the 24.10 release train

Updated YANG Modules:

CLI Parameter Changes in 24.10