README-ned-settings

NED settings details


This NED is equipped with a number of runtime configuration options "NED settings" allowing for customization by the end user. All options are configurable using the NSO API for NED settings. Most NED settings can be configured globally, per device profile or per device instance in the following locations:

global /ncs:devices/global-settings/ned-settings/onf-tapi_rc/ profile /ncs:devices/ncs:profiles/profile:/ned-settings/onf-tapi_rc/ device /ncs:/device/devices/device:/ned-settings/onf-tapi_rc/

Profiles setting overrides global-settings and device settings override profile settings, hence the narrowest scope of the setting is used by the device.

If user changes a ned-setting, then user must reconnect to the device, i.e. disconnect and connect in order for the new setting to take effect.

From the NSO CLI the device instance NED settings for this NED are available under:

# config
# devices device dev-1 ned-settings onf-tapi_rc

Press TAB to see all the NED settings.

Table of contents


1. ned-settings onf-tapi_rc
2. connection
   2.1. authentication
        2.1.1. token-request
        2.1.2. token-revoke
   2.2. ssl
        2.2.1. mtls
3. live-status
4. restconf
   4.1. cache
   4.2. config
        4.2.1. deviations
   4.3. live-status
   4.4. notif
   4.5. deviations
        4.5.1. automatic-uuid-mapping
5. logger
6. general
   6.1. capabilities
   6.2. config
   6.3. live-status

1. ned-settings onf-tapi_rc


2. ned-settings onf-tapi_rc connection


Settings for the RESTCONF connection.

2.1. ned-settings onf-tapi_rc connection authentication


Authentication related settings.

2.1.1. ned-settings onf-tapi_rc connection authentication token-request


Bearer token request settings.

2.1.2. ned-settings onf-tapi_rc connection authentication token-revoke


Bearer token revoke settings. If configured, the used token will be automatically closed when the NED is closing.

2.2. ned-settings onf-tapi_rc connection ssl


Settings related to SSL/TLS enabled connections.

2.2.1. ned-settings onf-tapi_rc connection ssl mtls


Settings related to mutual TLS (mTLS) Note, if mTLS is to be used without any further authentication mechanism, then ned-settings onf-tapi_rc connection authentication must be configured to 'none'.

3. ned-settings onf-tapi_rc live-status


Configure NED settings related to live-status.

4. ned-settings onf-tapi_rc restconf


Settings related to the RESTCONF API.

4.1. ned-settings onf-tapi_rc restconf cache


The NED is able to cache certain data that is typically probed for when a new connection is setup. Caching has good impact on performance, since reduces the number of necessary round trips to the device on fro subsequent connections.

4.2. ned-settings onf-tapi_rc restconf config


Settings related to RESTCONF operations on config.

4.2.1. ned-settings onf-tapi_rc restconf config deviations


Configure NED adaptions for device deviations.

4.3. ned-settings onf-tapi_rc restconf live-status


NED settings related to RESTCONF operations for operational data.

4.4. ned-settings onf-tapi_rc restconf notif


Configure notification streams available on the device.

4.5. ned-settings onf-tapi_rc restconf deviations


The NED does include a set of workarounds to handle RESTCONF and/or TAPI model deviations that have been found on some device models from certain vendors. This setting is used to enable such workarounds in the NED. It can only be used when "restconf profile" is set to "none" or "netsim".

4.5.1. ned-settings onf-tapi_rc restconf deviations automatic-uuid-mapping


Enable the automatic uuid map in the NED. Some devices do create their own uuid:s on objects instead of using the ones provisioned through NSO. This will off course immediately cause out-of-sync issues. The NED can solve this problem by keeping a uuid translation map and automatically convert between the uuids set by NSO and the device. This feature does currently work with devices of type Ciena MCP and Kratos OpenSpace.

5. ned-settings onf-tapi_rc logger


Settings for controlling logs generated.

6. ned-settings onf-tapi_rc general


General NED settings.

6.1. ned-settings onf-tapi_rc general capabilities


Settings related to device capabilities.

6.2. ned-settings onf-tapi_rc general config


General settings related to config handling.

6.3. ned-settings onf-tapi_rc general live-status


General settings related to live-status.

7. Configuring Custom Call Points


Many devices supporting the ONF TAPI models have restrictions regarding which URLs that can be used for fetching data from the device. Some points in the data tree can not be accessed directly at all. Others can only be accessed if a RESTCONF query has been specified.

A query is used to instruct the device to limit the scope of the returned data in accordance with a provided specification. This can be a 'depth' parameter which will limit the depth of the return payload to a certain number of levels. It can also be a 'fields' parameter specifying certain nodes in the data tree that shall be returned.

Another common restriction is that lists in the data tree can not be fetched directly. Such lists can only be fetched entry by entry. To achieve this it is necessary to fetch the key elements in the list first. Typically done by doing a fetch with a narrowing query done to an URL representing a node on a level above the list itself.

The NED supports configuring custom call points in the data tree for both config and operational data. The feature is very flexible and can be used with any type of ONF TAPI device. Configuring custom call points can however be a complex task and often error prone.

It is recommended to use one of the preconfigured restconf profiles in the NED settings if applicable.

Custom call points are configured via the NED settings. There are separate lists for call points for config and for operational data. The lists are located here:

onf-tapi_rc restconf config custom-get-call-points onf-tapi_rc restconf live-status custom-get-call-points

The structure of both lists is identical. An entry in any of the lists consists of a schema path that corresponds to the call point. Optionally a query can be specified to limit to scope of the fetch operation on a call point. For list nodes it is possible to configure one query to be used for the list itself and/or one for each entry in the list.

Examples: A selection of the ONF TAPI schema will be used throughout the examples below.

The examples will use call points for operational data. The approach is identical for config data. Note that the examples do not map to real relevant use cases.

Example 1: Configure a call point on /tapi-common:context. Limit the scope with a depth=3 query

Example 2: Configure a call point on the /tapi-common:context/service-interface-point list. Query must be list-entry specific since the device does only support the list to be fetched entry by entry. The keys to the list will automatically be fetched by the NED as a result of the call point configured in example 1. The query is set to depth=unbounded, meaning fetch all under this list entry.

Example 3: Configure a call point on the container /tapi-common:context/tapi-connectivity:connectivity-context. Limit the scope using a field query to only extract the key elements in the sub lists connection and connectivity-service.

Example 4: Configure a call point on the container /tapi-common:context/tapi-topology:topology-context with no limitation on the scope.

Alt 1:

Alt 2:

Example 5: Configure a call point on the /tapi-common:context/tapi-topology:topology-context/topology/node list. Limit the scope for the list with a query to just return the keys to the list. Add an additional list entry query to fetch all in each entry.

Example 6: Configure a call point on the /tapi-common:context/tapi-topology:topology-context/topology/link list. Unlimited scope for both list and individual list entries.

How it works

The NED will automatically try to figure out the correct RESTCONF GET operations to be executed for a certain requested path based on the call points configured. If a requestested node does not map to a call point, the NED will search upwards in the schema until it finds a call point configured with an appropriate query.

Using the examples 1 and 2 to illustrate.

If the requested path is the whole /tapi-common:context/service-interface-point list, the NED will detect that it can not be populated directly. There is only a list-entry query on this call point. The NED will then step upwards to /tapi-common:context and find a new call point with a matching standard query. First RESTCONF GET call will be done on this URL. The NED remembers the list-entry query on the service-interface-point and will obey it afterwards. One RESTCONF call for each list entry found in the list will then be executed.

The NED will only execute these sequential calls if the first call point has a query with a scope limitation. In this example /tapi-common:context has its scope limited to depth=3. If the scope instead is unlimited, the NED will regard all sub nodes as populated and ignore any call points between the first call point and the requested path.

If the requested path instead is a certain list entry /tapi-common:context/service-interface-point{"foo"} the NED will execute the RESTCONF GET call immediately on the corresponding URL.

Some devices ignore scope limiting querys. In this case the behavior can be similar to as described above. If all data was populated in the first call no further calls will be done. This is because NSO considers it to have all data in the cache already. See section 8:2 for info on how this can be avoided.

Definitions & Rules

A call point with no query configured means "standard query=unbound and no list-entry query" A call point with only a list-entry query is regarded as without a standard query A call point representing a list with no scope limitations for list nor entry, shall be configured as "query depth=unbounded list-entry query=unbounded".

If you have a call point that is unbound but you still want the NED to execute consecutive RESTCONF GET calls on levels below it, then configure it as depth=. For example depth=100

8. Details about pre-configured runtime profiles


This section describes the details for each of the preconfigured RESTCONF profiles

ciena-mcp

nokia-nrct

Corresponds to the following NED setting configuration:

infinera-tnms:

Corresponds to the following NED setting configuration:

adva-ensemble:

Last updated

Was this helpful?