NSO Common Error Messages and their resolution
Debugging and resolving NSO service errors

A reference for common NSO/NCS error messages encountered during YANG and service development, with root causes and fixes.


Should be of type path-arg

In this case make sure your XPATH does not have a hardcoded variable.

yang/new_l2vpn.yang:60: error: bad argument value "/ncs:devices/ncs:device{PE11}/ncs:config/ios:interface/ios:GigabitEthernet{1}/ios:name", should be of type path-arg

error: the leafref refers to non-leaf and non-leaf-list node

yang/new_l2vpn.yang:38: error: the leafref refers to non-leaf and non-leaf-list node 'FastEthernet' in module 'tailf-ned-cisco-ios' at /opt/ncs/packages/neds/cisco-ios/src/ncsc-out/modules/yang/tailf-ned-cisco-ios.yang:34121

In this case make sure your XPATH points to a list , in this case it was ios:name

path "/ncs:devices/ncs:device/ncs:config/ios:interface/ios:GigabitEthernet/ios:name";`

The error occurs if you leave the path untill here , expecting to list GigabitEthernet interfaces :

path "/ncs:devices/ncs:device/ncs:config/ios:interface/ios:GigabitEthernet";

Basically the key is , things like name , negotiation , descripton which is a list .


XPath error: Invalid namespace prefix: ios

yang/circuit.yang:57: error: XPath error: Invalid namespace prefix: ios
make: *** [../load-dir/circuit.fxs] Error 1

Solution :

Import the required module:

import tailf-ned-cisco-ios {
   prefix ios;
}

And add the yang path below in Makefile.

## Uncomment and patch the line below if you have a dependency to a NED
## or to other YANG files
# YANGPATH += ../../<ned-name>/src/ncsc-out/modules/yang \
#       ../../<pkt-name>/src/yang

YANGPATH += ../../cisco-ios/src/ncsc-out/modules/yang

Aborted: no registration found for callpoint learning_defref/service_create of type=external

This message occurs when the you perform a commit or commit-dry-run . At this stage your YANG is merged with the corresponding XML Definition

admin@ncs(config-link-PE21)# commit dry-run
Aborted: no registration found for callpoint learning_defref/service_create of type=external
admin@ncs(config-link-PE21)# exit

Solution :

Make sure that in the corresponding XML code , the servicepoint name is correct.

<?xml version="1.0" encoding="UTF-8"?>
<config-template xmlns="http://tail-f.com/ns/config/1.0" servicepoint="learning_defref">

info [l2vpn-template.xml:2 Unknown servicepoint: l2vpn]

This message occurs when you have not compile the src folder with the make command. Since make isnt issued , the XML template cannot find the entrypoint.

reload-result {
    package l2vpn
    result false
    info [l2vpn-template.xml:2 Unknown servicepoint: l2vpn]
}

Solution :

Run the make command in the src folder.


Another Set of error Messages

/opt/ncs/packages/neds/cisco-iosxr/src/ncsc-out/modules/yang/tailf-ned-cisco-ios-xr.yang:17988: warning: Given dependencies are not equal to calculated: ../end-marker, ../start-marker. Consider removing tailf:dependency statements.
/opt/ncs/packages/neds/cisco-iosxr/src/ncsc-out/modules/yang/tailf-ned-cisco-ios-xr.yang:26306: warning: when tailf:cli-drop-node-name is given, it is recommended that tailf:cli-suppress-mode is used in combination. using tailf:cli-drop-nodename in a list child without using tailf:cli-suppress-mode on the list, might lead to confusing behaviour, where the user enters the submode without being able to give further configuration.
yang/learning_defref.yang:55: warning: Given dependencies are not equal to calculated: ../router_name, /ncs:devices/ncs:device/ncs:name, /ncs:devices/ncs:device/ncs:device-type/ncs:cli/ncs:ned-id. Consider removing tailf:dependency statements.
yang/learning_defref.yang:68: warning: Given dependencies are not equal to calculated: ../router_name, /ncs:devices/ncs:device/ncs:name, /ncs:devices/ncs:device/ncs:device-type/ncs:cli/ncs:ned-id. Consider removing tailf:dependency statements.

Start with the learning_defref lab. And analyse the error.


You can delete an entire package our from the NSO by deleting the package from the packages dir followed by a packages reload . This needs to be forced for the deletion .

admin@ncs# packages reload
Error: The following namespaces will be deleted by upgrade:
l2vpn: http://com/example/l2vpn
If this is intended, proceed with 'force' parameter.
admin@ncs# packages reload force

>>> System upgrade is starting.
>>> Sessions in configure mode must exit to operational mode.
>>> No configuration changes can be performed until upgrade has completed.
>>> System upgrade has completed successfully.
reload-result {
    package cisco-ios
    result true
}
reload-result {
    package cisco-iosxr
    result true
}

ERROR: Aborted: no registration found for callpoint l2vpn/service_create of type=external

This error points to the the ncs-run/packages/service-name/template/service_name-template.xml . Check if the file exists and if any error exists.

admin@ncs(config-l2vpn-CE11-CE21)# commit dry-run
Aborted: no registration found for callpoint l2vpn/service_create of type=external

* make sure you perform `package reload`

Written by

Vikas Srivastava

Customer facing trusted advisor with expertise in cloud security, data center infrastructure, and automation. CCIE certified in Security and Data Center, AWS Solutions Architect, and passionate about simplifying DevOps workflows using AI/ML.

Start the conversation