Improved YANG Input Validator and Get Requests
Feature Name |
Release Information |
Description |
---|---|---|
Improved YANG Input Validator and Get Requests |
Release 7.10.1 |
The OpenConfig data models provide a structure for managing networks via YANG protocols. With this release, enhancements to the configuration architecture improve input validations and ensure that the Get requests made through gNMI or NETCONF protocols return only explicitly configured OpenConfig leaves. Previously, Get requests returned all the items in the Cisco native data models that the system could convert into OpenConfig items, regardless of whether they were initially configured via OpenConfig. We have added a new legacy mode option for a limited number of releases which helps you preserve this behaviour. |
In IOS XR Software Release 7.10.1, the following are the enhancements to improve YANG Input Validator and Get Requests:
-
Get requests made via NETCONF or gNMI now return only OpenConfig leaves that were configured using OpenConfig models.
Use the legacy mode as follows:
NETCONF: Add a legacy mode attribute to the get-config request tag,
Example: get-config xmlns:xr-md=”http://cisco.com/ns/yang/cisco-xr-metadata” xr-md:mode="legacy"
gNMI: Set the origin to openconfig-legacy .
-
Improved input validation for OpenConfig configurations to provide a more consistent experience across the schema.
The new validation includes enhanced error reporting, though some errors may include references to XR configuration schema paths and item values in the message string.
-
OpenConfig leaves now return default values consistently.
Get requests use the Explicit Basic Mode (refer RFC6243) to return only the OpenConfig leaves that were explicitly configured.
Usage Guidelines and Limitations
In this release, the following usage guidelines and limitations apply based on the following functionalities:
-
Upgrades to Cisco IOS XR Software Release 7.10.1 and later will not show OpenConfig leaves in Get requests until OpenConfig has been successfully committed.
-
Similarly, downgrading from Release 7.10.1 to an earlier version and then upgrading back to Release 7.10.1 will not show OpenConfig leaves in Get requests until OpenConfig has been successfully committed.
-
Each feature must be fully configured using OpenConfig or Cisco native data model or CLI.
If configuration items applied to a feature via OpenConfig are overridden by configuring those items directly via Cisco native data model, this will not be reflected in the system view of currently configured OpenConfig items.
Use the Cisco native data model to configure features not supported by OpenConfig data model.
-
Use either gNMI or NETCONF to manage configuration via OpenConfig. We recommend not to use both the management agents on the same device simultaneously.
Once a successful commit has been made using gNMI or NETCONF, that management agent is considered the active agent.
OpenConfig items cannot be configured by the non-active agent. However, the non-active agent can configure Cisco native data model items and perform Get requests on any configuration items.
All OpenConfig leaves must first be removed by the active agent before a different agent can be used.
-
During the commit process (which can take many minutes for large changesets), Get requests can be made on the running datastore.
Other request types like, Edit request, Commit request from other clients, and Get request on the candidate datastore of another client are rejected.
-
When ACLs are configured via OpenConfig, CLI actions such as resequencing ACLs and copying ACLs will not be reflected in the system view of the current OpenConfig configuration.
-
Configuration modifications made by Config Scripts to features configured through OpenConfig will not be reflected in the system view of the current OpenConfig configuration which is returned from Get-config operations.
-
Configuration removal from the system may occur as a result of some events, such as install operations and startup configuration failures during line card insertion.
OpenConfig items currently configured do not reflect this change. In such cases, a syslog will be generated to remind the user to manually apply OpenConfig configurations to the system.
-
All OpenConfig will be removed from the system when a Commit Replace operation is performed using the CLI.
-
By using the show running-config | (xml | json) openconfig command, you can still view the running OpenConfig. However, you cannot filter the view using XR CLI configuration keywords.
-
The load rollback changes and load commit changes commands are not supported for rollback or commit that include OpenConfig leaves.