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
Ensure your XPath points to a leaf within the list. In this case the correct target is ios:name:
path "/ncs:devices/ncs:device/ncs:config/ios:interface/ios:GigabitEthernet/ios:name";`
The error occurs when the path stops at the list node itself, rather than pointing to a leaf within it:
path "/ncs:devices/ncs:device/ncs:config/ios:interface/ios:GigabitEthernet";
The key distinction: items like name, negotiation, and description are leaves within a list — the XPath must end at one of those leaves.

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 error occurs when you perform a commit or commit dry-run. At this stage, the YANG model 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 error occurs when the src folder has not been compiled with make. Without running make, the XML template cannot locate the service entry point.
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.
These are warnings from the compiler about dependency annotations. Start with the learning_defref lab and analyze each warning in context.
To remove a package from NSO, delete it from the packages directory and then run packages reload. If the package has active namespaces, the reload must be forced:
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
}
Aborted: no registration found for callpoint l2vpn/service_create of type=external
This error points to ncs-run/packages/<service-name>/template/<service-name>-template.xml. Check that the file exists and contains no syntax errors.
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`