Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos Genstate YANG Data Models

The Juniper Networks genstate YANG schema defines YANG data models for operational state on Junos devices. gRPC Network Management Interface (gNMI) clients can subscribe to the resource paths defined in the models to request state data.

Genstate YANG Data Models Overview

Starting in Junos OS Evolved Release 24.2R1, Juniper Networks publishes the genstate YANG data models. The genstate models are subscribable YANG models for operational state data on Junos devices. They are a YANG representation of operational command output on Junos devices. The genstate models comprise a top-level module augmented by modules for each of the different operational state areas as they are published and made available. The genstate schema uses origin 'genstate'.

Junos devices have a rich set of native state data. You can retrieve operational state information from Junos devices by executing operational commands or Junos XML RPCs on the device. However, you must still parse the command output to extract specific data. Juniper also provides the curated junos-state native YANG state models that telemetry collectors can consume, but the models currently include only a subset of operational areas and states.

The genstate YANG models expose state data available in operational show commands through the gNMI subscribe RPC. The modules describe the resource paths that relate to specific state data instances on the target network device. gNMI telemetry collectors can subscribe to the corresponding resource path in the published YANG models to query for the state data for that instance.

When you execute operational commands or RPCs on a Junos device, the device returns the XML output enclosed in a top-level element. The root-level tag name describes the enclosed data. For example, show interfaces commands return XML output that is enclosed in an <interface-information> tag. The genstate modules include the top-level XML tag name in the YANG module name and filename to easily identify the data described in the module.

gNMI clients in gRPC dial-in environments can subscribe to the genstate published paths. A client can use STREAM subscriptions in SAMPLE mode only to request the data. ON_CHANGE mode is not supported. For information about using gNMI to subscribe to telemetry data, see the Junos Telemetry Interface User Guide.

The genstate YANG data models are published and updated in different releases. You can check the available models and supported paths for a given release in the following ways:

Benefits of the Genstate YANG State Models

  • Increase the surface area of operational state available through gNMI and thus enable you to make more informed usage decisions about the device and network when you use gNMI to monitor state.

  • Simplify how you monitor device state by enabling you to move toward a single northbound interface.

Genstate Modules Overview

The genstate YANG data models comprise a top-level root module augmented by modules for each of the available operational state areas. The genstate schema uses origin 'genstate'.

The top-level module is as follows:

The top-level genstate module is augmented by the modules published for each operational state area. When you issue operational commands or RPCs, the resulting XML output defines a root tag that describes the operational area. The genstate modules include this root tag name as part of the module name and filename to easily identify the operational state area. The module prefix is based on the root tag name and so varies for each module.

For example, the junos-genstate-interface-information module describes the data that would normally be included in the <interface-information> element in Junos command and RPC output. Thus, the model defines the resource paths that are available for subscription by telemetry collectors for interface state data.

A telemetry collector can subscribe to the different resource paths as defined in the genstate models to query for state data. The genstate model path syntax uses the origin genstate, includes a root tag named genstate, and is followed by the top-level tag name for the operational state area, for example, interface-information.

For example, a gNMI client can use the following path to retrieve the administrative state of the et-1/0/1 interface:

Map Genstate Model Resource Paths to CLI Commands

You can use the show system data-models genstate operational command to verify the CLI command that generates the output corresponding to a specific genstate model resource path (Xpath expression). To retrieve the command, include the xpath-cli-command-mapping option and provide the path to the desired resource.

The following example retrieves the command that generates the state data corresponding to the /genstate/system-information/os-version resource path.

Similarly, the following example maps the /genstate/interface-information/physical-interface[name=et-1/0/1]/admin-status path to the CLI command that includes that information in the output.

Note:

If you do not have permission to execute a CLI command, you cannot access the corresponding genstate subscription path. You can only subscribe to genstate paths of commands for which you have valid permissions.