What's New

Latest features and enhancements added in this release.

Only significant new updates are listed here. To see the complete list of changes, refer to the NSO Changelog Explorer.

Release Highlights

This release includes major enhancements in the following areas:

High Availability and Compliance Reporting Updates in Web UI

NSO 6.6 features a redesigned and extended High Availability (HA) Web UI component. The new component makes it easier to access HA cluster status and perform cluster maintenance operations for either HA Raft or rule-based HA. NSO 6.6 also brings new improvements in the Compliance Reporting tool to manage creation of compliance templates.

Documentation Updates:

Python Virtual Environment Support

It is now possible to define virtual environment (venv) for a Python-based package, in order to isolate Python package dependencies, simplifying NSO package upgrades.

Documentation Updates:

Filtering JSON-RPC show_config method

The show_config JSON-RPC method now supports filtering and pagination options for improved user experience when retrieving large list instances.

Documentation Updates:

  • Added filtering and pagination parameters to show_config documentation in JSON-RPC API Data.

Improved YANG Schema Management

NSO 6.6 comes with improvements to the way YANG schema is stored and loaded, reducing load time and memory footprint with deduplication and parallel loading. The Java API also takes advantage of the new schema format, which allows loading schema data from a local memory-mapped file.

Service Improvements

This NSO version introduces multiple quality of life improvements for service development:

  • A device template can be converted to a service with the /services/create-template action.

  • New child-tags and inherit XML template attributes simplify template operations, further described in Template Operations.

  • NSO warns if there are unused macros inside XML templates.

  • New MAAPI call (get_template_variables / ncsGetTemplateVariables) enumerates variables in device, service, or compliance template.

  • New MAAPI call (get_trans_mode / getTransactionMode) returns mode of the transaction, allowing, for example, easier reuse of existing transaction in an action.

  • Similar to Python API, Java API action callback now always provides an open transaction. If there is no existing transaction, a new read-only transaction is started automatically.

  • Data kickers can now kick for the same transaction where they are defined when configured with a new kick-on-creation leaf.

Web Server Connection Limits

The NSO Web Server now has a configurable number of simultaneous connections. Additionally, the number of current connections can be monitored through the metrics framework.

Documentation Updates:

  • Documented a new /ncs-config/webui/max-connections parameter for the ncs.conf file.

Updated Example NEDs

Network Element Drivers (NEDs) used throughout the NSO examples have been updated to include recent versions of the device models. The new models more closely resemble those in production NEDs, which makes examples more realistic and supports additional real-world scenarios.

Note that these NEDs are still example NEDs and are not designed for production use.

Improved Rule-based HA Package Sync

The /ha/packages/sync action, which ensures the packages are distributed to HA secondaries, has been optimized to only distribute the parts that are missing on the secondaries. The new implementation also preserves symbolic links and folder structure in the filesystem.

Improved NACM Authorization for Stacked Reactive/Nano Services

NSO can now expose only a top-level service in a stacked services scenario, while keeping the lower-level services internal, no longer requiring additional NACM rules that would expose the lower-level services as well.

Documentation Updates:

Support Service Metadata Checks

The service check-sync action by default checks whether the configuration required by the service exists on the managed devices but does not check if the configuration is owned by the service (the configuration might have been there before). The new with-service-meta-data parameter can now be used to also consider service metadata when determining if the service is in sync.

In addition, this new parameter is also available for the commit, re-deploy, and un-deploy commands to include any service metadata changes in the dry-run diff output.

Documentation Updates:

Consistent User Preferences in the Web UI

The Web UI keeps track of selected table display preferences across page refreshes, such as column sort order and the number of rows per page.

Last updated

Was this helpful?