Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Commit and Display Configuration Data for Nonnative YANG Modules

You can load standardized or custom YANG modules on Junos devices to add data models that the device does not support natively but can support through translation. When you extend the configuration hierarchy with new data models, you must also supply one or more translation scripts. Translation scripts provide the translation logic to map the nonnative configuration syntax to Junos OS syntax. The device enables translation scripts as soon as you issue the request system yang add or request system yang update command to add them to the device.

You configure nonnative data models in the candidate configuration using the syntax defined for those models. When you configure statements that correspond to third-party YANG data models, for example, OpenConfig or custom YANG data models, the following features are not supported:

  • Using configure batch or configure private mode

  • Configuring statements under the [edit groups] hierarchy

When you commit the configuration, the translation scripts translate the data for those models and commit the corresponding Junos OS configuration as a transient change in the checkout configuration.

Note:

XPath expression evaluations for the following YANG keywords are disabled by default during commit operations: leafref, must, and when.

The candidate and active configurations contain the configuration data for nonnative YANG data models in the syntax defined by those models. The translated configuration data is committed as a transient change. As a result, the candidate and active configurations do not explicitly display the translated data in the Junos OS syntax when you view the configuration by using commands such as show or show configuration.

You can explicitly display the translated data in Junos OS syntax in the candidate or active configuration. You append the | display translation-scripts filter to the show command in configuration mode or to the show configuration command in operational mode. Applying the filter displays the post-inheritance configuration with the translated configuration data from all enabled translation scripts included.

Note:

You can only apply the | display translation-scripts filter to the complete Junos OS configuration. You cannot filter subsections of the configuration hierarchy.

In operational mode, issue the following command to view the committed configuration with translation scripts applied:

Similarly, in configuration mode, issue the following command to view the candidate configuration with translation scripts applied. You must be at the top of the configuration hierarchy to use the filter.

The output, which is truncated in this example, displays the complete post-inheritance configuration and includes the nonnative configuration data as well as the translation of that data.

Alternatively, you can view just the translated portions of the hierarchy corresponding to nonnative YANG data models by appending the translated-config keyword to the | display translation-scripts filter. In operational mode, the translated-config keyword returns the translated data for nonnative YANG data models present in the committed configuration. In configuration mode, the translated-config keyword returns the translated data for nonnative YANG data models present in the candidate configuration, which includes both committed and uncommitted configuration data.

The candidate configuration reflects the configuration data that has been configured, but not necessarily committed, on the device. In configuration mode, you can display just the configuration differences in the hierarchies corresponding to nonnative YANG data models before or after translation scripts are applied. To display the differences, append the configured-delta or translated-delta keyword to the show | display translation-scripts command. In both cases, the XML output displays the deleted configuration data, followed by the new configuration data.

For example, to view the uncommitted configuration changes for the nonnative data models in the syntax defined by those data models, use the show | display translation-scripts configured-delta configuration mode command.

To view the uncommitted configuration changes for the nonnative data models after translation into Junos OS syntax, use the show | display translation-scripts translated-delta configuration mode command. For example:

In configuration mode, you can use the various filters to better understand which transient changes the device will commit for nonnative data models. To verify all Junos OS statements that will be committed as transient changes by translation scripts during the commit operation, issue the show | display translation-scripts translated-config command before committing the candidate configuration. To verify the Junos OS statements that will be committed for just the changed configuration data, issue the show | display translation-scripts translated-delta command. If you disable translation scripts for a package, the output for these commands does not include (and the device does not commit) the corresponding Junos OS configuration for those data models in the package.

Note:

The presence of nonnative configuration data in the active configuration does not guarantee that the corresponding translated configuration is present as a transient change. If you disable translation and then commit nonnative configuration data, the nonnative data is present in the committed configuration. However, the device does not commit the corresponding Junos OS configuration statements as transient changes for any statements in the data models added by that package. This even includes statements you already committed prior to disabling translation.

Table 1 summarizes the different filters you can apply to the committed and candidate configurations to view configuration data corresponding to nonnative YANG data models. The table indicates the CLI mode for each filter, and the scope and syntax of the output. By selecting different filters, you can view the entire configuration, the translated portions of the configuration, or the uncommitted configuration changes. You can also view the configuration data both before and after processing by translation scripts. In configuration mode, this enables you to better determine the Junos OS changes that the device will commit for the nonnative hierarchies.

Table 1: | display translation-scripts Command

Filter

Mode

Description

Syntax and Format of Output

| display translation-scripts

Operational

Return the complete, post-inheritance committed configuration and include the translation of the nonnative data into Junos OS syntax.

YANG data model and Junos OS syntax as ASCII text

Configuration

Return the complete, post-inheritance candidate configuration and include the translation of the nonnative data into Junos OS syntax.

YANG data model and Junos OS syntax as ASCII text

| display translation-scripts translated-config

Operational

Return the translated data corresponding to all nonnative YANG data models in the committed configuration.

Junos OS ASCII text

Configuration

Return the translated data corresponding to all nonnative YANG data models in the candidate configuration.

Junos OS ASCII text

| display translation-scripts configured-delta

Configuration

Return the uncommitted changes in the candidate configuration corresponding to nonnative YANG data models in the syntax defined by that model.

YANG data model XML

| display translation-scripts translated-delta

Configuration

Return the uncommitted changes in the candidate configuration corresponding to nonnative YANG data models after translation into Junos OS syntax.

Junos OS XML